niwrap-mrtrix 0.6.2__py3-none-any.whl → 0.7.0__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-mrtrix might be problematic. Click here for more details.

Files changed (122) hide show
  1. niwrap_mrtrix/mrtrix/__init__.py +133 -0
  2. niwrap_mrtrix/mrtrix/afdconnectivity.py +59 -68
  3. niwrap_mrtrix/mrtrix/amp2response.py +72 -77
  4. niwrap_mrtrix/mrtrix/amp2sh.py +109 -74
  5. niwrap_mrtrix/mrtrix/connectome2tck.py +77 -79
  6. niwrap_mrtrix/mrtrix/connectomeedit.py +52 -62
  7. niwrap_mrtrix/mrtrix/connectomestats.py +117 -104
  8. niwrap_mrtrix/mrtrix/dcmedit.py +68 -73
  9. niwrap_mrtrix/mrtrix/dcminfo.py +67 -72
  10. niwrap_mrtrix/mrtrix/dirflip.py +56 -66
  11. niwrap_mrtrix/mrtrix/dirgen.py +68 -75
  12. niwrap_mrtrix/mrtrix/dirmerge.py +56 -66
  13. niwrap_mrtrix/mrtrix/dirorder.py +53 -64
  14. niwrap_mrtrix/mrtrix/dirsplit.py +56 -66
  15. niwrap_mrtrix/mrtrix/dirstat.py +70 -75
  16. niwrap_mrtrix/mrtrix/dwi2adc.py +67 -74
  17. niwrap_mrtrix/mrtrix/dwi2fod.py +141 -96
  18. niwrap_mrtrix/mrtrix/dwi2mask.py +70 -76
  19. niwrap_mrtrix/mrtrix/dwi2response.py +238 -157
  20. niwrap_mrtrix/mrtrix/dwi2tensor.py +87 -88
  21. niwrap_mrtrix/mrtrix/dwibiascorrect.py +97 -95
  22. niwrap_mrtrix/mrtrix/dwidenoise.py +67 -74
  23. niwrap_mrtrix/mrtrix/dwiextract.py +143 -99
  24. niwrap_mrtrix/mrtrix/dwigradcheck.py +89 -91
  25. niwrap_mrtrix/mrtrix/fixel2peaks.py +77 -51
  26. niwrap_mrtrix/mrtrix/fixel2sh.py +54 -65
  27. niwrap_mrtrix/mrtrix/fixel2tsf.py +56 -66
  28. niwrap_mrtrix/mrtrix/fixel2voxel.py +62 -70
  29. niwrap_mrtrix/mrtrix/fixelcfestats.py +145 -93
  30. niwrap_mrtrix/mrtrix/fixelconnectivity.py +62 -70
  31. niwrap_mrtrix/mrtrix/fixelconvert.py +136 -69
  32. niwrap_mrtrix/mrtrix/fixelcorrespondence.py +61 -69
  33. niwrap_mrtrix/mrtrix/fixelcrop.py +53 -64
  34. niwrap_mrtrix/mrtrix/fixelfilter.py +139 -71
  35. niwrap_mrtrix/mrtrix/fixelreorient.py +53 -64
  36. niwrap_mrtrix/mrtrix/fod2dec.py +70 -75
  37. niwrap_mrtrix/mrtrix/fod2fixel.py +84 -85
  38. niwrap_mrtrix/mrtrix/label2colour.py +58 -67
  39. niwrap_mrtrix/mrtrix/label2mesh.py +53 -64
  40. niwrap_mrtrix/mrtrix/labelconvert.py +58 -67
  41. niwrap_mrtrix/mrtrix/labelstats.py +53 -63
  42. niwrap_mrtrix/mrtrix/maskdump.py +52 -64
  43. niwrap_mrtrix/mrtrix/maskfilter.py +93 -61
  44. niwrap_mrtrix/mrtrix/mesh2voxel.py +53 -64
  45. niwrap_mrtrix/mrtrix/meshconvert.py +66 -73
  46. niwrap_mrtrix/mrtrix/meshfilter.py +59 -68
  47. niwrap_mrtrix/mrtrix/mraverageheader.py +62 -70
  48. niwrap_mrtrix/mrtrix/mrcalc.py +522 -397
  49. niwrap_mrtrix/mrtrix/mrcat.py +59 -68
  50. niwrap_mrtrix/mrtrix/mrcentroid.py +53 -63
  51. niwrap_mrtrix/mrtrix/mrcheckerboardmask.py +58 -67
  52. niwrap_mrtrix/mrtrix/mrclusterstats.py +119 -105
  53. niwrap_mrtrix/mrtrix/mrcolour.py +62 -70
  54. niwrap_mrtrix/mrtrix/mrconvert.py +275 -173
  55. niwrap_mrtrix/mrtrix/mrdegibbs.py +66 -73
  56. niwrap_mrtrix/mrtrix/mrdump.py +55 -66
  57. niwrap_mrtrix/mrtrix/mredit.py +97 -94
  58. niwrap_mrtrix/mrtrix/mrfilter.py +124 -81
  59. niwrap_mrtrix/mrtrix/mrgrid.py +131 -88
  60. niwrap_mrtrix/mrtrix/mrhistmatch.py +64 -71
  61. niwrap_mrtrix/mrtrix/mrhistogram.py +64 -71
  62. niwrap_mrtrix/mrtrix/mrinfo.py +160 -137
  63. niwrap_mrtrix/mrtrix/mrmath.py +65 -73
  64. niwrap_mrtrix/mrtrix/mrmetric.py +69 -73
  65. niwrap_mrtrix/mrtrix/mrregister.py +263 -212
  66. niwrap_mrtrix/mrtrix/mrstats.py +66 -72
  67. niwrap_mrtrix/mrtrix/mrthreshold.py +80 -81
  68. niwrap_mrtrix/mrtrix/mrtransform.py +162 -109
  69. niwrap_mrtrix/mrtrix/mtnormalise.py +85 -88
  70. niwrap_mrtrix/mrtrix/peaks2amp.py +51 -63
  71. niwrap_mrtrix/mrtrix/peaks2fixel.py +54 -65
  72. niwrap_mrtrix/mrtrix/responsemean.py +51 -62
  73. niwrap_mrtrix/mrtrix/sh2amp.py +98 -65
  74. niwrap_mrtrix/mrtrix/sh2peaks.py +81 -83
  75. niwrap_mrtrix/mrtrix/sh2power.py +53 -64
  76. niwrap_mrtrix/mrtrix/sh2response.py +62 -70
  77. niwrap_mrtrix/mrtrix/shbasis.py +51 -62
  78. niwrap_mrtrix/mrtrix/shconv.py +78 -52
  79. niwrap_mrtrix/mrtrix/tck2connectome.py +93 -88
  80. niwrap_mrtrix/mrtrix/tck2fixel.py +57 -65
  81. niwrap_mrtrix/mrtrix/tckconvert.py +99 -65
  82. niwrap_mrtrix/mrtrix/tckdfc.py +82 -83
  83. niwrap_mrtrix/mrtrix/tckedit.py +240 -122
  84. niwrap_mrtrix/mrtrix/tckgen.py +364 -207
  85. niwrap_mrtrix/mrtrix/tckglobal.py +127 -115
  86. niwrap_mrtrix/mrtrix/tckinfo.py +50 -61
  87. niwrap_mrtrix/mrtrix/tckmap.py +121 -79
  88. niwrap_mrtrix/mrtrix/tckresample.py +97 -93
  89. niwrap_mrtrix/mrtrix/tcksample.py +62 -69
  90. niwrap_mrtrix/mrtrix/tcksift.py +102 -97
  91. niwrap_mrtrix/mrtrix/tcksift2.py +119 -107
  92. niwrap_mrtrix/mrtrix/tckstats.py +72 -78
  93. niwrap_mrtrix/mrtrix/tcktransform.py +53 -64
  94. niwrap_mrtrix/mrtrix/tensor2metric.py +93 -94
  95. niwrap_mrtrix/mrtrix/transformcalc.py +53 -64
  96. niwrap_mrtrix/mrtrix/transformcompose.py +74 -48
  97. niwrap_mrtrix/mrtrix/transformconvert.py +53 -64
  98. niwrap_mrtrix/mrtrix/tsfdivide.py +53 -64
  99. niwrap_mrtrix/mrtrix/tsfinfo.py +53 -63
  100. niwrap_mrtrix/mrtrix/tsfmult.py +51 -63
  101. niwrap_mrtrix/mrtrix/tsfsmooth.py +54 -65
  102. niwrap_mrtrix/mrtrix/tsfthreshold.py +55 -65
  103. niwrap_mrtrix/mrtrix/tsfvalidate.py +50 -61
  104. niwrap_mrtrix/mrtrix/v_5tt2gmwmi.py +54 -65
  105. niwrap_mrtrix/mrtrix/v_5tt2vis.py +69 -75
  106. niwrap_mrtrix/mrtrix/v_5ttcheck.py +51 -62
  107. niwrap_mrtrix/mrtrix/v_5ttedit.py +73 -79
  108. niwrap_mrtrix/mrtrix/v_5ttgen.py +132 -86
  109. niwrap_mrtrix/mrtrix/vectorstats.py +92 -88
  110. niwrap_mrtrix/mrtrix/voxel2fixel.py +54 -63
  111. niwrap_mrtrix/mrtrix/voxel2mesh.py +56 -66
  112. niwrap_mrtrix/mrtrix/warp2metric.py +71 -77
  113. niwrap_mrtrix/mrtrix/warpconvert.py +61 -69
  114. niwrap_mrtrix/mrtrix/warpcorrect.py +61 -71
  115. niwrap_mrtrix/mrtrix/warpinit.py +51 -63
  116. niwrap_mrtrix/mrtrix/warpinvert.py +56 -66
  117. niwrap_mrtrix-0.7.0.dist-info/METADATA +8 -0
  118. niwrap_mrtrix-0.7.0.dist-info/RECORD +119 -0
  119. niwrap_mrtrix-0.7.0.dist-info/WHEEL +4 -0
  120. niwrap_mrtrix-0.6.2.dist-info/METADATA +0 -8
  121. niwrap_mrtrix-0.6.2.dist-info/RECORD +0 -119
  122. niwrap_mrtrix-0.6.2.dist-info/WHEEL +0 -4
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  MRTRANSFORM_METADATA = Metadata(
9
- id="bd7a9863431f4599d0e4e047b564e7aa3b70512f.boutiques",
9
+ id="3eb2d0d1d0da497152ef0293f2b94667de8b3275.boutiques",
10
10
  name="mrtransform",
11
11
  package="mrtrix",
12
12
  container_image_tag="mrtrix3/mrtrix3:3.0.4",
@@ -14,40 +14,100 @@ MRTRANSFORM_METADATA = Metadata(
14
14
 
15
15
 
16
16
  MrtransformFslgradParameters = typing.TypedDict('MrtransformFslgradParameters', {
17
- "__STYXTYPE__": typing.Literal["fslgrad"],
17
+ "@type": typing.NotRequired[typing.Literal["fslgrad"]],
18
+ "bvecs": InputPathType,
19
+ "bvals": InputPathType,
20
+ })
21
+ MrtransformFslgradParametersTagged = typing.TypedDict('MrtransformFslgradParametersTagged', {
22
+ "@type": typing.Literal["fslgrad"],
18
23
  "bvecs": InputPathType,
19
24
  "bvals": InputPathType,
20
25
  })
21
26
 
22
27
 
23
28
  MrtransformExportGradFslParameters = typing.TypedDict('MrtransformExportGradFslParameters', {
24
- "__STYXTYPE__": typing.Literal["export_grad_fsl"],
29
+ "@type": typing.NotRequired[typing.Literal["export_grad_fsl"]],
30
+ "bvecs_path": str,
31
+ "bvals_path": str,
32
+ })
33
+ MrtransformExportGradFslParametersTagged = typing.TypedDict('MrtransformExportGradFslParametersTagged', {
34
+ "@type": typing.Literal["export_grad_fsl"],
25
35
  "bvecs_path": str,
26
36
  "bvals_path": str,
27
37
  })
28
38
 
29
39
 
30
40
  MrtransformVariousStringParameters = typing.TypedDict('MrtransformVariousStringParameters', {
31
- "__STYXTYPE__": typing.Literal["VariousString"],
41
+ "@type": typing.NotRequired[typing.Literal["VariousString"]],
42
+ "obj": str,
43
+ })
44
+ MrtransformVariousStringParametersTagged = typing.TypedDict('MrtransformVariousStringParametersTagged', {
45
+ "@type": typing.Literal["VariousString"],
32
46
  "obj": str,
33
47
  })
34
48
 
35
49
 
36
50
  MrtransformVariousFileParameters = typing.TypedDict('MrtransformVariousFileParameters', {
37
- "__STYXTYPE__": typing.Literal["VariousFile"],
51
+ "@type": typing.NotRequired[typing.Literal["VariousFile"]],
52
+ "obj": InputPathType,
53
+ })
54
+ MrtransformVariousFileParametersTagged = typing.TypedDict('MrtransformVariousFileParametersTagged', {
55
+ "@type": typing.Literal["VariousFile"],
38
56
  "obj": InputPathType,
39
57
  })
40
58
 
41
59
 
42
60
  MrtransformConfigParameters = typing.TypedDict('MrtransformConfigParameters', {
43
- "__STYXTYPE__": typing.Literal["config"],
61
+ "@type": typing.NotRequired[typing.Literal["config"]],
62
+ "key": str,
63
+ "value": str,
64
+ })
65
+ MrtransformConfigParametersTagged = typing.TypedDict('MrtransformConfigParametersTagged', {
66
+ "@type": typing.Literal["config"],
44
67
  "key": str,
45
68
  "value": str,
46
69
  })
47
70
 
48
71
 
49
72
  MrtransformParameters = typing.TypedDict('MrtransformParameters', {
50
- "__STYXTYPE__": typing.Literal["mrtransform"],
73
+ "@type": typing.NotRequired[typing.Literal["mrtrix/mrtransform"]],
74
+ "linear": typing.NotRequired[InputPathType | None],
75
+ "flip": typing.NotRequired[list[int] | None],
76
+ "inverse": bool,
77
+ "half": bool,
78
+ "replace": typing.NotRequired[InputPathType | None],
79
+ "identity": bool,
80
+ "template": typing.NotRequired[InputPathType | None],
81
+ "midway_space": bool,
82
+ "interp": typing.NotRequired[str | None],
83
+ "oversample": typing.NotRequired[list[int] | None],
84
+ "warp": typing.NotRequired[InputPathType | None],
85
+ "warp_full": typing.NotRequired[InputPathType | None],
86
+ "from": typing.NotRequired[int | None],
87
+ "modulate": typing.NotRequired[str | None],
88
+ "directions": typing.NotRequired[InputPathType | None],
89
+ "reorient_fod": typing.NotRequired[str | None],
90
+ "grad": typing.NotRequired[InputPathType | None],
91
+ "fslgrad": typing.NotRequired[MrtransformFslgradParameters | None],
92
+ "export_grad_mrtrix": typing.NotRequired[str | None],
93
+ "export_grad_fsl": typing.NotRequired[MrtransformExportGradFslParameters | None],
94
+ "datatype": typing.NotRequired[str | None],
95
+ "strides": typing.NotRequired[typing.Union[MrtransformVariousStringParametersTagged, MrtransformVariousFileParametersTagged] | None],
96
+ "nan": bool,
97
+ "no_reorientation": bool,
98
+ "info": bool,
99
+ "quiet": bool,
100
+ "debug": bool,
101
+ "force": bool,
102
+ "nthreads": typing.NotRequired[int | None],
103
+ "config": typing.NotRequired[list[MrtransformConfigParameters] | None],
104
+ "help": bool,
105
+ "version": bool,
106
+ "input": InputPathType,
107
+ "output": str,
108
+ })
109
+ MrtransformParametersTagged = typing.TypedDict('MrtransformParametersTagged', {
110
+ "@type": typing.Literal["mrtrix/mrtransform"],
51
111
  "linear": typing.NotRequired[InputPathType | None],
52
112
  "flip": typing.NotRequired[list[int] | None],
53
113
  "inverse": bool,
@@ -69,7 +129,7 @@ MrtransformParameters = typing.TypedDict('MrtransformParameters', {
69
129
  "export_grad_mrtrix": typing.NotRequired[str | None],
70
130
  "export_grad_fsl": typing.NotRequired[MrtransformExportGradFslParameters | None],
71
131
  "datatype": typing.NotRequired[str | None],
72
- "strides": typing.NotRequired[typing.Union[MrtransformVariousStringParameters, MrtransformVariousFileParameters] | None],
132
+ "strides": typing.NotRequired[typing.Union[MrtransformVariousStringParametersTagged, MrtransformVariousFileParametersTagged] | None],
73
133
  "nan": bool,
74
134
  "no_reorientation": bool,
75
135
  "info": bool,
@@ -85,7 +145,7 @@ MrtransformParameters = typing.TypedDict('MrtransformParameters', {
85
145
  })
86
146
 
87
147
 
88
- def dyn_cargs(
148
+ def mrtransform_strides_cargs_dyn_fn(
89
149
  t: str,
90
150
  ) -> typing.Any:
91
151
  """
@@ -97,16 +157,12 @@ def dyn_cargs(
97
157
  Build cargs function.
98
158
  """
99
159
  return {
100
- "mrtransform": mrtransform_cargs,
101
- "fslgrad": mrtransform_fslgrad_cargs,
102
- "export_grad_fsl": mrtransform_export_grad_fsl_cargs,
103
160
  "VariousString": mrtransform_various_string_cargs,
104
161
  "VariousFile": mrtransform_various_file_cargs,
105
- "config": mrtransform_config_cargs,
106
162
  }.get(t)
107
163
 
108
164
 
109
- def dyn_outputs(
165
+ def mrtransform_strides_outputs_dyn_fn(
110
166
  t: str,
111
167
  ) -> typing.Any:
112
168
  """
@@ -118,15 +174,13 @@ def dyn_outputs(
118
174
  Build outputs function.
119
175
  """
120
176
  return {
121
- "mrtransform": mrtransform_outputs,
122
- "export_grad_fsl": mrtransform_export_grad_fsl_outputs,
123
177
  }.get(t)
124
178
 
125
179
 
126
180
  def mrtransform_fslgrad_params(
127
181
  bvecs: InputPathType,
128
182
  bvals: InputPathType,
129
- ) -> MrtransformFslgradParameters:
183
+ ) -> MrtransformFslgradParametersTagged:
130
184
  """
131
185
  Build parameters.
132
186
 
@@ -143,7 +197,7 @@ def mrtransform_fslgrad_params(
143
197
  Parameter dictionary
144
198
  """
145
199
  params = {
146
- "__STYXTYPE__": "fslgrad",
200
+ "@type": "fslgrad",
147
201
  "bvecs": bvecs,
148
202
  "bvals": bvals,
149
203
  }
@@ -165,8 +219,8 @@ def mrtransform_fslgrad_cargs(
165
219
  """
166
220
  cargs = []
167
221
  cargs.append("-fslgrad")
168
- cargs.append(execution.input_file(params.get("bvecs")))
169
- cargs.append(execution.input_file(params.get("bvals")))
222
+ cargs.append(execution.input_file(params.get("bvecs", None)))
223
+ cargs.append(execution.input_file(params.get("bvals", None)))
170
224
  return cargs
171
225
 
172
226
 
@@ -187,7 +241,7 @@ class MrtransformExportGradFslOutputs(typing.NamedTuple):
187
241
  def mrtransform_export_grad_fsl_params(
188
242
  bvecs_path: str,
189
243
  bvals_path: str,
190
- ) -> MrtransformExportGradFslParameters:
244
+ ) -> MrtransformExportGradFslParametersTagged:
191
245
  """
192
246
  Build parameters.
193
247
 
@@ -200,7 +254,7 @@ def mrtransform_export_grad_fsl_params(
200
254
  Parameter dictionary
201
255
  """
202
256
  params = {
203
- "__STYXTYPE__": "export_grad_fsl",
257
+ "@type": "export_grad_fsl",
204
258
  "bvecs_path": bvecs_path,
205
259
  "bvals_path": bvals_path,
206
260
  }
@@ -222,8 +276,8 @@ def mrtransform_export_grad_fsl_cargs(
222
276
  """
223
277
  cargs = []
224
278
  cargs.append("-export_grad_fsl")
225
- cargs.append(params.get("bvecs_path"))
226
- cargs.append(params.get("bvals_path"))
279
+ cargs.append(params.get("bvecs_path", None))
280
+ cargs.append(params.get("bvals_path", None))
227
281
  return cargs
228
282
 
229
283
 
@@ -242,15 +296,15 @@ def mrtransform_export_grad_fsl_outputs(
242
296
  """
243
297
  ret = MrtransformExportGradFslOutputs(
244
298
  root=execution.output_file("."),
245
- bvecs_path=execution.output_file(params.get("bvecs_path")),
246
- bvals_path=execution.output_file(params.get("bvals_path")),
299
+ bvecs_path=execution.output_file(params.get("bvecs_path", None)),
300
+ bvals_path=execution.output_file(params.get("bvals_path", None)),
247
301
  )
248
302
  return ret
249
303
 
250
304
 
251
305
  def mrtransform_various_string_params(
252
306
  obj: str,
253
- ) -> MrtransformVariousStringParameters:
307
+ ) -> MrtransformVariousStringParametersTagged:
254
308
  """
255
309
  Build parameters.
256
310
 
@@ -260,7 +314,7 @@ def mrtransform_various_string_params(
260
314
  Parameter dictionary
261
315
  """
262
316
  params = {
263
- "__STYXTYPE__": "VariousString",
317
+ "@type": "VariousString",
264
318
  "obj": obj,
265
319
  }
266
320
  return params
@@ -280,13 +334,13 @@ def mrtransform_various_string_cargs(
280
334
  Command-line arguments.
281
335
  """
282
336
  cargs = []
283
- cargs.append(params.get("obj"))
337
+ cargs.append(params.get("obj", None))
284
338
  return cargs
285
339
 
286
340
 
287
341
  def mrtransform_various_file_params(
288
342
  obj: InputPathType,
289
- ) -> MrtransformVariousFileParameters:
343
+ ) -> MrtransformVariousFileParametersTagged:
290
344
  """
291
345
  Build parameters.
292
346
 
@@ -296,7 +350,7 @@ def mrtransform_various_file_params(
296
350
  Parameter dictionary
297
351
  """
298
352
  params = {
299
- "__STYXTYPE__": "VariousFile",
353
+ "@type": "VariousFile",
300
354
  "obj": obj,
301
355
  }
302
356
  return params
@@ -316,14 +370,14 @@ def mrtransform_various_file_cargs(
316
370
  Command-line arguments.
317
371
  """
318
372
  cargs = []
319
- cargs.append(execution.input_file(params.get("obj")))
373
+ cargs.append(execution.input_file(params.get("obj", None)))
320
374
  return cargs
321
375
 
322
376
 
323
377
  def mrtransform_config_params(
324
378
  key: str,
325
379
  value: str,
326
- ) -> MrtransformConfigParameters:
380
+ ) -> MrtransformConfigParametersTagged:
327
381
  """
328
382
  Build parameters.
329
383
 
@@ -334,7 +388,7 @@ def mrtransform_config_params(
334
388
  Parameter dictionary
335
389
  """
336
390
  params = {
337
- "__STYXTYPE__": "config",
391
+ "@type": "config",
338
392
  "key": key,
339
393
  "value": value,
340
394
  }
@@ -356,14 +410,14 @@ def mrtransform_config_cargs(
356
410
  """
357
411
  cargs = []
358
412
  cargs.append("-config")
359
- cargs.append(params.get("key"))
360
- cargs.append(params.get("value"))
413
+ cargs.append(params.get("key", None))
414
+ cargs.append(params.get("value", None))
361
415
  return cargs
362
416
 
363
417
 
364
418
  class MrtransformOutputs(typing.NamedTuple):
365
419
  """
366
- Output object returned when calling `mrtransform(...)`.
420
+ Output object returned when calling `MrtransformParameters(...)`.
367
421
  """
368
422
  root: OutputPathType
369
423
  """Output root folder. This is the root folder for all outputs."""
@@ -399,7 +453,7 @@ def mrtransform_params(
399
453
  export_grad_mrtrix: str | None = None,
400
454
  export_grad_fsl: MrtransformExportGradFslParameters | None = None,
401
455
  datatype: str | None = None,
402
- strides: typing.Union[MrtransformVariousStringParameters, MrtransformVariousFileParameters] | None = None,
456
+ strides: typing.Union[MrtransformVariousStringParametersTagged, MrtransformVariousFileParametersTagged] | None = None,
403
457
  nan: bool = False,
404
458
  no_reorientation: bool = False,
405
459
  info: bool = False,
@@ -410,7 +464,7 @@ def mrtransform_params(
410
464
  config: list[MrtransformConfigParameters] | None = None,
411
465
  help_: bool = False,
412
466
  version: bool = False,
413
- ) -> MrtransformParameters:
467
+ ) -> MrtransformParametersTagged:
414
468
  """
415
469
  Build parameters.
416
470
 
@@ -526,7 +580,7 @@ def mrtransform_params(
526
580
  Parameter dictionary
527
581
  """
528
582
  params = {
529
- "__STYXTYPE__": "mrtransform",
583
+ "@type": "mrtrix/mrtransform",
530
584
  "inverse": inverse,
531
585
  "half": half,
532
586
  "identity": identity,
@@ -600,123 +654,123 @@ def mrtransform_cargs(
600
654
  """
601
655
  cargs = []
602
656
  cargs.append("mrtransform")
603
- if params.get("linear") is not None:
657
+ if params.get("linear", None) is not None:
604
658
  cargs.extend([
605
659
  "-linear",
606
- execution.input_file(params.get("linear"))
660
+ execution.input_file(params.get("linear", None))
607
661
  ])
608
- if params.get("flip") is not None:
662
+ if params.get("flip", None) is not None:
609
663
  cargs.extend([
610
664
  "-flip",
611
- ",".join(map(str, params.get("flip")))
665
+ ",".join(map(str, params.get("flip", None)))
612
666
  ])
613
- if params.get("inverse"):
667
+ if params.get("inverse", False):
614
668
  cargs.append("-inverse")
615
- if params.get("half"):
669
+ if params.get("half", False):
616
670
  cargs.append("-half")
617
- if params.get("replace") is not None:
671
+ if params.get("replace", None) is not None:
618
672
  cargs.extend([
619
673
  "-replace",
620
- execution.input_file(params.get("replace"))
674
+ execution.input_file(params.get("replace", None))
621
675
  ])
622
- if params.get("identity"):
676
+ if params.get("identity", False):
623
677
  cargs.append("-identity")
624
- if params.get("template") is not None:
678
+ if params.get("template", None) is not None:
625
679
  cargs.extend([
626
680
  "-template",
627
- execution.input_file(params.get("template"))
681
+ execution.input_file(params.get("template", None))
628
682
  ])
629
- if params.get("midway_space"):
683
+ if params.get("midway_space", False):
630
684
  cargs.append("-midway_space")
631
- if params.get("interp") is not None:
685
+ if params.get("interp", None) is not None:
632
686
  cargs.extend([
633
687
  "-interp",
634
- params.get("interp")
688
+ params.get("interp", None)
635
689
  ])
636
- if params.get("oversample") is not None:
690
+ if params.get("oversample", None) is not None:
637
691
  cargs.extend([
638
692
  "-oversample",
639
- ",".join(map(str, params.get("oversample")))
693
+ ",".join(map(str, params.get("oversample", None)))
640
694
  ])
641
- if params.get("warp") is not None:
695
+ if params.get("warp", None) is not None:
642
696
  cargs.extend([
643
697
  "-warp",
644
- execution.input_file(params.get("warp"))
698
+ execution.input_file(params.get("warp", None))
645
699
  ])
646
- if params.get("warp_full") is not None:
700
+ if params.get("warp_full", None) is not None:
647
701
  cargs.extend([
648
702
  "-warp_full",
649
- execution.input_file(params.get("warp_full"))
703
+ execution.input_file(params.get("warp_full", None))
650
704
  ])
651
- if params.get("from") is not None:
705
+ if params.get("from", None) is not None:
652
706
  cargs.extend([
653
707
  "-from",
654
- str(params.get("from"))
708
+ str(params.get("from", None))
655
709
  ])
656
- if params.get("modulate") is not None:
710
+ if params.get("modulate", None) is not None:
657
711
  cargs.extend([
658
712
  "-modulate",
659
- params.get("modulate")
713
+ params.get("modulate", None)
660
714
  ])
661
- if params.get("directions") is not None:
715
+ if params.get("directions", None) is not None:
662
716
  cargs.extend([
663
717
  "-directions",
664
- execution.input_file(params.get("directions"))
718
+ execution.input_file(params.get("directions", None))
665
719
  ])
666
- if params.get("reorient_fod") is not None:
720
+ if params.get("reorient_fod", None) is not None:
667
721
  cargs.extend([
668
722
  "-reorient_fod",
669
- params.get("reorient_fod")
723
+ params.get("reorient_fod", None)
670
724
  ])
671
- if params.get("grad") is not None:
725
+ if params.get("grad", None) is not None:
672
726
  cargs.extend([
673
727
  "-grad",
674
- execution.input_file(params.get("grad"))
728
+ execution.input_file(params.get("grad", None))
675
729
  ])
676
- if params.get("fslgrad") is not None:
677
- cargs.extend(dyn_cargs(params.get("fslgrad")["__STYXTYPE__"])(params.get("fslgrad"), execution))
678
- if params.get("export_grad_mrtrix") is not None:
730
+ if params.get("fslgrad", None) is not None:
731
+ cargs.extend(mrtransform_fslgrad_cargs(params.get("fslgrad", None), execution))
732
+ if params.get("export_grad_mrtrix", None) is not None:
679
733
  cargs.extend([
680
734
  "-export_grad_mrtrix",
681
- params.get("export_grad_mrtrix")
735
+ params.get("export_grad_mrtrix", None)
682
736
  ])
683
- if params.get("export_grad_fsl") is not None:
684
- cargs.extend(dyn_cargs(params.get("export_grad_fsl")["__STYXTYPE__"])(params.get("export_grad_fsl"), execution))
685
- if params.get("datatype") is not None:
737
+ if params.get("export_grad_fsl", None) is not None:
738
+ cargs.extend(mrtransform_export_grad_fsl_cargs(params.get("export_grad_fsl", None), execution))
739
+ if params.get("datatype", None) is not None:
686
740
  cargs.extend([
687
741
  "-datatype",
688
- params.get("datatype")
742
+ params.get("datatype", None)
689
743
  ])
690
- if params.get("strides") is not None:
744
+ if params.get("strides", None) is not None:
691
745
  cargs.extend([
692
746
  "-strides",
693
- *dyn_cargs(params.get("strides")["__STYXTYPE__"])(params.get("strides"), execution)
747
+ *mrtransform_strides_cargs_dyn_fn(params.get("strides", None)["@type"])(params.get("strides", None), execution)
694
748
  ])
695
- if params.get("nan"):
749
+ if params.get("nan", False):
696
750
  cargs.append("-nan")
697
- if params.get("no_reorientation"):
751
+ if params.get("no_reorientation", False):
698
752
  cargs.append("-no_reorientation")
699
- if params.get("info"):
753
+ if params.get("info", False):
700
754
  cargs.append("-info")
701
- if params.get("quiet"):
755
+ if params.get("quiet", False):
702
756
  cargs.append("-quiet")
703
- if params.get("debug"):
757
+ if params.get("debug", False):
704
758
  cargs.append("-debug")
705
- if params.get("force"):
759
+ if params.get("force", False):
706
760
  cargs.append("-force")
707
- if params.get("nthreads") is not None:
761
+ if params.get("nthreads", None) is not None:
708
762
  cargs.extend([
709
763
  "-nthreads",
710
- str(params.get("nthreads"))
764
+ str(params.get("nthreads", None))
711
765
  ])
712
- if params.get("config") is not None:
713
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
714
- if params.get("help"):
766
+ if params.get("config", None) is not None:
767
+ cargs.extend([a for c in [mrtransform_config_cargs(s, execution) for s in params.get("config", None)] for a in c])
768
+ if params.get("help", False):
715
769
  cargs.append("-help")
716
- if params.get("version"):
770
+ if params.get("version", False):
717
771
  cargs.append("-version")
718
- cargs.append(execution.input_file(params.get("input")))
719
- cargs.append(params.get("output"))
772
+ cargs.append(execution.input_file(params.get("input", None)))
773
+ cargs.append(params.get("output", None))
720
774
  return cargs
721
775
 
722
776
 
@@ -735,18 +789,20 @@ def mrtransform_outputs(
735
789
  """
736
790
  ret = MrtransformOutputs(
737
791
  root=execution.output_file("."),
738
- output=execution.output_file(params.get("output")),
739
- export_grad_mrtrix=execution.output_file(params.get("export_grad_mrtrix")) if (params.get("export_grad_mrtrix") is not None) else None,
740
- export_grad_fsl=dyn_outputs(params.get("export_grad_fsl")["__STYXTYPE__"])(params.get("export_grad_fsl"), execution) if params.get("export_grad_fsl") else None,
792
+ output=execution.output_file(params.get("output", None)),
793
+ export_grad_mrtrix=execution.output_file(params.get("export_grad_mrtrix", None)) if (params.get("export_grad_mrtrix") is not None) else None,
794
+ export_grad_fsl=mrtransform_export_grad_fsl_outputs(params.get("export_grad_fsl"), execution) if params.get("export_grad_fsl") else None,
741
795
  )
742
796
  return ret
743
797
 
744
798
 
745
799
  def mrtransform_execute(
746
800
  params: MrtransformParameters,
747
- execution: Execution,
801
+ runner: Runner | None = None,
748
802
  ) -> MrtransformOutputs:
749
803
  """
804
+ mrtransform
805
+
750
806
  Apply spatial transformations to an image.
751
807
 
752
808
  If a linear transform is applied without a template image the command will
@@ -794,10 +850,12 @@ def mrtransform_execute(
794
850
 
795
851
  Args:
796
852
  params: The parameters.
797
- execution: The execution object.
853
+ runner: Command runner.
798
854
  Returns:
799
855
  NamedTuple of outputs (described in `MrtransformOutputs`).
800
856
  """
857
+ runner = runner or get_global_runner()
858
+ execution = runner.start_execution(MRTRANSFORM_METADATA)
801
859
  params = execution.params(params)
802
860
  cargs = mrtransform_cargs(params, execution)
803
861
  ret = mrtransform_outputs(params, execution)
@@ -829,7 +887,7 @@ def mrtransform(
829
887
  export_grad_mrtrix: str | None = None,
830
888
  export_grad_fsl: MrtransformExportGradFslParameters | None = None,
831
889
  datatype: str | None = None,
832
- strides: typing.Union[MrtransformVariousStringParameters, MrtransformVariousFileParameters] | None = None,
890
+ strides: typing.Union[MrtransformVariousStringParametersTagged, MrtransformVariousFileParametersTagged] | None = None,
833
891
  nan: bool = False,
834
892
  no_reorientation: bool = False,
835
893
  info: bool = False,
@@ -843,6 +901,8 @@ def mrtransform(
843
901
  runner: Runner | None = None,
844
902
  ) -> MrtransformOutputs:
845
903
  """
904
+ mrtransform
905
+
846
906
  Apply spatial transformations to an image.
847
907
 
848
908
  If a linear transform is applied without a template image the command will
@@ -1000,8 +1060,6 @@ def mrtransform(
1000
1060
  Returns:
1001
1061
  NamedTuple of outputs (described in `MrtransformOutputs`).
1002
1062
  """
1003
- runner = runner or get_global_runner()
1004
- execution = runner.start_execution(MRTRANSFORM_METADATA)
1005
1063
  params = mrtransform_params(
1006
1064
  linear=linear,
1007
1065
  flip=flip,
@@ -1038,21 +1096,16 @@ def mrtransform(
1038
1096
  input_=input_,
1039
1097
  output=output,
1040
1098
  )
1041
- return mrtransform_execute(params, execution)
1099
+ return mrtransform_execute(params, runner)
1042
1100
 
1043
1101
 
1044
1102
  __all__ = [
1045
1103
  "MRTRANSFORM_METADATA",
1046
- "MrtransformConfigParameters",
1047
1104
  "MrtransformExportGradFslOutputs",
1048
- "MrtransformExportGradFslParameters",
1049
- "MrtransformFslgradParameters",
1050
1105
  "MrtransformOutputs",
1051
- "MrtransformParameters",
1052
- "MrtransformVariousFileParameters",
1053
- "MrtransformVariousStringParameters",
1054
1106
  "mrtransform",
1055
1107
  "mrtransform_config_params",
1108
+ "mrtransform_execute",
1056
1109
  "mrtransform_export_grad_fsl_params",
1057
1110
  "mrtransform_fslgrad_params",
1058
1111
  "mrtransform_params",