return arr
-{-# INLINE bracket #-}
bracket :: Double -> Word16
bracket x
| x < mri_lower_threshold = 0
r = numerator/denominator
-{-# INLINE flip16 #-}
flip16 :: Word16 -> Word16
flip16 xx =
shift xx 8 .|. (shift xx (-8) .&. 0x00ff)
swap_bytes arr =
R.force $ R.map flip16 arr
+
bracket_array :: (Shape sh) => (Values sh) -> (RawData sh)
bracket_array arr =
- R.force $ R.map f arr
- where
- f = bracket
+ R.force $ R.map bracket arr
+
+
+round_array :: (Shape sh) => (Values sh) -> (RawData sh)
+round_array arr =
+ R.force $ R.map round arr
flip_y :: RawData3D -> RawData3D
routput = R.map (\(red, _, _) -> red) colors
goutput = R.map (\(_, green, _) -> green) colors
boutput = R.map (\(_, _, blue) -> blue) colors
-
-
-write_values_chunk_to_bitmap :: Values3D -> FilePath -> IO ()
-write_values_chunk_to_bitmap v3d path
- | zdim /= 3 = error "not a 3xMxN chunk"
- | otherwise = write_values_slice_to_bitmap target_slice path
- where
- (Z :. zdim :. _ :. _) = extent v3d
- target_slice = z_slice 1 v3d
-