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
  COMPUTE_LABEL_VOLUMES_CSH_METADATA = Metadata(
9
- id="82638ae4faa0eb9506df9c2f3a56c833cb5de288.boutiques",
9
+ id="f6bb92d910cd7a9b624eadf0f487558e645d0c90.boutiques",
10
10
  name="compute_label_volumes.csh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -18,6 +18,7 @@ ComputeLabelVolumesCshParameters = typing.TypedDict('ComputeLabelVolumesCshParam
18
18
  "label_vol": InputPathType,
19
19
  "output_file": str,
20
20
  "label_l": typing.NotRequired[str | None],
21
+ "label_l_1": typing.NotRequired[str | None],
21
22
  "version": bool,
22
23
  "help": bool,
23
24
  })
@@ -69,6 +70,7 @@ def compute_label_volumes_csh_params(
69
70
  label_vol: InputPathType,
70
71
  output_file: str,
71
72
  label_l: str | None = None,
73
+ label_l_1: str | None = None,
72
74
  version: bool = False,
73
75
  help_: bool = False,
74
76
  ) -> ComputeLabelVolumesCshParameters:
@@ -79,6 +81,8 @@ def compute_label_volumes_csh_params(
79
81
  label_vol: Label volume to be analyzed.
80
82
  output_file: Text file where the results are written.
81
83
  label_l: The particular label to be analyzed (case-insensitive option).
84
+ label_l_1: The particular label to be analyzed (case-insensitive\
85
+ option).
82
86
  version: Print version and exit.
83
87
  help_: Print help and exit.
84
88
  Returns:
@@ -93,6 +97,8 @@ def compute_label_volumes_csh_params(
93
97
  }
94
98
  if label_l is not None:
95
99
  params["label_l"] = label_l
100
+ if label_l_1 is not None:
101
+ params["label_l_1"] = label_l_1
96
102
  return params
97
103
 
98
104
 
@@ -110,7 +116,7 @@ def compute_label_volumes_csh_cargs(
110
116
  Command-line arguments.
111
117
  """
112
118
  cargs = []
113
- cargs.append("compute_label_volumes")
119
+ cargs.append("compute_label_volumes.csh")
114
120
  cargs.extend([
115
121
  "--vol",
116
122
  execution.input_file(params.get("label_vol"))
@@ -124,6 +130,11 @@ def compute_label_volumes_csh_cargs(
124
130
  "--l",
125
131
  params.get("label_l")
126
132
  ])
133
+ if params.get("label_l_1") is not None:
134
+ cargs.extend([
135
+ "--l",
136
+ params.get("label_l_1")
137
+ ])
127
138
  if params.get("version"):
128
139
  cargs.append("--version")
129
140
  if params.get("help"):
@@ -180,6 +191,7 @@ def compute_label_volumes_csh(
180
191
  label_vol: InputPathType,
181
192
  output_file: str,
182
193
  label_l: str | None = None,
194
+ label_l_1: str | None = None,
183
195
  version: bool = False,
184
196
  help_: bool = False,
185
197
  runner: Runner | None = None,
@@ -196,6 +208,8 @@ def compute_label_volumes_csh(
196
208
  label_vol: Label volume to be analyzed.
197
209
  output_file: Text file where the results are written.
198
210
  label_l: The particular label to be analyzed (case-insensitive option).
211
+ label_l_1: The particular label to be analyzed (case-insensitive\
212
+ option).
199
213
  version: Print version and exit.
200
214
  help_: Print help and exit.
201
215
  runner: Command runner.
@@ -208,6 +222,7 @@ def compute_label_volumes_csh(
208
222
  label_vol=label_vol,
209
223
  output_file=output_file,
210
224
  label_l=label_l,
225
+ label_l_1=label_l_1,
211
226
  version=version,
212
227
  help_=help_,
213
228
  )
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  CONF2HIRES_METADATA = Metadata(
9
- id="0daec93cecaaf674dbbc3d770b70999cf8bff082.boutiques",
9
+ id="2455d1a9818a72df60f5c386c53541cd8cd28eab.boutiques",
10
10
  name="conf2hires",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -16,14 +16,20 @@ CONF2HIRES_METADATA = Metadata(
16
16
  Conf2hiresParameters = typing.TypedDict('Conf2hiresParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["conf2hires"],
18
18
  "subject": str,
19
+ "t2": bool,
19
20
  "no_t2": bool,
20
21
  "mm_norm_sigma": typing.NotRequired[float | None],
22
+ "flair": bool,
21
23
  "no_flair": bool,
22
24
  "threads": typing.NotRequired[float | None],
23
25
  "copy_bias_from_conf": bool,
24
26
  "norm_opts_rca": bool,
27
+ "cubic": bool,
25
28
  "trilin": bool,
29
+ "dev": bool,
26
30
  "no_dev": bool,
31
+ "bbr_con": typing.NotRequired[str | None],
32
+ "bbr_t1": bool,
27
33
  "bbr_t2": bool,
28
34
  "first_peak_d1": bool,
29
35
  "first_peak_d2": bool,
@@ -74,14 +80,20 @@ class Conf2hiresOutputs(typing.NamedTuple):
74
80
 
75
81
  def conf2hires_params(
76
82
  subject: str,
83
+ t2: bool = False,
77
84
  no_t2: bool = False,
78
85
  mm_norm_sigma: float | None = 8,
86
+ flair: bool = False,
79
87
  no_flair: bool = False,
80
88
  threads: float | None = None,
81
89
  copy_bias_from_conf: bool = False,
82
90
  norm_opts_rca: bool = False,
91
+ cubic: bool = False,
83
92
  trilin: bool = False,
93
+ dev: bool = False,
84
94
  no_dev: bool = False,
95
+ bbr_con: str | None = None,
96
+ bbr_t1: bool = False,
85
97
  bbr_t2: bool = False,
86
98
  first_peak_d1: bool = False,
87
99
  first_peak_d2: bool = False,
@@ -94,17 +106,23 @@ def conf2hires_params(
94
106
 
95
107
  Args:
96
108
  subject: Subject identifier.
109
+ t2: Enable T2 processing.
97
110
  no_t2: Disable T2 processing (default).
98
111
  mm_norm_sigma: Smoothing level for T2 mri_normalize (default is 8).
112
+ flair: Enable FLAIR processing.
99
113
  no_flair: Disable FLAIR processing (default).
100
114
  threads: Number of threads to use.
101
115
  copy_bias_from_conf: Copy bias field from conformed instead of\
102
116
  computing directly.
103
117
  norm_opts_rca: Compute bias directly using recon-all opts to\
104
118
  mri_normalize.
119
+ cubic: Use cubic normalization (applies with --copy-bias-from-conf).
105
120
  trilin: Use trilinear normalization (default, applies with\
106
121
  --copy-bias-from-conf).
122
+ dev: Use mris_make_surfaces.dev.
107
123
  no_dev: Do not use mris_make_surfaces.dev (default).
124
+ bbr_con: Set BBR contrast type (default t2).
125
+ bbr_t1: Set BBR contrast type to t1.
108
126
  bbr_t2: Set BBR contrast type to t2.
109
127
  first_peak_d1: Refine surface targets in MRIScomputeBorderValues()\
110
128
  using first peak method D1.
@@ -119,12 +137,17 @@ def conf2hires_params(
119
137
  params = {
120
138
  "__STYXTYPE__": "conf2hires",
121
139
  "subject": subject,
140
+ "t2": t2,
122
141
  "no_t2": no_t2,
142
+ "flair": flair,
123
143
  "no_flair": no_flair,
124
144
  "copy_bias_from_conf": copy_bias_from_conf,
125
145
  "norm_opts_rca": norm_opts_rca,
146
+ "cubic": cubic,
126
147
  "trilin": trilin,
148
+ "dev": dev,
127
149
  "no_dev": no_dev,
150
+ "bbr_t1": bbr_t1,
128
151
  "bbr_t2": bbr_t2,
129
152
  "first_peak_d1": first_peak_d1,
130
153
  "first_peak_d2": first_peak_d2,
@@ -134,6 +157,8 @@ def conf2hires_params(
134
157
  params["mm_norm_sigma"] = mm_norm_sigma
135
158
  if threads is not None:
136
159
  params["threads"] = threads
160
+ if bbr_con is not None:
161
+ params["bbr_con"] = bbr_con
137
162
  if stopmask is not None:
138
163
  params["stopmask"] = stopmask
139
164
  if expert is not None:
@@ -160,6 +185,8 @@ def conf2hires_cargs(
160
185
  "--s",
161
186
  params.get("subject")
162
187
  ])
188
+ if params.get("t2"):
189
+ cargs.append("--t2")
163
190
  if params.get("no_t2"):
164
191
  cargs.append("--no-t2")
165
192
  if params.get("mm_norm_sigma") is not None:
@@ -167,6 +194,8 @@ def conf2hires_cargs(
167
194
  "--mm-norm-sigma",
168
195
  str(params.get("mm_norm_sigma"))
169
196
  ])
197
+ if params.get("flair"):
198
+ cargs.append("--flair")
170
199
  if params.get("no_flair"):
171
200
  cargs.append("--no-flair")
172
201
  if params.get("threads") is not None:
@@ -178,10 +207,21 @@ def conf2hires_cargs(
178
207
  cargs.append("--copy-bias-from-conf")
179
208
  if params.get("norm_opts_rca"):
180
209
  cargs.append("--norm-opts-rca")
210
+ if params.get("cubic"):
211
+ cargs.append("--cubic")
181
212
  if params.get("trilin"):
182
213
  cargs.append("--trilin")
214
+ if params.get("dev"):
215
+ cargs.append("--dev")
183
216
  if params.get("no_dev"):
184
217
  cargs.append("--no-dev")
218
+ if params.get("bbr_con") is not None:
219
+ cargs.extend([
220
+ "--bbr-con",
221
+ params.get("bbr_con")
222
+ ])
223
+ if params.get("bbr_t1"):
224
+ cargs.append("--bbr-t1")
185
225
  if params.get("bbr_t2"):
186
226
  cargs.append("--bbr-t2")
187
227
  if params.get("first_peak_d1"):
@@ -249,14 +289,20 @@ def conf2hires_execute(
249
289
 
250
290
  def conf2hires(
251
291
  subject: str,
292
+ t2: bool = False,
252
293
  no_t2: bool = False,
253
294
  mm_norm_sigma: float | None = 8,
295
+ flair: bool = False,
254
296
  no_flair: bool = False,
255
297
  threads: float | None = None,
256
298
  copy_bias_from_conf: bool = False,
257
299
  norm_opts_rca: bool = False,
300
+ cubic: bool = False,
258
301
  trilin: bool = False,
302
+ dev: bool = False,
259
303
  no_dev: bool = False,
304
+ bbr_con: str | None = None,
305
+ bbr_t1: bool = False,
260
306
  bbr_t2: bool = False,
261
307
  first_peak_d1: bool = False,
262
308
  first_peak_d2: bool = False,
@@ -275,17 +321,23 @@ def conf2hires(
275
321
 
276
322
  Args:
277
323
  subject: Subject identifier.
324
+ t2: Enable T2 processing.
278
325
  no_t2: Disable T2 processing (default).
279
326
  mm_norm_sigma: Smoothing level for T2 mri_normalize (default is 8).
327
+ flair: Enable FLAIR processing.
280
328
  no_flair: Disable FLAIR processing (default).
281
329
  threads: Number of threads to use.
282
330
  copy_bias_from_conf: Copy bias field from conformed instead of\
283
331
  computing directly.
284
332
  norm_opts_rca: Compute bias directly using recon-all opts to\
285
333
  mri_normalize.
334
+ cubic: Use cubic normalization (applies with --copy-bias-from-conf).
286
335
  trilin: Use trilinear normalization (default, applies with\
287
336
  --copy-bias-from-conf).
337
+ dev: Use mris_make_surfaces.dev.
288
338
  no_dev: Do not use mris_make_surfaces.dev (default).
339
+ bbr_con: Set BBR contrast type (default t2).
340
+ bbr_t1: Set BBR contrast type to t1.
289
341
  bbr_t2: Set BBR contrast type to t2.
290
342
  first_peak_d1: Refine surface targets in MRIScomputeBorderValues()\
291
343
  using first peak method D1.
@@ -302,14 +354,20 @@ def conf2hires(
302
354
  execution = runner.start_execution(CONF2HIRES_METADATA)
303
355
  params = conf2hires_params(
304
356
  subject=subject,
357
+ t2=t2,
305
358
  no_t2=no_t2,
306
359
  mm_norm_sigma=mm_norm_sigma,
360
+ flair=flair,
307
361
  no_flair=no_flair,
308
362
  threads=threads,
309
363
  copy_bias_from_conf=copy_bias_from_conf,
310
364
  norm_opts_rca=norm_opts_rca,
365
+ cubic=cubic,
311
366
  trilin=trilin,
367
+ dev=dev,
312
368
  no_dev=no_dev,
369
+ bbr_con=bbr_con,
370
+ bbr_t1=bbr_t1,
313
371
  bbr_t2=bbr_t2,
314
372
  first_peak_d1=first_peak_d1,
315
373
  first_peak_d2=first_peak_d2,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  CONNECTED_COMPONENTS_METADATA = Metadata(
9
- id="415ac7eebb3cd7123aaeb6ad6eb398b6cc1343ba.boutiques",
9
+ id="f1633b5575d9dbbe6d93199947f8505bc14a7d96.boutiques",
10
10
  name="connected_components",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -15,6 +15,9 @@ CONNECTED_COMPONENTS_METADATA = Metadata(
15
15
 
16
16
  ConnectedComponentsParameters = typing.TypedDict('ConnectedComponentsParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["connected_components"],
18
+ "input_image": InputPathType,
19
+ "output_image": str,
20
+ "threshold": typing.NotRequired[float | None],
18
21
  })
19
22
 
20
23
 
@@ -61,17 +64,27 @@ class ConnectedComponentsOutputs(typing.NamedTuple):
61
64
 
62
65
 
63
66
  def connected_components_params(
67
+ input_image: InputPathType,
68
+ output_image: str = "output_labelled_image",
69
+ threshold: float | None = None,
64
70
  ) -> ConnectedComponentsParameters:
65
71
  """
66
72
  Build parameters.
67
73
 
68
74
  Args:
75
+ input_image: Input image file.
76
+ output_image: Output labeled connected components image.
77
+ threshold: Threshold for binarizing the input image.
69
78
  Returns:
70
79
  Parameter dictionary
71
80
  """
72
81
  params = {
73
82
  "__STYXTYPE__": "connected_components",
83
+ "input_image": input_image,
84
+ "output_image": output_image,
74
85
  }
86
+ if threshold is not None:
87
+ params["threshold"] = threshold
75
88
  return params
76
89
 
77
90
 
@@ -90,6 +103,16 @@ def connected_components_cargs(
90
103
  """
91
104
  cargs = []
92
105
  cargs.append("connected_components")
106
+ cargs.append(execution.input_file(params.get("input_image")))
107
+ cargs.extend([
108
+ "-o",
109
+ params.get("output_image")
110
+ ])
111
+ if params.get("threshold") is not None:
112
+ cargs.extend([
113
+ "-t",
114
+ str(params.get("threshold"))
115
+ ])
93
116
  return cargs
94
117
 
95
118
 
@@ -108,7 +131,7 @@ def connected_components_outputs(
108
131
  """
109
132
  ret = ConnectedComponentsOutputs(
110
133
  root=execution.output_file("."),
111
- output_labelled_image_file=execution.output_file("[OUTPUT_IMAGE].nii.gz"),
134
+ output_labelled_image_file=execution.output_file(params.get("output_image") + ".nii.gz"),
112
135
  )
113
136
  return ret
114
137
 
@@ -138,6 +161,9 @@ def connected_components_execute(
138
161
 
139
162
 
140
163
  def connected_components(
164
+ input_image: InputPathType,
165
+ output_image: str = "output_labelled_image",
166
+ threshold: float | None = None,
141
167
  runner: Runner | None = None,
142
168
  ) -> ConnectedComponentsOutputs:
143
169
  """
@@ -148,6 +174,9 @@ def connected_components(
148
174
  URL: https://github.com/freesurfer/freesurfer
149
175
 
150
176
  Args:
177
+ input_image: Input image file.
178
+ output_image: Output labeled connected components image.
179
+ threshold: Threshold for binarizing the input image.
151
180
  runner: Command runner.
152
181
  Returns:
153
182
  NamedTuple of outputs (described in `ConnectedComponentsOutputs`).
@@ -155,6 +184,9 @@ def connected_components(
155
184
  runner = runner or get_global_runner()
156
185
  execution = runner.start_execution(CONNECTED_COMPONENTS_METADATA)
157
186
  params = connected_components_params(
187
+ input_image=input_image,
188
+ output_image=output_image,
189
+ threshold=threshold,
158
190
  )
159
191
  return connected_components_execute(params, execution)
160
192
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DCMDIR_INFO_MGH_METADATA = Metadata(
9
- id="7ccff8790fdd0d584c57e3c31a9bf9ffd1e90e36.boutiques",
9
+ id="162f400a399c275cd7fef293d1d5ad1cd84402e4.boutiques",
10
10
  name="dcmdir-info-mgh",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -112,9 +112,10 @@ def dcmdir_info_mgh_cargs(
112
112
  Command-line arguments.
113
113
  """
114
114
  cargs = []
115
+ cargs.append("dcmdir-info-mgh")
115
116
  cargs.extend([
116
117
  "-mgh",
117
- "dcmdir-info" + params.get("dicomdir")
118
+ params.get("dicomdir")
118
119
  ])
119
120
  if params.get("unpackdir") is not None:
120
121
  cargs.append(params.get("unpackdir"))
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DCMDJPEG_FS_METADATA = Metadata(
9
- id="72def5b0b090531bebd9d33b2cf8001287532af2.boutiques",
9
+ id="23277311b6d3ec67d22170dc491d01934643849c.boutiques",
10
10
  name="dcmdjpeg.fs",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -260,7 +260,7 @@ def dcmdjpeg_fs_cargs(
260
260
  Command-line arguments.
261
261
  """
262
262
  cargs = []
263
- cargs.append("dcmdjpeg")
263
+ cargs.append("dcmdjpeg.fs")
264
264
  cargs.append(execution.input_file(params.get("input_file")))
265
265
  cargs.append(params.get("output_file"))
266
266
  if params.get("help"):
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DCMDRLE_FS_METADATA = Metadata(
9
- id="1c6fdec3b4ee16a344e1e0d5d4e1bcbc79b17f47.boutiques",
9
+ id="b9eeb8b72ae777bc906cf77f646047be70b17380.boutiques",
10
10
  name="dcmdrle.fs",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -221,7 +221,7 @@ def dcmdrle_fs_cargs(
221
221
  Command-line arguments.
222
222
  """
223
223
  cargs = []
224
- cargs.append("dcmdrle")
224
+ cargs.append("dcmdrle.fs")
225
225
  cargs.append(execution.input_file(params.get("input_file")))
226
226
  cargs.append(params.get("output_file"))
227
227
  if params.get("help"):
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DICOM_RENAME_METADATA = Metadata(
9
- id="2eb87845c3a6be71bcd6bb57089f0cd879da57d4.boutiques",
9
+ id="967c36e6f1722cec2c2a414d9307145c8c3ca445.boutiques",
10
10
  name="dicom-rename",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -17,6 +17,8 @@ DicomRenameParameters = typing.TypedDict('DicomRenameParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["dicom-rename"],
18
18
  "input_files": list[InputPathType],
19
19
  "output_base": str,
20
+ "version": bool,
21
+ "help": bool,
20
22
  })
21
23
 
22
24
 
@@ -65,6 +67,8 @@ class DicomRenameOutputs(typing.NamedTuple):
65
67
  def dicom_rename_params(
66
68
  input_files: list[InputPathType],
67
69
  output_base: str,
70
+ version: bool = False,
71
+ help_: bool = False,
68
72
  ) -> DicomRenameParameters:
69
73
  """
70
74
  Build parameters.
@@ -73,6 +77,8 @@ def dicom_rename_params(
73
77
  input_files: Input DICOM files to be renamed.
74
78
  output_base: Base name for output files that includes series and image\
75
79
  numbers.
80
+ version: Print version and exit.
81
+ help_: Print help and exit.
76
82
  Returns:
77
83
  Parameter dictionary
78
84
  """
@@ -80,6 +86,8 @@ def dicom_rename_params(
80
86
  "__STYXTYPE__": "dicom-rename",
81
87
  "input_files": input_files,
82
88
  "output_base": output_base,
89
+ "version": version,
90
+ "help": help_,
83
91
  }
84
92
  return params
85
93
 
@@ -98,14 +106,19 @@ def dicom_rename_cargs(
98
106
  Command-line arguments.
99
107
  """
100
108
  cargs = []
109
+ cargs.append("dicom-rename")
101
110
  cargs.extend([
102
111
  "-rename",
103
- "dicom" + "".join([execution.input_file(f) for f in params.get("input_files")])
112
+ *[execution.input_file(f) for f in params.get("input_files")]
104
113
  ])
105
114
  cargs.extend([
106
115
  "--o",
107
116
  params.get("output_base")
108
117
  ])
118
+ if params.get("version"):
119
+ cargs.append("--version")
120
+ if params.get("help"):
121
+ cargs.append("--help")
109
122
  return cargs
110
123
 
111
124
 
@@ -156,6 +169,8 @@ def dicom_rename_execute(
156
169
  def dicom_rename(
157
170
  input_files: list[InputPathType],
158
171
  output_base: str,
172
+ version: bool = False,
173
+ help_: bool = False,
159
174
  runner: Runner | None = None,
160
175
  ) -> DicomRenameOutputs:
161
176
  """
@@ -169,6 +184,8 @@ def dicom_rename(
169
184
  input_files: Input DICOM files to be renamed.
170
185
  output_base: Base name for output files that includes series and image\
171
186
  numbers.
187
+ version: Print version and exit.
188
+ help_: Print help and exit.
172
189
  runner: Command runner.
173
190
  Returns:
174
191
  NamedTuple of outputs (described in `DicomRenameOutputs`).
@@ -178,6 +195,8 @@ def dicom_rename(
178
195
  params = dicom_rename_params(
179
196
  input_files=input_files,
180
197
  output_base=output_base,
198
+ version=version,
199
+ help_=help_,
181
200
  )
182
201
  return dicom_rename_execute(params, execution)
183
202
 
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DMRI_BSET_METADATA = Metadata(
9
- id="a5ba928b721f328bbae969650915bdc4c218018a.boutiques",
9
+ id="9a9d1299f82ba59a9a11b741685458eb6f480882.boutiques",
10
10
  name="dmri_bset",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -17,6 +17,7 @@ DmriBsetParameters = typing.TypedDict('DmriBsetParameters', {
17
17
  "__STYX_TYPE__": typing.Literal["dmri_bset"],
18
18
  "input_dwi": InputPathType,
19
19
  "output_dwi": str,
20
+ "b_values": typing.NotRequired[list[float] | None],
20
21
  "btol": typing.NotRequired[float | None],
21
22
  "bsort": bool,
22
23
  "bmax": typing.NotRequired[float | None],
@@ -76,6 +77,7 @@ class DmriBsetOutputs(typing.NamedTuple):
76
77
  def dmri_bset_params(
77
78
  input_dwi: InputPathType,
78
79
  output_dwi: str,
80
+ b_values: list[float] | None = None,
79
81
  btol: float | None = 0.05,
80
82
  bsort: bool = False,
81
83
  bmax: float | None = None,
@@ -90,6 +92,7 @@ def dmri_bset_params(
90
92
  Args:
91
93
  input_dwi: Input DWI series.
92
94
  output_dwi: Output DWI series.
95
+ b_values: Extract one or more b-values.
93
96
  btol: Tolerance around each single b-value (default: 0.05).
94
97
  bsort: Reorder output data by b-shell (default: maintain original\
95
98
  order).
@@ -111,6 +114,8 @@ def dmri_bset_params(
111
114
  "output_dwi": output_dwi,
112
115
  "bsort": bsort,
113
116
  }
117
+ if b_values is not None:
118
+ params["b_values"] = b_values
114
119
  if btol is not None:
115
120
  params["btol"] = btol
116
121
  if bmax is not None:
@@ -143,7 +148,11 @@ def dmri_bset_cargs(
143
148
  cargs.append("dmri_bset")
144
149
  cargs.append(execution.input_file(params.get("input_dwi")))
145
150
  cargs.append(params.get("output_dwi"))
146
- cargs.append("[B_VALUES...]")
151
+ if params.get("b_values") is not None:
152
+ cargs.extend([
153
+ "--b",
154
+ *map(str, params.get("b_values"))
155
+ ])
147
156
  if params.get("btol") is not None:
148
157
  cargs.extend([
149
158
  "--btol",
@@ -229,6 +238,7 @@ def dmri_bset_execute(
229
238
  def dmri_bset(
230
239
  input_dwi: InputPathType,
231
240
  output_dwi: str,
241
+ b_values: list[float] | None = None,
232
242
  btol: float | None = 0.05,
233
243
  bsort: bool = False,
234
244
  bmax: float | None = None,
@@ -249,6 +259,7 @@ def dmri_bset(
249
259
  Args:
250
260
  input_dwi: Input DWI series.
251
261
  output_dwi: Output DWI series.
262
+ b_values: Extract one or more b-values.
252
263
  btol: Tolerance around each single b-value (default: 0.05).
253
264
  bsort: Reorder output data by b-shell (default: maintain original\
254
265
  order).
@@ -270,6 +281,7 @@ def dmri_bset(
270
281
  params = dmri_bset_params(
271
282
  input_dwi=input_dwi,
272
283
  output_dwi=output_dwi,
284
+ b_values=b_values,
273
285
  btol=btol,
274
286
  bsort=bsort,
275
287
  bmax=bmax,
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DMRI_FORREST_METADATA = Metadata(
9
- id="dd4542253804128ad899a822733de446938568c4.boutiques",
9
+ id="2c71c0f52e15a044282718015b50d98a2a58e574.boutiques",
10
10
  name="dmri_forrest",
11
11
  package="freesurfer",
12
12
  container_image_tag="freesurfer/freesurfer:7.4.1",
@@ -23,6 +23,7 @@ DmriForrestParameters = typing.TypedDict('DmriForrestParameters', {
23
23
  "diff_file": typing.NotRequired[InputPathType | None],
24
24
  "debug": bool,
25
25
  "checkopts": bool,
26
+ "help": bool,
26
27
  })
27
28
 
28
29
 
@@ -74,6 +75,7 @@ def dmri_forrest_params(
74
75
  diff_file: InputPathType | None = None,
75
76
  debug: bool = False,
76
77
  checkopts: bool = False,
78
+ help_: bool = False,
77
79
  ) -> DmriForrestParameters:
78
80
  """
79
81
  Build parameters.
@@ -88,6 +90,7 @@ def dmri_forrest_params(
88
90
  directory.
89
91
  debug: Turn on debugging mode.
90
92
  checkopts: Only check options and exit.
93
+ help_: Display help information.
91
94
  Returns:
92
95
  Parameter dictionary
93
96
  """
@@ -99,6 +102,7 @@ def dmri_forrest_params(
99
102
  "tract_files": tract_files,
100
103
  "debug": debug,
101
104
  "checkopts": checkopts,
105
+ "help": help_,
102
106
  }
103
107
  if seg_file is not None:
104
108
  params["seg_file"] = seg_file
@@ -152,6 +156,8 @@ def dmri_forrest_cargs(
152
156
  cargs.append("--debug")
153
157
  if params.get("checkopts"):
154
158
  cargs.append("--checkopts")
159
+ if params.get("help"):
160
+ cargs.append("--help")
155
161
  return cargs
156
162
 
157
163
 
@@ -208,6 +214,7 @@ def dmri_forrest(
208
214
  diff_file: InputPathType | None = None,
209
215
  debug: bool = False,
210
216
  checkopts: bool = False,
217
+ help_: bool = False,
211
218
  runner: Runner | None = None,
212
219
  ) -> DmriForrestOutputs:
213
220
  """
@@ -228,6 +235,7 @@ def dmri_forrest(
228
235
  directory.
229
236
  debug: Turn on debugging mode.
230
237
  checkopts: Only check options and exit.
238
+ help_: Display help information.
231
239
  runner: Command runner.
232
240
  Returns:
233
241
  NamedTuple of outputs (described in `DmriForrestOutputs`).
@@ -243,6 +251,7 @@ def dmri_forrest(
243
251
  diff_file=diff_file,
244
252
  debug=debug,
245
253
  checkopts=checkopts,
254
+ help_=help_,
246
255
  )
247
256
  return dmri_forrest_execute(params, execution)
248
257