]> gitweb.michael.orlitzky.com - spline3.git/blobdiff - src/Main.hs
Fix all of the sequential operations with the caveat that it now segfaults.
[spline3.git] / src / Main.hs
index c1456f4a94c968ac47d3c764b7bdbc3da9b26245..1a716836c5db52096e7c15e6caaf45e307ba83cc 100644 (file)
@@ -34,10 +34,11 @@ main3d = do
   arr <- read_word16s in_file
   let arr'          = swap_bytes arr
   let arrMRI        = R.reshape mri_shape arr'
-  let dbl_data      = R.computeS $ R.map fromIntegral arrMRI
-  let output        = zoom dbl_data zoom_factor
-  let word16_output = R.computeS $ round_array output
+  dbl_data <- R.computeUnboxedP $ R.map fromIntegral arrMRI
+  output <- zoom dbl_data zoom_factor
+  word16_output <- R.computeUnboxedP $ round_array output
   write_word16s out_file word16_output
+  return ()
 
 
 main2d :: IO ()
@@ -46,14 +47,14 @@ main2d = do
   let scale = read s :: Int
   let zoom_factor = (1, scale, scale)
   let out_file = "output.bmp"
-  arr           <- read_word16s in_file
-  let arrSlice  = R.computeUnboxedS $ z_slice 50 $ flip_x $ flip_y $ swap_bytes arr
+  arr <- read_word16s in_file
+  arrSlice <- R.computeUnboxedP $ z_slice 50 $ flip_x $ flip_y $ swap_bytes arr
   let arrSlice' = R.reshape mri_slice3d arrSlice
 
   -- If zoom isn't being inlined we need to extract the slice before hand,
   -- and convert it to the require formed.
-  let dbl_data  = R.computeS $ R.map fromIntegral arrSlice'
-  let output    = zoom dbl_data zoom_factor
-  let arrSlice0 = R.computeUnboxedS $ z_slice 0 output
+  dbl_data      <- R.computeUnboxedP $ R.map fromIntegral arrSlice'
+  output        <- zoom dbl_data zoom_factor
+  arrSlice0     <- R.computeUnboxedP $ z_slice 0 output
   
   write_values_slice_to_bitmap arrSlice0 out_file