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
  DCMEDIT_METADATA = Metadata(
9
- id="8cde5cf6f19725e4d438d7089e7f5a9e71f0b93d.boutiques",
9
+ id="8755d3035d88c63d3618eea7e9e40463fa8a47ee.boutiques",
10
10
  name="dcmedit",
11
11
  package="mrtrix",
12
12
  container_image_tag="mrtrix3/mrtrix3:3.0.4",
@@ -14,7 +14,13 @@ DCMEDIT_METADATA = Metadata(
14
14
 
15
15
 
16
16
  DcmeditTagParameters = typing.TypedDict('DcmeditTagParameters', {
17
- "__STYXTYPE__": typing.Literal["tag"],
17
+ "@type": typing.NotRequired[typing.Literal["tag"]],
18
+ "group": str,
19
+ "element": str,
20
+ "newvalue": str,
21
+ })
22
+ DcmeditTagParametersTagged = typing.TypedDict('DcmeditTagParametersTagged', {
23
+ "@type": typing.Literal["tag"],
18
24
  "group": str,
19
25
  "element": str,
20
26
  "newvalue": str,
@@ -22,14 +28,34 @@ DcmeditTagParameters = typing.TypedDict('DcmeditTagParameters', {
22
28
 
23
29
 
24
30
  DcmeditConfigParameters = typing.TypedDict('DcmeditConfigParameters', {
25
- "__STYXTYPE__": typing.Literal["config"],
31
+ "@type": typing.NotRequired[typing.Literal["config"]],
32
+ "key": str,
33
+ "value": str,
34
+ })
35
+ DcmeditConfigParametersTagged = typing.TypedDict('DcmeditConfigParametersTagged', {
36
+ "@type": typing.Literal["config"],
26
37
  "key": str,
27
38
  "value": str,
28
39
  })
29
40
 
30
41
 
31
42
  DcmeditParameters = typing.TypedDict('DcmeditParameters', {
32
- "__STYXTYPE__": typing.Literal["dcmedit"],
43
+ "@type": typing.NotRequired[typing.Literal["mrtrix/dcmedit"]],
44
+ "anonymise": bool,
45
+ "id": typing.NotRequired[str | None],
46
+ "tag": typing.NotRequired[list[DcmeditTagParameters] | None],
47
+ "info": bool,
48
+ "quiet": bool,
49
+ "debug": bool,
50
+ "force": bool,
51
+ "nthreads": typing.NotRequired[int | None],
52
+ "config": typing.NotRequired[list[DcmeditConfigParameters] | None],
53
+ "help": bool,
54
+ "version": bool,
55
+ "file": InputPathType,
56
+ })
57
+ DcmeditParametersTagged = typing.TypedDict('DcmeditParametersTagged', {
58
+ "@type": typing.Literal["mrtrix/dcmedit"],
33
59
  "anonymise": bool,
34
60
  "id": typing.NotRequired[str | None],
35
61
  "tag": typing.NotRequired[list[DcmeditTagParameters] | None],
@@ -43,46 +69,13 @@ DcmeditParameters = typing.TypedDict('DcmeditParameters', {
43
69
  "version": bool,
44
70
  "file": InputPathType,
45
71
  })
46
-
47
-
48
- def dyn_cargs(
49
- t: str,
50
- ) -> typing.Any:
51
- """
52
- Get build cargs function by command type.
53
-
54
- Args:
55
- t: Command type.
56
- Returns:
57
- Build cargs function.
58
- """
59
- return {
60
- "dcmedit": dcmedit_cargs,
61
- "tag": dcmedit_tag_cargs,
62
- "config": dcmedit_config_cargs,
63
- }.get(t)
64
-
65
-
66
- def dyn_outputs(
67
- t: str,
68
- ) -> typing.Any:
69
- """
70
- Get build outputs function by command type.
71
-
72
- Args:
73
- t: Command type.
74
- Returns:
75
- Build outputs function.
76
- """
77
- return {
78
- }.get(t)
79
72
 
80
73
 
81
74
  def dcmedit_tag_params(
82
75
  group: str,
83
76
  element: str,
84
77
  newvalue: str,
85
- ) -> DcmeditTagParameters:
78
+ ) -> DcmeditTagParametersTagged:
86
79
  """
87
80
  Build parameters.
88
81
 
@@ -94,7 +87,7 @@ def dcmedit_tag_params(
94
87
  Parameter dictionary
95
88
  """
96
89
  params = {
97
- "__STYXTYPE__": "tag",
90
+ "@type": "tag",
98
91
  "group": group,
99
92
  "element": element,
100
93
  "newvalue": newvalue,
@@ -117,16 +110,16 @@ def dcmedit_tag_cargs(
117
110
  """
118
111
  cargs = []
119
112
  cargs.append("-tag")
120
- cargs.append(params.get("group"))
121
- cargs.append(params.get("element"))
122
- cargs.append(params.get("newvalue"))
113
+ cargs.append(params.get("group", None))
114
+ cargs.append(params.get("element", None))
115
+ cargs.append(params.get("newvalue", None))
123
116
  return cargs
124
117
 
125
118
 
126
119
  def dcmedit_config_params(
127
120
  key: str,
128
121
  value: str,
129
- ) -> DcmeditConfigParameters:
122
+ ) -> DcmeditConfigParametersTagged:
130
123
  """
131
124
  Build parameters.
132
125
 
@@ -137,7 +130,7 @@ def dcmedit_config_params(
137
130
  Parameter dictionary
138
131
  """
139
132
  params = {
140
- "__STYXTYPE__": "config",
133
+ "@type": "config",
141
134
  "key": key,
142
135
  "value": value,
143
136
  }
@@ -159,14 +152,14 @@ def dcmedit_config_cargs(
159
152
  """
160
153
  cargs = []
161
154
  cargs.append("-config")
162
- cargs.append(params.get("key"))
163
- cargs.append(params.get("value"))
155
+ cargs.append(params.get("key", None))
156
+ cargs.append(params.get("value", None))
164
157
  return cargs
165
158
 
166
159
 
167
160
  class DcmeditOutputs(typing.NamedTuple):
168
161
  """
169
- Output object returned when calling `dcmedit(...)`.
162
+ Output object returned when calling `DcmeditParameters(...)`.
170
163
  """
171
164
  root: OutputPathType
172
165
  """Output root folder. This is the root folder for all outputs."""
@@ -185,7 +178,7 @@ def dcmedit_params(
185
178
  config: list[DcmeditConfigParameters] | None = None,
186
179
  help_: bool = False,
187
180
  version: bool = False,
188
- ) -> DcmeditParameters:
181
+ ) -> DcmeditParametersTagged:
189
182
  """
190
183
  Build parameters.
191
184
 
@@ -221,7 +214,7 @@ def dcmedit_params(
221
214
  Parameter dictionary
222
215
  """
223
216
  params = {
224
- "__STYXTYPE__": "dcmedit",
217
+ "@type": "mrtrix/dcmedit",
225
218
  "anonymise": anonymise,
226
219
  "info": info,
227
220
  "quiet": quiet,
@@ -257,35 +250,35 @@ def dcmedit_cargs(
257
250
  """
258
251
  cargs = []
259
252
  cargs.append("dcmedit")
260
- if params.get("anonymise"):
253
+ if params.get("anonymise", False):
261
254
  cargs.append("-anonymise")
262
- if params.get("id") is not None:
255
+ if params.get("id", None) is not None:
263
256
  cargs.extend([
264
257
  "-id",
265
- params.get("id")
258
+ params.get("id", None)
266
259
  ])
267
- if params.get("tag") is not None:
268
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("tag")] for a in c])
269
- if params.get("info"):
260
+ if params.get("tag", None) is not None:
261
+ cargs.extend([a for c in [dcmedit_tag_cargs(s, execution) for s in params.get("tag", None)] for a in c])
262
+ if params.get("info", False):
270
263
  cargs.append("-info")
271
- if params.get("quiet"):
264
+ if params.get("quiet", False):
272
265
  cargs.append("-quiet")
273
- if params.get("debug"):
266
+ if params.get("debug", False):
274
267
  cargs.append("-debug")
275
- if params.get("force"):
268
+ if params.get("force", False):
276
269
  cargs.append("-force")
277
- if params.get("nthreads") is not None:
270
+ if params.get("nthreads", None) is not None:
278
271
  cargs.extend([
279
272
  "-nthreads",
280
- str(params.get("nthreads"))
273
+ str(params.get("nthreads", None))
281
274
  ])
282
- if params.get("config") is not None:
283
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
284
- if params.get("help"):
275
+ if params.get("config", None) is not None:
276
+ cargs.extend([a for c in [dcmedit_config_cargs(s, execution) for s in params.get("config", None)] for a in c])
277
+ if params.get("help", False):
285
278
  cargs.append("-help")
286
- if params.get("version"):
279
+ if params.get("version", False):
287
280
  cargs.append("-version")
288
- cargs.append(execution.input_file(params.get("file")))
281
+ cargs.append(execution.input_file(params.get("file", None)))
289
282
  return cargs
290
283
 
291
284
 
@@ -310,9 +303,11 @@ def dcmedit_outputs(
310
303
 
311
304
  def dcmedit_execute(
312
305
  params: DcmeditParameters,
313
- execution: Execution,
306
+ runner: Runner | None = None,
314
307
  ) -> DcmeditOutputs:
315
308
  """
309
+ dcmedit
310
+
316
311
  Edit DICOM file in-place.
317
312
 
318
313
  Note that this command simply replaces the existing values without modifying
@@ -332,10 +327,12 @@ def dcmedit_execute(
332
327
 
333
328
  Args:
334
329
  params: The parameters.
335
- execution: The execution object.
330
+ runner: Command runner.
336
331
  Returns:
337
332
  NamedTuple of outputs (described in `DcmeditOutputs`).
338
333
  """
334
+ runner = runner or get_global_runner()
335
+ execution = runner.start_execution(DCMEDIT_METADATA)
339
336
  params = execution.params(params)
340
337
  cargs = dcmedit_cargs(params, execution)
341
338
  ret = dcmedit_outputs(params, execution)
@@ -359,6 +356,8 @@ def dcmedit(
359
356
  runner: Runner | None = None,
360
357
  ) -> DcmeditOutputs:
361
358
  """
359
+ dcmedit
360
+
362
361
  Edit DICOM file in-place.
363
362
 
364
363
  Note that this command simply replaces the existing values without modifying
@@ -408,8 +407,6 @@ def dcmedit(
408
407
  Returns:
409
408
  NamedTuple of outputs (described in `DcmeditOutputs`).
410
409
  """
411
- runner = runner or get_global_runner()
412
- execution = runner.start_execution(DCMEDIT_METADATA)
413
410
  params = dcmedit_params(
414
411
  anonymise=anonymise,
415
412
  id_=id_,
@@ -424,17 +421,15 @@ def dcmedit(
424
421
  version=version,
425
422
  file=file,
426
423
  )
427
- return dcmedit_execute(params, execution)
424
+ return dcmedit_execute(params, runner)
428
425
 
429
426
 
430
427
  __all__ = [
431
428
  "DCMEDIT_METADATA",
432
- "DcmeditConfigParameters",
433
429
  "DcmeditOutputs",
434
- "DcmeditParameters",
435
- "DcmeditTagParameters",
436
430
  "dcmedit",
437
431
  "dcmedit_config_params",
432
+ "dcmedit_execute",
438
433
  "dcmedit_params",
439
434
  "dcmedit_tag_params",
440
435
  ]
@@ -6,7 +6,7 @@ import pathlib
6
6
  from styxdefs import *
7
7
 
8
8
  DCMINFO_METADATA = Metadata(
9
- id="07f39463fe810bd85aa94c83f3e100efd9db5e83.boutiques",
9
+ id="f02767c67a910f0ef82176cc014707d1d17070a2.boutiques",
10
10
  name="dcminfo",
11
11
  package="mrtrix",
12
12
  container_image_tag="mrtrix3/mrtrix3:3.0.4",
@@ -14,21 +14,47 @@ DCMINFO_METADATA = Metadata(
14
14
 
15
15
 
16
16
  DcminfoTagParameters = typing.TypedDict('DcminfoTagParameters', {
17
- "__STYXTYPE__": typing.Literal["tag"],
17
+ "@type": typing.NotRequired[typing.Literal["tag"]],
18
+ "group": str,
19
+ "element": str,
20
+ })
21
+ DcminfoTagParametersTagged = typing.TypedDict('DcminfoTagParametersTagged', {
22
+ "@type": typing.Literal["tag"],
18
23
  "group": str,
19
24
  "element": str,
20
25
  })
21
26
 
22
27
 
23
28
  DcminfoConfigParameters = typing.TypedDict('DcminfoConfigParameters', {
24
- "__STYXTYPE__": typing.Literal["config"],
29
+ "@type": typing.NotRequired[typing.Literal["config"]],
30
+ "key": str,
31
+ "value": str,
32
+ })
33
+ DcminfoConfigParametersTagged = typing.TypedDict('DcminfoConfigParametersTagged', {
34
+ "@type": typing.Literal["config"],
25
35
  "key": str,
26
36
  "value": str,
27
37
  })
28
38
 
29
39
 
30
40
  DcminfoParameters = typing.TypedDict('DcminfoParameters', {
31
- "__STYXTYPE__": typing.Literal["dcminfo"],
41
+ "@type": typing.NotRequired[typing.Literal["mrtrix/dcminfo"]],
42
+ "all": bool,
43
+ "csa": bool,
44
+ "phoenix": bool,
45
+ "tag": typing.NotRequired[list[DcminfoTagParameters] | None],
46
+ "info": bool,
47
+ "quiet": bool,
48
+ "debug": bool,
49
+ "force": bool,
50
+ "nthreads": typing.NotRequired[int | None],
51
+ "config": typing.NotRequired[list[DcminfoConfigParameters] | None],
52
+ "help": bool,
53
+ "version": bool,
54
+ "file": InputPathType,
55
+ })
56
+ DcminfoParametersTagged = typing.TypedDict('DcminfoParametersTagged', {
57
+ "@type": typing.Literal["mrtrix/dcminfo"],
32
58
  "all": bool,
33
59
  "csa": bool,
34
60
  "phoenix": bool,
@@ -43,45 +69,12 @@ DcminfoParameters = typing.TypedDict('DcminfoParameters', {
43
69
  "version": bool,
44
70
  "file": InputPathType,
45
71
  })
46
-
47
-
48
- def dyn_cargs(
49
- t: str,
50
- ) -> typing.Any:
51
- """
52
- Get build cargs function by command type.
53
-
54
- Args:
55
- t: Command type.
56
- Returns:
57
- Build cargs function.
58
- """
59
- return {
60
- "dcminfo": dcminfo_cargs,
61
- "tag": dcminfo_tag_cargs,
62
- "config": dcminfo_config_cargs,
63
- }.get(t)
64
-
65
-
66
- def dyn_outputs(
67
- t: str,
68
- ) -> typing.Any:
69
- """
70
- Get build outputs function by command type.
71
-
72
- Args:
73
- t: Command type.
74
- Returns:
75
- Build outputs function.
76
- """
77
- return {
78
- }.get(t)
79
72
 
80
73
 
81
74
  def dcminfo_tag_params(
82
75
  group: str,
83
76
  element: str,
84
- ) -> DcminfoTagParameters:
77
+ ) -> DcminfoTagParametersTagged:
85
78
  """
86
79
  Build parameters.
87
80
 
@@ -96,7 +89,7 @@ def dcminfo_tag_params(
96
89
  Parameter dictionary
97
90
  """
98
91
  params = {
99
- "__STYXTYPE__": "tag",
92
+ "@type": "tag",
100
93
  "group": group,
101
94
  "element": element,
102
95
  }
@@ -118,15 +111,15 @@ def dcminfo_tag_cargs(
118
111
  """
119
112
  cargs = []
120
113
  cargs.append("-tag")
121
- cargs.append(params.get("group"))
122
- cargs.append(params.get("element"))
114
+ cargs.append(params.get("group", None))
115
+ cargs.append(params.get("element", None))
123
116
  return cargs
124
117
 
125
118
 
126
119
  def dcminfo_config_params(
127
120
  key: str,
128
121
  value: str,
129
- ) -> DcminfoConfigParameters:
122
+ ) -> DcminfoConfigParametersTagged:
130
123
  """
131
124
  Build parameters.
132
125
 
@@ -137,7 +130,7 @@ def dcminfo_config_params(
137
130
  Parameter dictionary
138
131
  """
139
132
  params = {
140
- "__STYXTYPE__": "config",
133
+ "@type": "config",
141
134
  "key": key,
142
135
  "value": value,
143
136
  }
@@ -159,14 +152,14 @@ def dcminfo_config_cargs(
159
152
  """
160
153
  cargs = []
161
154
  cargs.append("-config")
162
- cargs.append(params.get("key"))
163
- cargs.append(params.get("value"))
155
+ cargs.append(params.get("key", None))
156
+ cargs.append(params.get("value", None))
164
157
  return cargs
165
158
 
166
159
 
167
160
  class DcminfoOutputs(typing.NamedTuple):
168
161
  """
169
- Output object returned when calling `dcminfo(...)`.
162
+ Output object returned when calling `DcminfoParameters(...)`.
170
163
  """
171
164
  root: OutputPathType
172
165
  """Output root folder. This is the root folder for all outputs."""
@@ -186,7 +179,7 @@ def dcminfo_params(
186
179
  config: list[DcminfoConfigParameters] | None = None,
187
180
  help_: bool = False,
188
181
  version: bool = False,
189
- ) -> DcminfoParameters:
182
+ ) -> DcminfoParametersTagged:
190
183
  """
191
184
  Build parameters.
192
185
 
@@ -214,7 +207,7 @@ def dcminfo_params(
214
207
  Parameter dictionary
215
208
  """
216
209
  params = {
217
- "__STYXTYPE__": "dcminfo",
210
+ "@type": "mrtrix/dcminfo",
218
211
  "all": all_,
219
212
  "csa": csa,
220
213
  "phoenix": phoenix,
@@ -250,34 +243,34 @@ def dcminfo_cargs(
250
243
  """
251
244
  cargs = []
252
245
  cargs.append("dcminfo")
253
- if params.get("all"):
246
+ if params.get("all", False):
254
247
  cargs.append("-all")
255
- if params.get("csa"):
248
+ if params.get("csa", False):
256
249
  cargs.append("-csa")
257
- if params.get("phoenix"):
250
+ if params.get("phoenix", False):
258
251
  cargs.append("-phoenix")
259
- if params.get("tag") is not None:
260
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("tag")] for a in c])
261
- if params.get("info"):
252
+ if params.get("tag", None) is not None:
253
+ cargs.extend([a for c in [dcminfo_tag_cargs(s, execution) for s in params.get("tag", None)] for a in c])
254
+ if params.get("info", False):
262
255
  cargs.append("-info")
263
- if params.get("quiet"):
256
+ if params.get("quiet", False):
264
257
  cargs.append("-quiet")
265
- if params.get("debug"):
258
+ if params.get("debug", False):
266
259
  cargs.append("-debug")
267
- if params.get("force"):
260
+ if params.get("force", False):
268
261
  cargs.append("-force")
269
- if params.get("nthreads") is not None:
262
+ if params.get("nthreads", None) is not None:
270
263
  cargs.extend([
271
264
  "-nthreads",
272
- str(params.get("nthreads"))
265
+ str(params.get("nthreads", None))
273
266
  ])
274
- if params.get("config") is not None:
275
- cargs.extend([a for c in [dyn_cargs(s["__STYXTYPE__"])(s, execution) for s in params.get("config")] for a in c])
276
- if params.get("help"):
267
+ if params.get("config", None) is not None:
268
+ cargs.extend([a for c in [dcminfo_config_cargs(s, execution) for s in params.get("config", None)] for a in c])
269
+ if params.get("help", False):
277
270
  cargs.append("-help")
278
- if params.get("version"):
271
+ if params.get("version", False):
279
272
  cargs.append("-version")
280
- cargs.append(execution.input_file(params.get("file")))
273
+ cargs.append(execution.input_file(params.get("file", None)))
281
274
  return cargs
282
275
 
283
276
 
@@ -302,9 +295,11 @@ def dcminfo_outputs(
302
295
 
303
296
  def dcminfo_execute(
304
297
  params: DcminfoParameters,
305
- execution: Execution,
298
+ runner: Runner | None = None,
306
299
  ) -> DcminfoOutputs:
307
300
  """
301
+ dcminfo
302
+
308
303
  Output DICOM fields in human-readable format.
309
304
 
310
305
 
@@ -319,10 +314,12 @@ def dcminfo_execute(
319
314
 
320
315
  Args:
321
316
  params: The parameters.
322
- execution: The execution object.
317
+ runner: Command runner.
323
318
  Returns:
324
319
  NamedTuple of outputs (described in `DcminfoOutputs`).
325
320
  """
321
+ runner = runner or get_global_runner()
322
+ execution = runner.start_execution(DCMINFO_METADATA)
326
323
  params = execution.params(params)
327
324
  cargs = dcminfo_cargs(params, execution)
328
325
  ret = dcminfo_outputs(params, execution)
@@ -347,6 +344,8 @@ def dcminfo(
347
344
  runner: Runner | None = None,
348
345
  ) -> DcminfoOutputs:
349
346
  """
347
+ dcminfo
348
+
350
349
  Output DICOM fields in human-readable format.
351
350
 
352
351
 
@@ -383,8 +382,6 @@ def dcminfo(
383
382
  Returns:
384
383
  NamedTuple of outputs (described in `DcminfoOutputs`).
385
384
  """
386
- runner = runner or get_global_runner()
387
- execution = runner.start_execution(DCMINFO_METADATA)
388
385
  params = dcminfo_params(
389
386
  all_=all_,
390
387
  csa=csa,
@@ -400,17 +397,15 @@ def dcminfo(
400
397
  version=version,
401
398
  file=file,
402
399
  )
403
- return dcminfo_execute(params, execution)
400
+ return dcminfo_execute(params, runner)
404
401
 
405
402
 
406
403
  __all__ = [
407
404
  "DCMINFO_METADATA",
408
- "DcminfoConfigParameters",
409
405
  "DcminfoOutputs",
410
- "DcminfoParameters",
411
- "DcminfoTagParameters",
412
406
  "dcminfo",
413
407
  "dcminfo_config_params",
408
+ "dcminfo_execute",
414
409
  "dcminfo_params",
415
410
  "dcminfo_tag_params",
416
411
  ]