+import Data.Maybe (isJust)
+import GHC.Conc (getNumProcessors, setNumCapabilities)
+import System.IO (hPutStrLn, stderr)
+import System.Exit (exitSuccess, exitWith, ExitCode(..))
+
+import CommandLine (Args(..), apply_args)
+import ExitCodes
+import Grid (zoom)
+import MRI (
+ flip_x,
+ flip_y,
+ read_word16s,
+ round_array,
+ swap_bytes,
+ write_values_slice_to_bitmap,
+ write_word16s,
+ z_slice
+ )
+
+
+validate_args :: Args -> IO ()
+validate_args Args{..} = do
+ when (scale <= 0) $ do
+ hPutStrLn stderr "ERROR: scale must be greater than zero."
+ exitWith (ExitFailure exit_arg_not_positive)