niwrap-freesurfer 0.5.1__py3-none-any.whl → 0.5.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of niwrap-freesurfer might be problematic. Click here for more details.
- niwrap_freesurfer/freesurfer/__init__.py +0 -11
- niwrap_freesurfer/freesurfer/annot2std.py +32 -1
- niwrap_freesurfer/freesurfer/aparc2feat.py +19 -1
- niwrap_freesurfer/freesurfer/bbregister.py +143 -4
- niwrap_freesurfer/freesurfer/bmedits2surf.py +2 -2
- niwrap_freesurfer/freesurfer/compute_interrater_variability_csh.py +20 -2
- niwrap_freesurfer/freesurfer/compute_label_volumes_csh.py +17 -2
- niwrap_freesurfer/freesurfer/conf2hires.py +59 -1
- niwrap_freesurfer/freesurfer/connected_components.py +34 -2
- niwrap_freesurfer/freesurfer/dcmdir_info_mgh.py +3 -2
- niwrap_freesurfer/freesurfer/dcmdjpeg_fs.py +2 -2
- niwrap_freesurfer/freesurfer/dcmdrle_fs.py +2 -2
- niwrap_freesurfer/freesurfer/dicom_rename.py +21 -2
- niwrap_freesurfer/freesurfer/dmri_bset.py +14 -2
- niwrap_freesurfer/freesurfer/dmri_forrest.py +10 -1
- niwrap_freesurfer/freesurfer/dmri_mergepaths.py +2 -2
- niwrap_freesurfer/freesurfer/dmri_pathstats.py +2 -2
- niwrap_freesurfer/freesurfer/dmri_stats_ac.py +1 -3
- niwrap_freesurfer/freesurfer/exvivo_hemi_proc.py +10 -1
- niwrap_freesurfer/freesurfer/fiducials_calibration.py +15 -1
- niwrap_freesurfer/freesurfer/fiducials_correction.py +10 -3
- niwrap_freesurfer/freesurfer/fix_subject_corrected_rh.py +3 -2
- niwrap_freesurfer/freesurfer/fix_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/fs_check_version.py +19 -1
- niwrap_freesurfer/freesurfer/fs_spmreg_glnxa64.py +19 -4
- niwrap_freesurfer/freesurfer/fs_temp_file.py +36 -1
- niwrap_freesurfer/freesurfer/fs_update.py +19 -1
- niwrap_freesurfer/freesurfer/fsl_sub_mgh.py +1 -2
- niwrap_freesurfer/freesurfer/fsr_import.py +55 -5
- niwrap_freesurfer/freesurfer/fvcompare.py +10 -1
- niwrap_freesurfer/freesurfer/gca_apply.py +3 -2
- niwrap_freesurfer/freesurfer/gdcmconv_fs.py +2 -2
- niwrap_freesurfer/freesurfer/get_label_thickness.py +1 -2
- niwrap_freesurfer/freesurfer/groupstats.py +97 -1
- niwrap_freesurfer/freesurfer/groupstatsdiff.py +4 -4
- niwrap_freesurfer/freesurfer/hiam_make_surfaces.py +1 -2
- niwrap_freesurfer/freesurfer/histo_synthesize.py +1 -2
- niwrap_freesurfer/freesurfer/inflate_subject_lh.py +3 -2
- niwrap_freesurfer/freesurfer/inflate_subject_new_lh.py +3 -3
- niwrap_freesurfer/freesurfer/inflate_subject_new_rh.py +3 -2
- niwrap_freesurfer/freesurfer/inflate_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/inflate_subject_sc.py +28 -3
- niwrap_freesurfer/freesurfer/irepifitvol_glnx64.py +2 -2
- niwrap_freesurfer/freesurfer/is_surface.py +3 -2
- niwrap_freesurfer/freesurfer/isolate_labels_csh.py +17 -2
- niwrap_freesurfer/freesurfer/label_subject_flash.py +2 -2
- niwrap_freesurfer/freesurfer/label_subject_mixed.py +2 -2
- niwrap_freesurfer/freesurfer/listsubj.py +82 -2
- niwrap_freesurfer/freesurfer/long_stats_combine.py +1 -2
- niwrap_freesurfer/freesurfer/long_stats_tps.py +7 -7
- niwrap_freesurfer/freesurfer/long_submit_jobs.py +1 -5
- niwrap_freesurfer/freesurfer/longmc.py +10 -1
- niwrap_freesurfer/freesurfer/lta_convert.py +157 -1
- niwrap_freesurfer/freesurfer/make_average_volume.py +19 -1
- niwrap_freesurfer/freesurfer/make_folding_atlas.py +10 -1
- niwrap_freesurfer/freesurfer/map_all_labels_lh.py +11 -3
- niwrap_freesurfer/freesurfer/map_central_sulcus.py +2 -2
- niwrap_freesurfer/freesurfer/merge_stats_tables.py +58 -35
- niwrap_freesurfer/freesurfer/mideface.py +121 -14
- niwrap_freesurfer/freesurfer/mni152reg.py +2 -2
- niwrap_freesurfer/freesurfer/morph_only_subject_lh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_only_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_rgb_lh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_rgb_rh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_subject_lh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_tables_lh.py +3 -2
- niwrap_freesurfer/freesurfer/morph_tables_rh.py +3 -2
- niwrap_freesurfer/freesurfer/mri_aparc2aseg.py +10 -1
- niwrap_freesurfer/freesurfer/mri_apply_bias.py +1 -2
- niwrap_freesurfer/freesurfer/mri_average.py +10 -1
- niwrap_freesurfer/freesurfer/mri_brain_volume.py +23 -2
- niwrap_freesurfer/freesurfer/mri_ca_label.py +603 -2
- niwrap_freesurfer/freesurfer/mri_ca_train.py +10 -1
- niwrap_freesurfer/freesurfer/mri_convert.py +188 -2
- niwrap_freesurfer/freesurfer/mri_fuse_segmentations.py +10 -3
- niwrap_freesurfer/freesurfer/mri_gcab_train.py +15 -1
- niwrap_freesurfer/freesurfer/mri_gdfglm.py +13 -1
- niwrap_freesurfer/freesurfer/mri_gtmpvc.py +19 -1
- niwrap_freesurfer/freesurfer/mri_hausdorff_dist.py +1 -2
- niwrap_freesurfer/freesurfer/mri_head.py +19 -1
- niwrap_freesurfer/freesurfer/mri_jacobian.py +10 -1
- niwrap_freesurfer/freesurfer/mri_nl_align.py +27 -1
- niwrap_freesurfer/freesurfer/mri_relabel_nonwm_hypos.py +3 -3
- niwrap_freesurfer/freesurfer/mri_reorient_lr_csh.py +2 -2
- niwrap_freesurfer/freesurfer/mri_seg_diff.py +14 -1
- niwrap_freesurfer/freesurfer/mri_twoclass.py +1 -2
- niwrap_freesurfer/freesurfer/mri_validate_skull_stripped.py +2 -2
- niwrap_freesurfer/freesurfer/mri_warp_convert.py +131 -1
- niwrap_freesurfer/freesurfer/mri_z2p.py +37 -1
- niwrap_freesurfer/freesurfer/mris_add_template.py +11 -1
- niwrap_freesurfer/freesurfer/mris_apply_reg.py +1 -2
- niwrap_freesurfer/freesurfer/mris_curvature_stats.py +419 -7
- niwrap_freesurfer/freesurfer/mris_diff.py +255 -1
- niwrap_freesurfer/freesurfer/mris_distance_map.py +1 -2
- niwrap_freesurfer/freesurfer/mris_errors.py +1 -2
- niwrap_freesurfer/freesurfer/mris_info.py +45 -46
- niwrap_freesurfer/freesurfer/mris_label_calc.py +14 -1
- niwrap_freesurfer/freesurfer/mris_map_cuts.py +1 -2
- niwrap_freesurfer/freesurfer/mris_nudge.py +1 -2
- niwrap_freesurfer/freesurfer/mris_place_surface.py +1 -2
- niwrap_freesurfer/freesurfer/mris_preproc.py +16 -2
- niwrap_freesurfer/freesurfer/mris_spherical_average.py +93 -8
- niwrap_freesurfer/freesurfer/mris_thickness_diff.py +1 -5
- niwrap_freesurfer/freesurfer/mris_volmask_vtk.py +2 -2
- niwrap_freesurfer/freesurfer/pctsurfcon.py +2 -2
- niwrap_freesurfer/freesurfer/plot_structure_stats_tcl.py +2 -2
- niwrap_freesurfer/freesurfer/post_recon_all.py +39 -2
- niwrap_freesurfer/freesurfer/predict_v1_sh.py +11 -2
- niwrap_freesurfer/freesurfer/print_unique_labels_csh.py +34 -3
- niwrap_freesurfer/freesurfer/rbbr.py +37 -1
- niwrap_freesurfer/freesurfer/rca_base_init.py +3 -2
- niwrap_freesurfer/freesurfer/rca_config.py +3 -2
- niwrap_freesurfer/freesurfer/rca_config2csh.py +3 -2
- niwrap_freesurfer/freesurfer/recon_all.py +75 -1
- niwrap_freesurfer/freesurfer/register_elderly_subject.py +2 -2
- niwrap_freesurfer/freesurfer/reinflate_subject_lh.py +3 -2
- niwrap_freesurfer/freesurfer/reinflate_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/renormalize_subject_keep_editting.py +13 -1
- niwrap_freesurfer/freesurfer/rtview.py +34 -1
- niwrap_freesurfer/freesurfer/run_qdec_glm.py +3 -2
- niwrap_freesurfer/freesurfer/samseg.py +14 -1
- niwrap_freesurfer/freesurfer/samseg_long.py +17 -8
- niwrap_freesurfer/freesurfer/samsegmesh2surf.py +5 -7
- niwrap_freesurfer/freesurfer/seg2filled.py +4 -4
- niwrap_freesurfer/freesurfer/segment_subject.py +2 -2
- niwrap_freesurfer/freesurfer/segment_subject_old_skull_strip.py +4 -4
- niwrap_freesurfer/freesurfer/segment_subject_sc.py +4 -4
- niwrap_freesurfer/freesurfer/segment_subject_t2_auto_estimate_alveus_ml.py +11 -1
- niwrap_freesurfer/freesurfer/segpons.py +2 -2
- niwrap_freesurfer/freesurfer/sphere_subject_lh.py +3 -2
- niwrap_freesurfer/freesurfer/sphere_subject_rh.py +3 -2
- niwrap_freesurfer/freesurfer/talairach.py +4 -4
- niwrap_freesurfer/freesurfer/trac_all.py +283 -1
- niwrap_freesurfer/freesurfer/train_gcs_atlas.py +19 -1
- niwrap_freesurfer/freesurfer/update_needed.py +13 -2
- niwrap_freesurfer/freesurfer/vertexvol.py +19 -1
- niwrap_freesurfer/freesurfer/vol2subfield.py +72 -1
- niwrap_freesurfer/freesurfer/wmsaseg.py +2 -2
- {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.2.dist-info}/METADATA +1 -1
- {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.2.dist-info}/RECORD +142 -153
- niwrap_freesurfer/freesurfer/bet_fsl.py +0 -441
- niwrap_freesurfer/freesurfer/epidewarp_fsl.py +0 -439
- niwrap_freesurfer/freesurfer/flirt_fsl.py +0 -604
- niwrap_freesurfer/freesurfer/fscalc_fsl.py +0 -196
- niwrap_freesurfer/freesurfer/fsfirst_fsl.py +0 -166
- niwrap_freesurfer/freesurfer/fslmaths_fsl.py +0 -196
- niwrap_freesurfer/freesurfer/fslorient_fsl.py +0 -207
- niwrap_freesurfer/freesurfer/fslswapdim_fsl.py +0 -216
- niwrap_freesurfer/freesurfer/fspython.py +0 -175
- niwrap_freesurfer/freesurfer/mri_motion_correct_fsl.py +0 -185
- niwrap_freesurfer/freesurfer/slicetimer_fsl.py +0 -291
- {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.2.dist-info}/WHEEL +0 -0
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
COMPUTE_LABEL_VOLUMES_CSH_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="f6bb92d910cd7a9b624eadf0f487558e645d0c90.boutiques",
|
|
10
10
|
name="compute_label_volumes.csh",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -18,6 +18,7 @@ ComputeLabelVolumesCshParameters = typing.TypedDict('ComputeLabelVolumesCshParam
|
|
|
18
18
|
"label_vol": InputPathType,
|
|
19
19
|
"output_file": str,
|
|
20
20
|
"label_l": typing.NotRequired[str | None],
|
|
21
|
+
"label_l_1": typing.NotRequired[str | None],
|
|
21
22
|
"version": bool,
|
|
22
23
|
"help": bool,
|
|
23
24
|
})
|
|
@@ -69,6 +70,7 @@ def compute_label_volumes_csh_params(
|
|
|
69
70
|
label_vol: InputPathType,
|
|
70
71
|
output_file: str,
|
|
71
72
|
label_l: str | None = None,
|
|
73
|
+
label_l_1: str | None = None,
|
|
72
74
|
version: bool = False,
|
|
73
75
|
help_: bool = False,
|
|
74
76
|
) -> ComputeLabelVolumesCshParameters:
|
|
@@ -79,6 +81,8 @@ def compute_label_volumes_csh_params(
|
|
|
79
81
|
label_vol: Label volume to be analyzed.
|
|
80
82
|
output_file: Text file where the results are written.
|
|
81
83
|
label_l: The particular label to be analyzed (case-insensitive option).
|
|
84
|
+
label_l_1: The particular label to be analyzed (case-insensitive\
|
|
85
|
+
option).
|
|
82
86
|
version: Print version and exit.
|
|
83
87
|
help_: Print help and exit.
|
|
84
88
|
Returns:
|
|
@@ -93,6 +97,8 @@ def compute_label_volumes_csh_params(
|
|
|
93
97
|
}
|
|
94
98
|
if label_l is not None:
|
|
95
99
|
params["label_l"] = label_l
|
|
100
|
+
if label_l_1 is not None:
|
|
101
|
+
params["label_l_1"] = label_l_1
|
|
96
102
|
return params
|
|
97
103
|
|
|
98
104
|
|
|
@@ -110,7 +116,7 @@ def compute_label_volumes_csh_cargs(
|
|
|
110
116
|
Command-line arguments.
|
|
111
117
|
"""
|
|
112
118
|
cargs = []
|
|
113
|
-
cargs.append("compute_label_volumes")
|
|
119
|
+
cargs.append("compute_label_volumes.csh")
|
|
114
120
|
cargs.extend([
|
|
115
121
|
"--vol",
|
|
116
122
|
execution.input_file(params.get("label_vol"))
|
|
@@ -124,6 +130,11 @@ def compute_label_volumes_csh_cargs(
|
|
|
124
130
|
"--l",
|
|
125
131
|
params.get("label_l")
|
|
126
132
|
])
|
|
133
|
+
if params.get("label_l_1") is not None:
|
|
134
|
+
cargs.extend([
|
|
135
|
+
"--l",
|
|
136
|
+
params.get("label_l_1")
|
|
137
|
+
])
|
|
127
138
|
if params.get("version"):
|
|
128
139
|
cargs.append("--version")
|
|
129
140
|
if params.get("help"):
|
|
@@ -180,6 +191,7 @@ def compute_label_volumes_csh(
|
|
|
180
191
|
label_vol: InputPathType,
|
|
181
192
|
output_file: str,
|
|
182
193
|
label_l: str | None = None,
|
|
194
|
+
label_l_1: str | None = None,
|
|
183
195
|
version: bool = False,
|
|
184
196
|
help_: bool = False,
|
|
185
197
|
runner: Runner | None = None,
|
|
@@ -196,6 +208,8 @@ def compute_label_volumes_csh(
|
|
|
196
208
|
label_vol: Label volume to be analyzed.
|
|
197
209
|
output_file: Text file where the results are written.
|
|
198
210
|
label_l: The particular label to be analyzed (case-insensitive option).
|
|
211
|
+
label_l_1: The particular label to be analyzed (case-insensitive\
|
|
212
|
+
option).
|
|
199
213
|
version: Print version and exit.
|
|
200
214
|
help_: Print help and exit.
|
|
201
215
|
runner: Command runner.
|
|
@@ -208,6 +222,7 @@ def compute_label_volumes_csh(
|
|
|
208
222
|
label_vol=label_vol,
|
|
209
223
|
output_file=output_file,
|
|
210
224
|
label_l=label_l,
|
|
225
|
+
label_l_1=label_l_1,
|
|
211
226
|
version=version,
|
|
212
227
|
help_=help_,
|
|
213
228
|
)
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
CONF2HIRES_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="2455d1a9818a72df60f5c386c53541cd8cd28eab.boutiques",
|
|
10
10
|
name="conf2hires",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -16,14 +16,20 @@ CONF2HIRES_METADATA = Metadata(
|
|
|
16
16
|
Conf2hiresParameters = typing.TypedDict('Conf2hiresParameters', {
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["conf2hires"],
|
|
18
18
|
"subject": str,
|
|
19
|
+
"t2": bool,
|
|
19
20
|
"no_t2": bool,
|
|
20
21
|
"mm_norm_sigma": typing.NotRequired[float | None],
|
|
22
|
+
"flair": bool,
|
|
21
23
|
"no_flair": bool,
|
|
22
24
|
"threads": typing.NotRequired[float | None],
|
|
23
25
|
"copy_bias_from_conf": bool,
|
|
24
26
|
"norm_opts_rca": bool,
|
|
27
|
+
"cubic": bool,
|
|
25
28
|
"trilin": bool,
|
|
29
|
+
"dev": bool,
|
|
26
30
|
"no_dev": bool,
|
|
31
|
+
"bbr_con": typing.NotRequired[str | None],
|
|
32
|
+
"bbr_t1": bool,
|
|
27
33
|
"bbr_t2": bool,
|
|
28
34
|
"first_peak_d1": bool,
|
|
29
35
|
"first_peak_d2": bool,
|
|
@@ -74,14 +80,20 @@ class Conf2hiresOutputs(typing.NamedTuple):
|
|
|
74
80
|
|
|
75
81
|
def conf2hires_params(
|
|
76
82
|
subject: str,
|
|
83
|
+
t2: bool = False,
|
|
77
84
|
no_t2: bool = False,
|
|
78
85
|
mm_norm_sigma: float | None = 8,
|
|
86
|
+
flair: bool = False,
|
|
79
87
|
no_flair: bool = False,
|
|
80
88
|
threads: float | None = None,
|
|
81
89
|
copy_bias_from_conf: bool = False,
|
|
82
90
|
norm_opts_rca: bool = False,
|
|
91
|
+
cubic: bool = False,
|
|
83
92
|
trilin: bool = False,
|
|
93
|
+
dev: bool = False,
|
|
84
94
|
no_dev: bool = False,
|
|
95
|
+
bbr_con: str | None = None,
|
|
96
|
+
bbr_t1: bool = False,
|
|
85
97
|
bbr_t2: bool = False,
|
|
86
98
|
first_peak_d1: bool = False,
|
|
87
99
|
first_peak_d2: bool = False,
|
|
@@ -94,17 +106,23 @@ def conf2hires_params(
|
|
|
94
106
|
|
|
95
107
|
Args:
|
|
96
108
|
subject: Subject identifier.
|
|
109
|
+
t2: Enable T2 processing.
|
|
97
110
|
no_t2: Disable T2 processing (default).
|
|
98
111
|
mm_norm_sigma: Smoothing level for T2 mri_normalize (default is 8).
|
|
112
|
+
flair: Enable FLAIR processing.
|
|
99
113
|
no_flair: Disable FLAIR processing (default).
|
|
100
114
|
threads: Number of threads to use.
|
|
101
115
|
copy_bias_from_conf: Copy bias field from conformed instead of\
|
|
102
116
|
computing directly.
|
|
103
117
|
norm_opts_rca: Compute bias directly using recon-all opts to\
|
|
104
118
|
mri_normalize.
|
|
119
|
+
cubic: Use cubic normalization (applies with --copy-bias-from-conf).
|
|
105
120
|
trilin: Use trilinear normalization (default, applies with\
|
|
106
121
|
--copy-bias-from-conf).
|
|
122
|
+
dev: Use mris_make_surfaces.dev.
|
|
107
123
|
no_dev: Do not use mris_make_surfaces.dev (default).
|
|
124
|
+
bbr_con: Set BBR contrast type (default t2).
|
|
125
|
+
bbr_t1: Set BBR contrast type to t1.
|
|
108
126
|
bbr_t2: Set BBR contrast type to t2.
|
|
109
127
|
first_peak_d1: Refine surface targets in MRIScomputeBorderValues()\
|
|
110
128
|
using first peak method D1.
|
|
@@ -119,12 +137,17 @@ def conf2hires_params(
|
|
|
119
137
|
params = {
|
|
120
138
|
"__STYXTYPE__": "conf2hires",
|
|
121
139
|
"subject": subject,
|
|
140
|
+
"t2": t2,
|
|
122
141
|
"no_t2": no_t2,
|
|
142
|
+
"flair": flair,
|
|
123
143
|
"no_flair": no_flair,
|
|
124
144
|
"copy_bias_from_conf": copy_bias_from_conf,
|
|
125
145
|
"norm_opts_rca": norm_opts_rca,
|
|
146
|
+
"cubic": cubic,
|
|
126
147
|
"trilin": trilin,
|
|
148
|
+
"dev": dev,
|
|
127
149
|
"no_dev": no_dev,
|
|
150
|
+
"bbr_t1": bbr_t1,
|
|
128
151
|
"bbr_t2": bbr_t2,
|
|
129
152
|
"first_peak_d1": first_peak_d1,
|
|
130
153
|
"first_peak_d2": first_peak_d2,
|
|
@@ -134,6 +157,8 @@ def conf2hires_params(
|
|
|
134
157
|
params["mm_norm_sigma"] = mm_norm_sigma
|
|
135
158
|
if threads is not None:
|
|
136
159
|
params["threads"] = threads
|
|
160
|
+
if bbr_con is not None:
|
|
161
|
+
params["bbr_con"] = bbr_con
|
|
137
162
|
if stopmask is not None:
|
|
138
163
|
params["stopmask"] = stopmask
|
|
139
164
|
if expert is not None:
|
|
@@ -160,6 +185,8 @@ def conf2hires_cargs(
|
|
|
160
185
|
"--s",
|
|
161
186
|
params.get("subject")
|
|
162
187
|
])
|
|
188
|
+
if params.get("t2"):
|
|
189
|
+
cargs.append("--t2")
|
|
163
190
|
if params.get("no_t2"):
|
|
164
191
|
cargs.append("--no-t2")
|
|
165
192
|
if params.get("mm_norm_sigma") is not None:
|
|
@@ -167,6 +194,8 @@ def conf2hires_cargs(
|
|
|
167
194
|
"--mm-norm-sigma",
|
|
168
195
|
str(params.get("mm_norm_sigma"))
|
|
169
196
|
])
|
|
197
|
+
if params.get("flair"):
|
|
198
|
+
cargs.append("--flair")
|
|
170
199
|
if params.get("no_flair"):
|
|
171
200
|
cargs.append("--no-flair")
|
|
172
201
|
if params.get("threads") is not None:
|
|
@@ -178,10 +207,21 @@ def conf2hires_cargs(
|
|
|
178
207
|
cargs.append("--copy-bias-from-conf")
|
|
179
208
|
if params.get("norm_opts_rca"):
|
|
180
209
|
cargs.append("--norm-opts-rca")
|
|
210
|
+
if params.get("cubic"):
|
|
211
|
+
cargs.append("--cubic")
|
|
181
212
|
if params.get("trilin"):
|
|
182
213
|
cargs.append("--trilin")
|
|
214
|
+
if params.get("dev"):
|
|
215
|
+
cargs.append("--dev")
|
|
183
216
|
if params.get("no_dev"):
|
|
184
217
|
cargs.append("--no-dev")
|
|
218
|
+
if params.get("bbr_con") is not None:
|
|
219
|
+
cargs.extend([
|
|
220
|
+
"--bbr-con",
|
|
221
|
+
params.get("bbr_con")
|
|
222
|
+
])
|
|
223
|
+
if params.get("bbr_t1"):
|
|
224
|
+
cargs.append("--bbr-t1")
|
|
185
225
|
if params.get("bbr_t2"):
|
|
186
226
|
cargs.append("--bbr-t2")
|
|
187
227
|
if params.get("first_peak_d1"):
|
|
@@ -249,14 +289,20 @@ def conf2hires_execute(
|
|
|
249
289
|
|
|
250
290
|
def conf2hires(
|
|
251
291
|
subject: str,
|
|
292
|
+
t2: bool = False,
|
|
252
293
|
no_t2: bool = False,
|
|
253
294
|
mm_norm_sigma: float | None = 8,
|
|
295
|
+
flair: bool = False,
|
|
254
296
|
no_flair: bool = False,
|
|
255
297
|
threads: float | None = None,
|
|
256
298
|
copy_bias_from_conf: bool = False,
|
|
257
299
|
norm_opts_rca: bool = False,
|
|
300
|
+
cubic: bool = False,
|
|
258
301
|
trilin: bool = False,
|
|
302
|
+
dev: bool = False,
|
|
259
303
|
no_dev: bool = False,
|
|
304
|
+
bbr_con: str | None = None,
|
|
305
|
+
bbr_t1: bool = False,
|
|
260
306
|
bbr_t2: bool = False,
|
|
261
307
|
first_peak_d1: bool = False,
|
|
262
308
|
first_peak_d2: bool = False,
|
|
@@ -275,17 +321,23 @@ def conf2hires(
|
|
|
275
321
|
|
|
276
322
|
Args:
|
|
277
323
|
subject: Subject identifier.
|
|
324
|
+
t2: Enable T2 processing.
|
|
278
325
|
no_t2: Disable T2 processing (default).
|
|
279
326
|
mm_norm_sigma: Smoothing level for T2 mri_normalize (default is 8).
|
|
327
|
+
flair: Enable FLAIR processing.
|
|
280
328
|
no_flair: Disable FLAIR processing (default).
|
|
281
329
|
threads: Number of threads to use.
|
|
282
330
|
copy_bias_from_conf: Copy bias field from conformed instead of\
|
|
283
331
|
computing directly.
|
|
284
332
|
norm_opts_rca: Compute bias directly using recon-all opts to\
|
|
285
333
|
mri_normalize.
|
|
334
|
+
cubic: Use cubic normalization (applies with --copy-bias-from-conf).
|
|
286
335
|
trilin: Use trilinear normalization (default, applies with\
|
|
287
336
|
--copy-bias-from-conf).
|
|
337
|
+
dev: Use mris_make_surfaces.dev.
|
|
288
338
|
no_dev: Do not use mris_make_surfaces.dev (default).
|
|
339
|
+
bbr_con: Set BBR contrast type (default t2).
|
|
340
|
+
bbr_t1: Set BBR contrast type to t1.
|
|
289
341
|
bbr_t2: Set BBR contrast type to t2.
|
|
290
342
|
first_peak_d1: Refine surface targets in MRIScomputeBorderValues()\
|
|
291
343
|
using first peak method D1.
|
|
@@ -302,14 +354,20 @@ def conf2hires(
|
|
|
302
354
|
execution = runner.start_execution(CONF2HIRES_METADATA)
|
|
303
355
|
params = conf2hires_params(
|
|
304
356
|
subject=subject,
|
|
357
|
+
t2=t2,
|
|
305
358
|
no_t2=no_t2,
|
|
306
359
|
mm_norm_sigma=mm_norm_sigma,
|
|
360
|
+
flair=flair,
|
|
307
361
|
no_flair=no_flair,
|
|
308
362
|
threads=threads,
|
|
309
363
|
copy_bias_from_conf=copy_bias_from_conf,
|
|
310
364
|
norm_opts_rca=norm_opts_rca,
|
|
365
|
+
cubic=cubic,
|
|
311
366
|
trilin=trilin,
|
|
367
|
+
dev=dev,
|
|
312
368
|
no_dev=no_dev,
|
|
369
|
+
bbr_con=bbr_con,
|
|
370
|
+
bbr_t1=bbr_t1,
|
|
313
371
|
bbr_t2=bbr_t2,
|
|
314
372
|
first_peak_d1=first_peak_d1,
|
|
315
373
|
first_peak_d2=first_peak_d2,
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
CONNECTED_COMPONENTS_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="f1633b5575d9dbbe6d93199947f8505bc14a7d96.boutiques",
|
|
10
10
|
name="connected_components",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -15,6 +15,9 @@ CONNECTED_COMPONENTS_METADATA = Metadata(
|
|
|
15
15
|
|
|
16
16
|
ConnectedComponentsParameters = typing.TypedDict('ConnectedComponentsParameters', {
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["connected_components"],
|
|
18
|
+
"input_image": InputPathType,
|
|
19
|
+
"output_image": str,
|
|
20
|
+
"threshold": typing.NotRequired[float | None],
|
|
18
21
|
})
|
|
19
22
|
|
|
20
23
|
|
|
@@ -61,17 +64,27 @@ class ConnectedComponentsOutputs(typing.NamedTuple):
|
|
|
61
64
|
|
|
62
65
|
|
|
63
66
|
def connected_components_params(
|
|
67
|
+
input_image: InputPathType,
|
|
68
|
+
output_image: str = "output_labelled_image",
|
|
69
|
+
threshold: float | None = None,
|
|
64
70
|
) -> ConnectedComponentsParameters:
|
|
65
71
|
"""
|
|
66
72
|
Build parameters.
|
|
67
73
|
|
|
68
74
|
Args:
|
|
75
|
+
input_image: Input image file.
|
|
76
|
+
output_image: Output labeled connected components image.
|
|
77
|
+
threshold: Threshold for binarizing the input image.
|
|
69
78
|
Returns:
|
|
70
79
|
Parameter dictionary
|
|
71
80
|
"""
|
|
72
81
|
params = {
|
|
73
82
|
"__STYXTYPE__": "connected_components",
|
|
83
|
+
"input_image": input_image,
|
|
84
|
+
"output_image": output_image,
|
|
74
85
|
}
|
|
86
|
+
if threshold is not None:
|
|
87
|
+
params["threshold"] = threshold
|
|
75
88
|
return params
|
|
76
89
|
|
|
77
90
|
|
|
@@ -90,6 +103,16 @@ def connected_components_cargs(
|
|
|
90
103
|
"""
|
|
91
104
|
cargs = []
|
|
92
105
|
cargs.append("connected_components")
|
|
106
|
+
cargs.append(execution.input_file(params.get("input_image")))
|
|
107
|
+
cargs.extend([
|
|
108
|
+
"-o",
|
|
109
|
+
params.get("output_image")
|
|
110
|
+
])
|
|
111
|
+
if params.get("threshold") is not None:
|
|
112
|
+
cargs.extend([
|
|
113
|
+
"-t",
|
|
114
|
+
str(params.get("threshold"))
|
|
115
|
+
])
|
|
93
116
|
return cargs
|
|
94
117
|
|
|
95
118
|
|
|
@@ -108,7 +131,7 @@ def connected_components_outputs(
|
|
|
108
131
|
"""
|
|
109
132
|
ret = ConnectedComponentsOutputs(
|
|
110
133
|
root=execution.output_file("."),
|
|
111
|
-
output_labelled_image_file=execution.output_file("
|
|
134
|
+
output_labelled_image_file=execution.output_file(params.get("output_image") + ".nii.gz"),
|
|
112
135
|
)
|
|
113
136
|
return ret
|
|
114
137
|
|
|
@@ -138,6 +161,9 @@ def connected_components_execute(
|
|
|
138
161
|
|
|
139
162
|
|
|
140
163
|
def connected_components(
|
|
164
|
+
input_image: InputPathType,
|
|
165
|
+
output_image: str = "output_labelled_image",
|
|
166
|
+
threshold: float | None = None,
|
|
141
167
|
runner: Runner | None = None,
|
|
142
168
|
) -> ConnectedComponentsOutputs:
|
|
143
169
|
"""
|
|
@@ -148,6 +174,9 @@ def connected_components(
|
|
|
148
174
|
URL: https://github.com/freesurfer/freesurfer
|
|
149
175
|
|
|
150
176
|
Args:
|
|
177
|
+
input_image: Input image file.
|
|
178
|
+
output_image: Output labeled connected components image.
|
|
179
|
+
threshold: Threshold for binarizing the input image.
|
|
151
180
|
runner: Command runner.
|
|
152
181
|
Returns:
|
|
153
182
|
NamedTuple of outputs (described in `ConnectedComponentsOutputs`).
|
|
@@ -155,6 +184,9 @@ def connected_components(
|
|
|
155
184
|
runner = runner or get_global_runner()
|
|
156
185
|
execution = runner.start_execution(CONNECTED_COMPONENTS_METADATA)
|
|
157
186
|
params = connected_components_params(
|
|
187
|
+
input_image=input_image,
|
|
188
|
+
output_image=output_image,
|
|
189
|
+
threshold=threshold,
|
|
158
190
|
)
|
|
159
191
|
return connected_components_execute(params, execution)
|
|
160
192
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DCMDIR_INFO_MGH_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="162f400a399c275cd7fef293d1d5ad1cd84402e4.boutiques",
|
|
10
10
|
name="dcmdir-info-mgh",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -112,9 +112,10 @@ def dcmdir_info_mgh_cargs(
|
|
|
112
112
|
Command-line arguments.
|
|
113
113
|
"""
|
|
114
114
|
cargs = []
|
|
115
|
+
cargs.append("dcmdir-info-mgh")
|
|
115
116
|
cargs.extend([
|
|
116
117
|
"-mgh",
|
|
117
|
-
|
|
118
|
+
params.get("dicomdir")
|
|
118
119
|
])
|
|
119
120
|
if params.get("unpackdir") is not None:
|
|
120
121
|
cargs.append(params.get("unpackdir"))
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DCMDJPEG_FS_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="23277311b6d3ec67d22170dc491d01934643849c.boutiques",
|
|
10
10
|
name="dcmdjpeg.fs",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -260,7 +260,7 @@ def dcmdjpeg_fs_cargs(
|
|
|
260
260
|
Command-line arguments.
|
|
261
261
|
"""
|
|
262
262
|
cargs = []
|
|
263
|
-
cargs.append("dcmdjpeg")
|
|
263
|
+
cargs.append("dcmdjpeg.fs")
|
|
264
264
|
cargs.append(execution.input_file(params.get("input_file")))
|
|
265
265
|
cargs.append(params.get("output_file"))
|
|
266
266
|
if params.get("help"):
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DCMDRLE_FS_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="b9eeb8b72ae777bc906cf77f646047be70b17380.boutiques",
|
|
10
10
|
name="dcmdrle.fs",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -221,7 +221,7 @@ def dcmdrle_fs_cargs(
|
|
|
221
221
|
Command-line arguments.
|
|
222
222
|
"""
|
|
223
223
|
cargs = []
|
|
224
|
-
cargs.append("dcmdrle")
|
|
224
|
+
cargs.append("dcmdrle.fs")
|
|
225
225
|
cargs.append(execution.input_file(params.get("input_file")))
|
|
226
226
|
cargs.append(params.get("output_file"))
|
|
227
227
|
if params.get("help"):
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DICOM_RENAME_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="967c36e6f1722cec2c2a414d9307145c8c3ca445.boutiques",
|
|
10
10
|
name="dicom-rename",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -17,6 +17,8 @@ DicomRenameParameters = typing.TypedDict('DicomRenameParameters', {
|
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["dicom-rename"],
|
|
18
18
|
"input_files": list[InputPathType],
|
|
19
19
|
"output_base": str,
|
|
20
|
+
"version": bool,
|
|
21
|
+
"help": bool,
|
|
20
22
|
})
|
|
21
23
|
|
|
22
24
|
|
|
@@ -65,6 +67,8 @@ class DicomRenameOutputs(typing.NamedTuple):
|
|
|
65
67
|
def dicom_rename_params(
|
|
66
68
|
input_files: list[InputPathType],
|
|
67
69
|
output_base: str,
|
|
70
|
+
version: bool = False,
|
|
71
|
+
help_: bool = False,
|
|
68
72
|
) -> DicomRenameParameters:
|
|
69
73
|
"""
|
|
70
74
|
Build parameters.
|
|
@@ -73,6 +77,8 @@ def dicom_rename_params(
|
|
|
73
77
|
input_files: Input DICOM files to be renamed.
|
|
74
78
|
output_base: Base name for output files that includes series and image\
|
|
75
79
|
numbers.
|
|
80
|
+
version: Print version and exit.
|
|
81
|
+
help_: Print help and exit.
|
|
76
82
|
Returns:
|
|
77
83
|
Parameter dictionary
|
|
78
84
|
"""
|
|
@@ -80,6 +86,8 @@ def dicom_rename_params(
|
|
|
80
86
|
"__STYXTYPE__": "dicom-rename",
|
|
81
87
|
"input_files": input_files,
|
|
82
88
|
"output_base": output_base,
|
|
89
|
+
"version": version,
|
|
90
|
+
"help": help_,
|
|
83
91
|
}
|
|
84
92
|
return params
|
|
85
93
|
|
|
@@ -98,14 +106,19 @@ def dicom_rename_cargs(
|
|
|
98
106
|
Command-line arguments.
|
|
99
107
|
"""
|
|
100
108
|
cargs = []
|
|
109
|
+
cargs.append("dicom-rename")
|
|
101
110
|
cargs.extend([
|
|
102
111
|
"-rename",
|
|
103
|
-
|
|
112
|
+
*[execution.input_file(f) for f in params.get("input_files")]
|
|
104
113
|
])
|
|
105
114
|
cargs.extend([
|
|
106
115
|
"--o",
|
|
107
116
|
params.get("output_base")
|
|
108
117
|
])
|
|
118
|
+
if params.get("version"):
|
|
119
|
+
cargs.append("--version")
|
|
120
|
+
if params.get("help"):
|
|
121
|
+
cargs.append("--help")
|
|
109
122
|
return cargs
|
|
110
123
|
|
|
111
124
|
|
|
@@ -156,6 +169,8 @@ def dicom_rename_execute(
|
|
|
156
169
|
def dicom_rename(
|
|
157
170
|
input_files: list[InputPathType],
|
|
158
171
|
output_base: str,
|
|
172
|
+
version: bool = False,
|
|
173
|
+
help_: bool = False,
|
|
159
174
|
runner: Runner | None = None,
|
|
160
175
|
) -> DicomRenameOutputs:
|
|
161
176
|
"""
|
|
@@ -169,6 +184,8 @@ def dicom_rename(
|
|
|
169
184
|
input_files: Input DICOM files to be renamed.
|
|
170
185
|
output_base: Base name for output files that includes series and image\
|
|
171
186
|
numbers.
|
|
187
|
+
version: Print version and exit.
|
|
188
|
+
help_: Print help and exit.
|
|
172
189
|
runner: Command runner.
|
|
173
190
|
Returns:
|
|
174
191
|
NamedTuple of outputs (described in `DicomRenameOutputs`).
|
|
@@ -178,6 +195,8 @@ def dicom_rename(
|
|
|
178
195
|
params = dicom_rename_params(
|
|
179
196
|
input_files=input_files,
|
|
180
197
|
output_base=output_base,
|
|
198
|
+
version=version,
|
|
199
|
+
help_=help_,
|
|
181
200
|
)
|
|
182
201
|
return dicom_rename_execute(params, execution)
|
|
183
202
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DMRI_BSET_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="9a9d1299f82ba59a9a11b741685458eb6f480882.boutiques",
|
|
10
10
|
name="dmri_bset",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -17,6 +17,7 @@ DmriBsetParameters = typing.TypedDict('DmriBsetParameters', {
|
|
|
17
17
|
"__STYX_TYPE__": typing.Literal["dmri_bset"],
|
|
18
18
|
"input_dwi": InputPathType,
|
|
19
19
|
"output_dwi": str,
|
|
20
|
+
"b_values": typing.NotRequired[list[float] | None],
|
|
20
21
|
"btol": typing.NotRequired[float | None],
|
|
21
22
|
"bsort": bool,
|
|
22
23
|
"bmax": typing.NotRequired[float | None],
|
|
@@ -76,6 +77,7 @@ class DmriBsetOutputs(typing.NamedTuple):
|
|
|
76
77
|
def dmri_bset_params(
|
|
77
78
|
input_dwi: InputPathType,
|
|
78
79
|
output_dwi: str,
|
|
80
|
+
b_values: list[float] | None = None,
|
|
79
81
|
btol: float | None = 0.05,
|
|
80
82
|
bsort: bool = False,
|
|
81
83
|
bmax: float | None = None,
|
|
@@ -90,6 +92,7 @@ def dmri_bset_params(
|
|
|
90
92
|
Args:
|
|
91
93
|
input_dwi: Input DWI series.
|
|
92
94
|
output_dwi: Output DWI series.
|
|
95
|
+
b_values: Extract one or more b-values.
|
|
93
96
|
btol: Tolerance around each single b-value (default: 0.05).
|
|
94
97
|
bsort: Reorder output data by b-shell (default: maintain original\
|
|
95
98
|
order).
|
|
@@ -111,6 +114,8 @@ def dmri_bset_params(
|
|
|
111
114
|
"output_dwi": output_dwi,
|
|
112
115
|
"bsort": bsort,
|
|
113
116
|
}
|
|
117
|
+
if b_values is not None:
|
|
118
|
+
params["b_values"] = b_values
|
|
114
119
|
if btol is not None:
|
|
115
120
|
params["btol"] = btol
|
|
116
121
|
if bmax is not None:
|
|
@@ -143,7 +148,11 @@ def dmri_bset_cargs(
|
|
|
143
148
|
cargs.append("dmri_bset")
|
|
144
149
|
cargs.append(execution.input_file(params.get("input_dwi")))
|
|
145
150
|
cargs.append(params.get("output_dwi"))
|
|
146
|
-
|
|
151
|
+
if params.get("b_values") is not None:
|
|
152
|
+
cargs.extend([
|
|
153
|
+
"--b",
|
|
154
|
+
*map(str, params.get("b_values"))
|
|
155
|
+
])
|
|
147
156
|
if params.get("btol") is not None:
|
|
148
157
|
cargs.extend([
|
|
149
158
|
"--btol",
|
|
@@ -229,6 +238,7 @@ def dmri_bset_execute(
|
|
|
229
238
|
def dmri_bset(
|
|
230
239
|
input_dwi: InputPathType,
|
|
231
240
|
output_dwi: str,
|
|
241
|
+
b_values: list[float] | None = None,
|
|
232
242
|
btol: float | None = 0.05,
|
|
233
243
|
bsort: bool = False,
|
|
234
244
|
bmax: float | None = None,
|
|
@@ -249,6 +259,7 @@ def dmri_bset(
|
|
|
249
259
|
Args:
|
|
250
260
|
input_dwi: Input DWI series.
|
|
251
261
|
output_dwi: Output DWI series.
|
|
262
|
+
b_values: Extract one or more b-values.
|
|
252
263
|
btol: Tolerance around each single b-value (default: 0.05).
|
|
253
264
|
bsort: Reorder output data by b-shell (default: maintain original\
|
|
254
265
|
order).
|
|
@@ -270,6 +281,7 @@ def dmri_bset(
|
|
|
270
281
|
params = dmri_bset_params(
|
|
271
282
|
input_dwi=input_dwi,
|
|
272
283
|
output_dwi=output_dwi,
|
|
284
|
+
b_values=b_values,
|
|
273
285
|
btol=btol,
|
|
274
286
|
bsort=bsort,
|
|
275
287
|
bmax=bmax,
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
DMRI_FORREST_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="2c71c0f52e15a044282718015b50d98a2a58e574.boutiques",
|
|
10
10
|
name="dmri_forrest",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -23,6 +23,7 @@ DmriForrestParameters = typing.TypedDict('DmriForrestParameters', {
|
|
|
23
23
|
"diff_file": typing.NotRequired[InputPathType | None],
|
|
24
24
|
"debug": bool,
|
|
25
25
|
"checkopts": bool,
|
|
26
|
+
"help": bool,
|
|
26
27
|
})
|
|
27
28
|
|
|
28
29
|
|
|
@@ -74,6 +75,7 @@ def dmri_forrest_params(
|
|
|
74
75
|
diff_file: InputPathType | None = None,
|
|
75
76
|
debug: bool = False,
|
|
76
77
|
checkopts: bool = False,
|
|
78
|
+
help_: bool = False,
|
|
77
79
|
) -> DmriForrestParameters:
|
|
78
80
|
"""
|
|
79
81
|
Build parameters.
|
|
@@ -88,6 +90,7 @@ def dmri_forrest_params(
|
|
|
88
90
|
directory.
|
|
89
91
|
debug: Turn on debugging mode.
|
|
90
92
|
checkopts: Only check options and exit.
|
|
93
|
+
help_: Display help information.
|
|
91
94
|
Returns:
|
|
92
95
|
Parameter dictionary
|
|
93
96
|
"""
|
|
@@ -99,6 +102,7 @@ def dmri_forrest_params(
|
|
|
99
102
|
"tract_files": tract_files,
|
|
100
103
|
"debug": debug,
|
|
101
104
|
"checkopts": checkopts,
|
|
105
|
+
"help": help_,
|
|
102
106
|
}
|
|
103
107
|
if seg_file is not None:
|
|
104
108
|
params["seg_file"] = seg_file
|
|
@@ -152,6 +156,8 @@ def dmri_forrest_cargs(
|
|
|
152
156
|
cargs.append("--debug")
|
|
153
157
|
if params.get("checkopts"):
|
|
154
158
|
cargs.append("--checkopts")
|
|
159
|
+
if params.get("help"):
|
|
160
|
+
cargs.append("--help")
|
|
155
161
|
return cargs
|
|
156
162
|
|
|
157
163
|
|
|
@@ -208,6 +214,7 @@ def dmri_forrest(
|
|
|
208
214
|
diff_file: InputPathType | None = None,
|
|
209
215
|
debug: bool = False,
|
|
210
216
|
checkopts: bool = False,
|
|
217
|
+
help_: bool = False,
|
|
211
218
|
runner: Runner | None = None,
|
|
212
219
|
) -> DmriForrestOutputs:
|
|
213
220
|
"""
|
|
@@ -228,6 +235,7 @@ def dmri_forrest(
|
|
|
228
235
|
directory.
|
|
229
236
|
debug: Turn on debugging mode.
|
|
230
237
|
checkopts: Only check options and exit.
|
|
238
|
+
help_: Display help information.
|
|
231
239
|
runner: Command runner.
|
|
232
240
|
Returns:
|
|
233
241
|
NamedTuple of outputs (described in `DmriForrestOutputs`).
|
|
@@ -243,6 +251,7 @@ def dmri_forrest(
|
|
|
243
251
|
diff_file=diff_file,
|
|
244
252
|
debug=debug,
|
|
245
253
|
checkopts=checkopts,
|
|
254
|
+
help_=help_,
|
|
246
255
|
)
|
|
247
256
|
return dmri_forrest_execute(params, execution)
|
|
248
257
|
|