44# Copyright (C) 2026 Cécile Daversin-Catty (cecile@simula.no)
55# Copyright (C) 2026 Simula Research Laboratory
66
7- from pathlib import Path
87import argparse
9-
108from collections .abc import Callable
9+ from pathlib import Path
1110
1211import numpy as np
1312import skimage
@@ -176,21 +175,21 @@ def intracranial_mask(
176175
177176 return mri_data
178177
178+
179179def add_arguments (
180180 parser : argparse .ArgumentParser ,
181181 extra_args_cb : Callable [[argparse .ArgumentParser ], None ] | None = None ,
182182) -> None :
183183 subparser = parser .add_subparsers (dest = "mask-command" , help = "Commands for generating mask" )
184184
185- csf_mask_parser = subparser .add_parser (
186- "csf" , help = "Compute CSF mask" , formatter_class = parser .formatter_class
187- )
185+ csf_mask_parser = subparser .add_parser ("csf" , help = "Compute CSF mask" , formatter_class = parser .formatter_class )
188186 csf_mask_parser .add_argument ("-i" , "--input" , type = Path , help = "Path to the input NIfTI image" )
189187 csf_mask_parser .add_argument ("-o" , "--output" , type = Path , help = "Desired output path for the resulting mask" )
190- csf_mask_parser .add_argument ("--connectivity" , type = int , default = 2 , help = "Maximum connectivity distance to evaluate contiguous islands" )
188+ csf_mask_parser .add_argument (
189+ "--connectivity" , type = int , default = 2 , help = "Maximum connectivity distance to evaluate contiguous islands"
190+ )
191191 csf_mask_parser .add_argument ("--use-li" , type = bool , default = False , help = "If true, uses Li thresholding" )
192192
193-
194193 intracranial_mask_parser = subparser .add_parser (
195194 "intracranial" , help = "Compute intracranial mask" , formatter_class = parser .formatter_class
196195 )
@@ -206,8 +205,12 @@ def add_arguments(
206205def dispatch (args ):
207206 command = args .pop ("mask-command" )
208207 if command == "csf" :
209- csf_mask (input = args .pop ("input" ), output = args .pop ("output" ), connectivity = args .pop ("connectivity" ), use_li = args .pop ("use_li" ))
208+ csf_mask (
209+ input = args .pop ("input" ), output = args .pop ("output" ), connectivity = args .pop ("connectivity" ), use_li = args .pop ("use_li" )
210+ )
210211 elif command == "intracranial" :
211- intracranial_mask (csf_mask_path = args .pop ("csf_mask_path" ), segmentation_path = args .pop ("segmentation_path" ), output = args .pop ("output" ))
212+ intracranial_mask (
213+ csf_mask_path = args .pop ("csf_mask_path" ), segmentation_path = args .pop ("segmentation_path" ), output = args .pop ("output" )
214+ )
212215 else :
213216 raise ValueError (f"Unknown mask command: { command } " )
0 commit comments