hip-1.5.2.0: Haskell Image Processing (HIP) Library.

Copyright(c) Alexey Kuleshevich 2016
LicenseBSD3
MaintainerAlexey Kuleshevich <lehins@yandex.ru>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

Graphics.Image.Interface.Repa

Contents

Description

 

Synopsis

Conversion

fromRepaArrayS :: Source r (Pixel cs e) => Array r DIM2 (Pixel cs e) -> Image RSU cs e Source #

Create a sequential unboxed image from a 2D Repa delayed array.

fromRepaArrayP :: Source r (Pixel cs e) => Array r DIM2 (Pixel cs e) -> Image RPU cs e Source #

Create a parallel unboxed image from a 2D Repa delayed array.

toRepaArray :: Array arr cs e => Image arr cs e -> Array U DIM2 (Pixel cs e) Source #

Convert into Repa Unboxed array from an image.

Representation

data RSU Source #

Repa Array representation backed by Unboxed Vector, which is computed sequentially.

Constructors

RSU 

Instances

Show RSU Source # 

Methods

showsPrec :: Int -> RSU -> ShowS #

show :: RSU -> String #

showList :: [RSU] -> ShowS #

BaseArray RSU cs e => Array RSU cs e Source # 

Associated Types

type Manifest RSU :: * Source #

type Vector RSU :: * -> * Source #

Methods

makeImage :: (Int, Int) -> ((Int, Int) -> Pixel cs e) -> Image RSU cs e Source #

makeImageWindowed :: (Int, Int) -> ((Int, Int), (Int, Int)) -> ((Int, Int) -> Pixel cs e) -> ((Int, Int) -> Pixel cs e) -> Image RSU cs e Source #

scalar :: Pixel cs e -> Image RSU cs e Source #

index00 :: Image RSU cs e -> Pixel cs e Source #

map :: Array RSU cs' e' => (Pixel cs' e' -> Pixel cs e) -> Image RSU cs' e' -> Image RSU cs e Source #

imap :: Array RSU cs' e' => ((Int, Int) -> Pixel cs' e' -> Pixel cs e) -> Image RSU cs' e' -> Image RSU cs e Source #

