X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FMain.hs;h=ae8c5e39c703491449d01bc95058f2cb67b61c80;hb=bbf72ed357e9ef62822f05a9c6db772a3d4682dd;hp=6848ff86264c3fc461e554cc2067cd6f312db2d4;hpb=0c411010bfcb83bc010d506d30dbac35a0082ae4;p=spline3.git diff --git a/src/Main.hs b/src/Main.hs index 6848ff8..ae8c5e3 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -1,19 +1,18 @@ {-# LANGUAGE RecordWildCards, DoAndIfThenElse #-} -module Main +module Main (main) where -import Data.Maybe (fromJust) -import Control.Monad (when) +import Control.Monad ( when ) import qualified Data.Array.Repa as R -import Data.Maybe (isJust) -import GHC.Conc (getNumProcessors, setNumCapabilities) -import System.IO (hPutStrLn, stderr) -import System.Exit (exitSuccess, exitWith, ExitCode(..)) +import Data.Maybe ( fromJust ) +import GHC.Conc ( getNumProcessors, setNumCapabilities ) +import System.IO ( hPutStrLn, stderr ) +import System.Exit ( exitSuccess, exitWith, ExitCode(..) ) -import CommandLine (Args(..), apply_args) +import CommandLine ( Args(..), apply_args ) import ExitCodes -import Grid (zoom) +import Grid ( zoom ) import Volumetric ( bracket_array, flip_x, @@ -23,8 +22,7 @@ import Volumetric ( swap_bytes, write_values_to_bmp, write_word16s, - z_slice - ) + z_slice ) validate_args :: Args -> IO () @@ -66,20 +64,17 @@ main = do num_procs <- getNumProcessors setNumCapabilities num_procs - -- Determine whether we're doing 2d or 3d. If we're given a slice, - -- assume 2d. let shape = (R.Z R.:. depth R.:. height R.:. width) :: R.DIM3 - if (isJust slice) then - main2d args shape - else - main3d args shape + -- Determine whether we're doing 2d or 3d. If we're given a slice, + -- assume 2d. + let main_function = case slice of + Nothing -> main3d + Just _ -> main2d + main_function args shape exitSuccess - where - - main3d :: Args -> R.DIM3 -> IO () main3d Args{..} shape = do @@ -98,7 +93,7 @@ main3d Args{..} shape = do main2d :: Args -> R.DIM3 -> IO () main2d Args{..} shape = do - let zoom_factor = (1, scale, scale) + let zoom_factor = (1 :: Int, scale, scale) arr <- read_word16s input shape arrSlice <- R.computeUnboxedP $ z_slice (fromJust slice) @@ -114,8 +109,8 @@ main2d Args{..} shape = do arrSlice0 <- R.computeUnboxedP $ z_slice 0 raw_output -- Make doubles from the thresholds which are given as Ints. - let lt = fromIntegral lower_threshold - let ut = fromIntegral upper_threshold + let lt = fromIntegral lower_threshold :: Double + let ut = fromIntegral upper_threshold :: Double let arr_bracketed = bracket_array lt ut arrSlice0 values <- R.computeUnboxedP $ R.map fromIntegral arr_bracketed