module Main
where
---import Cube
---import Face
---import Grid
---import Misc (flatten)
---import Point
---import RealFunction
---import Tetrahedron
---import ThreeDimensional
+import Data.Array.Repa (
+ DIM3,
+ Z(..),
+ (:.)(..),
+ )
+import Values
+import Grid(make_grid, zoom)
-
---find_point_value :: RealFunction Point
---find_point_value p = poly p
--- where
--- g0 = make_grid 1 trilinear
--- the_cubes = flatten (cubes g0)
--- good_cubes = filter ((flip contains_point) p) the_cubes
--- target_cube = head good_cubes
--- good_tets = filter ((flip contains_point) p) (tetrahedrons target_cube)
--- target_tetrahedron = head good_tets
--- poly = polynomial target_tetrahedron
+mri_shape :: DIM3
+mri_shape = (Z :. 256 :. 256 :. 109)
main :: IO ()
main = do
- putStrLn "Hello, World."
- -- print $ find_point_value (0,0,0)
- -- print $ find_point_value (1,0,0)
- -- print $ find_point_value (2,0,0)
- -- print $ find_point_value (0,1,0)
- -- print $ find_point_value (1,1,0)
- -- print $ find_point_value (2,1,0)
- -- print $ find_point_value (0,2,0)
- -- print $ find_point_value (1,2,0)
- -- print $ find_point_value (2,2,0)
- -- print $ find_point_value (0,0,1)
- -- print $ find_point_value (1,0,1)
- -- print $ find_point_value (2,0,1)
- -- print $ find_point_value (0,1,1)
- -- print $ find_point_value (1,1,1)
- -- print $ find_point_value (2,1,1)
- -- print $ find_point_value (0,2,1)
- -- print $ find_point_value (1,2,1)
- -- print $ find_point_value (2,2,1)
- -- print $ find_point_value (0,0,2)
- -- print $ find_point_value (1,0,2)
- -- print $ find_point_value (2,0,2)
- -- print $ find_point_value (0,1,2)
- -- print $ find_point_value (1,1,2)
- -- print $ find_point_value (2,1,2)
- -- print $ find_point_value (0,2,2)
- -- print $ find_point_value (1,2,2)
- -- print $ find_point_value (2,2,2)
+ mridata <- read_values_3d mri_shape "./data/mridata.txt"
+ let g = make_grid 1 mridata
+ let output = zoom g 1
+ write_values_1d output "output.txt"