]> gitweb.michael.orlitzky.com - spline3.git/blob - src/Main.hs
Modify Main/MRI to operate on the scalar values (as opposed to the individual RGB...
[spline3.git] / src / Main.hs
1 module Main
2 where
3
4 import qualified Data.Array.Repa as R (map, reshape)
5 import qualified Data.Array.Repa.IO.BMP as R (writeComponentsToBMP)
6 import System.Environment (getArgs)
7
8 import Grid (make_grid, zoom)
9 import MRI
10 import Values (drop_z, zoom_shape)
11
12 zoom_factor :: (Int, Int, Int)
13 zoom_factor = (1,2,2)
14
15
16 main :: IO ()
17 main = do
18 -- args <- getArgs
19 -- let color = head args
20 let in_file = "./data/mri.bin"
21 let out_file = "output.bmp"
22 arr <- read_word16s in_file
23 let arrBrack = bracket_array arr
24 let arrInv = flip_x $ flip_y arrBrack
25 let arrSlice = z_slice 50 arrInv
26 let arrSlice' = R.reshape mri_slice3d arrSlice
27 let dbl_data = R.map fromIntegral arrSlice'
28 let g = make_grid 1 dbl_data
29 let output = zoom g zoom_factor
30 let mri_slice2d = drop_z $ zoom_shape zoom_factor mri_slice3d
31 let colors = values_to_colors $ R.reshape mri_slice2d output
32 let routput = R.map (\(red, _, _) -> red) colors
33 let goutput = R.map (\(_, green, _) -> green) colors
34 let boutput = R.map (\(_, _, blue) -> blue) colors
35 R.writeComponentsToBMP out_file routput goutput boutput