niwrap-freesurfer 0.5.0__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.

Files changed (154) 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/tkregisterfv.py +7 -7
  135. niwrap_freesurfer/freesurfer/trac_all.py +283 -1
  136. niwrap_freesurfer/freesurfer/train_gcs_atlas.py +19 -1
  137. niwrap_freesurfer/freesurfer/update_needed.py +13 -2
  138. niwrap_freesurfer/freesurfer/vertexvol.py +19 -1
  139. niwrap_freesurfer/freesurfer/vol2subfield.py +72 -1
  140. niwrap_freesurfer/freesurfer/wmsaseg.py +2 -2
  141. {niwrap_freesurfer-0.5.0.dist-info → niwrap_freesurfer-0.5.2.dist-info}/METADATA +1 -1
  142. {niwrap_freesurfer-0.5.0.dist-info → niwrap_freesurfer-0.5.2.dist-info}/RECORD +143 -154
  143. niwrap_freesurfer/freesurfer/bet_fsl.py +0 -441
  144. niwrap_freesurfer/freesurfer/epidewarp_fsl.py +0 -439
  145. niwrap_freesurfer/freesurfer/flirt_fsl.py +0 -604
  146. niwrap_freesurfer/freesurfer/fscalc_fsl.py +0 -196
  147. niwrap_freesurfer/freesurfer/fsfirst_fsl.py +0 -166
  148. niwrap_freesurfer/freesurfer/fslmaths_fsl.py +0 -196
  149. niwrap_freesurfer/freesurfer/fslorient_fsl.py +0 -207
  150. niwrap_freesurfer/freesurfer/fslswapdim_fsl.py +0 -216
  151. niwrap_freesurfer/freesurfer/fspython.py +0 -175
  152. niwrap_freesurfer/freesurfer/mri_motion_correct_fsl.py +0 -185
  153. niwrap_freesurfer/freesurfer/slicetimer_fsl.py +0 -291
  154. {niwrap_freesurfer-0.5.0.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
  TRAC_ALL_METADATA = Metadata(
9
- id="73a5f89795c73c559ddd404cdcdd1e92ea957a5a.boutiques",
9
+ id="b42a3b054e835eeb20b6882531177ef5ca819af7.boutiques",
10
10
  name="trac-all",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -18,8 +18,36 @@ TracAllParameters = typing.TypedDict('TracAllParameters', {
18
18
  "config_file": typing.NotRequired[InputPathType | None],
19
19
  "subject_name": typing.NotRequired[str | None],
20
20
  "dicom_file": typing.NotRequired[InputPathType | None],
21
+ "pre_processing": bool,
22
+ "bedpost": bool,
23
+ "pathway_reconstruction": bool,
21
24
  "assemble_measures": bool,
25
+ "image_corrections": bool,
26
+ "no_image_corrections": bool,
27
+ "image_quality_assessment": bool,
28
+ "no_image_quality_assessment": bool,
29
+ "intra_registration": bool,
30
+ "no_intra_registration": bool,
31
+ "tensor_fit": bool,
32
+ "no_tensor_fit": bool,
33
+ "inter_registration": bool,
34
+ "no_inter_registration": bool,
35
+ "pathway_priors": bool,
22
36
  "no_pathway_priors": bool,
37
+ "infant_options": bool,
38
+ "job_file": typing.NotRequired[InputPathType | None],
39
+ "log_file": typing.NotRequired[str | None],
40
+ "no_append_log": bool,
41
+ "cmd_file": typing.NotRequired[str | None],
42
+ "no_is_running": bool,
43
+ "subjects_directory": typing.NotRequired[str | None],
44
+ "umask": typing.NotRequired[str | None],
45
+ "group_id": typing.NotRequired[str | None],
46
+ "allow_core_dump": bool,
47
+ "debug_mode": bool,
48
+ "dont_run": bool,
49
+ "only_versions": bool,
50
+ "version_info": bool,
23
51
  "help": bool,
24
52
  })
25
53
 
@@ -72,8 +100,36 @@ def trac_all_params(
72
100
  config_file: InputPathType | None = None,
73
101
  subject_name: str | None = None,
74
102
  dicom_file: InputPathType | None = None,
103
+ pre_processing: bool = False,
104
+ bedpost: bool = False,
105
+ pathway_reconstruction: bool = False,
75
106
  assemble_measures: bool = False,
107
+ image_corrections: bool = False,
108
+ no_image_corrections: bool = False,
109
+ image_quality_assessment: bool = False,
110
+ no_image_quality_assessment: bool = False,
111
+ intra_registration: bool = False,
112
+ no_intra_registration: bool = False,
113
+ tensor_fit: bool = False,
114
+ no_tensor_fit: bool = False,
115
+ inter_registration: bool = False,
116
+ no_inter_registration: bool = False,
117
+ pathway_priors: bool = False,
76
118
  no_pathway_priors: bool = False,
119
+ infant_options: bool = False,
120
+ job_file: InputPathType | None = None,
121
+ log_file: str | None = None,
122
+ no_append_log: bool = False,
123
+ cmd_file: str | None = None,
124
+ no_is_running: bool = False,
125
+ subjects_directory: str | None = None,
126
+ umask: str | None = None,
127
+ group_id: str | None = None,
128
+ allow_core_dump: bool = False,
129
+ debug_mode: bool = False,
130
+ dont_run: bool = False,
131
+ only_versions: bool = False,
132
+ version_info: bool = False,
77
133
  help_: bool = False,
78
134
  ) -> TracAllParameters:
79
135
  """
@@ -83,17 +139,70 @@ def trac_all_params(
83
139
  config_file: Configuration file to set analysis options (dmrirc file).
84
140
  subject_name: Subject name (if not defined in dmrirc).
85
141
  dicom_file: Input DWI DICOM (if not defined in dmrirc).
142
+ pre_processing: Perform pre-processing (step 1, all substeps).
143
+ bedpost: Perform bedpost (step 2).
144
+ pathway_reconstruction: Perform pathway reconstruction (step 3).
86
145
  assemble_measures: Assemble pathway measures from multiple subjects\
87
146
  (step 4).
147
+ image_corrections: Perform image corrections (step 1.1).
148
+ no_image_corrections: Skip image corrections (step 1.1).
149
+ image_quality_assessment: Perform image quality assessment (step 1.2).
150
+ no_image_quality_assessment: Skip image quality assessment (step 1.2).
151
+ intra_registration: Perform intra-subject registration (step 1.3).
152
+ no_intra_registration: Skip intra-subject registration (step 1.3).
153
+ tensor_fit: Perform tensor fit (step 1.4).
154
+ no_tensor_fit: Skip tensor fit (step 1.4).
155
+ inter_registration: Perform inter-subject registration (step 1.5).
156
+ no_inter_registration: Skip inter-subject registration (step 1.5).
157
+ pathway_priors: Perform pathway priors (step 1.6).
88
158
  no_pathway_priors: Skip pathway priors (step 1.6).
159
+ infant_options: Use infant brain processing options.
160
+ job_file: Write a text file with command lines that can be run in\
161
+ parallel and do not run them.
162
+ log_file: Unique log file instead of the default scripts/trac-all.log.
163
+ no_append_log: Overwrite old log files instead of appending.
164
+ cmd_file: Unique cmd file instead of the default scripts/trac-all.cmd.
165
+ no_is_running: Do not check whether subjects are currently being\
166
+ processed.
167
+ subjects_directory: Specify subjects directory (default environment\
168
+ SUBJECTS_DIR).
169
+ umask: Set Unix file permission mask (default 002).
170
+ group_id: Check that current group is alpha groupid.
171
+ allow_core_dump: Set coredump limit to unlimited.
172
+ debug_mode: Generate much more output.
173
+ dont_run: Do everything but execute each command.
174
+ only_versions: Print version of each binary and exit.
175
+ version_info: Print version of this script and exit.
89
176
  help_: Print full contents of help.
90
177
  Returns:
91
178
  Parameter dictionary
92
179
  """
93
180
  params = {
94
181
  "__STYXTYPE__": "trac-all",
182
+ "pre_processing": pre_processing,
183
+ "bedpost": bedpost,
184
+ "pathway_reconstruction": pathway_reconstruction,
95
185
  "assemble_measures": assemble_measures,
186
+ "image_corrections": image_corrections,
187
+ "no_image_corrections": no_image_corrections,
188
+ "image_quality_assessment": image_quality_assessment,
189
+ "no_image_quality_assessment": no_image_quality_assessment,
190
+ "intra_registration": intra_registration,
191
+ "no_intra_registration": no_intra_registration,
192
+ "tensor_fit": tensor_fit,
193
+ "no_tensor_fit": no_tensor_fit,
194
+ "inter_registration": inter_registration,
195
+ "no_inter_registration": no_inter_registration,
196
+ "pathway_priors": pathway_priors,
96
197
  "no_pathway_priors": no_pathway_priors,
198
+ "infant_options": infant_options,
199
+ "no_append_log": no_append_log,
200
+ "no_is_running": no_is_running,
201
+ "allow_core_dump": allow_core_dump,
202
+ "debug_mode": debug_mode,
203
+ "dont_run": dont_run,
204
+ "only_versions": only_versions,
205
+ "version_info": version_info,
97
206
  "help": help_,
98
207
  }
99
208
  if config_file is not None:
@@ -102,6 +211,18 @@ def trac_all_params(
102
211
  params["subject_name"] = subject_name
103
212
  if dicom_file is not None:
104
213
  params["dicom_file"] = dicom_file
214
+ if job_file is not None:
215
+ params["job_file"] = job_file
216
+ if log_file is not None:
217
+ params["log_file"] = log_file
218
+ if cmd_file is not None:
219
+ params["cmd_file"] = cmd_file
220
+ if subjects_directory is not None:
221
+ params["subjects_directory"] = subjects_directory
222
+ if umask is not None:
223
+ params["umask"] = umask
224
+ if group_id is not None:
225
+ params["group_id"] = group_id
105
226
  return params
106
227
 
107
228
 
@@ -135,10 +256,84 @@ def trac_all_cargs(
135
256
  "-i",
136
257
  execution.input_file(params.get("dicom_file"))
137
258
  ])
259
+ if params.get("pre_processing"):
260
+ cargs.append("-prep")
261
+ if params.get("bedpost"):
262
+ cargs.append("-bedp")
263
+ if params.get("pathway_reconstruction"):
264
+ cargs.append("-path")
138
265
  if params.get("assemble_measures"):
139
266
  cargs.append("-stat")
267
+ if params.get("image_corrections"):
268
+ cargs.append("-corr")
269
+ if params.get("no_image_corrections"):
270
+ cargs.append("-nocorr")
271
+ if params.get("image_quality_assessment"):
272
+ cargs.append("-qa")
273
+ if params.get("no_image_quality_assessment"):
274
+ cargs.append("-noqa")
275
+ if params.get("intra_registration"):
276
+ cargs.append("-intra")
277
+ if params.get("no_intra_registration"):
278
+ cargs.append("-nointra")
279
+ if params.get("tensor_fit"):
280
+ cargs.append("-tensor")
281
+ if params.get("no_tensor_fit"):
282
+ cargs.append("-notensor")
283
+ if params.get("inter_registration"):
284
+ cargs.append("-inter")
285
+ if params.get("no_inter_registration"):
286
+ cargs.append("-nointer")
287
+ if params.get("pathway_priors"):
288
+ cargs.append("-prior")
140
289
  if params.get("no_pathway_priors"):
141
290
  cargs.append("-noprior")
291
+ if params.get("infant_options"):
292
+ cargs.append("-infant")
293
+ if params.get("job_file") is not None:
294
+ cargs.extend([
295
+ "-jobs",
296
+ execution.input_file(params.get("job_file"))
297
+ ])
298
+ if params.get("log_file") is not None:
299
+ cargs.extend([
300
+ "-log",
301
+ params.get("log_file")
302
+ ])
303
+ if params.get("no_append_log"):
304
+ cargs.append("-noappendlog")
305
+ if params.get("cmd_file") is not None:
306
+ cargs.extend([
307
+ "-cmd",
308
+ params.get("cmd_file")
309
+ ])
310
+ if params.get("no_is_running"):
311
+ cargs.append("-no-isrunning")
312
+ if params.get("subjects_directory") is not None:
313
+ cargs.extend([
314
+ "-sd",
315
+ params.get("subjects_directory")
316
+ ])
317
+ if params.get("umask") is not None:
318
+ cargs.extend([
319
+ "-umask",
320
+ params.get("umask")
321
+ ])
322
+ if params.get("group_id") is not None:
323
+ cargs.extend([
324
+ "-grp",
325
+ params.get("group_id")
326
+ ])
327
+ if params.get("allow_core_dump"):
328
+ cargs.append("-allowcoredump")
329
+ if params.get("debug_mode"):
330
+ cargs.append("-debug")
331
+ if params.get("dont_run"):
332
+ cargs.append("-dontrun")
333
+ if params.get("only_versions"):
334
+ cargs.append("-onlyversions")
335
+ if params.get("version_info"):
336
+ cargs.append("-version")
142
337
  if params.get("help"):
143
338
  cargs.append("-help")
144
339
  return cargs
@@ -193,8 +388,36 @@ def trac_all(
193
388
  config_file: InputPathType | None = None,
194
389
  subject_name: str | None = None,
195
390
  dicom_file: InputPathType | None = None,
391
+ pre_processing: bool = False,
392
+ bedpost: bool = False,
393
+ pathway_reconstruction: bool = False,
196
394
  assemble_measures: bool = False,
395
+ image_corrections: bool = False,
396
+ no_image_corrections: bool = False,
397
+ image_quality_assessment: bool = False,
398
+ no_image_quality_assessment: bool = False,
399
+ intra_registration: bool = False,
400
+ no_intra_registration: bool = False,
401
+ tensor_fit: bool = False,
402
+ no_tensor_fit: bool = False,
403
+ inter_registration: bool = False,
404
+ no_inter_registration: bool = False,
405
+ pathway_priors: bool = False,
197
406
  no_pathway_priors: bool = False,
407
+ infant_options: bool = False,
408
+ job_file: InputPathType | None = None,
409
+ log_file: str | None = None,
410
+ no_append_log: bool = False,
411
+ cmd_file: str | None = None,
412
+ no_is_running: bool = False,
413
+ subjects_directory: str | None = None,
414
+ umask: str | None = None,
415
+ group_id: str | None = None,
416
+ allow_core_dump: bool = False,
417
+ debug_mode: bool = False,
418
+ dont_run: bool = False,
419
+ only_versions: bool = False,
420
+ version_info: bool = False,
198
421
  help_: bool = False,
199
422
  runner: Runner | None = None,
200
423
  ) -> TracAllOutputs:
@@ -209,9 +432,40 @@ def trac_all(
209
432
  config_file: Configuration file to set analysis options (dmrirc file).
210
433
  subject_name: Subject name (if not defined in dmrirc).
211
434
  dicom_file: Input DWI DICOM (if not defined in dmrirc).
435
+ pre_processing: Perform pre-processing (step 1, all substeps).
436
+ bedpost: Perform bedpost (step 2).
437
+ pathway_reconstruction: Perform pathway reconstruction (step 3).
212
438
  assemble_measures: Assemble pathway measures from multiple subjects\
213
439
  (step 4).
440
+ image_corrections: Perform image corrections (step 1.1).
441
+ no_image_corrections: Skip image corrections (step 1.1).
442
+ image_quality_assessment: Perform image quality assessment (step 1.2).
443
+ no_image_quality_assessment: Skip image quality assessment (step 1.2).
444
+ intra_registration: Perform intra-subject registration (step 1.3).
445
+ no_intra_registration: Skip intra-subject registration (step 1.3).
446
+ tensor_fit: Perform tensor fit (step 1.4).
447
+ no_tensor_fit: Skip tensor fit (step 1.4).
448
+ inter_registration: Perform inter-subject registration (step 1.5).
449
+ no_inter_registration: Skip inter-subject registration (step 1.5).
450
+ pathway_priors: Perform pathway priors (step 1.6).
214
451
  no_pathway_priors: Skip pathway priors (step 1.6).
452
+ infant_options: Use infant brain processing options.
453
+ job_file: Write a text file with command lines that can be run in\
454
+ parallel and do not run them.
455
+ log_file: Unique log file instead of the default scripts/trac-all.log.
456
+ no_append_log: Overwrite old log files instead of appending.
457
+ cmd_file: Unique cmd file instead of the default scripts/trac-all.cmd.
458
+ no_is_running: Do not check whether subjects are currently being\
459
+ processed.
460
+ subjects_directory: Specify subjects directory (default environment\
461
+ SUBJECTS_DIR).
462
+ umask: Set Unix file permission mask (default 002).
463
+ group_id: Check that current group is alpha groupid.
464
+ allow_core_dump: Set coredump limit to unlimited.
465
+ debug_mode: Generate much more output.
466
+ dont_run: Do everything but execute each command.
467
+ only_versions: Print version of each binary and exit.
468
+ version_info: Print version of this script and exit.
215
469
  help_: Print full contents of help.
216
470
  runner: Command runner.
217
471
  Returns:
@@ -223,8 +477,36 @@ def trac_all(
223
477
  config_file=config_file,
224
478
  subject_name=subject_name,
225
479
  dicom_file=dicom_file,
480
+ pre_processing=pre_processing,
481
+ bedpost=bedpost,
482
+ pathway_reconstruction=pathway_reconstruction,
226
483
  assemble_measures=assemble_measures,
484
+ image_corrections=image_corrections,
485
+ no_image_corrections=no_image_corrections,
486
+ image_quality_assessment=image_quality_assessment,
487
+ no_image_quality_assessment=no_image_quality_assessment,
488
+ intra_registration=intra_registration,
489
+ no_intra_registration=no_intra_registration,
490
+ tensor_fit=tensor_fit,
491
+ no_tensor_fit=no_tensor_fit,
492
+ inter_registration=inter_registration,
493
+ no_inter_registration=no_inter_registration,
494
+ pathway_priors=pathway_priors,
227
495
  no_pathway_priors=no_pathway_priors,
496
+ infant_options=infant_options,
497
+ job_file=job_file,
498
+ log_file=log_file,
499
+ no_append_log=no_append_log,
500
+ cmd_file=cmd_file,
501
+ no_is_running=no_is_running,
502
+ subjects_directory=subjects_directory,
503
+ umask=umask,
504
+ group_id=group_id,
505
+ allow_core_dump=allow_core_dump,
506
+ debug_mode=debug_mode,
507
+ dont_run=dont_run,
508
+ only_versions=only_versions,
509
+ version_info=version_info,
228
510
  help_=help_,
229
511
  )
230
512
  return trac_all_execute(params, execution)
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  TRAIN_GCS_ATLAS_METADATA = Metadata(
9
- id="915555870bf5ee316610cc5c539e20a5e0db415f.boutiques",
9
+ id="94c89e1dfe3d6f19edd5cc1f4b3eeb93c181a16d.boutiques",
10
10
  name="train-gcs-atlas",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -17,6 +17,8 @@ TrainGcsAtlasParameters = typing.TypedDict('TrainGcsAtlasParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["train-gcs-atlas"],
18
18
  "manual_parcellation": typing.NotRequired[str | None],
19
19
  "subjlist_file": typing.NotRequired[InputPathType | None],
20
+ "left_hemi": bool,
21
+ "right_hemi": bool,
20
22
  "hemi_spec": typing.NotRequired[str | None],
21
23
  "output_gcs": str,
22
24
  "surf_reg": typing.NotRequired[InputPathType | None],
@@ -74,6 +76,8 @@ def train_gcs_atlas_params(
74
76
  output_gcs: str,
75
77
  manual_parcellation: str | None = None,
76
78
  subjlist_file: InputPathType | None = None,
79
+ left_hemi: bool = False,
80
+ right_hemi: bool = False,
77
81
  hemi_spec: str | None = None,
78
82
  surf_reg: InputPathType | None = None,
79
83
  color_table: InputPathType | None = None,
@@ -89,6 +93,8 @@ def train_gcs_atlas_params(
89
93
  output_gcs: Output GCS file.
90
94
  manual_parcellation: Manual parcellation; default is aparc_edited.
91
95
  subjlist_file: File containing the list of subjects.
96
+ left_hemi: Left hemisphere processing.
97
+ right_hemi: Right hemisphere processing.
92
98
  hemi_spec: Specify hemisphere for processing.
93
99
  surf_reg: Surface registration file; default is sphere.reg.
94
100
  color_table: Color table file.
@@ -101,6 +107,8 @@ def train_gcs_atlas_params(
101
107
  """
102
108
  params = {
103
109
  "__STYXTYPE__": "train-gcs-atlas",
110
+ "left_hemi": left_hemi,
111
+ "right_hemi": right_hemi,
104
112
  "output_gcs": output_gcs,
105
113
  "jackknife_flag": jackknife_flag,
106
114
  }
@@ -148,6 +156,10 @@ def train_gcs_atlas_cargs(
148
156
  "--f",
149
157
  execution.input_file(params.get("subjlist_file"))
150
158
  ])
159
+ if params.get("left_hemi"):
160
+ cargs.append("--lh")
161
+ if params.get("right_hemi"):
162
+ cargs.append("--rh")
151
163
  if params.get("hemi_spec") is not None:
152
164
  cargs.extend([
153
165
  "--hemi",
@@ -236,6 +248,8 @@ def train_gcs_atlas(
236
248
  output_gcs: str,
237
249
  manual_parcellation: str | None = None,
238
250
  subjlist_file: InputPathType | None = None,
251
+ left_hemi: bool = False,
252
+ right_hemi: bool = False,
239
253
  hemi_spec: str | None = None,
240
254
  surf_reg: InputPathType | None = None,
241
255
  color_table: InputPathType | None = None,
@@ -257,6 +271,8 @@ def train_gcs_atlas(
257
271
  output_gcs: Output GCS file.
258
272
  manual_parcellation: Manual parcellation; default is aparc_edited.
259
273
  subjlist_file: File containing the list of subjects.
274
+ left_hemi: Left hemisphere processing.
275
+ right_hemi: Right hemisphere processing.
260
276
  hemi_spec: Specify hemisphere for processing.
261
277
  surf_reg: Surface registration file; default is sphere.reg.
262
278
  color_table: Color table file.
@@ -273,6 +289,8 @@ def train_gcs_atlas(
273
289
  params = train_gcs_atlas_params(
274
290
  manual_parcellation=manual_parcellation,
275
291
  subjlist_file=subjlist_file,
292
+ left_hemi=left_hemi,
293
+ right_hemi=right_hemi,
276
294
  hemi_spec=hemi_spec,
277
295
  output_gcs=output_gcs,
278
296
  surf_reg=surf_reg,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  UPDATE_NEEDED_METADATA = Metadata(
9
- id="81ad1ec598b447ced529bab2b15819d597e08ec9.boutiques",
9
+ id="bbeff96a804ee5f7f839128e9a8f2889e0e27e42.boutiques",
10
10
  name="UpdateNeeded",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -17,6 +17,7 @@ UpdateNeededParameters = typing.TypedDict('UpdateNeededParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["UpdateNeeded"],
18
18
  "target_file": InputPathType,
19
19
  "source_file": InputPathType,
20
+ "additional_source_files": typing.NotRequired[list[InputPathType] | None],
20
21
  })
21
22
 
22
23
 
@@ -62,6 +63,7 @@ class UpdateNeededOutputs(typing.NamedTuple):
62
63
  def update_needed_params(
63
64
  target_file: InputPathType,
64
65
  source_file: InputPathType,
66
+ additional_source_files: list[InputPathType] | None = None,
65
67
  ) -> UpdateNeededParameters:
66
68
  """
67
69
  Build parameters.
@@ -69,6 +71,8 @@ def update_needed_params(
69
71
  Args:
70
72
  target_file: The target file that needs to be updated.
71
73
  source_file: The primary source file for updating the target file.
74
+ additional_source_files: Additional source files for updating the\
75
+ target file.
72
76
  Returns:
73
77
  Parameter dictionary
74
78
  """
@@ -77,6 +81,8 @@ def update_needed_params(
77
81
  "target_file": target_file,
78
82
  "source_file": source_file,
79
83
  }
84
+ if additional_source_files is not None:
85
+ params["additional_source_files"] = additional_source_files
80
86
  return params
81
87
 
82
88
 
@@ -97,7 +103,8 @@ def update_needed_cargs(
97
103
  cargs.append("UpdateNeeded")
98
104
  cargs.append(execution.input_file(params.get("target_file")))
99
105
  cargs.append(execution.input_file(params.get("source_file")))
100
- cargs.append("[ADDITIONAL_SOURCE_FILES...]")
106
+ if params.get("additional_source_files") is not None:
107
+ cargs.extend([execution.input_file(f) for f in params.get("additional_source_files")])
101
108
  return cargs
102
109
 
103
110
 
@@ -147,6 +154,7 @@ def update_needed_execute(
147
154
  def update_needed(
148
155
  target_file: InputPathType,
149
156
  source_file: InputPathType,
157
+ additional_source_files: list[InputPathType] | None = None,
150
158
  runner: Runner | None = None,
151
159
  ) -> UpdateNeededOutputs:
152
160
  """
@@ -159,6 +167,8 @@ def update_needed(
159
167
  Args:
160
168
  target_file: The target file that needs to be updated.
161
169
  source_file: The primary source file for updating the target file.
170
+ additional_source_files: Additional source files for updating the\
171
+ target file.
162
172
  runner: Command runner.
163
173
  Returns:
164
174
  NamedTuple of outputs (described in `UpdateNeededOutputs`).
@@ -168,6 +178,7 @@ def update_needed(
168
178
  params = update_needed_params(
169
179
  target_file=target_file,
170
180
  source_file=source_file,
181
+ additional_source_files=additional_source_files,
171
182
  )
172
183
  return update_needed_execute(params, execution)
173
184
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  VERTEXVOL_METADATA = Metadata(
9
- id="43f2f0ece18dc9707df38e81102c8d727e4682e9.boutiques",
9
+ id="72720dd9559564a7517285d29ffdf9116e4d731a.boutiques",
10
10
  name="vertexvol",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -16,8 +16,10 @@ VERTEXVOL_METADATA = Metadata(
16
16
  VertexvolParameters = typing.TypedDict('VertexvolParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["vertexvol"],
18
18
  "subject": str,
19
+ "left_hemisphere": bool,
19
20
  "right_hemisphere": bool,
20
21
  "output_file": typing.NotRequired[str | None],
22
+ "use_th3": bool,
21
23
  "no_th3": bool,
22
24
  })
23
25
 
@@ -66,8 +68,10 @@ class VertexvolOutputs(typing.NamedTuple):
66
68
 
67
69
  def vertexvol_params(
68
70
  subject: str,
71
+ left_hemisphere: bool = False,
69
72
  right_hemisphere: bool = False,
70
73
  output_file: str | None = "?h.volume",
74
+ use_th3: bool = False,
71
75
  no_th3: bool = False,
72
76
  ) -> VertexvolParameters:
73
77
  """
@@ -75,8 +79,10 @@ def vertexvol_params(
75
79
 
76
80
  Args:
77
81
  subject: Subject identifier.
82
+ left_hemisphere: Select left hemisphere.
78
83
  right_hemisphere: Select right hemisphere.
79
84
  output_file: Output file name, default is ?h.volume.
85
+ use_th3: Use TH3 method for computation.
80
86
  no_th3: Don't use TH3 method for computation.
81
87
  Returns:
82
88
  Parameter dictionary
@@ -84,7 +90,9 @@ def vertexvol_params(
84
90
  params = {
85
91
  "__STYXTYPE__": "vertexvol",
86
92
  "subject": subject,
93
+ "left_hemisphere": left_hemisphere,
87
94
  "right_hemisphere": right_hemisphere,
95
+ "use_th3": use_th3,
88
96
  "no_th3": no_th3,
89
97
  }
90
98
  if output_file is not None:
@@ -111,6 +119,8 @@ def vertexvol_cargs(
111
119
  "--s",
112
120
  params.get("subject")
113
121
  ])
122
+ if params.get("left_hemisphere"):
123
+ cargs.append("--lh")
114
124
  if params.get("right_hemisphere"):
115
125
  cargs.append("--rh")
116
126
  if params.get("output_file") is not None:
@@ -118,6 +128,8 @@ def vertexvol_cargs(
118
128
  "--o",
119
129
  params.get("output_file")
120
130
  ])
131
+ if params.get("use_th3"):
132
+ cargs.append("--th3")
121
133
  if params.get("no_th3"):
122
134
  cargs.append("--no-th3")
123
135
  return cargs
@@ -169,8 +181,10 @@ def vertexvol_execute(
169
181
 
170
182
  def vertexvol(
171
183
  subject: str,
184
+ left_hemisphere: bool = False,
172
185
  right_hemisphere: bool = False,
173
186
  output_file: str | None = "?h.volume",
187
+ use_th3: bool = False,
174
188
  no_th3: bool = False,
175
189
  runner: Runner | None = None,
176
190
  ) -> VertexvolOutputs:
@@ -183,8 +197,10 @@ def vertexvol(
183
197
 
184
198
  Args:
185
199
  subject: Subject identifier.
200
+ left_hemisphere: Select left hemisphere.
186
201
  right_hemisphere: Select right hemisphere.
187
202
  output_file: Output file name, default is ?h.volume.
203
+ use_th3: Use TH3 method for computation.
188
204
  no_th3: Don't use TH3 method for computation.
189
205
  runner: Command runner.
190
206
  Returns:
@@ -194,8 +210,10 @@ def vertexvol(
194
210
  execution = runner.start_execution(VERTEXVOL_METADATA)
195
211
  params = vertexvol_params(
196
212
  subject=subject,
213
+ left_hemisphere=left_hemisphere,
197
214
  right_hemisphere=right_hemisphere,
198
215
  output_file=output_file,
216
+ use_th3=use_th3,
199
217
  no_th3=no_th3,
200
218
  )
201
219
  return vertexvol_execute(params, execution)