-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathImageProcessing.hs
49 lines (43 loc) · 1.67 KB
/
ImageProcessing.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
{-# OPTIONS_HADDOCK not-home #-}
-----------------------------------------------------------------------------
-- |
-- Module : ForSyDe.Shallow.Example.SDF.ImageProcessing
-- Copyright : George Ungureanu
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : ugeorge@kth.se
-- Stability : experimental
-- Portability : portable
--
-- This is a shallow toy image processing model used as system
-- specification for the <https://www.kth.se/student/kurser/kurs/IL2212?l=en KTH IL2212 Embedded Software>
-- lab project. It introduces the concept of parallel patterns as skeletons on vectors.
--
-----------------------------------------------------------------------------
module ForSyDe.Shallow.Example.SDF.ImageProcessing (
-- * Type aliases & data
Image, Control, asciiLevels,
-- * Functions on images
grayscale, brightness, correction,
resize, sobel, toAsciiArt,
-- * SDF process network
mooreSDF,
imageProcessing,
-- * Utilities
-- ** Matrix skeletons
-- | These skeletons (patterns of parallel computation and
-- communication) are not defined in the @ForSyDe.Shallow@ library
-- and are provided as local functions.
mapMatrix, zipWithMatrix, reduceMatrix, rotateMatrix,
lengthX, lengthY,
-- ** Image utilities
-- | Collection of functions for reading, printing or converting
-- between image formats.
toImage, fromImage, wrapImageF, printImage,
readPPM, readAllPPM, ppm2img, partition,
-- * Test bench function
testImageProcessing
) where
import ForSyDe.Shallow.Example.SDF.ImageProcessing.ImageProcessing
import ForSyDe.Shallow.Example.SDF.ImageProcessing.Utilities
import ForSyDe.Shallow.Example.SDF.ImageProcessing.Test