Skip to content

Commit e05de3a

Browse files
committed
Merge branch 'peyman-main' into dev
* peyman-main: (69 commits) deleting MRIScannerUsageForDiffusion deleting b0 and asl _extends correction for _extends correction for extending adding tpl Update MRIScannerUsageForDiffusion.schema.tpl.json subjectOrientation Lyuba's feedback correction for space renaming to neuroimaging Forgotten Array meeting 2024-07-01 correction for linked types before meeting 27-05 Meeting 2024/05/13 Homogenizing the required fieldOfView to Categories numberOfVolumes required sorting FunctionalMRI ...
2 parents 9a0b61b + 6fe7aa2 commit e05de3a

14 files changed

+462
-3
lines changed

CONTRIBUTING.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# How to contribute
2+
3+
The openMINDS metadata framework is an open-source project and community contributions are highly appreciated.
4+
If you want to contribute please follow our :arrow_right: [**contribution guidelines**][contribution-url].
5+
6+
<!-- MARKDOWN LINKS & IMAGES -->
7+
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
8+
[contribution-url]: https://openminds-documentation.readthedocs.io/en/latest/shared/how_to_contribute.html

LICENSE

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 Human Brain Project
3+
Copyright (c) 2021, 2022 CNRS, Forschungszentrum Jülich GmbH, Universitetet i Oslo, EBRAINS AISBL
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