zipWith :: (Array RSU cs1 e1, Array RSU cs2 e2) => (Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RSU cs1 e1 -> Image RSU cs2 e2 -> Image RSU cs e Source #

izipWith :: (Array RSU cs1 e1, Array RSU cs2 e2) => ((Int, Int) -> Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RSU cs1 e1 -> Image RSU cs2 e2 -> Image RSU cs e Source #

traverse :: Array RSU cs' e' => Image RSU cs' e' -> ((Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs' e') -> (Int, Int) -> Pixel cs e) -> Image RSU cs e Source #

traverse2 :: (Array RSU cs1 e1, Array RSU cs2 e2) => Image RSU cs1 e1 -> Image RSU cs2 e2 -> ((Int, Int) -> (Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs1 e1) -> ((Int, Int) -> Pixel cs2 e2) -> (Int, Int) -> Pixel cs e) -> Image RSU cs e Source #

transpose :: Image RSU cs e -> Image RSU cs e Source #

backpermute :: (Int, Int) -> ((Int, Int) -> (Int, Int)) -> Image RSU cs e -> Image RSU cs e Source #

fromLists :: [[Pixel cs e]] -> Image RSU cs e Source #

(|*|) :: Image RSU cs e -> Image RSU cs e -> Image RSU cs e Source #

fold :: (Pixel cs e -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RSU cs e -> Pixel cs e Source #

foldIx :: (Pixel cs e -> (Int, Int) -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RSU cs e -> Pixel cs e Source #

eq :: Image RSU cs e -> Image RSU cs e -> Bool Source #

compute :: Image RSU cs e -> Image RSU cs e Source #

toManifest :: Image RSU cs e -> Image (Manifest RSU) cs e Source #

toVector :: Image RSU cs e -> Vector RSU (Pixel cs e) Source #

fromVector :: (Int, Int) -> Vector RSU (Pixel cs e) -> Image RSU cs e Source #

SuperClass RSU cs e => BaseArray RSU cs e Source # 

Associated Types

type SuperClass RSU cs e :: Constraint Source #

data Image RSU cs e :: * Source #

Methods

dims :: Image RSU cs e -> (Int, Int) Source #

type Manifest RSU Source # 
type Manifest RSU = VU
type Vector RSU Source # 
data Image RSU Source # 
data Image RSU = SUImage (Image (RS VU) cs e)
type SuperClass RSU cs e Source # 
type SuperClass RSU cs e = (ColorSpace cs e, Elt e, Elt (Pixel cs e))

data RPU Source #

Repa Array representation backed by Unboxed Vector, which is computed in parallel.

Constructors

RPU 

Instances

Show RPU Source # 

Methods

showsPrec :: Int -> RPU -> ShowS #

show :: RPU -> String #

showList :: [RPU] -> ShowS #

BaseArray RPU cs e => Array RPU cs e Source # 

Associated Types

type Manifest RPU :: * Source #

type Vector RPU :: * -> * Source #

Methods

makeImage :: (Int, Int) -> ((Int, Int) -> Pixel cs e) -> Image RPU cs e Source #

makeImageWindowed :: (Int, Int) -> ((Int, Int), (Int, Int)) -> ((Int, Int) -> Pixel cs e) -> ((Int, Int) -> Pixel cs e) -> Image RPU cs e Source #

scalar :: Pixel cs e -> Image RPU cs e Source #

index00 :: Image RPU cs e -> Pixel cs e Source #

map :: Array RPU cs' e' => (Pixel cs' e' -> Pixel cs e) -> Image RPU cs' e' -> Image RPU cs e Source #

imap :: Array RPU cs' e' => ((Int, Int) -> Pixel cs' e' -> Pixel cs e) -> Image RPU cs' e' -> Image RPU cs e Source #

zipWith :: (Array RPU cs1 e1, Array RPU cs2 e2) => (Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RPU cs1 e1 -> Image RPU cs2 e2 -> Image RPU cs e Source #

izipWith :: (Array RPU cs1 e1, Array RPU cs2 e2) => ((Int, Int) -> Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RPU cs1 e1 -> Image RPU cs2 e2 -> Image RPU cs e Source #

traverse :: Array RPU cs' e' => Image RPU cs' e' -> ((Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs' e') -> (Int, Int) -> Pixel cs e) -> Image RPU cs e Source #

traverse2 :: (Array RPU cs1 e1, Array RPU cs2 e2) => Image RPU cs1 e1 -> Image RPU cs2 e2 -> ((Int, Int) -> (Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs1 e1) -> ((Int, Int) -> Pixel cs2 e2) -> (Int, Int) -> Pixel cs e) -> Image RPU cs e Source #

transpose :: Image RPU cs e -> Image RPU cs e Source #

backpermute :: (Int, Int) -> ((Int, Int) -> (Int, Int)) -> Image RPU cs e -> Image RPU cs e Source #

fromLists :: [[Pixel cs e]] -> Image RPU cs e Source #

(|*|) :: Image RPU cs e -> Image RPU cs e -> Image RPU cs e Source #

fold :: (Pixel cs e -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RPU cs e -> Pixel cs e Source #

foldIx :: (Pixel cs e -> (Int, Int) -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RPU cs e -> Pixel cs e Source #

eq :: Image RPU cs e -> Image RPU cs e -> Bool Source #

compute :: Image RPU cs e -> Image RPU cs e Source #

toManifest :: Image RPU cs e -> Image (Manifest RPU) cs e Source #

toVector :: Image RPU cs e -> Vector RPU (Pixel cs e) Source #

fromVector :: (Int, Int) -> Vector RPU (Pixel cs e) -> Image RPU cs e Source #

SuperClass RPU cs e => BaseArray RPU cs e Source # 

Associated Types

type SuperClass RPU cs e :: Constraint Source #

data Image RPU cs e :: * Source #

Methods

dims :: Image RPU cs e -> (Int, Int) Source #

type Manifest RPU Source # 
type Manifest RPU = VU
type Vector RPU Source # 
data Image RPU Source # 
data Image RPU = PUImage (Image (RP VU) cs e)
type SuperClass RPU cs e Source # 
type SuperClass RPU cs e = (ColorSpace cs e, Elt e, Elt (Pixel cs e))

data RSS Source #

Repa Array representation backed by Storable Vector, which is computed sequentially.

Constructors

RSS 

Instances

Show RSS Source # 

Methods

showsPrec :: Int -> RSS -> ShowS #

show :: RSS -> String #

showList :: [RSS] -> ShowS #

BaseArray RSS cs e => Array RSS cs e Source # 

Associated Types

type Manifest RSS :: * Source #

type Vector RSS :: * -> * Source #

Methods

makeImage :: (Int, Int) -> ((Int, Int) -> Pixel cs e) -> Image RSS cs e Source #

makeImageWindowed :: (Int, Int) -> ((Int, Int), (Int, Int)) -> ((Int, Int) -> Pixel cs e) -> ((Int, Int) -> Pixel cs e) -> Image RSS cs e Source #

scalar :: Pixel cs e -> Image RSS cs e Source #

index00 :: Image RSS cs e -> Pixel cs e Source #

map :: Array RSS cs' e' => (Pixel cs' e' -> Pixel cs e) -> Image RSS cs' e' -> Image RSS cs e Source #

imap :: Array RSS cs' e' => ((Int, Int) -> Pixel cs' e' -> Pixel cs e) -> Image RSS cs' e' -> Image RSS cs e Source #

zipWith :: (Array RSS cs1 e1, Array RSS cs2 e2) => (Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RSS cs1 e1 -> Image RSS cs2 e2 -> Image RSS cs e Source #

izipWith :: (Array RSS cs1 e1, Array RSS cs2 e2) => ((Int, Int) -> Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RSS cs1 e1 -> Image RSS cs2 e2 -> Image RSS cs e Source #

traverse :: Array RSS cs' e' => Image RSS cs' e' -> ((Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs' e') -> (Int, Int) -> Pixel cs e) -> Image RSS cs e Source #

traverse2 :: (Array RSS cs1 e1, Array RSS cs2 e2) => Image RSS cs1 e1 -> Image RSS cs2 e2 -> ((Int, Int) -> (Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs1 e1) -> ((Int, Int) -> Pixel cs2 e2) -> (Int, Int) -> Pixel cs e) -> Image RSS cs e Source #

transpose :: Image RSS cs e -> Image RSS cs e Source #

backpermute :: (Int, Int) -> ((Int, Int) -> (Int, Int)) -> Image RSS cs e -> Image RSS cs e Source #

fromLists :: [[Pixel cs e]] -> Image RSS cs e Source #

(|*|) :: Image RSS cs e -> Image RSS cs e -> Image RSS cs e Source #

fold :: (Pixel cs e -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RSS cs e -> Pixel cs e Source #

foldIx :: (Pixel cs e -> (Int, Int) -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RSS cs e -> Pixel cs e Source #

eq :: Image RSS cs e -> Image RSS cs e -> Bool Source #

compute :: Image RSS cs e -> Image RSS cs e Source #

toManifest :: Image RSS cs e -> Image (Manifest RSS) cs e Source #

toVector :: Image RSS cs e -> Vector RSS (Pixel cs e) Source #

fromVector :: (Int, Int) -> Vector RSS (Pixel cs e) -> Image RSS cs e Source #

SuperClass RSS cs e => BaseArray RSS cs e Source # 

Associated Types

type SuperClass RSS cs e :: Constraint Source #

data Image RSS cs e :: * Source #

Methods

dims :: Image RSS cs e -> (Int, Int) Source #

type Manifest RSS Source # 
type Manifest RSS = VS
type Vector RSS Source # 
data Image RSS Source # 
data Image RSS = SSImage (Image (RS VS) cs e)
type SuperClass RSS cs e Source # 
type SuperClass RSS cs e = (ColorSpace cs e, Storable e, Storable (Pixel cs e), Elt e, Elt (Pixel cs e))

data RPS Source #

Repa Array representation backed by Storable Vector, which is computed in parallel.

Constructors

RPS 

Instances

Show RPS Source # 

Methods

showsPrec :: Int -> RPS -> ShowS #

show :: RPS -> String #

showList :: [RPS] -> ShowS #

BaseArray RPS cs e => Array RPS cs e Source # 

Associated Types

type Manifest RPS :: * Source #

type Vector RPS :: * -> * Source #

Methods

makeImage :: (Int, Int) -> ((Int, Int) -> Pixel cs e) -> Image RPS cs e Source #

makeImageWindowed :: (Int, Int) -> ((Int, Int), (Int, Int)) -> ((Int, Int) -> Pixel cs e) -> ((Int, Int) -> Pixel cs e) -> Image RPS cs e Source #

scalar :: Pixel cs e -> Image RPS cs e Source #

index00 :: Image RPS cs e -> Pixel cs e Source #

map :: Array RPS cs' e' => (Pixel cs' e' -> Pixel cs e) -> Image RPS cs' e' -> Image RPS cs e Source #

imap :: Array RPS cs' e' => ((Int, Int) -> Pixel cs' e' -> Pixel cs e) -> Image RPS cs' e' -> Image RPS cs e Source #

zipWith :: (Array RPS cs1 e1, Array RPS cs2 e2) => (Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RPS cs1 e1 -> Image RPS cs2 e2 -> Image RPS cs e Source #

izipWith :: (Array RPS cs1 e1, Array RPS cs2 e2) => ((Int, Int) -> Pixel cs1 e1 -> Pixel cs2 e2 -> Pixel cs e) -> Image RPS cs1 e1 -> Image RPS cs2 e2 -> Image RPS cs e Source #

traverse :: Array RPS cs' e' => Image RPS cs' e' -> ((Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs' e') -> (Int, Int) -> Pixel cs e) -> Image RPS cs e Source #

traverse2 :: (Array RPS cs1 e1, Array RPS cs2 e2) => Image RPS cs1 e1 -> Image RPS cs2 e2 -> ((Int, Int) -> (Int, Int) -> (Int, Int)) -> (((Int, Int) -> Pixel cs1 e1) -> ((Int, Int) -> Pixel cs2 e2) -> (Int, Int) -> Pixel cs e) -> Image RPS cs e Source #

transpose :: Image RPS cs e -> Image RPS cs e Source #

backpermute :: (Int, Int) -> ((Int, Int) -> (Int, Int)) -> Image RPS cs e -> Image RPS cs e Source #

fromLists :: [[Pixel cs e]] -> Image RPS cs e Source #

(|*|) :: Image RPS cs e -> Image RPS cs e -> Image RPS cs e Source #

fold :: (Pixel cs e -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RPS cs e -> Pixel cs e Source #

foldIx :: (Pixel cs e -> (Int, Int) -> Pixel cs e -> Pixel cs e) -> Pixel cs e -> Image RPS cs e -> Pixel cs e Source #

eq :: Image RPS cs e -> Image RPS cs e -> Bool Source #

compute :: Image RPS cs e -> Image RPS cs e Source #

toManifest :: Image RPS cs e -> Image (Manifest RPS) cs e Source #

toVector :: Image RPS cs e -> Vector RPS (Pixel cs e) Source #

fromVector :: (Int, Int) -> Vector RPS (Pixel cs e) -> Image RPS cs e Source #

SuperClass RPS cs e => BaseArray RPS cs e Source # 

Associated Types

type SuperClass RPS cs e :: Constraint Source #

data Image RPS cs e :: * Source #

Methods

dims :: Image RPS cs e -> (Int, Int) Source #

type Manifest RPS Source # 
type Manifest RPS = VS
type Vector RPS Source # 
data Image RPS Source # 
data Image RPS = PSImage (Image (RP VS) cs e)
type SuperClass RPS cs e Source # 
type SuperClass RPS cs e = (ColorSpace cs e, Storable e, Storable (Pixel cs e), Elt e, Elt (Pixel cs e))