niwrap-mrtrix 0.6.3__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.3.dist-info/METADATA +0 -8
  121. niwrap_mrtrix-0.6.3.dist-info/RECORD +0 -119
  122. niwrap_mrtrix-0.6.3.dist-info/WHEEL +0 -4
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  MRCHECKERBOARDMASK_METADATA = Metadata(
9
- id="a3b0ea1bbc979f69d0d7f7f9d44b33ccf51605d8.boutiques",
9
+ id="f1aa53a7b6030f421a6e8c4455b70ae4ec643303.boutiques",
10
10
  name="mrcheckerboardmask",
11
11
  package="mrtrix",
12
12
  container_image_tag="mrtrix3/mrtrix3:3.0.4",
@@ -14,14 +14,35 @@ MRCHECKERBOARDMASK_METADATA = Metadata(
14
14
 
15
15
 
16
16
  MrcheckerboardmaskConfigParameters = typing.TypedDict('MrcheckerboardmaskConfigParameters', {
17
- "__STYXTYPE__": typing.Literal["config"],
17
+ "@type": typing.NotRequired[typing.Literal["config"]],
18
+ "key": str,
19
+ "value": str,
20
+ })
21
+ MrcheckerboardmaskConfigParametersTagged = typing.TypedDict('MrcheckerboardmaskConfigParametersTagged', {
22
+ "@type": typing.Literal["config"],
18
23
  "key": str,
19
24
  "value": str,
20
25
  })
21
26
 
22
27
 
23
28
  MrcheckerboardmaskParameters = typing.TypedDict('MrcheckerboardmaskParameters', {
24
- "__STYXTYPE__": typing.Literal["mrcheckerboardmask"],
29
+ "@type": typing.NotRequired[typing.Literal["mrtrix/mrcheckerboardmask"]],
30
+ "tiles": typing.NotRequired[int | None],
31
+ "invert": bool,
32
+ "nan": bool,
33
+ "info": bool,
34
+ "quiet": bool,
35
+ "debug": bool,
36
+ "force": bool,
37
+ "nthreads": typing.NotRequired[int | None],
38
+ "config": typing.NotRequired[list[MrcheckerboardmaskConfigParameters] | None],
39
+ "help": bool,
40
+ "version": bool,
41
+ "input": InputPathType,
42
+ "output": str,
43
+ })
44
+ MrcheckerboardmaskParametersTagged = typing.TypedDict('MrcheckerboardmaskParametersTagged', {
45
+ "@type": typing.Literal["mrtrix/mrcheckerboardmask"],
25
46
  "tiles": typing.NotRequired[int | None],
26
47
  "invert": bool,
27
48
  "nan": bool,
@@ -36,45 +57,12 @@ MrcheckerboardmaskParameters = typing.TypedDict('MrcheckerboardmaskParameters',
36
57
  "input": InputPathType,
37
58
  "output": str,
38
59
  })
39
-
40
-
41
- def dyn_cargs(
42
- t: str,
43
- ) -> typing.Any:
44
- """
45
- Get build cargs function by command type.
46
-
47
- Args:
48
- t: Command type.
49
- Returns:
50
- Build cargs function.
51
- """
52
- return {
53
- "mrcheckerboardmask": mrcheckerboardmask_cargs,
54
- "config": mrcheckerboardmask_config_cargs,
55
- }.get(t)
56
-
57
-
58
- def dyn_outputs(
59
- t: str,
60
- ) -> typing.Any:
61
- """
62
- Get build outputs function by command type.
63
-
64
- Args:
65
- t: Command type.
66
- Returns:
67
- Build outputs function.
68
- """
69
- return {
70
- "mrcheckerboardmask": mrcheckerboardmask_outputs,
71
- }.get(t)
72
60
 
73
61
 
74
62
  def mrcheckerboardmask_config_params(
75
63
  key: str,
76
64
  value: str,
77
- ) -> MrcheckerboardmaskConfigParameters:
65
+ ) -> MrcheckerboardmaskConfigParametersTagged:
78
66
  """
79
67
  Build parameters.
80
68
 
@@ -85,7 +73,7 @@ def mrcheckerboardmask_config_params(
85
73
  Parameter dictionary
86
74
  """
87
75
  params = {
88
- "__STYXTYPE__": "config",
76
+ "@type": "config",
89
77
  "key": key,
90
78
  "value": value,
91
79
  }
@@ -107,14 +95,14 @@ def mrcheckerboardmask_config_cargs(
107
95
  """
108
96
  cargs = []
109
97
  cargs.append("-config")
110
- cargs.append(params.get("key"))
111
- cargs.append(params.get("value"))
98
+ cargs.append(params.get("key", None))
99
+ cargs.append(params.get("value", None))
112
100
  return cargs
113
101
 
114
102
 
115
103
  class MrcheckerboardmaskOutputs(typing.NamedTuple):
116
104
  """
117
- Output object returned when calling `mrcheckerboardmask(...)`.
105
+ Output object returned when calling `MrcheckerboardmaskParameters(...)`.
118
106
  """
119
107
  root: OutputPathType
120
108
  """Output root folder. This is the root folder for all outputs."""
@@ -136,7 +124,7 @@ def mrcheckerboardmask_params(
136
124
  config: list[MrcheckerboardmaskConfigParameters] | None = None,
137
125
  help_: bool = False,
138
126
  version: bool = False,
139
- ) -> MrcheckerboardmaskParameters:
127
+ ) -> MrcheckerboardmaskParametersTagged:
140
128
  """
141
129
  Build parameters.
142
130
 
@@ -162,7 +150,7 @@ def mrcheckerboardmask_params(
162
150
  Parameter dictionary
163
151
  """
164
152
  params = {
165
- "__STYXTYPE__": "mrcheckerboardmask",
153
+ "@type": "mrtrix/mrcheckerboardmask",
166
154
  "invert": invert,
167
155
  "nan": nan,
168
156
  "info": info,
@@ -198,36 +186,36 @@ def mrcheckerboardmask_cargs(
198
186
  """
199
187
  cargs = []
200
188
  cargs.append("mrcheckerboardmask")
201
- if params.get("tiles") is not None:
189
+ if params.get("tiles", None) is not None:
202
190
  cargs.extend([
203
191
  "-tiles",
204
- str(params.get("tiles"))
192
+ str(params.get("tiles", None))
205
193
  ])
206
- if params.get("invert"):
194
+ if params.get("invert", False):
207
195
  cargs.append("-invert")
208
- if params.get("nan"):
196
+ if params.get("nan", False):
209
197
  cargs.append("-nan")
210
- if params.get("info"):
198
+ if params.get("info", False):
211
199
  cargs.append("-info")
212
- if params.get("quiet"):
200
+ if params.get("quiet", False):
213
201
  cargs.append("-quiet")
214
- if params.get("debug"):
202
+ if params.get("debug", False):
215
203
  cargs.append("-debug")
216
- if params.get("force"):
204
+ if params.get("force", False):
217
205
  cargs.append("-force")
218
- if params.get("nthreads") is not None:
206
+ if params.get("nthreads", None) is not None:
219
207
  cargs.extend([
220
208
  "-nthreads",
221
- str(params.get("nthreads"))
209
+ str(params.get("nthreads", None))
222
210
  ])
223
- if params.get("config") is not None:
224
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
225
- if params.get("help"):
211
+ if params.get("config", None) is not None:
212
+ cargs.extend([a for c in [mrcheckerboardmask_config_cargs(s, execution) for s in params.get("config", None)] for a in c])
213
+ if params.get("help", False):
226
214
  cargs.append("-help")
227
- if params.get("version"):
215
+ if params.get("version", False):
228
216
  cargs.append("-version")
229
- cargs.append(execution.input_file(params.get("input")))
230
- cargs.append(params.get("output"))
217
+ cargs.append(execution.input_file(params.get("input", None)))
218
+ cargs.append(params.get("output", None))
231
219
  return cargs
232
220
 
233
221
 
@@ -246,16 +234,18 @@ def mrcheckerboardmask_outputs(
246
234
  """
247
235
  ret = MrcheckerboardmaskOutputs(
248
236
  root=execution.output_file("."),
249
- output=execution.output_file(params.get("output")),
237
+ output=execution.output_file(params.get("output", None)),
250
238
  )
251
239
  return ret
252
240
 
253
241
 
254
242
  def mrcheckerboardmask_execute(
255
243
  params: MrcheckerboardmaskParameters,
256
- execution: Execution,
244
+ runner: Runner | None = None,
257
245
  ) -> MrcheckerboardmaskOutputs:
258
246
  """
247
+ mrcheckerboardmask
248
+
259
249
  Create bitwise checkerboard image.
260
250
 
261
251
 
@@ -270,10 +260,12 @@ def mrcheckerboardmask_execute(
270
260
 
271
261
  Args:
272
262
  params: The parameters.
273
- execution: The execution object.
263
+ runner: Command runner.
274
264
  Returns:
275
265
  NamedTuple of outputs (described in `MrcheckerboardmaskOutputs`).
276
266
  """
267
+ runner = runner or get_global_runner()
268
+ execution = runner.start_execution(MRCHECKERBOARDMASK_METADATA)
277
269
  params = execution.params(params)
278
270
  cargs = mrcheckerboardmask_cargs(params, execution)
279
271
  ret = mrcheckerboardmask_outputs(params, execution)
@@ -298,6 +290,8 @@ def mrcheckerboardmask(
298
290
  runner: Runner | None = None,
299
291
  ) -> MrcheckerboardmaskOutputs:
300
292
  """
293
+ mrcheckerboardmask
294
+
301
295
  Create bitwise checkerboard image.
302
296
 
303
297
 
@@ -332,8 +326,6 @@ def mrcheckerboardmask(
332
326
  Returns:
333
327
  NamedTuple of outputs (described in `MrcheckerboardmaskOutputs`).
334
328
  """
335
- runner = runner or get_global_runner()
336
- execution = runner.start_execution(MRCHECKERBOARDMASK_METADATA)
337
329
  params = mrcheckerboardmask_params(
338
330
  tiles=tiles,
339
331
  invert=invert,
@@ -349,15 +341,14 @@ def mrcheckerboardmask(
349
341
  input_=input_,
350
342
  output=output,
351
343
  )
352
- return mrcheckerboardmask_execute(params, execution)
344
+ return mrcheckerboardmask_execute(params, runner)
353
345
 
354
346
 
355
347
  __all__ = [
356
348
  "MRCHECKERBOARDMASK_METADATA",
357
- "MrcheckerboardmaskConfigParameters",
358
349
  "MrcheckerboardmaskOutputs",
359
- "MrcheckerboardmaskParameters",
360
350
  "mrcheckerboardmask",
361
351
  "mrcheckerboardmask_config_params",
352
+ "mrcheckerboardmask_execute",
362
353
  "mrcheckerboardmask_params",
363
354
  ]
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  MRCLUSTERSTATS_METADATA = Metadata(
9
- id="c57e5e73fb4141a5486cb8917fc726340ee4455f.boutiques",
9
+ id="3cccb6a587fcc1d359cee16156cb510a9fec0521.boutiques",
10
10
  name="mrclusterstats",
11
11
  package="mrtrix",
12
12
  container_image_tag="mrtrix3/mrtrix3:3.0.4",
@@ -14,20 +14,65 @@ MRCLUSTERSTATS_METADATA = Metadata(
14
14
 
15
15
 
16
16
  MrclusterstatsColumnParameters = typing.TypedDict('MrclusterstatsColumnParameters', {
17
- "__STYXTYPE__": typing.Literal["column"],
17
+ "@type": typing.NotRequired[typing.Literal["column"]],
18
+ "path": InputPathType,
19
+ })
20
+ MrclusterstatsColumnParametersTagged = typing.TypedDict('MrclusterstatsColumnParametersTagged', {
21
+ "@type": typing.Literal["column"],
18
22
  "path": InputPathType,
19
23
  })
20
24
 
21
25
 
22
26
  MrclusterstatsConfigParameters = typing.TypedDict('MrclusterstatsConfigParameters', {
23
- "__STYXTYPE__": typing.Literal["config"],
27
+ "@type": typing.NotRequired[typing.Literal["config"]],
28
+ "key": str,
29
+ "value": str,
30
+ })
31
+ MrclusterstatsConfigParametersTagged = typing.TypedDict('MrclusterstatsConfigParametersTagged', {
32
+ "@type": typing.Literal["config"],
24
33
  "key": str,
25
34
  "value": str,
26
35
  })
27
36
 
28
37
 
29
38
  MrclusterstatsParameters = typing.TypedDict('MrclusterstatsParameters', {
30
- "__STYXTYPE__": typing.Literal["mrclusterstats"],
39
+ "@type": typing.NotRequired[typing.Literal["mrtrix/mrclusterstats"]],
40
+ "notest": bool,
41
+ "errors": typing.NotRequired[str | None],
42
+ "exchange_within": typing.NotRequired[InputPathType | None],
43
+ "exchange_whole": typing.NotRequired[InputPathType | None],
44
+ "strong": bool,
45
+ "nshuffles": typing.NotRequired[int | None],
46
+ "permutations": typing.NotRequired[InputPathType | None],
47
+ "nonstationarity": bool,
48
+ "skew_nonstationarity": typing.NotRequired[float | None],
49
+ "nshuffles_nonstationarity": typing.NotRequired[int | None],
50
+ "permutations_nonstationarity": typing.NotRequired[InputPathType | None],
51
+ "tfce_dh": typing.NotRequired[float | None],
52
+ "tfce_e": typing.NotRequired[float | None],
53
+ "tfce_h": typing.NotRequired[float | None],
54
+ "variance": typing.NotRequired[InputPathType | None],
55
+ "ftests": typing.NotRequired[InputPathType | None],
56
+ "fonly": bool,
57
+ "column": typing.NotRequired[list[MrclusterstatsColumnParameters] | None],
58
+ "threshold": typing.NotRequired[float | None],
59
+ "connectivity": bool,
60
+ "info": bool,
61
+ "quiet": bool,
62
+ "debug": bool,
63
+ "force": bool,
64
+ "nthreads": typing.NotRequired[int | None],
65
+ "config": typing.NotRequired[list[MrclusterstatsConfigParameters] | None],
66
+ "help": bool,
67
+ "version": bool,
68
+ "input": InputPathType,
69
+ "design": InputPathType,
70
+ "contrast": InputPathType,
71
+ "mask": InputPathType,
72
+ "output": str,
73
+ })
74
+ MrclusterstatsParametersTagged = typing.TypedDict('MrclusterstatsParametersTagged', {
75
+ "@type": typing.Literal["mrtrix/mrclusterstats"],
31
76
  "notest": bool,
32
77
  "errors": typing.NotRequired[str | None],
33
78
  "exchange_within": typing.NotRequired[InputPathType | None],
@@ -62,44 +107,11 @@ MrclusterstatsParameters = typing.TypedDict('MrclusterstatsParameters', {
62
107
  "mask": InputPathType,
63
108
  "output": str,
64
109
  })
65
-
66
-
67
- def dyn_cargs(
68
- t: str,
69
- ) -> typing.Any:
70
- """
71
- Get build cargs function by command type.
72
-
73
- Args:
74
- t: Command type.
75
- Returns:
76
- Build cargs function.
77
- """
78
- return {
79
- "mrclusterstats": mrclusterstats_cargs,
80
- "column": mrclusterstats_column_cargs,
81
- "config": mrclusterstats_config_cargs,
82
- }.get(t)
83
-
84
-
85
- def dyn_outputs(
86
- t: str,
87
- ) -> typing.Any:
88
- """
89
- Get build outputs function by command type.
90
-
91
- Args:
92
- t: Command type.
93
- Returns:
94
- Build outputs function.
95
- """
96
- return {
97
- }.get(t)
98
110
 
99
111
 
100
112
  def mrclusterstats_column_params(
101
113
  path: InputPathType,
102
- ) -> MrclusterstatsColumnParameters:
114
+ ) -> MrclusterstatsColumnParametersTagged:
103
115
  """
104
116
  Build parameters.
105
117
 
@@ -112,7 +124,7 @@ def mrclusterstats_column_params(
112
124
  Parameter dictionary
113
125
  """
114
126
  params = {
115
- "__STYXTYPE__": "column",
127
+ "@type": "column",
116
128
  "path": path,
117
129
  }
118
130
  return params
@@ -133,14 +145,14 @@ def mrclusterstats_column_cargs(
133
145
  """
134
146
  cargs = []
135
147
  cargs.append("-column")
136
- cargs.append(execution.input_file(params.get("path")))
148
+ cargs.append(execution.input_file(params.get("path", None)))
137
149
  return cargs
138
150
 
139
151
 
140
152
  def mrclusterstats_config_params(
141
153
  key: str,
142
154
  value: str,
143
- ) -> MrclusterstatsConfigParameters:
155
+ ) -> MrclusterstatsConfigParametersTagged:
144
156
  """
145
157
  Build parameters.
146
158
 
@@ -151,7 +163,7 @@ def mrclusterstats_config_params(
151
163
  Parameter dictionary
152
164
  """
153
165
  params = {
154
- "__STYXTYPE__": "config",
166
+ "@type": "config",
155
167
  "key": key,
156
168
  "value": value,
157
169
  }
@@ -173,14 +185,14 @@ def mrclusterstats_config_cargs(
173
185
  """
174
186
  cargs = []
175
187
  cargs.append("-config")
176
- cargs.append(params.get("key"))
177
- cargs.append(params.get("value"))
188
+ cargs.append(params.get("key", None))
189
+ cargs.append(params.get("value", None))
178
190
  return cargs
179
191
 
180
192
 
181
193
  class MrclusterstatsOutputs(typing.NamedTuple):
182
194
  """
183
- Output object returned when calling `mrclusterstats(...)`.
195
+ Output object returned when calling `MrclusterstatsParameters(...)`.
184
196
  """
185
197
  root: OutputPathType
186
198
  """Output root folder. This is the root folder for all outputs."""
@@ -220,7 +232,7 @@ def mrclusterstats_params(
220
232
  config: list[MrclusterstatsConfigParameters] | None = None,
221
233
  help_: bool = False,
222
234
  version: bool = False,
223
- ) -> MrclusterstatsParameters:
235
+ ) -> MrclusterstatsParametersTagged:
224
236
  """
225
237
  Build parameters.
226
238
 
@@ -298,7 +310,7 @@ def mrclusterstats_params(
298
310
  Parameter dictionary
299
311
  """
300
312
  params = {
301
- "__STYXTYPE__": "mrclusterstats",
313
+ "@type": "mrtrix/mrclusterstats",
302
314
  "notest": notest,
303
315
  "strong": strong,
304
316
  "nonstationarity": nonstationarity,
@@ -368,112 +380,112 @@ def mrclusterstats_cargs(
368
380
  """
369
381
  cargs = []
370
382
  cargs.append("mrclusterstats")
371
- if params.get("notest"):
383
+ if params.get("notest", False):
372
384
  cargs.append("-notest")
373
- if params.get("errors") is not None:
385
+ if params.get("errors", None) is not None:
374
386
  cargs.extend([
375
387
  "-errors",
376
- params.get("errors")
388
+ params.get("errors", None)
377
389
  ])
378
- if params.get("exchange_within") is not None:
390
+ if params.get("exchange_within", None) is not None:
379
391
  cargs.extend([
380
392
  "-exchange_within",
381
- execution.input_file(params.get("exchange_within"))
393
+ execution.input_file(params.get("exchange_within", None))
382
394
  ])
383
- if params.get("exchange_whole") is not None:
395
+ if params.get("exchange_whole", None) is not None:
384
396
  cargs.extend([
385
397
  "-exchange_whole",
386
- execution.input_file(params.get("exchange_whole"))
398
+ execution.input_file(params.get("exchange_whole", None))
387
399
  ])
388
- if params.get("strong"):
400
+ if params.get("strong", False):
389
401
  cargs.append("-strong")
390
- if params.get("nshuffles") is not None:
402
+ if params.get("nshuffles", None) is not None:
391
403
  cargs.extend([
392
404
  "-nshuffles",
393
- str(params.get("nshuffles"))
405
+ str(params.get("nshuffles", None))
394
406
  ])
395
- if params.get("permutations") is not None:
407
+ if params.get("permutations", None) is not None:
396
408
  cargs.extend([
397
409
  "-permutations",
398
- execution.input_file(params.get("permutations"))
410
+ execution.input_file(params.get("permutations", None))
399
411
  ])
400
- if params.get("nonstationarity"):
412
+ if params.get("nonstationarity", False):
401
413
  cargs.append("-nonstationarity")
402
- if params.get("skew_nonstationarity") is not None:
414
+ if params.get("skew_nonstationarity", None) is not None:
403
415
  cargs.extend([
404
416
  "-skew_nonstationarity",
405
- str(params.get("skew_nonstationarity"))
417
+ str(params.get("skew_nonstationarity", None))
406
418
  ])
407
- if params.get("nshuffles_nonstationarity") is not None:
419
+ if params.get("nshuffles_nonstationarity", None) is not None:
408
420
  cargs.extend([
409
421
  "-nshuffles_nonstationarity",
410
- str(params.get("nshuffles_nonstationarity"))
422
+ str(params.get("nshuffles_nonstationarity", None))
411
423
  ])
412
- if params.get("permutations_nonstationarity") is not None:
424
+ if params.get("permutations_nonstationarity", None) is not None:
413
425
  cargs.extend([
414
426
  "-permutations_nonstationarity",
415
- execution.input_file(params.get("permutations_nonstationarity"))
427
+ execution.input_file(params.get("permutations_nonstationarity", None))
416
428
  ])
417
- if params.get("tfce_dh") is not None:
429
+ if params.get("tfce_dh", None) is not None:
418
430
  cargs.extend([
419
431
  "-tfce_dh",
420
- str(params.get("tfce_dh"))
432
+ str(params.get("tfce_dh", None))
421
433
  ])
422
- if params.get("tfce_e") is not None:
434
+ if params.get("tfce_e", None) is not None:
423
435
  cargs.extend([
424
436
  "-tfce_e",
425
- str(params.get("tfce_e"))
437
+ str(params.get("tfce_e", None))
426
438
  ])
427
- if params.get("tfce_h") is not None:
439
+ if params.get("tfce_h", None) is not None:
428
440
  cargs.extend([
429
441
  "-tfce_h",
430
- str(params.get("tfce_h"))
442
+ str(params.get("tfce_h", None))
431
443
  ])
432
- if params.get("variance") is not None:
444
+ if params.get("variance", None) is not None:
433
445
  cargs.extend([
434
446
  "-variance",
435
- execution.input_file(params.get("variance"))
447
+ execution.input_file(params.get("variance", None))
436
448
  ])
437
- if params.get("ftests") is not None:
449
+ if params.get("ftests", None) is not None:
438
450
  cargs.extend([
439
451
  "-ftests",
440
- execution.input_file(params.get("ftests"))
452
+ execution.input_file(params.get("ftests", None))
441
453
  ])
442
- if params.get("fonly"):
454
+ if params.get("fonly", False):
443
455
  cargs.append("-fonly")
444
- if params.get("column") is not None:
445
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("column")] for a in c])
446
- if params.get("threshold") is not None:
456
+ if params.get("column", None) is not None:
457
+ cargs.extend([a for c in [mrclusterstats_column_cargs(s, execution) for s in params.get("column", None)] for a in c])
458
+ if params.get("threshold", None) is not None:
447
459
  cargs.extend([
448
460
  "-threshold",
449
- str(params.get("threshold"))
461
+ str(params.get("threshold", None))
450
462
  ])
451
- if params.get("connectivity"):
463
+ if params.get("connectivity", False):
452
464
  cargs.append("-connectivity")
453
- if params.get("info"):
465
+ if params.get("info", False):
454
466
  cargs.append("-info")
455
- if params.get("quiet"):
467
+ if params.get("quiet", False):
456
468
  cargs.append("-quiet")
457
- if params.get("debug"):
469
+ if params.get("debug", False):
458
470
  cargs.append("-debug")
459
- if params.get("force"):
471
+ if params.get("force", False):
460
472
  cargs.append("-force")
461
- if params.get("nthreads") is not None:
473
+ if params.get("nthreads", None) is not None:
462
474
  cargs.extend([
463
475
  "-nthreads",
464
- str(params.get("nthreads"))
476
+ str(params.get("nthreads", None))
465
477
  ])
466
- if params.get("config") is not None:
467
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
468
- if params.get("help"):
478
+ if params.get("config", None) is not None:
479
+ cargs.extend([a for c in [mrclusterstats_config_cargs(s, execution) for s in params.get("config", None)] for a in c])
480
+ if params.get("help", False):
469
481
  cargs.append("-help")
470
- if params.get("version"):
482
+ if params.get("version", False):
471
483
  cargs.append("-version")
472
- cargs.append(execution.input_file(params.get("input")))
473
- cargs.append(execution.input_file(params.get("design")))
474
- cargs.append(execution.input_file(params.get("contrast")))
475
- cargs.append(execution.input_file(params.get("mask")))
476
- cargs.append(params.get("output"))
484
+ cargs.append(execution.input_file(params.get("input", None)))
485
+ cargs.append(execution.input_file(params.get("design", None)))
486
+ cargs.append(execution.input_file(params.get("contrast", None)))
487
+ cargs.append(execution.input_file(params.get("mask", None)))
488
+ cargs.append(params.get("output", None))
477
489
  return cargs
478
490
 
479
491
 
@@ -498,9 +510,11 @@ def mrclusterstats_outputs(
498
510
 
499
511
  def mrclusterstats_execute(
500
512
  params: MrclusterstatsParameters,
501
- execution: Execution,
513
+ runner: Runner | None = None,
502
514
  ) -> MrclusterstatsOutputs:
503
515
  """
516
+ mrclusterstats
517
+
504
518
  Voxel-based analysis using permutation testing and threshold-free cluster
505
519
  enhancement.
506
520
 
@@ -532,10 +546,12 @@ def mrclusterstats_execute(
532
546
 
533
547
  Args:
534
548
  params: The parameters.
535
- execution: The execution object.
549
+ runner: Command runner.
536
550
  Returns:
537
551
  NamedTuple of outputs (described in `MrclusterstatsOutputs`).
538
552
  """
553
+ runner = runner or get_global_runner()
554
+ execution = runner.start_execution(MRCLUSTERSTATS_METADATA)
539
555
  params = execution.params(params)
540
556
  cargs = mrclusterstats_cargs(params, execution)
541
557
  ret = mrclusterstats_outputs(params, execution)
@@ -580,6 +596,8 @@ def mrclusterstats(
580
596
  runner: Runner | None = None,
581
597
  ) -> MrclusterstatsOutputs:
582
598
  """
599
+ mrclusterstats
600
+
583
601
  Voxel-based analysis using permutation testing and threshold-free cluster
584
602
  enhancement.
585
603
 
@@ -683,8 +701,6 @@ def mrclusterstats(
683
701
  Returns:
684
702
  NamedTuple of outputs (described in `MrclusterstatsOutputs`).
685
703
  """
686
- runner = runner or get_global_runner()
687
- execution = runner.start_execution(MRCLUSTERSTATS_METADATA)
688
704
  params = mrclusterstats_params(
689
705
  notest=notest,
690
706
  errors=errors,
@@ -720,17 +736,15 @@ def mrclusterstats(
720
736
  mask=mask,
721
737
  output=output,
722
738
  )
723
- return mrclusterstats_execute(params, execution)
739
+ return mrclusterstats_execute(params, runner)
724
740
 
725
741
 
726
742
  __all__ = [
727
743
  "MRCLUSTERSTATS_METADATA",
728
- "MrclusterstatsColumnParameters",
729
- "MrclusterstatsConfigParameters",
730
744
  "MrclusterstatsOutputs",
731
- "MrclusterstatsParameters",
732
745
  "mrclusterstats",
733
746
  "mrclusterstats_column_params",
734
747
  "mrclusterstats_config_params",
748
+ "mrclusterstats_execute",
735
749
  "mrclusterstats_params",
736
750
  ]