brkraw 0.5.0rc1__py3-none-any.whl → 0.5.1__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.
- brkraw/__init__.py +1 -1
- brkraw/apps/hook/core.py +58 -10
- brkraw/apps/loader/core.py +5 -1
- brkraw/apps/loader/helper.py +155 -14
- brkraw/apps/loader/info/scan.py +18 -5
- brkraw/apps/loader/types.py +6 -1
- brkraw/cli/commands/convert.py +201 -79
- brkraw/cli/commands/hook.py +146 -4
- brkraw/cli/commands/session.py +6 -1
- brkraw/cli/hook_args.py +80 -0
- brkraw/core/config.py +8 -0
- brkraw/core/layout.py +56 -11
- brkraw/default/rules/00_default.yaml +4 -0
- brkraw/default/specs/metadata_dicom.yaml +236 -0
- brkraw/default/specs/metadata_transforms.py +18 -0
- brkraw/resolver/affine.py +56 -32
- brkraw/schema/context_map.yaml +5 -0
- brkraw/schema/remapper.yaml +6 -0
- brkraw/specs/__init__.py +2 -2
- brkraw/specs/{converter → hook}/logic.py +1 -0
- brkraw/specs/{converter → hook}/validator.py +1 -0
- brkraw/specs/remapper/logic.py +83 -16
- brkraw/specs/remapper/validator.py +21 -5
- {brkraw-0.5.0rc1.dist-info → brkraw-0.5.1.dist-info}/METADATA +31 -4
- {brkraw-0.5.0rc1.dist-info → brkraw-0.5.1.dist-info}/RECORD +29 -33
- brkraw/default/rules/10-metadata.yaml +0 -42
- brkraw/default/rules/20-mrs.yaml +0 -14
- brkraw/default/specs/metadata_anat.yaml +0 -54
- brkraw/default/specs/metadata_common.yaml +0 -129
- brkraw/default/specs/metadata_func.yaml +0 -127
- brkraw/default/specs/mrs.yaml +0 -71
- brkraw/default/specs/mrs_transforms.py +0 -26
- brkraw/specs/{converter → hook}/__init__.py +1 -1
- {brkraw-0.5.0rc1.dist-info → brkraw-0.5.1.dist-info}/WHEEL +0 -0
- {brkraw-0.5.0rc1.dist-info → brkraw-0.5.1.dist-info}/entry_points.txt +0 -0
- {brkraw-0.5.0rc1.dist-info → brkraw-0.5.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
__meta__:
|
|
2
|
-
name: "metadata_func"
|
|
3
|
-
version: "0.0.1"
|
|
4
|
-
description: "Functional (EPI) metadata mapping for BIDS 1.10.1."
|
|
5
|
-
category: "metadata_spec"
|
|
6
|
-
include:
|
|
7
|
-
- "metadata_common.yaml"
|
|
8
|
-
|
|
9
|
-
TaskName:
|
|
10
|
-
inputs:
|
|
11
|
-
value:
|
|
12
|
-
const: "CHANGE_ME"
|
|
13
|
-
transform: pick_value
|
|
14
|
-
|
|
15
|
-
RepetitionTime:
|
|
16
|
-
sources:
|
|
17
|
-
- file: visu_pars
|
|
18
|
-
key: VisuAcqRepetitionTime
|
|
19
|
-
transform: to_seconds
|
|
20
|
-
|
|
21
|
-
EchoTime:
|
|
22
|
-
sources:
|
|
23
|
-
- file: visu_pars
|
|
24
|
-
key: VisuAcqEchoTime
|
|
25
|
-
transform: to_seconds
|
|
26
|
-
|
|
27
|
-
FlipAngle:
|
|
28
|
-
sources:
|
|
29
|
-
- file: visu_pars
|
|
30
|
-
key: VisuAcqFlipAngle
|
|
31
|
-
|
|
32
|
-
SliceTiming:
|
|
33
|
-
inputs:
|
|
34
|
-
value:
|
|
35
|
-
const: null
|
|
36
|
-
transform: pick_value
|
|
37
|
-
|
|
38
|
-
VolumeTiming:
|
|
39
|
-
inputs:
|
|
40
|
-
tr:
|
|
41
|
-
sources:
|
|
42
|
-
- file: visu_pars
|
|
43
|
-
key: VisuAcqRepetitionTime
|
|
44
|
-
nr:
|
|
45
|
-
sources:
|
|
46
|
-
- file: method
|
|
47
|
-
key: PVM_NRepetitions
|
|
48
|
-
transform: volume_timing
|
|
49
|
-
|
|
50
|
-
PhaseEncodingDirection:
|
|
51
|
-
inputs:
|
|
52
|
-
value:
|
|
53
|
-
const: null
|
|
54
|
-
transform: pick_value
|
|
55
|
-
|
|
56
|
-
EffectiveEchoSpacing:
|
|
57
|
-
inputs:
|
|
58
|
-
value:
|
|
59
|
-
const: null
|
|
60
|
-
transform: pick_value
|
|
61
|
-
|
|
62
|
-
TotalReadoutTime:
|
|
63
|
-
inputs:
|
|
64
|
-
value:
|
|
65
|
-
const: null
|
|
66
|
-
transform: pick_value
|
|
67
|
-
|
|
68
|
-
MultibandAccelerationFactor:
|
|
69
|
-
inputs:
|
|
70
|
-
value:
|
|
71
|
-
const: null
|
|
72
|
-
transform: pick_value
|
|
73
|
-
|
|
74
|
-
NumberOfVolumesDiscardedByScanner:
|
|
75
|
-
sources:
|
|
76
|
-
- file: method
|
|
77
|
-
key: PVM_DummyScans
|
|
78
|
-
|
|
79
|
-
NumberOfVolumesDiscardedByUser:
|
|
80
|
-
inputs:
|
|
81
|
-
value:
|
|
82
|
-
const: null
|
|
83
|
-
transform: pick_value
|
|
84
|
-
|
|
85
|
-
DelayTime:
|
|
86
|
-
inputs:
|
|
87
|
-
value:
|
|
88
|
-
const: null
|
|
89
|
-
transform: pick_value
|
|
90
|
-
|
|
91
|
-
AcquisitionDuration:
|
|
92
|
-
inputs:
|
|
93
|
-
value:
|
|
94
|
-
sources:
|
|
95
|
-
- file: method
|
|
96
|
-
key: PVM_ScanTime
|
|
97
|
-
transform: first_seconds
|
|
98
|
-
|
|
99
|
-
DelayAfterTrigger:
|
|
100
|
-
inputs:
|
|
101
|
-
value:
|
|
102
|
-
const: null
|
|
103
|
-
transform: pick_value
|
|
104
|
-
|
|
105
|
-
Instructions:
|
|
106
|
-
inputs:
|
|
107
|
-
value:
|
|
108
|
-
const: "CHANGE_ME"
|
|
109
|
-
transform: pick_value
|
|
110
|
-
|
|
111
|
-
TaskDescription:
|
|
112
|
-
inputs:
|
|
113
|
-
value:
|
|
114
|
-
const: "CHANGE_ME"
|
|
115
|
-
transform: pick_value
|
|
116
|
-
|
|
117
|
-
CogAtlasID:
|
|
118
|
-
inputs:
|
|
119
|
-
value:
|
|
120
|
-
const: "https://www.cognitiveatlas.org/fillYourID"
|
|
121
|
-
transform: pick_value
|
|
122
|
-
|
|
123
|
-
CogPOID:
|
|
124
|
-
inputs:
|
|
125
|
-
value:
|
|
126
|
-
const: "http://www.cogpo.org/fillYourID"
|
|
127
|
-
transform: pick_value
|
brkraw/default/specs/mrs.yaml
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
__meta__:
|
|
2
|
-
name: "mrs"
|
|
3
|
-
version: "1.0.0"
|
|
4
|
-
description: "Metadata mapping for PRESS/STEAM/SLASER sequences."
|
|
5
|
-
category: "info_spec"
|
|
6
|
-
transforms_source: "mrs_transforms.py"
|
|
7
|
-
|
|
8
|
-
Method:
|
|
9
|
-
sources:
|
|
10
|
-
- file: method
|
|
11
|
-
key: Method
|
|
12
|
-
- file: acqp
|
|
13
|
-
key: ACQ_method
|
|
14
|
-
transform: strip_jcamp_string
|
|
15
|
-
|
|
16
|
-
TR (ms):
|
|
17
|
-
sources:
|
|
18
|
-
- file: method
|
|
19
|
-
key: PVM_RepetitionTime
|
|
20
|
-
- file: acqp
|
|
21
|
-
key: ACQ_repetition_time
|
|
22
|
-
transform: convert_to_list
|
|
23
|
-
|
|
24
|
-
TE (ms):
|
|
25
|
-
sources:
|
|
26
|
-
- file: method
|
|
27
|
-
key: PVM_EchoTime
|
|
28
|
-
- file: acqp
|
|
29
|
-
key: ACQ_echo_time
|
|
30
|
-
transform: convert_to_list
|
|
31
|
-
|
|
32
|
-
NumAverage:
|
|
33
|
-
sources:
|
|
34
|
-
- file: method
|
|
35
|
-
key: PVM_NAverages
|
|
36
|
-
- file: acqp
|
|
37
|
-
key: NA
|
|
38
|
-
|
|
39
|
-
Nucleus:
|
|
40
|
-
sources:
|
|
41
|
-
- file: method
|
|
42
|
-
key: PVM_Nucleus1
|
|
43
|
-
- file: acqp
|
|
44
|
-
key: NUCLEUS
|
|
45
|
-
transform: strip_jcamp_string
|
|
46
|
-
|
|
47
|
-
CenterFrequency (MHz):
|
|
48
|
-
sources:
|
|
49
|
-
- file: method
|
|
50
|
-
key: PVM_SpecFreq
|
|
51
|
-
- file: acqp
|
|
52
|
-
key: SFO1
|
|
53
|
-
|
|
54
|
-
SpectralWidth (Hz):
|
|
55
|
-
sources:
|
|
56
|
-
- file: method
|
|
57
|
-
key: PVM_SpecSW
|
|
58
|
-
- file: acqp
|
|
59
|
-
key: SW_h
|
|
60
|
-
|
|
61
|
-
VoxelSize (mm):
|
|
62
|
-
sources:
|
|
63
|
-
- file: method
|
|
64
|
-
key: PVM_VoxArrSize
|
|
65
|
-
transform: convert_to_list
|
|
66
|
-
|
|
67
|
-
VoxelPosition (mm):
|
|
68
|
-
sources:
|
|
69
|
-
- file: method
|
|
70
|
-
key: PVM_VoxArrPosition
|
|
71
|
-
transform: convert_to_list
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from typing import Optional, Any, cast
|
|
4
|
-
import re
|
|
5
|
-
|
|
6
|
-
import numpy as np
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def strip_jcamp_string(value: Optional[str]) -> str:
|
|
10
|
-
if value is None:
|
|
11
|
-
return "Unknown"
|
|
12
|
-
text = str(value).strip()
|
|
13
|
-
if text.startswith("<") and text.endswith(">"):
|
|
14
|
-
text = text[1:-1]
|
|
15
|
-
text = re.sub(r"\^+", " ", text)
|
|
16
|
-
return " ".join(text.split())
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def convert_to_list(value: Any):
|
|
20
|
-
if value is None:
|
|
21
|
-
return []
|
|
22
|
-
if hasattr(value, "tolist"):
|
|
23
|
-
return cast(Any, value).tolist()
|
|
24
|
-
if isinstance(value, (list, tuple)):
|
|
25
|
-
return list(value)
|
|
26
|
-
return [value]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|