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
|
MRIS_DIFF_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="8cd3b28eed03b89b73b4ad8e6f6e7309b348546c.boutiques",
|
|
10
10
|
name="mris_diff",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -22,6 +22,28 @@ MrisDiffParameters = typing.TypedDict('MrisDiffParameters', {
|
|
|
22
22
|
"subj_dir1": typing.NotRequired[str | None],
|
|
23
23
|
"subj_dir2": typing.NotRequired[str | None],
|
|
24
24
|
"hemisphere": str,
|
|
25
|
+
"surf": typing.NotRequired[str | None],
|
|
26
|
+
"curv": typing.NotRequired[str | None],
|
|
27
|
+
"aparc": typing.NotRequired[str | None],
|
|
28
|
+
"aparc2": typing.NotRequired[str | None],
|
|
29
|
+
"simple": bool,
|
|
30
|
+
"simple_patch": bool,
|
|
31
|
+
"thresh": typing.NotRequired[float | None],
|
|
32
|
+
"maxerrs": typing.NotRequired[float | None],
|
|
33
|
+
"renumbered": bool,
|
|
34
|
+
"worst_bucket": typing.NotRequired[str | None],
|
|
35
|
+
"grid": typing.NotRequired[str | None],
|
|
36
|
+
"no_check_xyz": bool,
|
|
37
|
+
"no_check_nxyz": bool,
|
|
38
|
+
"xyz_rms": typing.NotRequired[str | None],
|
|
39
|
+
"angle_rms": typing.NotRequired[str | None],
|
|
40
|
+
"seed": typing.NotRequired[float | None],
|
|
41
|
+
"min_dist": typing.NotRequired[str | None],
|
|
42
|
+
"debug": bool,
|
|
43
|
+
"gdiag_no": typing.NotRequired[float | None],
|
|
44
|
+
"check_opts": bool,
|
|
45
|
+
"help": bool,
|
|
46
|
+
"version": bool,
|
|
25
47
|
})
|
|
26
48
|
|
|
27
49
|
|
|
@@ -72,6 +94,28 @@ def mris_diff_params(
|
|
|
72
94
|
hemisphere: str,
|
|
73
95
|
subj_dir1: str | None = None,
|
|
74
96
|
subj_dir2: str | None = None,
|
|
97
|
+
surf: str | None = None,
|
|
98
|
+
curv: str | None = None,
|
|
99
|
+
aparc: str | None = None,
|
|
100
|
+
aparc2: str | None = None,
|
|
101
|
+
simple: bool = False,
|
|
102
|
+
simple_patch: bool = False,
|
|
103
|
+
thresh: float | None = None,
|
|
104
|
+
maxerrs: float | None = None,
|
|
105
|
+
renumbered: bool = False,
|
|
106
|
+
worst_bucket: str | None = None,
|
|
107
|
+
grid: str | None = None,
|
|
108
|
+
no_check_xyz: bool = False,
|
|
109
|
+
no_check_nxyz: bool = False,
|
|
110
|
+
xyz_rms: str | None = None,
|
|
111
|
+
angle_rms: str | None = None,
|
|
112
|
+
seed: float | None = None,
|
|
113
|
+
min_dist: str | None = None,
|
|
114
|
+
debug: bool = False,
|
|
115
|
+
gdiag_no: float | None = None,
|
|
116
|
+
check_opts: bool = False,
|
|
117
|
+
help_: bool = False,
|
|
118
|
+
version: bool = False,
|
|
75
119
|
) -> MrisDiffParameters:
|
|
76
120
|
"""
|
|
77
121
|
Build parameters.
|
|
@@ -84,6 +128,30 @@ def mris_diff_params(
|
|
|
84
128
|
hemisphere: Hemisphere (rh or lh).
|
|
85
129
|
subj_dir1: Directory for Subject 1 (default is SUBJECTS_DIR).
|
|
86
130
|
subj_dir2: Directory for Subject 2 (default is SUBJECTS_DIR).
|
|
131
|
+
surf: Compare surface.
|
|
132
|
+
curv: Compare curvature.
|
|
133
|
+
aparc: Compare aparc annotation.
|
|
134
|
+
aparc2: Optional different name to compare to aparc.
|
|
135
|
+
simple: Simple comparison of two surfaces to just report differences.
|
|
136
|
+
simple_patch: Simple comparison of two patches.
|
|
137
|
+
thresh: Threshold (default=0) [Note: Not currently implemented!].
|
|
138
|
+
maxerrs: Stop looping after N errors (default=10).
|
|
139
|
+
renumbered: Vertices or faces may have been renumbered and a few\
|
|
140
|
+
deleted.
|
|
141
|
+
worst_bucket: Compute the worst histogram bucket each vertex is in.
|
|
142
|
+
grid: Label the vertices of edges that span a grid based on the\
|
|
143
|
+
provided spacing float.
|
|
144
|
+
no_check_xyz: Do not check vertex xyz.
|
|
145
|
+
no_check_nxyz: Do not check vertex normals.
|
|
146
|
+
xyz_rms: Compute and save RMS diff between xyz.
|
|
147
|
+
angle_rms: Compute angle on sphere between xyz.
|
|
148
|
+
seed: Set random seed for degenerate normals.
|
|
149
|
+
min_dist: Compute vertex-by-vertex RMS distance between surfaces.
|
|
150
|
+
debug: Enable debugging output.
|
|
151
|
+
gdiag_no: Specify Gdiag_no.
|
|
152
|
+
check_opts: Only check options and exit.
|
|
153
|
+
help_: Display help information.
|
|
154
|
+
version: Display version information.
|
|
87
155
|
Returns:
|
|
88
156
|
Parameter dictionary
|
|
89
157
|
"""
|
|
@@ -94,11 +162,46 @@ def mris_diff_params(
|
|
|
94
162
|
"subject1": subject1,
|
|
95
163
|
"subject2": subject2,
|
|
96
164
|
"hemisphere": hemisphere,
|
|
165
|
+
"simple": simple,
|
|
166
|
+
"simple_patch": simple_patch,
|
|
167
|
+
"renumbered": renumbered,
|
|
168
|
+
"no_check_xyz": no_check_xyz,
|
|
169
|
+
"no_check_nxyz": no_check_nxyz,
|
|
170
|
+
"debug": debug,
|
|
171
|
+
"check_opts": check_opts,
|
|
172
|
+
"help": help_,
|
|
173
|
+
"version": version,
|
|
97
174
|
}
|
|
98
175
|
if subj_dir1 is not None:
|
|
99
176
|
params["subj_dir1"] = subj_dir1
|
|
100
177
|
if subj_dir2 is not None:
|
|
101
178
|
params["subj_dir2"] = subj_dir2
|
|
179
|
+
if surf is not None:
|
|
180
|
+
params["surf"] = surf
|
|
181
|
+
if curv is not None:
|
|
182
|
+
params["curv"] = curv
|
|
183
|
+
if aparc is not None:
|
|
184
|
+
params["aparc"] = aparc
|
|
185
|
+
if aparc2 is not None:
|
|
186
|
+
params["aparc2"] = aparc2
|
|
187
|
+
if thresh is not None:
|
|
188
|
+
params["thresh"] = thresh
|
|
189
|
+
if maxerrs is not None:
|
|
190
|
+
params["maxerrs"] = maxerrs
|
|
191
|
+
if worst_bucket is not None:
|
|
192
|
+
params["worst_bucket"] = worst_bucket
|
|
193
|
+
if grid is not None:
|
|
194
|
+
params["grid"] = grid
|
|
195
|
+
if xyz_rms is not None:
|
|
196
|
+
params["xyz_rms"] = xyz_rms
|
|
197
|
+
if angle_rms is not None:
|
|
198
|
+
params["angle_rms"] = angle_rms
|
|
199
|
+
if seed is not None:
|
|
200
|
+
params["seed"] = seed
|
|
201
|
+
if min_dist is not None:
|
|
202
|
+
params["min_dist"] = min_dist
|
|
203
|
+
if gdiag_no is not None:
|
|
204
|
+
params["gdiag_no"] = gdiag_no
|
|
102
205
|
return params
|
|
103
206
|
|
|
104
207
|
|
|
@@ -141,6 +244,89 @@ def mris_diff_cargs(
|
|
|
141
244
|
"--hemi",
|
|
142
245
|
params.get("hemisphere")
|
|
143
246
|
])
|
|
247
|
+
if params.get("surf") is not None:
|
|
248
|
+
cargs.extend([
|
|
249
|
+
"--surf",
|
|
250
|
+
params.get("surf")
|
|
251
|
+
])
|
|
252
|
+
if params.get("curv") is not None:
|
|
253
|
+
cargs.extend([
|
|
254
|
+
"--curv",
|
|
255
|
+
params.get("curv")
|
|
256
|
+
])
|
|
257
|
+
if params.get("aparc") is not None:
|
|
258
|
+
cargs.extend([
|
|
259
|
+
"--aparc",
|
|
260
|
+
params.get("aparc")
|
|
261
|
+
])
|
|
262
|
+
if params.get("aparc2") is not None:
|
|
263
|
+
cargs.extend([
|
|
264
|
+
"--aparc2",
|
|
265
|
+
params.get("aparc2")
|
|
266
|
+
])
|
|
267
|
+
if params.get("simple"):
|
|
268
|
+
cargs.append("--simple")
|
|
269
|
+
if params.get("simple_patch"):
|
|
270
|
+
cargs.append("--simple-patch")
|
|
271
|
+
if params.get("thresh") is not None:
|
|
272
|
+
cargs.extend([
|
|
273
|
+
"--thresh",
|
|
274
|
+
str(params.get("thresh"))
|
|
275
|
+
])
|
|
276
|
+
if params.get("maxerrs") is not None:
|
|
277
|
+
cargs.extend([
|
|
278
|
+
"--maxerrs",
|
|
279
|
+
str(params.get("maxerrs"))
|
|
280
|
+
])
|
|
281
|
+
if params.get("renumbered"):
|
|
282
|
+
cargs.append("--renumbered")
|
|
283
|
+
if params.get("worst_bucket") is not None:
|
|
284
|
+
cargs.extend([
|
|
285
|
+
"--worst-bucket",
|
|
286
|
+
params.get("worst_bucket")
|
|
287
|
+
])
|
|
288
|
+
if params.get("grid") is not None:
|
|
289
|
+
cargs.extend([
|
|
290
|
+
"--grid",
|
|
291
|
+
params.get("grid")
|
|
292
|
+
])
|
|
293
|
+
if params.get("no_check_xyz"):
|
|
294
|
+
cargs.append("--no-check-xyz")
|
|
295
|
+
if params.get("no_check_nxyz"):
|
|
296
|
+
cargs.append("--no-check-nxyz")
|
|
297
|
+
if params.get("xyz_rms") is not None:
|
|
298
|
+
cargs.extend([
|
|
299
|
+
"--xyz-rms",
|
|
300
|
+
params.get("xyz_rms")
|
|
301
|
+
])
|
|
302
|
+
if params.get("angle_rms") is not None:
|
|
303
|
+
cargs.extend([
|
|
304
|
+
"--angle-rms",
|
|
305
|
+
params.get("angle_rms")
|
|
306
|
+
])
|
|
307
|
+
if params.get("seed") is not None:
|
|
308
|
+
cargs.extend([
|
|
309
|
+
"--seed",
|
|
310
|
+
str(params.get("seed"))
|
|
311
|
+
])
|
|
312
|
+
if params.get("min_dist") is not None:
|
|
313
|
+
cargs.extend([
|
|
314
|
+
"--min-dist",
|
|
315
|
+
params.get("min_dist")
|
|
316
|
+
])
|
|
317
|
+
if params.get("debug"):
|
|
318
|
+
cargs.append("--debug")
|
|
319
|
+
if params.get("gdiag_no") is not None:
|
|
320
|
+
cargs.extend([
|
|
321
|
+
"--gdiag_no",
|
|
322
|
+
str(params.get("gdiag_no"))
|
|
323
|
+
])
|
|
324
|
+
if params.get("check_opts"):
|
|
325
|
+
cargs.append("--checkopts")
|
|
326
|
+
if params.get("help"):
|
|
327
|
+
cargs.append("--help")
|
|
328
|
+
if params.get("version"):
|
|
329
|
+
cargs.append("--version")
|
|
144
330
|
return cargs
|
|
145
331
|
|
|
146
332
|
|
|
@@ -195,6 +381,28 @@ def mris_diff(
|
|
|
195
381
|
hemisphere: str,
|
|
196
382
|
subj_dir1: str | None = None,
|
|
197
383
|
subj_dir2: str | None = None,
|
|
384
|
+
surf: str | None = None,
|
|
385
|
+
curv: str | None = None,
|
|
386
|
+
aparc: str | None = None,
|
|
387
|
+
aparc2: str | None = None,
|
|
388
|
+
simple: bool = False,
|
|
389
|
+
simple_patch: bool = False,
|
|
390
|
+
thresh: float | None = None,
|
|
391
|
+
maxerrs: float | None = None,
|
|
392
|
+
renumbered: bool = False,
|
|
393
|
+
worst_bucket: str | None = None,
|
|
394
|
+
grid: str | None = None,
|
|
395
|
+
no_check_xyz: bool = False,
|
|
396
|
+
no_check_nxyz: bool = False,
|
|
397
|
+
xyz_rms: str | None = None,
|
|
398
|
+
angle_rms: str | None = None,
|
|
399
|
+
seed: float | None = None,
|
|
400
|
+
min_dist: str | None = None,
|
|
401
|
+
debug: bool = False,
|
|
402
|
+
gdiag_no: float | None = None,
|
|
403
|
+
check_opts: bool = False,
|
|
404
|
+
help_: bool = False,
|
|
405
|
+
version: bool = False,
|
|
198
406
|
runner: Runner | None = None,
|
|
199
407
|
) -> MrisDiffOutputs:
|
|
200
408
|
"""
|
|
@@ -212,6 +420,30 @@ def mris_diff(
|
|
|
212
420
|
hemisphere: Hemisphere (rh or lh).
|
|
213
421
|
subj_dir1: Directory for Subject 1 (default is SUBJECTS_DIR).
|
|
214
422
|
subj_dir2: Directory for Subject 2 (default is SUBJECTS_DIR).
|
|
423
|
+
surf: Compare surface.
|
|
424
|
+
curv: Compare curvature.
|
|
425
|
+
aparc: Compare aparc annotation.
|
|
426
|
+
aparc2: Optional different name to compare to aparc.
|
|
427
|
+
simple: Simple comparison of two surfaces to just report differences.
|
|
428
|
+
simple_patch: Simple comparison of two patches.
|
|
429
|
+
thresh: Threshold (default=0) [Note: Not currently implemented!].
|
|
430
|
+
maxerrs: Stop looping after N errors (default=10).
|
|
431
|
+
renumbered: Vertices or faces may have been renumbered and a few\
|
|
432
|
+
deleted.
|
|
433
|
+
worst_bucket: Compute the worst histogram bucket each vertex is in.
|
|
434
|
+
grid: Label the vertices of edges that span a grid based on the\
|
|
435
|
+
provided spacing float.
|
|
436
|
+
no_check_xyz: Do not check vertex xyz.
|
|
437
|
+
no_check_nxyz: Do not check vertex normals.
|
|
438
|
+
xyz_rms: Compute and save RMS diff between xyz.
|
|
439
|
+
angle_rms: Compute angle on sphere between xyz.
|
|
440
|
+
seed: Set random seed for degenerate normals.
|
|
441
|
+
min_dist: Compute vertex-by-vertex RMS distance between surfaces.
|
|
442
|
+
debug: Enable debugging output.
|
|
443
|
+
gdiag_no: Specify Gdiag_no.
|
|
444
|
+
check_opts: Only check options and exit.
|
|
445
|
+
help_: Display help information.
|
|
446
|
+
version: Display version information.
|
|
215
447
|
runner: Command runner.
|
|
216
448
|
Returns:
|
|
217
449
|
NamedTuple of outputs (described in `MrisDiffOutputs`).
|
|
@@ -226,6 +458,28 @@ def mris_diff(
|
|
|
226
458
|
subj_dir1=subj_dir1,
|
|
227
459
|
subj_dir2=subj_dir2,
|
|
228
460
|
hemisphere=hemisphere,
|
|
461
|
+
surf=surf,
|
|
462
|
+
curv=curv,
|
|
463
|
+
aparc=aparc,
|
|
464
|
+
aparc2=aparc2,
|
|
465
|
+
simple=simple,
|
|
466
|
+
simple_patch=simple_patch,
|
|
467
|
+
thresh=thresh,
|
|
468
|
+
maxerrs=maxerrs,
|
|
469
|
+
renumbered=renumbered,
|
|
470
|
+
worst_bucket=worst_bucket,
|
|
471
|
+
grid=grid,
|
|
472
|
+
no_check_xyz=no_check_xyz,
|
|
473
|
+
no_check_nxyz=no_check_nxyz,
|
|
474
|
+
xyz_rms=xyz_rms,
|
|
475
|
+
angle_rms=angle_rms,
|
|
476
|
+
seed=seed,
|
|
477
|
+
min_dist=min_dist,
|
|
478
|
+
debug=debug,
|
|
479
|
+
gdiag_no=gdiag_no,
|
|
480
|
+
check_opts=check_opts,
|
|
481
|
+
help_=help_,
|
|
482
|
+
version=version,
|
|
229
483
|
)
|
|
230
484
|
return mris_diff_execute(params, execution)
|
|
231
485
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
MRIS_DISTANCE_MAP_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="686ff961ac8e9db74639a1364b1f5b20b600667e.boutiques",
|
|
10
10
|
name="mris_distance_map",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -98,7 +98,6 @@ def mris_distance_map_cargs(
|
|
|
98
98
|
"""
|
|
99
99
|
cargs = []
|
|
100
100
|
cargs.append("mris_distance_map")
|
|
101
|
-
cargs.append("[OPTIONS]")
|
|
102
101
|
cargs.append(execution.input_file(params.get("input_surface_file")))
|
|
103
102
|
cargs.append(params.get("output_scalar_field"))
|
|
104
103
|
return cargs
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
MRIS_ERRORS_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="84c4666dcea46df17569c6e5d435ebf2cb451d60.boutiques",
|
|
10
10
|
name="mris_errors",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -91,7 +91,6 @@ def mris_errors_cargs(
|
|
|
91
91
|
"""
|
|
92
92
|
cargs = []
|
|
93
93
|
cargs.append("mris_errors")
|
|
94
|
-
cargs.append("[OPTIONS]")
|
|
95
94
|
cargs.append(execution.input_file(params.get("input_image_file")))
|
|
96
95
|
return cargs
|
|
97
96
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
MRIS_INFO_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="8c4d52b8480a8839ff1677fa53139a6b9fbea64a.boutiques",
|
|
10
10
|
name="mris_info",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -18,23 +18,23 @@ MrisInfoParameters = typing.TypedDict('MrisInfoParameters', {
|
|
|
18
18
|
"surfacefile": InputPathType,
|
|
19
19
|
"outfile": typing.NotRequired[InputPathType | None],
|
|
20
20
|
"subject_hemi_surfname": typing.NotRequired[str | None],
|
|
21
|
+
"talairach_xfm_flag": bool,
|
|
22
|
+
"rescale_flag": bool,
|
|
21
23
|
"patchfile": typing.NotRequired[InputPathType | None],
|
|
22
24
|
"vertex_number": typing.NotRequired[float | None],
|
|
23
25
|
"extended_vertex_number": typing.NotRequired[float | None],
|
|
24
26
|
"curvfile": typing.NotRequired[InputPathType | None],
|
|
25
27
|
"annotfile": typing.NotRequired[InputPathType | None],
|
|
28
|
+
"area_stats_flag": bool,
|
|
26
29
|
"edge_stats_id": typing.NotRequired[str | None],
|
|
27
30
|
"edge_number": typing.NotRequired[float | None],
|
|
28
31
|
"vtxno": typing.NotRequired[str | None],
|
|
29
32
|
"matrix_format": typing.NotRequired[str | None],
|
|
33
|
+
"quality_stats_flag": bool,
|
|
34
|
+
"intersections_flag": bool,
|
|
30
35
|
"mask_file": typing.NotRequired[InputPathType | None],
|
|
31
36
|
"label_file": typing.NotRequired[InputPathType | None],
|
|
32
37
|
"edge_file": typing.NotRequired[InputPathType | None],
|
|
33
|
-
"talairach_xfm_flag": bool,
|
|
34
|
-
"rescale_flag": bool,
|
|
35
|
-
"area_stats_flag": bool,
|
|
36
|
-
"quality_stats_flag": bool,
|
|
37
|
-
"intersections_flag": bool,
|
|
38
38
|
"nogifti_flag": bool,
|
|
39
39
|
"version_flag": bool,
|
|
40
40
|
"help_flag": bool,
|
|
@@ -89,23 +89,23 @@ def mris_info_params(
|
|
|
89
89
|
surfacefile: InputPathType,
|
|
90
90
|
outfile: InputPathType | None = None,
|
|
91
91
|
subject_hemi_surfname: str | None = None,
|
|
92
|
+
talairach_xfm_flag: bool = False,
|
|
93
|
+
rescale_flag: bool = False,
|
|
92
94
|
patchfile: InputPathType | None = None,
|
|
93
95
|
vertex_number: float | None = None,
|
|
94
96
|
extended_vertex_number: float | None = None,
|
|
95
97
|
curvfile: InputPathType | None = None,
|
|
96
98
|
annotfile: InputPathType | None = None,
|
|
99
|
+
area_stats_flag: bool = False,
|
|
97
100
|
edge_stats_id: str | None = None,
|
|
98
101
|
edge_number: float | None = None,
|
|
99
102
|
vtxno: str | None = None,
|
|
100
103
|
matrix_format: str | None = None,
|
|
104
|
+
quality_stats_flag: bool = False,
|
|
105
|
+
intersections_flag: bool = False,
|
|
101
106
|
mask_file: InputPathType | None = None,
|
|
102
107
|
label_file: InputPathType | None = None,
|
|
103
108
|
edge_file: InputPathType | None = None,
|
|
104
|
-
talairach_xfm_flag: bool = False,
|
|
105
|
-
rescale_flag: bool = False,
|
|
106
|
-
area_stats_flag: bool = False,
|
|
107
|
-
quality_stats_flag: bool = False,
|
|
108
|
-
intersections_flag: bool = False,
|
|
109
109
|
nogifti_flag: bool = False,
|
|
110
110
|
version_flag: bool = False,
|
|
111
111
|
help_flag: bool = False,
|
|
@@ -117,6 +117,8 @@ def mris_info_params(
|
|
|
117
117
|
surfacefile: Surface file to process.
|
|
118
118
|
outfile: Save some data to outfile.
|
|
119
119
|
subject_hemi_surfname: Instead of surfacefile.
|
|
120
|
+
talairach_xfm_flag: Apply talairach xfm before reporting info.
|
|
121
|
+
rescale_flag: Rescale group surface to match average metrics.
|
|
120
122
|
patchfile: Load patch before reporting.
|
|
121
123
|
vertex_number: Print out vertex information for vertex vnum.
|
|
122
124
|
extended_vertex_number: Print out extended vertex information for\
|
|
@@ -124,21 +126,19 @@ def mris_info_params(
|
|
|
124
126
|
curvfile: Check if curvature file vertices match surface vertices.
|
|
125
127
|
annotfile: Check if annotation file vertices match surface vertices;\
|
|
126
128
|
dump colortable.
|
|
129
|
+
area_stats_flag: Compute stats on triangle area (n, mean, std, min,\
|
|
130
|
+
max).
|
|
127
131
|
edge_stats_id: Compute stats on edge metric (n, mean, std, min, max);\
|
|
128
132
|
id=0=length, id=1=dot, id=2=angle, id<0= all.
|
|
129
133
|
edge_number: Print out extended information about edge.
|
|
130
134
|
vtxno: Write Matlab file to plot vertex neighborhood.
|
|
131
135
|
matrix_format: Set format for matrix printing (e.g., %12.8f).
|
|
132
|
-
mask_file: Only compute edge and area stats using vertices in mask.
|
|
133
|
-
label_file: Only compute edge and area stats using vertices in label.
|
|
134
|
-
edge_file: Print edge info for all edges into file.
|
|
135
|
-
talairach_xfm_flag: Apply talairach xfm before reporting info.
|
|
136
|
-
rescale_flag: Rescale group surface to match average metrics.
|
|
137
|
-
area_stats_flag: Compute stats on triangle area (n, mean, std, min,\
|
|
138
|
-
max).
|
|
139
136
|
quality_stats_flag: Print out surface quality stats.
|
|
140
137
|
intersections_flag: Print the number of vertices that belong to a face\
|
|
141
138
|
that intersects another face.
|
|
139
|
+
mask_file: Only compute edge and area stats using vertices in mask.
|
|
140
|
+
label_file: Only compute edge and area stats using vertices in label.
|
|
141
|
+
edge_file: Print edge info for all edges into file.
|
|
142
142
|
nogifti_flag: No dump of GIFTI struct, read .gii as surface instead.
|
|
143
143
|
version_flag: Print version and exits.
|
|
144
144
|
help_flag: No clue what this does.
|
|
@@ -214,6 +214,10 @@ def mris_info_cargs(
|
|
|
214
214
|
"--s",
|
|
215
215
|
params.get("subject_hemi_surfname")
|
|
216
216
|
])
|
|
217
|
+
if params.get("talairach_xfm_flag"):
|
|
218
|
+
cargs.append("--t")
|
|
219
|
+
if params.get("rescale_flag"):
|
|
220
|
+
cargs.append("--r")
|
|
217
221
|
if params.get("patchfile") is not None:
|
|
218
222
|
cargs.extend([
|
|
219
223
|
"--patch",
|
|
@@ -239,6 +243,8 @@ def mris_info_cargs(
|
|
|
239
243
|
"--a",
|
|
240
244
|
execution.input_file(params.get("annotfile"))
|
|
241
245
|
])
|
|
246
|
+
if params.get("area_stats_flag"):
|
|
247
|
+
cargs.append("--area-stats")
|
|
242
248
|
if params.get("edge_stats_id") is not None:
|
|
243
249
|
cargs.extend([
|
|
244
250
|
"--edge-stats",
|
|
@@ -259,6 +265,10 @@ def mris_info_cargs(
|
|
|
259
265
|
"--mtx-fmt",
|
|
260
266
|
params.get("matrix_format")
|
|
261
267
|
])
|
|
268
|
+
if params.get("quality_stats_flag"):
|
|
269
|
+
cargs.append("--quality")
|
|
270
|
+
if params.get("intersections_flag"):
|
|
271
|
+
cargs.append("--intersections")
|
|
262
272
|
if params.get("mask_file") is not None:
|
|
263
273
|
cargs.extend([
|
|
264
274
|
"--mask",
|
|
@@ -274,17 +284,6 @@ def mris_info_cargs(
|
|
|
274
284
|
"--edge-file",
|
|
275
285
|
execution.input_file(params.get("edge_file"))
|
|
276
286
|
])
|
|
277
|
-
if params.get("talairach_xfm_flag"):
|
|
278
|
-
cargs.append("--t")
|
|
279
|
-
if params.get("rescale_flag"):
|
|
280
|
-
cargs.append("--r")
|
|
281
|
-
if params.get("area_stats_flag"):
|
|
282
|
-
cargs.append("--area-stats")
|
|
283
|
-
cargs.append("[EDGE_STATS_FLAG]")
|
|
284
|
-
if params.get("quality_stats_flag"):
|
|
285
|
-
cargs.append("--quality")
|
|
286
|
-
if params.get("intersections_flag"):
|
|
287
|
-
cargs.append("--intersections")
|
|
288
287
|
if params.get("nogifti_flag"):
|
|
289
288
|
cargs.append("--nogifti-disp-image")
|
|
290
289
|
if params.get("version_flag"):
|
|
@@ -343,23 +342,23 @@ def mris_info(
|
|
|
343
342
|
surfacefile: InputPathType,
|
|
344
343
|
outfile: InputPathType | None = None,
|
|
345
344
|
subject_hemi_surfname: str | None = None,
|
|
345
|
+
talairach_xfm_flag: bool = False,
|
|
346
|
+
rescale_flag: bool = False,
|
|
346
347
|
patchfile: InputPathType | None = None,
|
|
347
348
|
vertex_number: float | None = None,
|
|
348
349
|
extended_vertex_number: float | None = None,
|
|
349
350
|
curvfile: InputPathType | None = None,
|
|
350
351
|
annotfile: InputPathType | None = None,
|
|
352
|
+
area_stats_flag: bool = False,
|
|
351
353
|
edge_stats_id: str | None = None,
|
|
352
354
|
edge_number: float | None = None,
|
|
353
355
|
vtxno: str | None = None,
|
|
354
356
|
matrix_format: str | None = None,
|
|
357
|
+
quality_stats_flag: bool = False,
|
|
358
|
+
intersections_flag: bool = False,
|
|
355
359
|
mask_file: InputPathType | None = None,
|
|
356
360
|
label_file: InputPathType | None = None,
|
|
357
361
|
edge_file: InputPathType | None = None,
|
|
358
|
-
talairach_xfm_flag: bool = False,
|
|
359
|
-
rescale_flag: bool = False,
|
|
360
|
-
area_stats_flag: bool = False,
|
|
361
|
-
quality_stats_flag: bool = False,
|
|
362
|
-
intersections_flag: bool = False,
|
|
363
362
|
nogifti_flag: bool = False,
|
|
364
363
|
version_flag: bool = False,
|
|
365
364
|
help_flag: bool = False,
|
|
@@ -376,6 +375,8 @@ def mris_info(
|
|
|
376
375
|
surfacefile: Surface file to process.
|
|
377
376
|
outfile: Save some data to outfile.
|
|
378
377
|
subject_hemi_surfname: Instead of surfacefile.
|
|
378
|
+
talairach_xfm_flag: Apply talairach xfm before reporting info.
|
|
379
|
+
rescale_flag: Rescale group surface to match average metrics.
|
|
379
380
|
patchfile: Load patch before reporting.
|
|
380
381
|
vertex_number: Print out vertex information for vertex vnum.
|
|
381
382
|
extended_vertex_number: Print out extended vertex information for\
|
|
@@ -383,21 +384,19 @@ def mris_info(
|
|
|
383
384
|
curvfile: Check if curvature file vertices match surface vertices.
|
|
384
385
|
annotfile: Check if annotation file vertices match surface vertices;\
|
|
385
386
|
dump colortable.
|
|
387
|
+
area_stats_flag: Compute stats on triangle area (n, mean, std, min,\
|
|
388
|
+
max).
|
|
386
389
|
edge_stats_id: Compute stats on edge metric (n, mean, std, min, max);\
|
|
387
390
|
id=0=length, id=1=dot, id=2=angle, id<0= all.
|
|
388
391
|
edge_number: Print out extended information about edge.
|
|
389
392
|
vtxno: Write Matlab file to plot vertex neighborhood.
|
|
390
393
|
matrix_format: Set format for matrix printing (e.g., %12.8f).
|
|
391
|
-
mask_file: Only compute edge and area stats using vertices in mask.
|
|
392
|
-
label_file: Only compute edge and area stats using vertices in label.
|
|
393
|
-
edge_file: Print edge info for all edges into file.
|
|
394
|
-
talairach_xfm_flag: Apply talairach xfm before reporting info.
|
|
395
|
-
rescale_flag: Rescale group surface to match average metrics.
|
|
396
|
-
area_stats_flag: Compute stats on triangle area (n, mean, std, min,\
|
|
397
|
-
max).
|
|
398
394
|
quality_stats_flag: Print out surface quality stats.
|
|
399
395
|
intersections_flag: Print the number of vertices that belong to a face\
|
|
400
396
|
that intersects another face.
|
|
397
|
+
mask_file: Only compute edge and area stats using vertices in mask.
|
|
398
|
+
label_file: Only compute edge and area stats using vertices in label.
|
|
399
|
+
edge_file: Print edge info for all edges into file.
|
|
401
400
|
nogifti_flag: No dump of GIFTI struct, read .gii as surface instead.
|
|
402
401
|
version_flag: Print version and exits.
|
|
403
402
|
help_flag: No clue what this does.
|
|
@@ -411,23 +410,23 @@ def mris_info(
|
|
|
411
410
|
surfacefile=surfacefile,
|
|
412
411
|
outfile=outfile,
|
|
413
412
|
subject_hemi_surfname=subject_hemi_surfname,
|
|
413
|
+
talairach_xfm_flag=talairach_xfm_flag,
|
|
414
|
+
rescale_flag=rescale_flag,
|
|
414
415
|
patchfile=patchfile,
|
|
415
416
|
vertex_number=vertex_number,
|
|
416
417
|
extended_vertex_number=extended_vertex_number,
|
|
417
418
|
curvfile=curvfile,
|
|
418
419
|
annotfile=annotfile,
|
|
420
|
+
area_stats_flag=area_stats_flag,
|
|
419
421
|
edge_stats_id=edge_stats_id,
|
|
420
422
|
edge_number=edge_number,
|
|
421
423
|
vtxno=vtxno,
|
|
422
424
|
matrix_format=matrix_format,
|
|
425
|
+
quality_stats_flag=quality_stats_flag,
|
|
426
|
+
intersections_flag=intersections_flag,
|
|
423
427
|
mask_file=mask_file,
|
|
424
428
|
label_file=label_file,
|
|
425
429
|
edge_file=edge_file,
|
|
426
|
-
talairach_xfm_flag=talairach_xfm_flag,
|
|
427
|
-
rescale_flag=rescale_flag,
|
|
428
|
-
area_stats_flag=area_stats_flag,
|
|
429
|
-
quality_stats_flag=quality_stats_flag,
|
|
430
|
-
intersections_flag=intersections_flag,
|
|
431
430
|
nogifti_flag=nogifti_flag,
|
|
432
431
|
version_flag=version_flag,
|
|
433
432
|
help_flag=help_flag,
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
MRIS_LABEL_CALC_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="0dc4043ecf2e55b53be6b5910c84a71bf8a1c707.boutiques",
|
|
10
10
|
name="mris_label_calc",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -19,6 +19,7 @@ MrisLabelCalcParameters = typing.TypedDict('MrisLabelCalcParameters', {
|
|
|
19
19
|
"input1": InputPathType,
|
|
20
20
|
"input2": InputPathType,
|
|
21
21
|
"output": str,
|
|
22
|
+
"iterations": typing.NotRequired[int | None],
|
|
22
23
|
})
|
|
23
24
|
|
|
24
25
|
|
|
@@ -69,6 +70,7 @@ def mris_label_calc_params(
|
|
|
69
70
|
input1: InputPathType,
|
|
70
71
|
input2: InputPathType,
|
|
71
72
|
output: str,
|
|
73
|
+
iterations: int | None = None,
|
|
72
74
|
) -> MrisLabelCalcParameters:
|
|
73
75
|
"""
|
|
74
76
|
Build parameters.
|
|
@@ -79,6 +81,7 @@ def mris_label_calc_params(
|
|
|
79
81
|
input2: Second input label file (used for 'invert', 'erode', 'dilate'\
|
|
80
82
|
operations).
|
|
81
83
|
output: Output label file.
|
|
84
|
+
iterations: Number of times to erode or dilate label.
|
|
82
85
|
Returns:
|
|
83
86
|
Parameter dictionary
|
|
84
87
|
"""
|
|
@@ -89,6 +92,8 @@ def mris_label_calc_params(
|
|
|
89
92
|
"input2": input2,
|
|
90
93
|
"output": output,
|
|
91
94
|
}
|
|
95
|
+
if iterations is not None:
|
|
96
|
+
params["iterations"] = iterations
|
|
92
97
|
return params
|
|
93
98
|
|
|
94
99
|
|
|
@@ -111,6 +116,11 @@ def mris_label_calc_cargs(
|
|
|
111
116
|
cargs.append(execution.input_file(params.get("input1")))
|
|
112
117
|
cargs.append(execution.input_file(params.get("input2")))
|
|
113
118
|
cargs.append(params.get("output"))
|
|
119
|
+
if params.get("iterations") is not None:
|
|
120
|
+
cargs.extend([
|
|
121
|
+
"<n>",
|
|
122
|
+
str(params.get("iterations"))
|
|
123
|
+
])
|
|
114
124
|
return cargs
|
|
115
125
|
|
|
116
126
|
|
|
@@ -163,6 +173,7 @@ def mris_label_calc(
|
|
|
163
173
|
input1: InputPathType,
|
|
164
174
|
input2: InputPathType,
|
|
165
175
|
output: str,
|
|
176
|
+
iterations: int | None = None,
|
|
166
177
|
runner: Runner | None = None,
|
|
167
178
|
) -> MrisLabelCalcOutputs:
|
|
168
179
|
"""
|
|
@@ -178,6 +189,7 @@ def mris_label_calc(
|
|
|
178
189
|
input2: Second input label file (used for 'invert', 'erode', 'dilate'\
|
|
179
190
|
operations).
|
|
180
191
|
output: Output label file.
|
|
192
|
+
iterations: Number of times to erode or dilate label.
|
|
181
193
|
runner: Command runner.
|
|
182
194
|
Returns:
|
|
183
195
|
NamedTuple of outputs (described in `MrisLabelCalcOutputs`).
|
|
@@ -189,6 +201,7 @@ def mris_label_calc(
|
|
|
189
201
|
input1=input1,
|
|
190
202
|
input2=input2,
|
|
191
203
|
output=output,
|
|
204
|
+
iterations=iterations,
|
|
192
205
|
)
|
|
193
206
|
return mris_label_calc_execute(params, execution)
|
|
194
207
|
|
|
@@ -6,7 +6,7 @@ import pathlib
|
|
|
6
6
|
from styxdefs import *
|
|
7
7
|
|
|
8
8
|
MRIS_MAP_CUTS_METADATA = Metadata(
|
|
9
|
-
id="
|
|
9
|
+
id="c694d790811be0a427c0f191c8203d1e2914b980.boutiques",
|
|
10
10
|
name="mris_map_cuts",
|
|
11
11
|
package="freesurfer",
|
|
12
12
|
container_image_tag="freesurfer/freesurfer:7.4.1",
|
|
@@ -95,7 +95,6 @@ def mris_map_cuts_cargs(
|
|
|
95
95
|
"""
|
|
96
96
|
cargs = []
|
|
97
97
|
cargs.append("mris_map_cuts")
|
|
98
|
-
cargs.append("[OPTIONS]")
|
|
99
98
|
cargs.append(execution.input_file(params.get("input_patch")))
|
|
100
99
|
cargs.append(params.get("output_patch"))
|
|
101
100
|
return cargs
|