niwrap-freesurfer 0.5.1__py3-none-any.whl → 0.5.3__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.

Files changed (153) hide show
  1. niwrap_freesurfer/freesurfer/__init__.py +0 -11
  2. niwrap_freesurfer/freesurfer/annot2std.py +32 -1
  3. niwrap_freesurfer/freesurfer/aparc2feat.py +19 -1
  4. niwrap_freesurfer/freesurfer/bbregister.py +143 -4
  5. niwrap_freesurfer/freesurfer/bmedits2surf.py +2 -2
  6. niwrap_freesurfer/freesurfer/compute_interrater_variability_csh.py +20 -2
  7. niwrap_freesurfer/freesurfer/compute_label_volumes_csh.py +17 -2
  8. niwrap_freesurfer/freesurfer/conf2hires.py +59 -1
  9. niwrap_freesurfer/freesurfer/connected_components.py +34 -2
  10. niwrap_freesurfer/freesurfer/dcmdir_info_mgh.py +3 -2
  11. niwrap_freesurfer/freesurfer/dcmdjpeg_fs.py +2 -2
  12. niwrap_freesurfer/freesurfer/dcmdrle_fs.py +2 -2
  13. niwrap_freesurfer/freesurfer/dicom_rename.py +21 -2
  14. niwrap_freesurfer/freesurfer/dmri_bset.py +14 -2
  15. niwrap_freesurfer/freesurfer/dmri_forrest.py +10 -1
  16. niwrap_freesurfer/freesurfer/dmri_mergepaths.py +2 -2
  17. niwrap_freesurfer/freesurfer/dmri_pathstats.py +2 -2
  18. niwrap_freesurfer/freesurfer/dmri_stats_ac.py +1 -3
  19. niwrap_freesurfer/freesurfer/exvivo_hemi_proc.py +10 -1
  20. niwrap_freesurfer/freesurfer/fiducials_calibration.py +15 -1
  21. niwrap_freesurfer/freesurfer/fiducials_correction.py +10 -3
  22. niwrap_freesurfer/freesurfer/fix_subject_corrected_rh.py +3 -2
  23. niwrap_freesurfer/freesurfer/fix_subject_rh.py +3 -2
  24. niwrap_freesurfer/freesurfer/fs_check_version.py +19 -1
  25. niwrap_freesurfer/freesurfer/fs_spmreg_glnxa64.py +19 -4
  26. niwrap_freesurfer/freesurfer/fs_temp_file.py +36 -1
  27. niwrap_freesurfer/freesurfer/fs_update.py +19 -1
  28. niwrap_freesurfer/freesurfer/fsl_sub_mgh.py +1 -2
  29. niwrap_freesurfer/freesurfer/fsr_import.py +55 -5
  30. niwrap_freesurfer/freesurfer/fvcompare.py +10 -1
  31. niwrap_freesurfer/freesurfer/gca_apply.py +3 -2
  32. niwrap_freesurfer/freesurfer/gdcmconv_fs.py +2 -2
  33. niwrap_freesurfer/freesurfer/get_label_thickness.py +1 -2
  34. niwrap_freesurfer/freesurfer/groupstats.py +97 -1
  35. niwrap_freesurfer/freesurfer/groupstatsdiff.py +4 -4
  36. niwrap_freesurfer/freesurfer/hiam_make_surfaces.py +1 -2
  37. niwrap_freesurfer/freesurfer/histo_synthesize.py +1 -2
  38. niwrap_freesurfer/freesurfer/inflate_subject_lh.py +3 -2
  39. niwrap_freesurfer/freesurfer/inflate_subject_new_lh.py +3 -3
  40. niwrap_freesurfer/freesurfer/inflate_subject_new_rh.py +3 -2
  41. niwrap_freesurfer/freesurfer/inflate_subject_rh.py +3 -2
  42. niwrap_freesurfer/freesurfer/inflate_subject_sc.py +28 -3
  43. niwrap_freesurfer/freesurfer/irepifitvol_glnx64.py +2 -2
  44. niwrap_freesurfer/freesurfer/is_surface.py +3 -2
  45. niwrap_freesurfer/freesurfer/isolate_labels_csh.py +17 -2
  46. niwrap_freesurfer/freesurfer/label_subject_flash.py +2 -2
  47. niwrap_freesurfer/freesurfer/label_subject_mixed.py +2 -2
  48. niwrap_freesurfer/freesurfer/listsubj.py +82 -2
  49. niwrap_freesurfer/freesurfer/long_stats_combine.py +1 -2
  50. niwrap_freesurfer/freesurfer/long_stats_tps.py +7 -7
  51. niwrap_freesurfer/freesurfer/long_submit_jobs.py +1 -5
  52. niwrap_freesurfer/freesurfer/longmc.py +10 -1
  53. niwrap_freesurfer/freesurfer/lta_convert.py +157 -1
  54. niwrap_freesurfer/freesurfer/make_average_volume.py +19 -1
  55. niwrap_freesurfer/freesurfer/make_folding_atlas.py +10 -1
  56. niwrap_freesurfer/freesurfer/map_all_labels_lh.py +11 -3
  57. niwrap_freesurfer/freesurfer/map_central_sulcus.py +2 -2
  58. niwrap_freesurfer/freesurfer/merge_stats_tables.py +58 -35
  59. niwrap_freesurfer/freesurfer/mideface.py +121 -14
  60. niwrap_freesurfer/freesurfer/mni152reg.py +2 -2
  61. niwrap_freesurfer/freesurfer/morph_only_subject_lh.py +3 -2
  62. niwrap_freesurfer/freesurfer/morph_only_subject_rh.py +3 -2
  63. niwrap_freesurfer/freesurfer/morph_rgb_lh.py +3 -2
  64. niwrap_freesurfer/freesurfer/morph_rgb_rh.py +3 -2
  65. niwrap_freesurfer/freesurfer/morph_subject_lh.py +3 -2
  66. niwrap_freesurfer/freesurfer/morph_subject_rh.py +3 -2
  67. niwrap_freesurfer/freesurfer/morph_tables_lh.py +3 -2
  68. niwrap_freesurfer/freesurfer/morph_tables_rh.py +3 -2
  69. niwrap_freesurfer/freesurfer/mri_aparc2aseg.py +10 -1
  70. niwrap_freesurfer/freesurfer/mri_apply_bias.py +1 -2
  71. niwrap_freesurfer/freesurfer/mri_average.py +10 -1
  72. niwrap_freesurfer/freesurfer/mri_brain_volume.py +23 -2
  73. niwrap_freesurfer/freesurfer/mri_ca_label.py +603 -2
  74. niwrap_freesurfer/freesurfer/mri_ca_train.py +10 -1
  75. niwrap_freesurfer/freesurfer/mri_convert.py +188 -2
  76. niwrap_freesurfer/freesurfer/mri_fuse_segmentations.py +10 -3
  77. niwrap_freesurfer/freesurfer/mri_gcab_train.py +15 -1
  78. niwrap_freesurfer/freesurfer/mri_gdfglm.py +13 -1
  79. niwrap_freesurfer/freesurfer/mri_gtmpvc.py +19 -1
  80. niwrap_freesurfer/freesurfer/mri_hausdorff_dist.py +1 -2
  81. niwrap_freesurfer/freesurfer/mri_head.py +19 -1
  82. niwrap_freesurfer/freesurfer/mri_jacobian.py +10 -1
  83. niwrap_freesurfer/freesurfer/mri_nl_align.py +27 -1
  84. niwrap_freesurfer/freesurfer/mri_relabel_nonwm_hypos.py +3 -3
  85. niwrap_freesurfer/freesurfer/mri_reorient_lr_csh.py +2 -2
  86. niwrap_freesurfer/freesurfer/mri_seg_diff.py +14 -1
  87. niwrap_freesurfer/freesurfer/mri_twoclass.py +1 -2
  88. niwrap_freesurfer/freesurfer/mri_validate_skull_stripped.py +2 -2
  89. niwrap_freesurfer/freesurfer/mri_warp_convert.py +131 -1
  90. niwrap_freesurfer/freesurfer/mri_z2p.py +37 -1
  91. niwrap_freesurfer/freesurfer/mris_add_template.py +11 -1
  92. niwrap_freesurfer/freesurfer/mris_apply_reg.py +1 -2
  93. niwrap_freesurfer/freesurfer/mris_curvature_stats.py +419 -7
  94. niwrap_freesurfer/freesurfer/mris_diff.py +255 -1
  95. niwrap_freesurfer/freesurfer/mris_distance_map.py +1 -2
  96. niwrap_freesurfer/freesurfer/mris_errors.py +1 -2
  97. niwrap_freesurfer/freesurfer/mris_info.py +45 -46
  98. niwrap_freesurfer/freesurfer/mris_label_calc.py +14 -1
  99. niwrap_freesurfer/freesurfer/mris_map_cuts.py +1 -2
  100. niwrap_freesurfer/freesurfer/mris_nudge.py +1 -2
  101. niwrap_freesurfer/freesurfer/mris_place_surface.py +1 -2
  102. niwrap_freesurfer/freesurfer/mris_preproc.py +16 -2
  103. niwrap_freesurfer/freesurfer/mris_spherical_average.py +93 -8
  104. niwrap_freesurfer/freesurfer/mris_thickness_diff.py +1 -5
  105. niwrap_freesurfer/freesurfer/mris_volmask_vtk.py +2 -2
  106. niwrap_freesurfer/freesurfer/pctsurfcon.py +2 -2
  107. niwrap_freesurfer/freesurfer/plot_structure_stats_tcl.py +2 -2
  108. niwrap_freesurfer/freesurfer/post_recon_all.py +39 -2
  109. niwrap_freesurfer/freesurfer/predict_v1_sh.py +11 -2
  110. niwrap_freesurfer/freesurfer/print_unique_labels_csh.py +34 -3
  111. niwrap_freesurfer/freesurfer/rbbr.py +37 -1
  112. niwrap_freesurfer/freesurfer/rca_base_init.py +3 -2
  113. niwrap_freesurfer/freesurfer/rca_config.py +3 -2
  114. niwrap_freesurfer/freesurfer/rca_config2csh.py +3 -2
  115. niwrap_freesurfer/freesurfer/recon_all.py +75 -1
  116. niwrap_freesurfer/freesurfer/register_elderly_subject.py +2 -2
  117. niwrap_freesurfer/freesurfer/reinflate_subject_lh.py +3 -2
  118. niwrap_freesurfer/freesurfer/reinflate_subject_rh.py +3 -2
  119. niwrap_freesurfer/freesurfer/renormalize_subject_keep_editting.py +13 -1
  120. niwrap_freesurfer/freesurfer/rtview.py +34 -1
  121. niwrap_freesurfer/freesurfer/run_qdec_glm.py +3 -2
  122. niwrap_freesurfer/freesurfer/samseg.py +14 -1
  123. niwrap_freesurfer/freesurfer/samseg_long.py +17 -8
  124. niwrap_freesurfer/freesurfer/samsegmesh2surf.py +5 -7
  125. niwrap_freesurfer/freesurfer/seg2filled.py +4 -4
  126. niwrap_freesurfer/freesurfer/segment_subject.py +2 -2
  127. niwrap_freesurfer/freesurfer/segment_subject_old_skull_strip.py +4 -4
  128. niwrap_freesurfer/freesurfer/segment_subject_sc.py +4 -4
  129. niwrap_freesurfer/freesurfer/segment_subject_t2_auto_estimate_alveus_ml.py +11 -1
  130. niwrap_freesurfer/freesurfer/segpons.py +2 -2
  131. niwrap_freesurfer/freesurfer/sphere_subject_lh.py +3 -2
  132. niwrap_freesurfer/freesurfer/sphere_subject_rh.py +3 -2
  133. niwrap_freesurfer/freesurfer/talairach.py +4 -4
  134. niwrap_freesurfer/freesurfer/trac_all.py +283 -1
  135. niwrap_freesurfer/freesurfer/train_gcs_atlas.py +19 -1
  136. niwrap_freesurfer/freesurfer/update_needed.py +13 -2
  137. niwrap_freesurfer/freesurfer/vertexvol.py +19 -1
  138. niwrap_freesurfer/freesurfer/vol2subfield.py +72 -1
  139. niwrap_freesurfer/freesurfer/wmsaseg.py +2 -2
  140. {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.3.dist-info}/METADATA +1 -1
  141. {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.3.dist-info}/RECORD +142 -153
  142. niwrap_freesurfer/freesurfer/bet_fsl.py +0 -441
  143. niwrap_freesurfer/freesurfer/epidewarp_fsl.py +0 -439
  144. niwrap_freesurfer/freesurfer/flirt_fsl.py +0 -604
  145. niwrap_freesurfer/freesurfer/fscalc_fsl.py +0 -196
  146. niwrap_freesurfer/freesurfer/fsfirst_fsl.py +0 -166
  147. niwrap_freesurfer/freesurfer/fslmaths_fsl.py +0 -196
  148. niwrap_freesurfer/freesurfer/fslorient_fsl.py +0 -207
  149. niwrap_freesurfer/freesurfer/fslswapdim_fsl.py +0 -216
  150. niwrap_freesurfer/freesurfer/fspython.py +0 -175
  151. niwrap_freesurfer/freesurfer/mri_motion_correct_fsl.py +0 -185
  152. niwrap_freesurfer/freesurfer/slicetimer_fsl.py +0 -291
  153. {niwrap_freesurfer-0.5.1.dist-info → niwrap_freesurfer-0.5.3.dist-info}/WHEEL +0 -0
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  FS_UPDATE_METADATA = Metadata(
9
- id="4603b7fb31c1aa61646a36fb25725ca6a61d057f.boutiques",
9
+ id="f55ece15d6ea47dd3edb6a480f7b814dfb337904.boutiques",
10
10
  name="fs_update",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -16,6 +16,8 @@ FS_UPDATE_METADATA = Metadata(
16
16
  FsUpdateParameters = typing.TypedDict('FsUpdateParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["fs_update"],
18
18
  "update_path": typing.NotRequired[str | None],
19
+ "help_short": bool,
20
+ "help_medium": bool,
19
21
  "help_long": bool,
20
22
  })
21
23
 
@@ -61,6 +63,8 @@ class FsUpdateOutputs(typing.NamedTuple):
61
63
 
62
64
  def fs_update_params(
63
65
  update_path: str | None = None,
66
+ help_short: bool = False,
67
+ help_medium: bool = False,
64
68
  help_long: bool = False,
65
69
  ) -> FsUpdateParameters:
66
70
  """
@@ -69,12 +73,16 @@ def fs_update_params(
69
73
  Args:
70
74
  update_path: Path to specific files or directories to update, copied\
71
75
  recursively.
76
+ help_short: Show help.
77
+ help_medium:.
72
78
  help_long:.
73
79
  Returns:
74
80
  Parameter dictionary
75
81
  """
76
82
  params = {
77
83
  "__STYXTYPE__": "fs_update",
84
+ "help_short": help_short,
85
+ "help_medium": help_medium,
78
86
  "help_long": help_long,
79
87
  }
80
88
  if update_path is not None:
@@ -99,6 +107,10 @@ def fs_update_cargs(
99
107
  cargs.append("fs_update")
100
108
  if params.get("update_path") is not None:
101
109
  cargs.append(params.get("update_path"))
110
+ if params.get("help_short"):
111
+ cargs.append("-h")
112
+ if params.get("help_medium"):
113
+ cargs.append("-help")
102
114
  if params.get("help_long"):
103
115
  cargs.append("--help")
104
116
  return cargs
@@ -149,6 +161,8 @@ def fs_update_execute(
149
161
 
150
162
  def fs_update(
151
163
  update_path: str | None = None,
164
+ help_short: bool = False,
165
+ help_medium: bool = False,
152
166
  help_long: bool = False,
153
167
  runner: Runner | None = None,
154
168
  ) -> FsUpdateOutputs:
@@ -162,6 +176,8 @@ def fs_update(
162
176
  Args:
163
177
  update_path: Path to specific files or directories to update, copied\
164
178
  recursively.
179
+ help_short: Show help.
180
+ help_medium:.
165
181
  help_long:.
166
182
  runner: Command runner.
167
183
  Returns:
@@ -171,6 +187,8 @@ def fs_update(
171
187
  execution = runner.start_execution(FS_UPDATE_METADATA)
172
188
  params = fs_update_params(
173
189
  update_path=update_path,
190
+ help_short=help_short,
191
+ help_medium=help_medium,
174
192
  help_long=help_long,
175
193
  )
176
194
  return fs_update_execute(params, execution)
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  FSL_SUB_MGH_METADATA = Metadata(
9
- id="b225e0584e88c37a1a9ef9c5295eb2118fddc2cc.boutiques",
9
+ id="657f2367434984a9f8159b2c7f6373d5a2b528fc.boutiques",
10
10
  name="fsl_sub_mgh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -213,7 +213,6 @@ def fsl_sub_mgh_cargs(
213
213
  "-s",
214
214
  params.get("shell_path")
215
215
  ])
216
- cargs.append("<COMMAND>")
217
216
  return cargs
218
217
 
219
218
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  FSR_IMPORT_METADATA = Metadata(
9
- id="0f4f0456c8df72ab9210f36b4e8bfb88e6ceba62.boutiques",
9
+ id="8c46b9370bd04e469266a234c1fd26413c67b9bf.boutiques",
10
10
  name="fsr-import",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -16,6 +16,10 @@ FSR_IMPORT_METADATA = Metadata(
16
16
  FsrImportParameters = typing.TypedDict('FsrImportParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["fsr-import"],
18
18
  "outdir": str,
19
+ "t1w_input": typing.NotRequired[list[InputPathType] | None],
20
+ "t2w_input": typing.NotRequired[list[InputPathType] | None],
21
+ "flair_input": typing.NotRequired[list[InputPathType] | None],
22
+ "custom_mode_input": typing.NotRequired[list[str] | None],
19
23
  "force_update": bool,
20
24
  "no_conform": bool,
21
25
  "hires": bool,
@@ -72,6 +76,10 @@ class FsrImportOutputs(typing.NamedTuple):
72
76
 
73
77
  def fsr_import_params(
74
78
  outdir: str,
79
+ t1w_input: list[InputPathType] | None = None,
80
+ t2w_input: list[InputPathType] | None = None,
81
+ flair_input: list[InputPathType] | None = None,
82
+ custom_mode_input: list[str] | None = None,
75
83
  force_update: bool = False,
76
84
  no_conform: bool = False,
77
85
  hires: bool = False,
@@ -81,6 +89,11 @@ def fsr_import_params(
81
89
 
82
90
  Args:
83
91
  outdir: Root directory for output data.
92
+ t1w_input: Input T1-weighted image files.
93
+ t2w_input: Input T2-weighted image files.
94
+ flair_input: Input FLAIR image files.
95
+ custom_mode_input: Custom modality image file with specified mode name\
96
+ (not t1w, t2w, or flair).
84
97
  force_update: Update files regardless of timestamp.
85
98
  no_conform: Do not conform inputs to 1mm, 256 dimensions.
86
99
  hires: Same as --no-conform.
@@ -94,6 +107,14 @@ def fsr_import_params(
94
107
  "no_conform": no_conform,
95
108
  "hires": hires,
96
109
  }
110
+ if t1w_input is not None:
111
+ params["t1w_input"] = t1w_input
112
+ if t2w_input is not None:
113
+ params["t2w_input"] = t2w_input
114
+ if flair_input is not None:
115
+ params["flair_input"] = flair_input
116
+ if custom_mode_input is not None:
117
+ params["custom_mode_input"] = custom_mode_input
97
118
  return params
98
119
 
99
120
 
@@ -116,10 +137,26 @@ def fsr_import_cargs(
116
137
  "--o",
117
138
  params.get("outdir")
118
139
  ])
119
- cargs.append("[T1W...]")
120
- cargs.append("[T2W...]")
121
- cargs.append("[FLAIR...]")
122
- cargs.append("[CUSTOM_MODES...]")
140
+ if params.get("t1w_input") is not None:
141
+ cargs.extend([
142
+ "--t1w",
143
+ *[execution.input_file(f) for f in params.get("t1w_input")]
144
+ ])
145
+ if params.get("t2w_input") is not None:
146
+ cargs.extend([
147
+ "--t2w",
148
+ *[execution.input_file(f) for f in params.get("t2w_input")]
149
+ ])
150
+ if params.get("flair_input") is not None:
151
+ cargs.extend([
152
+ "--flair",
153
+ *[execution.input_file(f) for f in params.get("flair_input")]
154
+ ])
155
+ if params.get("custom_mode_input") is not None:
156
+ cargs.extend([
157
+ "--mode",
158
+ *params.get("custom_mode_input")
159
+ ])
123
160
  if params.get("force_update"):
124
161
  cargs.append("--force-update")
125
162
  if params.get("no_conform"):
@@ -178,6 +215,10 @@ def fsr_import_execute(
178
215
 
179
216
  def fsr_import(
180
217
  outdir: str,
218
+ t1w_input: list[InputPathType] | None = None,
219
+ t2w_input: list[InputPathType] | None = None,
220
+ flair_input: list[InputPathType] | None = None,
221
+ custom_mode_input: list[str] | None = None,
181
222
  force_update: bool = False,
182
223
  no_conform: bool = False,
183
224
  hires: bool = False,
@@ -192,6 +233,11 @@ def fsr_import(
192
233
 
193
234
  Args:
194
235
  outdir: Root directory for output data.
236
+ t1w_input: Input T1-weighted image files.
237
+ t2w_input: Input T2-weighted image files.
238
+ flair_input: Input FLAIR image files.
239
+ custom_mode_input: Custom modality image file with specified mode name\
240
+ (not t1w, t2w, or flair).
195
241
  force_update: Update files regardless of timestamp.
196
242
  no_conform: Do not conform inputs to 1mm, 256 dimensions.
197
243
  hires: Same as --no-conform.
@@ -203,6 +249,10 @@ def fsr_import(
203
249
  execution = runner.start_execution(FSR_IMPORT_METADATA)
204
250
  params = fsr_import_params(
205
251
  outdir=outdir,
252
+ t1w_input=t1w_input,
253
+ t2w_input=t2w_input,
254
+ flair_input=flair_input,
255
+ custom_mode_input=custom_mode_input,
206
256
  force_update=force_update,
207
257
  no_conform=no_conform,
208
258
  hires=hires,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  FVCOMPARE_METADATA = Metadata(
9
- id="84e27ef54cc73075db70cca3ebbdd40631c9472d.boutiques",
9
+ id="34ef4943d85118cb4252e43061bab2f274dff0b4.boutiques",
10
10
  name="fvcompare",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -26,6 +26,7 @@ FvcompareParameters = typing.TypedDict('FvcompareParameters', {
26
26
  "segmentation": typing.NotRequired[str | None],
27
27
  "aseg": bool,
28
28
  "no_seg": bool,
29
+ "left_hemi": bool,
29
30
  "right_hemi": bool,
30
31
  "no_surf": bool,
31
32
  "gray_levels": typing.NotRequired[list[float] | None],
@@ -93,6 +94,7 @@ def fvcompare_params(
93
94
  segmentation: str | None = None,
94
95
  aseg: bool = False,
95
96
  no_seg: bool = False,
97
+ left_hemi: bool = False,
96
98
  right_hemi: bool = False,
97
99
  no_surf: bool = False,
98
100
  gray_levels: list[float] | None = None,
@@ -124,6 +126,7 @@ def fvcompare_params(
124
126
  aparc+aseg.mgz, can have multiple).
125
127
  aseg: Add aseg.mgz to segmentation list.
126
128
  no_seg: Do not display segmentations.
129
+ left_hemi: Only display left hemisphere.
127
130
  right_hemi: Only display right hemisphere.
128
131
  no_surf: Do not display surfaces.
129
132
  gray_levels: Set gray scale levels.
@@ -147,6 +150,7 @@ def fvcompare_params(
147
150
  "subject2": subject2,
148
151
  "aseg": aseg,
149
152
  "no_seg": no_seg,
153
+ "left_hemi": left_hemi,
150
154
  "right_hemi": right_hemi,
151
155
  "no_surf": no_surf,
152
156
  "aparc": aparc,
@@ -246,6 +250,8 @@ def fvcompare_cargs(
246
250
  cargs.append("--aseg")
247
251
  if params.get("no_seg"):
248
252
  cargs.append("--no-seg")
253
+ if params.get("left_hemi"):
254
+ cargs.append("--lh")
249
255
  if params.get("right_hemi"):
250
256
  cargs.append("--rh")
251
257
  if params.get("no_surf"):
@@ -349,6 +355,7 @@ def fvcompare(
349
355
  segmentation: str | None = None,
350
356
  aseg: bool = False,
351
357
  no_seg: bool = False,
358
+ left_hemi: bool = False,
352
359
  right_hemi: bool = False,
353
360
  no_surf: bool = False,
354
361
  gray_levels: list[float] | None = None,
@@ -386,6 +393,7 @@ def fvcompare(
386
393
  aparc+aseg.mgz, can have multiple).
387
394
  aseg: Add aseg.mgz to segmentation list.
388
395
  no_seg: Do not display segmentations.
396
+ left_hemi: Only display left hemisphere.
389
397
  right_hemi: Only display right hemisphere.
390
398
  no_surf: Do not display surfaces.
391
399
  gray_levels: Set gray scale levels.
@@ -418,6 +426,7 @@ def fvcompare(
418
426
  segmentation=segmentation,
419
427
  aseg=aseg,
420
428
  no_seg=no_seg,
429
+ left_hemi=left_hemi,
421
430
  right_hemi=right_hemi,
422
431
  no_surf=no_surf,
423
432
  gray_levels=gray_levels,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  GCA_APPLY_METADATA = Metadata(
9
- id="004863971f906d9a0b7892c9101381a0f012a5c2.boutiques",
9
+ id="37d628d973685edc2921052f548a797e0b449eb8.boutiques",
10
10
  name="gca-apply",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -182,9 +182,10 @@ def gca_apply_cargs(
182
182
  Command-line arguments.
183
183
  """
184
184
  cargs = []
185
+ cargs.append("gca-apply")
185
186
  cargs.extend([
186
187
  "-apply",
187
- "gca" + execution.input_file(params.get("gcafile"))
188
+ execution.input_file(params.get("gcafile"))
188
189
  ])
189
190
  cargs.append(params.get("subject"))
190
191
  if params.get("nthreads") is not None:
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  GDCMCONV_FS_METADATA = Metadata(
9
- id="c4cb69979a329deef98f15b2e797b9c57375a6ef.boutiques",
9
+ id="98f7b1994832a771c3433368967176f42a435bc4.boutiques",
10
10
  name="gdcmconv.fs",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -261,7 +261,7 @@ def gdcmconv_fs_cargs(
261
261
  Command-line arguments.
262
262
  """
263
263
  cargs = []
264
- cargs.append("gdcmconv")
264
+ cargs.append("gdcmconv.fs")
265
265
  cargs.append(execution.input_file(params.get("input_file")))
266
266
  cargs.append(params.get("output_file"))
267
267
  if params.get("explicit_flag"):
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  GET_LABEL_THICKNESS_METADATA = Metadata(
9
- id="dee540c5d6addffa9eea35a7fd1572afd491a587.boutiques",
9
+ id="f6297b36ddfbae019c6113cbf899ac43a825fe9b.boutiques",
10
10
  name="get_label_thickness",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -92,7 +92,6 @@ def get_label_thickness_cargs(
92
92
  cargs = []
93
93
  cargs.append("get_label_thickness")
94
94
  cargs.append(execution.input_file(params.get("infile")))
95
- cargs.append("[OPTIONS]")
96
95
  return cargs
97
96
 
98
97
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  GROUPSTATS_METADATA = Metadata(
9
- id="b3ed2b7c0070683b40d589d0c64dbdd96b53715f.boutiques",
9
+ id="355e1a7428f21999fd48f18935d2d56917a02e73.boutiques",
10
10
  name="groupstats",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -16,11 +16,21 @@ GROUPSTATS_METADATA = Metadata(
16
16
  GroupstatsParameters = typing.TypedDict('GroupstatsParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["groupstats"],
18
18
  "outdir": str,
19
+ "group_fsgd": typing.NotRequired[InputPathType | None],
19
20
  "subjectfile": typing.NotRequired[InputPathType | None],
20
21
  "fwhm": typing.NotRequired[list[float] | None],
21
22
  "subject_dir": typing.NotRequired[str | None],
22
23
  "mapname": typing.NotRequired[str | None],
23
24
  "srcsurfreg": typing.NotRequired[str | None],
25
+ "no_maps": bool,
26
+ "lh_only": bool,
27
+ "rh_only": bool,
28
+ "no_aparcstats": bool,
29
+ "no_asegstats": bool,
30
+ "no_wparcstats": bool,
31
+ "no_stats": bool,
32
+ "new": bool,
33
+ "base": bool,
24
34
  "keep53": bool,
25
35
  })
26
36
 
@@ -69,11 +79,21 @@ class GroupstatsOutputs(typing.NamedTuple):
69
79
 
70
80
  def groupstats_params(
71
81
  outdir: str,
82
+ group_fsgd: InputPathType | None = None,
72
83
  subjectfile: InputPathType | None = None,
73
84
  fwhm: list[float] | None = None,
74
85
  subject_dir: str | None = None,
75
86
  mapname: str | None = None,
76
87
  srcsurfreg: str | None = None,
88
+ no_maps: bool = False,
89
+ lh_only: bool = False,
90
+ rh_only: bool = False,
91
+ no_aparcstats: bool = False,
92
+ no_asegstats: bool = False,
93
+ no_wparcstats: bool = False,
94
+ no_stats: bool = False,
95
+ new: bool = False,
96
+ base: bool = False,
77
97
  keep53: bool = False,
78
98
  ) -> GroupstatsParameters:
79
99
  """
@@ -81,11 +101,22 @@ def groupstats_params(
81
101
 
82
102
  Args:
83
103
  outdir: Output folder.
104
+ group_fsgd: Specify the FSGD file for the group.
84
105
  subjectfile: Subject list file.
85
106
  fwhm: Specify smoothing level(s).
86
107
  subject_dir: Subject directory.
87
108
  mapname: Use the given map name.
88
109
  srcsurfreg: Source surface registration (default is sphere.reg).
110
+ no_maps: Only analyze ROI data.
111
+ lh_only: Only analyze left hemisphere.
112
+ rh_only: Only analyze right hemisphere.
113
+ no_aparcstats: Do not compute aparcstats.
114
+ no_asegstats: Do not compute asegstats.
115
+ no_wparcstats: Do not compute wmparcstats.
116
+ no_stats: Do not perform any ROI stats.
117
+ new: Append .new.mris_make_surfaces to map names.
118
+ base: Sets measure thickness area volume curvature sulcus (excludes\
119
+ white-gray percentage).
89
120
  keep53: Keep 5.3 aseg names (e.g., Thalamus-Proper).
90
121
  Returns:
91
122
  Parameter dictionary
@@ -93,8 +124,19 @@ def groupstats_params(
93
124
  params = {
94
125
  "__STYXTYPE__": "groupstats",
95
126
  "outdir": outdir,
127
+ "no_maps": no_maps,
128
+ "lh_only": lh_only,
129
+ "rh_only": rh_only,
130
+ "no_aparcstats": no_aparcstats,
131
+ "no_asegstats": no_asegstats,
132
+ "no_wparcstats": no_wparcstats,
133
+ "no_stats": no_stats,
134
+ "new": new,
135
+ "base": base,
96
136
  "keep53": keep53,
97
137
  }
138
+ if group_fsgd is not None:
139
+ params["group_fsgd"] = group_fsgd
98
140
  if subjectfile is not None:
99
141
  params["subjectfile"] = subjectfile
100
142
  if fwhm is not None:
@@ -127,6 +169,11 @@ def groupstats_cargs(
127
169
  "--o",
128
170
  params.get("outdir")
129
171
  ])
172
+ if params.get("group_fsgd") is not None:
173
+ cargs.extend([
174
+ "--fsgd",
175
+ execution.input_file(params.get("group_fsgd"))
176
+ ])
130
177
  if params.get("subjectfile") is not None:
131
178
  cargs.extend([
132
179
  "--f",
@@ -152,6 +199,24 @@ def groupstats_cargs(
152
199
  "--srcsurfreg",
153
200
  params.get("srcsurfreg")
154
201
  ])
202
+ if params.get("no_maps"):
203
+ cargs.append("--no-maps")
204
+ if params.get("lh_only"):
205
+ cargs.append("--lh")
206
+ if params.get("rh_only"):
207
+ cargs.append("--rh")
208
+ if params.get("no_aparcstats"):
209
+ cargs.append("--no-aparcstats")
210
+ if params.get("no_asegstats"):
211
+ cargs.append("--no-asegstats")
212
+ if params.get("no_wparcstats"):
213
+ cargs.append("--no-wparcstats")
214
+ if params.get("no_stats"):
215
+ cargs.append("--no-stats")
216
+ if params.get("new"):
217
+ cargs.append("--new")
218
+ if params.get("base"):
219
+ cargs.append("--base")
155
220
  if params.get("keep53"):
156
221
  cargs.append("--keep53")
157
222
  return cargs
@@ -204,11 +269,21 @@ def groupstats_execute(
204
269
 
205
270
  def groupstats(
206
271
  outdir: str,
272
+ group_fsgd: InputPathType | None = None,
207
273
  subjectfile: InputPathType | None = None,
208
274
  fwhm: list[float] | None = None,
209
275
  subject_dir: str | None = None,
210
276
  mapname: str | None = None,
211
277
  srcsurfreg: str | None = None,
278
+ no_maps: bool = False,
279
+ lh_only: bool = False,
280
+ rh_only: bool = False,
281
+ no_aparcstats: bool = False,
282
+ no_asegstats: bool = False,
283
+ no_wparcstats: bool = False,
284
+ no_stats: bool = False,
285
+ new: bool = False,
286
+ base: bool = False,
212
287
  keep53: bool = False,
213
288
  runner: Runner | None = None,
214
289
  ) -> GroupstatsOutputs:
@@ -222,11 +297,22 @@ def groupstats(
222
297
 
223
298
  Args:
224
299
  outdir: Output folder.
300
+ group_fsgd: Specify the FSGD file for the group.
225
301
  subjectfile: Subject list file.
226
302
  fwhm: Specify smoothing level(s).
227
303
  subject_dir: Subject directory.
228
304
  mapname: Use the given map name.
229
305
  srcsurfreg: Source surface registration (default is sphere.reg).
306
+ no_maps: Only analyze ROI data.
307
+ lh_only: Only analyze left hemisphere.
308
+ rh_only: Only analyze right hemisphere.
309
+ no_aparcstats: Do not compute aparcstats.
310
+ no_asegstats: Do not compute asegstats.
311
+ no_wparcstats: Do not compute wmparcstats.
312
+ no_stats: Do not perform any ROI stats.
313
+ new: Append .new.mris_make_surfaces to map names.
314
+ base: Sets measure thickness area volume curvature sulcus (excludes\
315
+ white-gray percentage).
230
316
  keep53: Keep 5.3 aseg names (e.g., Thalamus-Proper).
231
317
  runner: Command runner.
232
318
  Returns:
@@ -236,11 +322,21 @@ def groupstats(
236
322
  execution = runner.start_execution(GROUPSTATS_METADATA)
237
323
  params = groupstats_params(
238
324
  outdir=outdir,
325
+ group_fsgd=group_fsgd,
239
326
  subjectfile=subjectfile,
240
327
  fwhm=fwhm,
241
328
  subject_dir=subject_dir,
242
329
  mapname=mapname,
243
330
  srcsurfreg=srcsurfreg,
331
+ no_maps=no_maps,
332
+ lh_only=lh_only,
333
+ rh_only=rh_only,
334
+ no_aparcstats=no_aparcstats,
335
+ no_asegstats=no_asegstats,
336
+ no_wparcstats=no_wparcstats,
337
+ no_stats=no_stats,
338
+ new=new,
339
+ base=base,
244
340
  keep53=keep53,
245
341
  )
246
342
  return groupstats_execute(params, execution)
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  GROUPSTATSDIFF_METADATA = Metadata(
9
- id="474a0a73a03ccd5e8c25186fbb8a8f0ccde75dd7.boutiques",
9
+ id="fd778211449d90ec41caacb3a7dc64cdb74d5085.boutiques",
10
10
  name="groupstatsdiff",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -177,15 +177,15 @@ def groupstatsdiff_cargs(
177
177
  cargs.append("groupstatsdiff")
178
178
  cargs.extend([
179
179
  "-g1",
180
- "-" + params.get("group1_dir")
180
+ params.get("group1_dir")
181
181
  ])
182
182
  cargs.extend([
183
183
  "-g2",
184
- "-" + params.get("group2_dir")
184
+ params.get("group2_dir")
185
185
  ])
186
186
  cargs.extend([
187
187
  "-o",
188
- "-" + params.get("output_dir")
188
+ params.get("output_dir")
189
189
  ])
190
190
  if params.get("no_maps"):
191
191
  cargs.append("--no-maps")
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  HIAM_MAKE_SURFACES_METADATA = Metadata(
9
- id="eedce2967ed9d851c796ec7ce683d74d056d3684.boutiques",
9
+ id="1b161d9791e99b79bc12c2e006b7a1a47156fb9f.boutiques",
10
10
  name="hiam_make_surfaces",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -96,7 +96,6 @@ def hiam_make_surfaces_cargs(
96
96
  """
97
97
  cargs = []
98
98
  cargs.append("hiam_make_surfaces")
99
- cargs.append("[OPTIONS]")
100
99
  cargs.append(params.get("subject_name"))
101
100
  cargs.append(params.get("structure"))
102
101
  return cargs
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  HISTO_SYNTHESIZE_METADATA = Metadata(
9
- id="ebfa527b23cadea769992b1ad756ebe6c1f58512.boutiques",
9
+ id="7ba52ad8ca54fc771c31d5fba965b50932dba8fe.boutiques",
10
10
  name="histo_synthesize",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -102,7 +102,6 @@ def histo_synthesize_cargs(
102
102
  """
103
103
  cargs = []
104
104
  cargs.append("histo_synthesize")
105
- cargs.append("[OPTIONS]")
106
105
  cargs.append(execution.input_file(params.get("mri_volume")))
107
106
  cargs.append(execution.input_file(params.get("histo_volume")))
108
107
  cargs.append(params.get("synthetic_histo"))
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  INFLATE_SUBJECT_LH_METADATA = Metadata(
9
- id="13f58b307e30c9d1d7c23e3d8eda03727c68266d.boutiques",
9
+ id="941fff4146cba765ed908e2c762f2faabcdf05c1.boutiques",
10
10
  name="inflate_subject-lh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -94,9 +94,10 @@ def inflate_subject_lh_cargs(
94
94
  Command-line arguments.
95
95
  """
96
96
  cargs = []
97
+ cargs.append("inflate_subject-lh")
97
98
  cargs.extend([
98
99
  "-lh",
99
- "inflate_subject" + params.get("input_folder")
100
+ params.get("input_folder")
100
101
  ])
101
102
  if params.get("hostname_flag"):
102
103
  cargs.append("hostname")
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  INFLATE_SUBJECT_NEW_LH_METADATA = Metadata(
9
- id="08307c12a50c2ff8603980e07c1bcf6e9a16f2e1.boutiques",
9
+ id="2e5d93e0cd0ec7e2b630ed81133b9ac7aefe52f9.boutiques",
10
10
  name="inflate_subject_new-lh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -93,11 +93,11 @@ def inflate_subject_new_lh_cargs(
93
93
  Command-line arguments.
94
94
  """
95
95
  cargs = []
96
+ cargs.append("inflate_subject_new")
96
97
  cargs.extend([
97
98
  "-lh",
98
- "inflate_subject_new" + params.get("subject_dir")
99
+ params.get("subject_dir")
99
100
  ])
100
- cargs.append("[OPTIONS]")
101
101
  return cargs
102
102
 
103
103
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  INFLATE_SUBJECT_NEW_RH_METADATA = Metadata(
9
- id="6ededf15eee0d58308af964a359eb602b1b300a0.boutiques",
9
+ id="3037b7690756cae99cf0b6e186eebe74d51160c7.boutiques",
10
10
  name="inflate_subject_new-rh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -91,10 +91,11 @@ def inflate_subject_new_rh_cargs(
91
91
  Command-line arguments.
92
92
  """
93
93
  cargs = []
94
+ cargs.append("inflate_subject_new-rh")
94
95
  if params.get("args") is not None:
95
96
  cargs.extend([
96
97
  "-rh",
97
- "inflate_subject_new" + params.get("args")
98
+ params.get("args")
98
99
  ])
99
100
  return cargs
100
101