+32-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,32 @@
1-
# openMINDS_MRI
2-
A metadata model for MRI experiments; an openMINDS extension
1+
<a href="/img/openMINDS_MRI_logo_light.png">
2+
<picture>
3+
<source media="(prefers-color-scheme: dark)" srcset="/img/openMINDS_MRI_logo_dark.png">
4+
<source media="(prefers-color-scheme: light)" srcset="/img/openMINDS_MRI_logo_light.png">
5+
<img alt="openMINDS_MRI metadata model" src="/img/openMINDS_MRI_logo_light.png" title="Logo created by U. Schlegel, L. Zehl, C. Hagen Blixhavn" align="right" height="70">
6+
</picture>
7+
</a>
8+
9+
# openMINDS_core
10+
11+
[![GitHub][license-shield]][license-url]
12+
[![GitHub contributors][contributors-shield]][contributors-url]
13+
14+
The **openMINDS_MRI** repository hosts one of the metadata models of the **openMINDS metadata framework**. It defines modular metadata schemas for describing magnetic resonance imaging (MRI) experiments.
15+
16+
To generally learn more about the openMINDS metadata framework please go to :arrow_right: [**ReadTheDocs**][docu-url].
17+
Or explore directly the metadata schemas of the openMINDS_MRI metadata model under :arrow_right: [**schema specifications**][docu-MRI-url].
18+
19+
## How to contribute
20+
21+
The openMINDS metadata framework is an open-source project and community contributions are highly appreciated.
22+
If you want to contribute please follow our :arrow_right: [**contribution guidelines**][contribution-url].
23+
24+
<!-- MARKDOWN LINKS & IMAGES -->
25+
<!-- https://www.markdownguide.org/basic-syntax/#reference-style-links -->
26+
[contribution-url]: https://openminds-documentation.readthedocs.io/en/latest/shared/contribution_guidelines.html
27+
[contributors-url]: https://github.com/openMetadataInitiative/openMINDS_MRI/graphs/contributors
28+
[contributors-shield]: https://img.shields.io/github/contributors/openMetadataInitiative/openMINDS_MRI
29+
[docu-url]: https://openminds-documentation.readthedocs.io
30+
[docu-MRI-url]: https://openminds-documentation.readthedocs.io/en/v3.0/schema_specifications/mri.html
31+
[license-url]: https://raw.githubusercontent.com/openMetadataInitiative/openMINDS_MRI/v1/LICENSE
32+
[license-shield]: https://img.shields.io/github/license/openMetadataInitiative/openMINDS_MRI
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"_extends": "/core/schemas/research/ExperimentalActivity.schema.tpl.json",
3+
"properties": {
4+
"contrastAgent": {
5+
"_instruction": "Add the contrast agent used for this scan.",
6+
"_linkedTypes": [
7+
"https://openminds.ebrains.eu/chemicals/AmountOfChemical"
8+
]
9+
},
10+
"device": {
11+
"_instruction": "Add the MRI machine setting used for this scan.",
12+
"_linkedTypes": [
13+
"https://openminds.ebrains.eu/neuroimaging/MRIScannerUsage"
14+
]
15+
},
16+
"input": {
17+
"_instruction": "Add the state of the subject or tissue sample before this session.",
18+
"_linkedTypes": [
19+
"https://openminds.ebrains.eu/core/SubjectState",
20+
"https://openminds.ebrains.eu/core/TissueSampleState"
21+
]
22+
},
23+
"specimenOrientation": {
24+
"_instruction": "Add the anatomical orientation of the specimen in the scanner.",
25+
"_linkedTypes": [
26+
"https://openminds.ebrains.eu/controlledTerms/AnatomicalAxesOrientation"
27+
]
28+
}
29+
},
30+
"required": [
31+
"device"
32+
]
33+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
{
2+
"_extends": "activity/MRIAcquisition.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/FunctionalMRIAcquisition",
4+
"properties": {
5+
"acquisitionDuration": {
6+
"_embeddedTypes": [
7+
"https://openminds.ebrains.eu/core/QuantitativeValue"
8+
],
9+
"_instruction": "Enter duration of volume acquisition."
10+
},
11+
"behavioralProtocol": {
12+
"_instruction": "Add all behavioral protocols that were performed during this session.",
13+
"_linkedTypes": [
14+
"https://openminds.ebrains.eu/core/BehavioralProtocol"
15+
],
16+
"minItems": 1,
17+
"type": "array",
18+
"uniqueItems": true
19+
},
20+
"delayAfterTrigger": {
21+
"_embeddedTypes": [
22+
"https://openminds.ebrains.eu/core/QuantitativeValue"
23+
],
24+
"_instruction": "Enter the duration from trigger delivery to scan onset (only the first volum)."
25+
},
26+
"delayTime": {
27+
"_embeddedTypes": [
28+
"https://openminds.ebrains.eu/core/QuantitativeValue"
29+
],
30+
"_instruction": "Enter the arbitrary delay time set by user before each volume acquisition."
31+
},
32+
"fieldMap": {
33+
"_instruction": "Add the images or field maps used for correction of inhemogenties in B0 field of this aquisition.",
34+
"_linkedTypes": [
35+
"https://openminds.ebrains.eu/core/File"
36+
],
37+
"minItems": 1,
38+
"type": "array"
39+
},
40+
"numberOfVolumesDiscardedByUser": {
41+
"_instruction": "Enter number of volumes discarded by user before the first volume.",
42+
"type": "number"
43+
},
44+
"repetitionTime": {
45+
"_embeddedTypes": [
46+
"https://openminds.ebrains.eu/core/QuantitativeValue"
47+
],
48+
"_instruction": "Enter the echo time of this aquisition (TR)."
49+
},
50+
"sbref": {
51+
"_instruction": "Add the single-band reference image for this volume.",
52+
"_linkedTypes": [
53+
"https://openminds.ebrains.eu/core/File"
54+
]
55+
},
56+
"structuralMRI": {
57+
"_instruction": "Add the structural MRI relavent for this aquisition.",
58+
"_linkedTypes": [
59+
"https://openminds.ebrains.eu/core/File"
60+
]
61+
},
62+
"volumeTiming": {
63+
"_instruction": "Enter aquisition times of each vloume.",
64+
"_linkedTypes": [
65+
"https://openminds.ebrains.eu/core/QuantitativeValueArray"
66+
]
67+
}
68+
}
69+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"_extends": "activity/MRIAcquisition.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/StructuralMRIAcquisition"
4+
}
+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{
2+
"_extends": "/core/schemas/products/device.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/MRIScanner",
4+
"properties": {
5+
"magneticFieldStrength": {
6+
"_embeddedTypes": [
7+
"https://openminds.ebrains.eu/core/QuantitativeValue"
8+
],
9+
"_instruction": "Enter the nominal field strength of MR magnet in Tesla."
10+
}
11+
}
12+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
{
2+
"_extends": "/core/schemas/research/deviceUsage.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/MRIScannerUsage",
4+
"properties": {
5+
"bValues": {
6+
"_instruction": "Add the b values coresponding to this aquisition.",
7+
"_linkedTypes": [
8+
"https://openminds.ebrains.eu/core/File"
9+
]
10+
},
11+
"bVectors": {
12+
"_instruction": "Add the b vectors coresponding to this aquisition.",
13+
"_linkedTypes": [
14+
"https://openminds.ebrains.eu/core/File"
15+
]
16+
},
17+
"dwellTime": {
18+
"_embeddedTypes": [
19+
"https://openminds.ebrains.eu/core/QuantitativeValue"
20+
],
21+
"_instruction": "Enter the dewell time of this aquistion."
22+
},
23+
"echoTime": {
24+
"_embeddedTypes": [
25+
"https://openminds.ebrains.eu/core/QuantitativeValue"
26+
],
27+
"_instruction": "Enter the echo times of this aquisition (TE).",
28+
"minItems": 1,
29+
"type": "array",
30+
"uniqueItems": true
31+
},
32+
"fieldOfView": {
33+
"_instruction": "Add the field of view of this image.",
34+
"_linkedCategories": [
35+
"mathematicalShapes"
36+
]
37+
},
38+
"flipAngle": {
39+
"_embeddedTypes": [
40+
"https://openminds.ebrains.eu/core/QuantitativeValue"
41+
],
42+
"_instruction": "Enter the flip angle of this scan (preferred units: degrees)."
43+
},
44+
"interSliceGap": {
45+
"_embeddedTypes": [
46+
"https://openminds.ebrains.eu/core/QuantitativeValue",
47+
"https://openminds.ebrains.eu/core/QuantitativeValueRange"
48+
],
49+
"_instruction": "Enter the inter slice distance of this scan."
50+
},
51+
"mRAcquisitionType": {
52+
"_instruction": "Add the type of sequence readout (2D or 3D).",
53+
"_linkedTypes": [
54+
"https://openminds.ebrains.eu/controlledTerms/MRAcquisitionType"
55+
]
56+
},
57+
"mTState": {
58+
"_instruction": "Boolean stating whether the magnetization transfer pulse is applied.",
59+
"type": "boolean"
60+
},
61+
"nonlinearGradientCorrection": {
62+
"_instruction": "Has this scan, been corrected for gradient nonlinearities by the scanner sequence?",
63+
"type": "boolean"
64+
},
65+
"numberOfVolumesDiscardedByScanner": {
66+
"_instruction": "Enter number of volumes discarded by scanner before the first volume.",
67+
"type": "number"
68+
},
69+
"parallelAcquisitionTechnique": {
70+
"_ instruction": "Enter the parallel acquisition technique sequance name for this scan. 'GRAPPA' for most Siemens machines and 'SENSE' for most Philips machines.",
71+
"type": "string"
72+
},
73+
"phaseEncodingDirection": {
74+
"_instruction": "Add the direction along which phase is modulated which may result in visible distortions.",
75+
"_linkedTypes": [
76+
"https://openminds.ebrains.eu/controlledTerms/CartesianDirectionVector"
77+
]
78+
},
79+
"pulseSequenceType": {
80+
"_instruction": "Add the type pulse sequence used for this scan.",
81+
"_linkedType": [
82+
"https://openminds.ebrains.eu/controlledTerms/MRIPulseSequence"
83+
]
84+
},
85+
"radiofrequencyCoilType": {
86+
"_instruction": "Add the type of radiofrequency coil.",
87+
"_linkedTypes": [
88+
"https://openminds.ebrains.eu/controlledTerms/MRIRadiofrequencyCoilType"
89+
]
90+
},
91+
"sliceOrder": {
92+
"_instruction": "Enter the time in which each slice have been aquired within each volume.",
93+
"_linkedTypes": [
94+
"https://openminds.ebrains.eu/core/QuantitativeValueArray"
95+
]
96+
},
97+
"sliceThickness": {
98+
"_embeddedTypes": [
99+
"https://openminds.ebrains.eu/core/QuantitativeValue",
100+
"https://openminds.ebrains.eu/core/QuantitativeValueRange"
101+
],
102+
"_instruction": "Enter the slice thickness of this MR image."
103+
},
104+
"sliceTiming": {
105+
"_instruction": "Enter the time in which each slice have been aquired within each volume.",
106+
"_linkedTypes": [
107+
"https://openminds.ebrains.eu/core/QuantitativeValueArray"
108+
]
109+
},
110+
"spoilingState": {
111+
"_instruction": "Boolean stating whether the pulse sequence uses any type of spoiling strategy to suppress residual transverse magnetization.",
112+
"type": "boolean"
113+
},
114+
"voxelSize": {
115+
"_embeddedTypes": [
116+
"https://openminds.ebrains.eu/core/QuantitativeValueArray"
117+
],
118+
"_instruction": "Enter voxel size this image: in this order x,y,z."
119+
}
120+
}
121+
}

schemas/entity/image.schema.tpl.json

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
{
2+
"_type": "https://openminds.ebrains.eu/neuroimaging/Image",
3+
"properties": {
4+
"additionalRemarks": {
5+
"_instruction": "Enter any additional remarks concerning this image.",
6+
"type": "string"
7+
},
8+
"capturedWith": {
9+
"_instruction": "Add the device used to captured this image.",
10+
"_linkedCategories": [
11+
"deviceUsage"
12+
]
13+
},
14+
"colorDepth": {
15+
"_embeddedTypes": [
16+
"https://openminds.ebrains.eu/core/QuantitativeValue"
17+
],
18+
"_instruction": "Enter the number of bits used to represent the color of each pixel."
19+
},
20+
"coordinateSpace": {
21+
"_instruction": "Add the coordinate space in which this image exists.",
22+
"_linkedTypes": [
23+
"https://openminds.ebrains.eu/sands/CustomCoordinateSpace"
24+
]
25+
},
26+
"dataLocation": {
27+
"_instruction": "Add the location of the file or file bundle in which the image is stored.",
28+
"_linkedTypes": [
29+
"https://openminds.ebrains.eu/core/File"
30+
]
31+
},
32+
"dimension": {
33+
"_instruction": "Enter the dimension of this image in pixels.",
34+
"items": {
35+
"type": "integer"
36+
},
37+
"maxItems": 2,
38+
"minItems": 2,
39+
"type": "array"
40+
},
41+
"name": {
42+
"_instruction": "Enter a descriptive name for this image.",
43+
"type": "string"
44+
},
45+
"pixelSize": {
46+
"_embeddedTypes": [
47+
"https://openminds.ebrains.eu/core/QuantitativeValue"
48+
],
49+
"_instruction": "Enter the physical pixel size for this image (in x,y order).",
50+
"maxItems": 2,
51+
"minItems": 2,
52+
"type": "array"
53+
}
54+
},
55+
"required": [
56+
"dataLocation",
57+
"pixelSize",
58+
"dimension",
59+
"coordinateSpace"
60+
]
61+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"_extends": "entity/image.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/ImageSequence",
4+
"properties": {
5+
"numberOfImages": {
6+
"_instruction": "Enter the total number of images in this sequence (at least two).",
7+
"minimum": 2,
8+
"type": "integer"
9+
},
10+
"temporalResolution": {
11+
"_embeddedTypes": [
12+
"https://openminds.ebrains.eu/core/QuantitativeValue"
13+
],
14+
"_instruction": "Enter the temporal resolution of this sequence."
15+
}
16+
},
17+
"required": [
18+
"numberOfImages"
19+
]
20+
}
+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"_extends": "entity/image.schema.tpl.json",
3+
"_type": "https://openminds.ebrains.eu/neuroimaging/ImageStack",
4+
"properties": {
5+
"numberOfImages": {
6+
"_instruction": "Enter the total number of images in this stack (at least two).",
7+
"minimum": 2,
8+
"type": "integer"
9+
},
10+
"sliceThickness": {
11+
"_embeddedTypes": [
12+
"https://openminds.ebrains.eu/core/QuantitativeValue"
13+
],
14+
"_instruction": "Enter the thickness of each image slice in the stack."
15+
}
16+
},
17+
"required": [
18+
"numberOfImages"
19+
]
20+
}

0 commit comments

Comments
 (0)