.
diff --git a/README.md b/README.md
index 01ebf4d..9ba08bf 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,134 @@
-# MIDS
\ No newline at end of file
+
+
+
+
+ Medical Imaging Bank Valencia Region 1
+
+Medical Imaging Data Structure
+BIDS Extension Proposal xx (BEP0xx)
+
+
+In order to add to the scientific knowledge, methods that yield reliable and reproducible results must be used.
+High test-retest reliability of the methods applied is the foundation of research irrespective of the scientific discipline and it is in the prime interest of every scientist that results are reproducible. While such reproducibility was considered of utmost importance in the positron emitting tomography (PET) field [Adams et al., 2010], the quantitative assessment of reproducibility has largely been neglected in the fMRI community,
+or as Bennett and Miller described it: “Reliability is not a typical topic of conversation” between fMRI investigators [Bennett and Miller, 2010]. This situation changed significantly in 2016, following the establishment of the Committee on Best Practices in Data Analysis and Sharing ([COBIDAS](www.humanbrainmapping.org/cobidas/)) by the most important neuroimaging society - the Organisation for Human Brain Mapping (OHBM).
+
+
+
+The objective of BIMCV (Medical Imaging Bank Valencia Region) is that all this scientific knowledge be colected in a correct and efficient way. More concretely, all that knowledge is refered to data imaging. Find a way to organize this information is necesary.
+
+
+
+Currently, distinc forms to store images and medical information exist, but there is not a standard that indicates how this information should be organized and shared. The CEIB idea is to use a simple organisation that any researcher can understand the distribution of data.
+
+
+
+This desing is called MIDS (Medical Imaging Data Structure). MIDS is a new standard that contains every type of medical information and images in simple hierarchy folders. This is born as an extension of the standard BIDS (Brain Imaging Data Structure). BIDS [Gorgolewski et al.] is a structure that collect medical brain images, but MIDS pretend to extend it far away and not limit it the use to medical brain images. the idea is to create the same structure with both brain, column images or torso,... whether Resonance magnetic, Computed tomography, ecography,... This structure will definitely follow the same process regardless of the type and shape of the image.
+
+
+
+## Index
+
+>[1. Introduction: Medical Imaging Data Structure](#loading)
+
+>[2. MIDS structural format](#mids)
+
+>[3. Aplications](#aplications)
+
+>[4. future lines](#future)
+
+>[5. References](#references)
+
+
+
+
+## 1. Introduction
+
+
+At present, many studies based on obtaining a dataset of medical images for its process of study. the qualitative improvement has been enormous for these studies since its use. Management and control all images and metadata added to them is a extra hard work. Furthermore, during the study, more data is generated where it is necessary to relocate. Each study search the way to organize these data in the way that best suits. this makes it more difficult to understand the data collected and results.
+
+
+
+There are any studies that proposal a standar to store this type of data. One of them is BIDS ([Brain Imaging Data Structure](http://bids.neuroimaging.io/),[1]). BIDS is a proposal standar to store a magnetic resonance imaging and data in a structural folder hierarchy. This structure is very clear and easy to use. This standard is supported by several programs and libraries dedicated to the study of medical images (i.e. c-pacs, freesurfer, xnat, BIDSValidator...) and it is very used in the comunity researchers. In te Figure 1, a example of structure in BIDS is presented,the left directory is a folder with dicom images (Mildenberger, Eichelberg & Martin,2002) and the right directory is a BIDS structure
+
+
+
+
+
+
+
+
+figure 1: DICOM to BIDS conversion with the tool Dcm2Bids
+
+
+
+
+However, BIDS only suports RM imaging and only brain images. For example, if a project need lumbar RM imaging, BIDS would not given support to these images. Nevertheless, this structure has not limits to store other anatomy parts. Without going into further, other acquisition images can be implemented. To that end, MIDS has been created.
+
+
+
+## 2. MIDS structural format
+
+
+
+Currently, MIDS tries to stablish yourself like a BIDS ampliation. the structural format is highly similar like BIDS in magnetic resonance.The paper of [standar BIDS](http://www.nature.com/articles/sdata201644) or [BIDS specification](http://bids.neuroimaging.io/bids_spec1.0.2.pdf) can be read for more detail.
+
+
+
+One proposal to extend and include BIDS into MIDS is create new variable in named specification of files. For example the estructure in one file is **sub-*id*[*obtative\_list\_variables*]\_*modality*.nii.gz** the proposal is add in this obtative variables the term \_bop-*body\_part\_dicom* which refers to the part of the body collected in the label dicom [(0018,0015)](http://dicomlookup.com/lookup.asp?sw=Tnumber&q=(0018,0015). The absence of the bop variable is set as the default skull.Thus, any BIDS structure is included in MIDS. The folder **data** shows a one exemple of input directory and output directory in MIDS structure.
+
+
+# Aplications
+
+## XNAT2MIDS
+This sorfware allow the user to Download one project into XNAT platform (--version XNAT <= 1.7.4.1) of BIMCV and convert the XNAT directory images in a directory MIDS. The aplication execution need Python --version >= 3.5.
+
+An example of execution is:
+
+```sh
+python3.5 main.py -w Project_id -i dirXNAT -o dirOutput
+```
+
+### Options
+
+there are 2 funtions in this code:
+
+ Download one project from xnat aplicatión:
+
+ download one project from xnat aplicatión:
+
+ arguments:
+
+ + Prefix -w --web PAGE_WEB 1) The ULR page where XNAT is.
+ + Prefix -p --project [PROJECTS] 2) The project name to download
+ + Prefix -i --input PATH 3) the directfory where the files
+ will be downloaded
+ + Prefix -u --user [USER] 4) The username to loggin in XNAT
+ If not write a username, It
+ loggin as guest.
+
+ Convert the xnat directories of the project in MIDS format:
+ arguments:
+
+ + Prefix -i --input PATH 1) the directfory where the files will
+ be downloaded
+ + Prefix -o --output PATH 2) Directory where the MIDS model
+ is applied.
+
+## 4. Future Lines
+
+Now, BIDS is a potential standard to store images of RM and there is a little diference between BIDS and MIDS. However,MIDS pretend to incorporate, within epidemiological studies based on Population Image (BIMCV), any type of [modality](http://dicomlookup.com/modalities.asp) of medical image (i.e. Computed Radiography,Computed Tomography, Ultrasound, Mammography, ...).
+
+Taking in count, all images in BIMCV come from clinical imaging protocols in RM. these imaging don't ajust to labels in BIDS and, for that reason, one proposal is to extend and specify format label in MIDS. this format structure is "\_OriModSeq" where "Ori" is the orientation (**ax**->axial,**sag**->sagital,**cor**->coronal), "Mod" is the modality of image (T1,T2,Stir,angio,...) and "Seq" is the scaning sequence (**SE**->Spin Echo,**FSE**->Fast Spin Echo,**GR**->Gradiente,...). For more information, see the table in ./MIDS/XNAT2MIDS/.python\_objects/dictionary\_scan.csv in the column _Modality\_label_.
+
+
+## 5. References
+
+Adams MC., Turkington TG., Wilson JM., Wong TZ. (2010). A systematic review of the factors affecting accuracy of SUV measurements. AJR American journal of roentgenology 195:310-320.
+
+Bennett CM., Miller MB. (2010) How reliable are the results from functional magnetic resonance imaging? Annals of the New York Academy of Sciences 1191:133-155.
+
+Mildenberger, P., Eichelberg, M., & Martin, E. (2002). Introduction to the DICOM standard. European radiology, 12(4), 920-927.
+
+Gorgolewski, K. J., Auer, T., Calhoun, V. D., Craddock, R. C., Das, S., Duff, E. P., ... & Handwerker, D. A. (2016). The brain imaging data structure, a format for organizing and describing outputs of neuroimaging experiments. Scientific Data, 3, 160044.
diff --git a/data/examples/MRI_Head/CHANGES.txt b/data/examples/MRI_Head/CHANGES.txt
new file mode 100644
index 0000000..6280197
--- /dev/null
+++ b/data/examples/MRI_Head/CHANGES.txt
@@ -0,0 +1,9 @@
+1.0.1 2017-08-27
+ - DICOM information.
+1.0.0 2016-05-26
+ - Initial release.
+
+AUTHOR
+ - Jose Manuel Saborit Torres
+
+COPYRIGHT AND LICENSE
\ No newline at end of file
diff --git a/data/examples/MRI_Head/README.txt b/data/examples/MRI_Head/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/data/examples/MRI_Head/dataset_description.json b/data/examples/MRI_Head/dataset_description.json
new file mode 100644
index 0000000..3a1866f
--- /dev/null
+++ b/data/examples/MRI_Head/dataset_description.json
@@ -0,0 +1,12 @@
+{
+ "Name": "MRI_Head",
+ "BIDSVersion": "1.1.0",
+ "MIDSVersion": "0.10.23",
+ "License": "CC BY 4.0"
+ "Authors": ["Jose Manuel Saborit Torres","CEIB-CSUSP"],
+ "Acknowledgements": "A special thanks to Jhon Jairo Saenz Gamboa for the help to format this data set in MIDS, to Joaquim Montell for the management of the XNAT platform, to María de la Iglesia Vayá head of Lab. for her support; Thanks to the CEIB-SUSP team of scientists, who developed the download, anonymization and scientific knowledge processes necessary to carry out this data set, and to the Public Health Department of Valencia for providing the data.",
+ "HowToAcknowledge": "Please cite this paper: ",
+ "Funding": ["Centre of Excellence and Technological Innovation in Bioimaging, Health Regional Ministry of Valencia and Public Health(CEIB-CSUSP), http://ceib.san.gva.es/ceib-cs", "Foundation for the Promotion of Health and Biomedical Research of Valencia Region (FISABIO), http://fisabio.san.gva.es/","Conselleria de Sanitat Universal i Salut Pública, http://www.san.gva.es"],
+ "ReferencesAndLinks": ["http://bimcv.cipf.es/2_projects/mids/", "http://bimcv.cipf.es/2_projects/10k-bdbi-4-cv/"],
+ "DatasetDOI": ""
+}
diff --git a/data/examples/MRI_Head/participants.tsv b/data/examples/MRI_Head/participants.tsv
new file mode 100644
index 0000000..c45a48b
--- /dev/null
+++ b/data/examples/MRI_Head/participants.tsv
@@ -0,0 +1,4 @@
+participant_id age gender control
+sub-3 8 M 191
+sub-2 76 M 191
+sub-1 91 F 191
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.json b/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.json
new file mode 100644
index 0000000..a79b043
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.557", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.557", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "090707.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "092930.000000", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "092930.000000", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "092930.000000", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0061)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modalities in Study"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "CASTMRI", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "RMI_head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "015031_RM111B", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM ESPECTROSCOPICA CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AXIALT1", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.795", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.798", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "304229696761426913368206915776875392104", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "239996943502289713192853049918686757778", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19240302", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "F", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "091Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "41", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\EDR_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "480", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "12", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.868208", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "75", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "81.3672", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24200", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "4436599", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\256\\192\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.168009", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.10.192.138.26.20150427.140750.4893596", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.472", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "9", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "20", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-122.107\\-135.4\\50", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "1\\0\\0\\0\\1\\0", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9298.1430199842.154", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "50", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0020,1208)", "vr": "IS", "value": "1102", "tag2": "", "desc": "Number of Study Related Instances"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "SL", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.46875\\0.46875", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "295", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "591", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "IS", "value": "0\\32\\0\\0", "tag2": "", "desc": "?"}, {"tag1": "(07A1,0010)", "vr": "LO", "value": "ELSCINT1", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(07A3,0010)", "vr": "LO", "value": "ELSCINT1", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(07A5,0010)", "vr": "LO", "value": "ELSCINT1", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.nii.gz b/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.nii.gz
new file mode 100644
index 0000000..278e2c2
Binary files /dev/null and b/data/examples/MRI_Head/sub-1/ses-1/anat/sub-1_ses-1_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bval b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bval
new file mode 100644
index 0000000..a72be1b
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bval
@@ -0,0 +1 @@
+1000 0
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bvec b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bvec
new file mode 100644
index 0000000..41c02d7
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.bvec
@@ -0,0 +1,3 @@
+0 0
+0 0
+0 0
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.json b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.json
new file mode 100644
index 0000000..92f17f1
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.180", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.180", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "090707.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "091710.000000", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "091711.000000", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "091711.000000", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "CASTMRI", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "RMI_head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "015031_RM111B", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM ESPECTROSCOPICA CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "DIFUSIONB1000", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.795", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.798", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "304229696761426913368206915776875392104", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "239996943502289713192853049918686757778", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19240302", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "F", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "091Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "41", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "EP\\SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\EPI_GEMS\\PFF", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "8100", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "78.2", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.868212", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "1953.12", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24200", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "4436599", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "128\\0\\0\\128", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "COL", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.064779", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.10.192.138.26.20150427.140750.4893596", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.94", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "5", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "21", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-121.873\\-135.165\\56", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "1\\0\\0\\0\\1\\0", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9298.1430199842.154", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "56", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "SL", "value": "7", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "256", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "256", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.9375\\0.9375", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "101", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "203", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "IS", "value": "1000\\8\\0\\0", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.nii.gz b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.nii.gz
new file mode 100644
index 0000000..e9aeedb
Binary files /dev/null and b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b1000_dwi.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bval b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bval
new file mode 100644
index 0000000..0d2e681
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bval
@@ -0,0 +1 @@
+3000 0
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bvec b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bvec
new file mode 100644
index 0000000..41c02d7
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.bvec
@@ -0,0 +1,3 @@
+0 0
+0 0
+0 0
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.json b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.json
new file mode 100644
index 0000000..dfdfcd5
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.91", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200133.91", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20150428", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "090707.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "091421.000000", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "091421.000000", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "091421.000000", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "CASTMRI", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "RMI_head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "015031_RM111B", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM ESPECTROSCOPICA CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AxDIFb3000", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.795", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.798", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "304229696761426913368206915776875392104", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "239996943502289713192853049918686757778", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19240302", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "F", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "091Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "41", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "EP\\SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\EPI_GEMS\\PFF", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "9000", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "101.8", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "4", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.868212", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "1953.12", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24200", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "4436599", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "128\\0\\0\\128", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "COL", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.058301", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "DS", "value": "0", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.10.192.138.26.20150427.140750.4893596", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9228.1430200132.980", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "4", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "46", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-121.873\\-135.165\\62", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "1\\0\\0\\0\\1\\0", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1616754.9298.1430199842.154", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "62", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "SL", "value": "7", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "256", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "256", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.9375\\0.9375", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "605", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "1210", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "IS", "value": "0\\8\\0\\0", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.nii.gz b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.nii.gz
new file mode 100644
index 0000000..ed7dedc
Binary files /dev/null and b/data/examples/MRI_Head/sub-1/ses-1/dwi/sub-1_ses-1_acq-b3000_dwi.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-1/ses-1/sub-1_ses-1_scans.tsv b/data/examples/MRI_Head/sub-1/ses-1/sub-1_ses-1_scans.tsv
new file mode 100644
index 0000000..5be71f1
--- /dev/null
+++ b/data/examples/MRI_Head/sub-1/ses-1/sub-1_ses-1_scans.tsv
@@ -0,0 +1,4 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+anat/sub-1_ses-1_T1w.nii.gz GE MEDICAL SYSTEMS AXIALT1 SIGNA EXCITE 239996943502289713192853049918686757778 F 091Y 41 SE n/a VB_GEMS\EDR_GEMS\FILTERED_GEMS 2D 5 480 12 0 63.868208 1.5 SIGNA EXCITE 6 1 100 81.3672 90 HFS -122.107\-135.4\50 1\0\0\0\1\0 n/a 50 512 512 0.46875\0.46875 16 1 1 n/a
+dwi/sub-1_ses-1_acq-b3000_dwi.nii.gz GE MEDICAL SYSTEMS DIFUSIONB1000 SIGNA EXCITE 239996943502289713192853049918686757778 F 091Y 41 EP\SE n/a VB_GEMS\EPI_GEMS\PFF 2D 5 8100 78.2 0 63.868212 1.5 SIGNA EXCITE 6 1 100 1953.12 90 HFS -121.873\-135.165\56 1\0\0\0\1\0 n/a 56 256 256 0.9375\0.9375 16 1 1 n/a
+dwi/sub-1_ses-1_acq-b1000_dwi.nii.gz GE MEDICAL SYSTEMS AxDIFb3000 SIGNA EXCITE 239996943502289713192853049918686757778 F 091Y 41 EP\SE n/a VB_GEMS\EPI_GEMS\PFF 2D 5 9000 101.8 0 63.868212 1.5 SIGNA EXCITE 6 1 100 1953.12 90 HFS -121.873\-135.165\62 1\0\0\0\1\0 n/a 62 256 256 0.9375\0.9375 16 4 1 n/a
diff --git a/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.json b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.json
new file mode 100644
index 0000000..59eae03
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.598", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.598", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "195032.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "200539", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "200539", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "200539", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AXT1SE", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121122.72334.20932853", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121122070006446.32927", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.912", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.913", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "68", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "4.5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "560", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "14", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858879", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "5.5", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "75.1172", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8NVHEAD_A", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\224\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.275538", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121122.71447.1841208", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.519", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "8", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "14", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-118.251\\-128.961\\22.3567", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.999808\\-0\\0.0195927\\0.000976557\\0.998774\\-0.0495007", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9591.1353572129.48", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "18.77477646", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.468753\\0.468754", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1182", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "2364", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "195032.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\0\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.nii.gz b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.nii.gz
new file mode 100644
index 0000000..25ed4e9
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-1_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.json b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.json
new file mode 100644
index 0000000..97efe38
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.497", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.497", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "195032.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "200216", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "200216", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "200216", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "CorT1FIR", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121122.72334.20932853", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121122070006446.32927", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.912", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.911", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "68", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "IR", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\SEQ_GEMS\\TRF_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "2537.07", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "28.56", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "750", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "2", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858867", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6.5", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "6", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "75", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "122.07", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8NVHEAD_A", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\256\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.265900", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121122.71447.1841208", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.429", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "7", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "3", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-128.263\\-55.68\\115.683", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.997749\\-0.0129399\\0.0657984\\0.0643033\\-0.0941203\\-0.993482", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9591.1353572129.48", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "68.5019455", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.468744\\0.468747", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1047", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "2094", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "195032.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\0\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.nii.gz b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.nii.gz
new file mode 100644
index 0000000..bc56f59
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-1/anat/sub-2_ses-1_run-2_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bval b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bval
new file mode 100644
index 0000000..a72be1b
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bval
@@ -0,0 +1 @@
+1000 0
diff --git a/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bvec b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bvec
new file mode 100644
index 0000000..41c02d7
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.bvec
@@ -0,0 +1,3 @@
+0 0
+0 0
+0 0
diff --git a/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.json b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.json
new file mode 100644
index 0000000..192c3b3
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.229", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.229", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "195032.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "195445", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "195445", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "195445", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "OAxDWI1000b", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121122.72334.20932853", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121122070006446.32927", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.912", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572442.913", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "68", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "EP\\SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\EPI_GEMS\\FILTERED_GEMS\\PFF", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "10000", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "94.7", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858878", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "5.2", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "1953.12", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "280", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8NVHEAD_A", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "128\\0\\0\\128", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "COL", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.145352", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121122.71447.1841208", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1353572443.127", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "4", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "37", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-139.095\\-147.621\\-7.93155", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.999713\\-0\\0.0239567\\0.00146491\\0.998116\\-0.0613427", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9591.1353572129.48", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "-13.1450243", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\07\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "256", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "256", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "1.09374\\1.09376", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "4495", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "8990", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121122", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "195032.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\8\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.nii.gz b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.nii.gz
new file mode 100644
index 0000000..7e4f017
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-1/dwi/sub-2_ses-1_acq-1000b_dwi.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-1/sub-2_ses-1_scans.tsv b/data/examples/MRI_Head/sub-2/ses-1/sub-2_ses-1_scans.tsv
new file mode 100644
index 0000000..f93a78e
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-1/sub-2_ses-1_scans.tsv
@@ -0,0 +1,4 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+anat/sub-2_ses-1_run-2_T1w.nii.gz GE MEDICAL SYSTEMS CorT1FIR SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 68 IR n/a VB_GEMS\SEQ_GEMS\TRF_GEMS\FILTERED_GEMS 2D 5 2537.07 28.56 750 63.858867 1.5 SIGNA EXCITE 6.5 6 100 122.07 90 HFS -128.263\-55.68\115.683 0.997749\-0.0129399\0.0657984\0.0643033\-0.0941203\-0.993482 n/a 68.5019455 512 512 0.468744\0.468747 16 2 1 n/a
+anat/sub-2_ses-1_run-1_T1w.nii.gz GE MEDICAL SYSTEMS 3plT2FGRES SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 68 RM OSP NPW\PFF 2D 4 39.5 1.8 0 63.858891 1.5 SIGNA EXCITE 5 1 100 244.141 30 HFS 5\-129.492\-20.5078 -0\1\0\-0\-0\-1 n/a -5 256 256 1.01562\1.01562 16 1 1 n/a
+dwi/sub-2_ses-1_acq-1000b_dwi.nii.gz GE MEDICAL SYSTEMS OAxDWI1000b SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 68 EP\SE n/a VB_GEMS\EPI_GEMS\FILTERED_GEMS\PFF 2D 5 10000 94.7 0 63.858878 1.5 SIGNA EXCITE 5.2 1 100 1953.12 90 HFS -139.095\-147.621\-7.93155 0.999713\-0\0.0239567\0.00146491\0.998116\-0.0613427 n/a -13.1450243 256 256 1.09374\1.09376 16 1 1 n/a
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.json b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.json
new file mode 100644
index 0000000..4395460
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.267", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.267", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "124713.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "124835", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "124835", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "124835", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AXT1SE", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121203.74630.24328626", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121203070005189.32871", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.49", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.47", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "75", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "4.5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "560", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "14", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858886", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "5.5", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "75.1172", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE092011", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\224\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.336960", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121203.71750.1850124", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.185", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "3", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "17", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-121.627\\-140.585\\45.2051", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.999934\\-0.0113528\\-0.00152594\\0.0112615\\0.9983\\-0.0571922", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1354515231.885", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "38.1727562", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.468746\\0.468752", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1070", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "2140", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "124713.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\0\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.nii.gz b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.nii.gz
new file mode 100644
index 0000000..3d82c7f
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-1_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.json b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.json
new file mode 100644
index 0000000..d7d9e9b
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.465", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.465", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "124713.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "130050", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "130050", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "130050", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "RMI_Cabeza", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AXT1SE", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121203.74630.24328626", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121203070005189.32871", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.49", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.47", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "75", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "4.5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "560", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "14", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858881", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "5.5", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "75.1172", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE092011", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\224\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.336960", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121203.71750.1850124", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.397", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "5", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "3", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-121.793\\-144.987\\-31.6688", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.999934\\-0.0113528\\-0.00152591\\0.0112615\\0.9983\\-0.0571922", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1354515231.885", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "-38.70117188", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.468746\\0.468752", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1563", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "3126", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "124713.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\0\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.nii.gz b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.nii.gz
new file mode 100644
index 0000000..0875b69
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-2_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.json b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.json
new file mode 100644
index 0000000..9f5d66c
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.378", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.378", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "124713.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "125113", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "125754", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "125754", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "I3-PIM02", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "RMI_Cabeza", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "012071_30411", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM CRANEAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "CORT1SE", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "SIGNA EXCITE", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.80.22179.580.20121203.74630.24328626", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.40.0.13.1.1.172.18.97.166.20121203070005189.32871", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.49", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.45", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "206420261264115296606936483329680842341", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "309742868506857266318767310985292225200", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "19360612", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "076Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "75", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0011,0010)", "vr": "LO", "value": "GEMS_PATI_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "VB_GEMS\\FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "360", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "16", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.858874", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "61.0547", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV24000", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "11\\LX\\MR Software release:11.1_M4_0818.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "CEREBRLAPURE0920113", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\224\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "1.215609", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.172.18.96.237.20121203.71750.1850124", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9460.1354515255.275", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "4", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "2", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "47", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-118.432\\-24.5346\\117.8", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.998115\\-0.0590232\\-0.0168158\\-0.0234989\\-0.114473\\-0.993148", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.222.2025.1750492.9529.1354515231.885", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,0110)", "vr": "DS", "value": "0", "tag2": "", "desc": "Temporal Resolution"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "45.31367493", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.468757\\0.468747", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0120)", "vr": "SS", "value": "0", "tag2": "", "desc": "Pixel Padding Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1565", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "3131", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0040,0241)", "vr": "AE", "value": "I3-PIM02", "tag2": "", "desc": "Performed Station AE Title"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20121203", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "124713.000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\0\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.nii.gz b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.nii.gz
new file mode 100644
index 0000000..d1bbae0
Binary files /dev/null and b/data/examples/MRI_Head/sub-2/ses-2/anat/sub-2_ses-2_run-3_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-2/ses-2/sub-2_ses-2_scans.tsv b/data/examples/MRI_Head/sub-2/ses-2/sub-2_ses-2_scans.tsv
new file mode 100644
index 0000000..18922ab
--- /dev/null
+++ b/data/examples/MRI_Head/sub-2/ses-2/sub-2_ses-2_scans.tsv
@@ -0,0 +1,4 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+anat/sub-2_ses-2_run-1_bp-head_vp-ax_T1w.nii.gz,anat/sub-2_ses-2_run-2_bp-head_vp-ax_T1w.nii.gz,anat/sub-2_ses-2_bp-head_vp-cor_T1w.nii.gz GE MEDICAL SYSTEMS CORT1SE SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 75 SE n/a VB_GEMS\FILTERED_GEMS 2D 5 360 16 0 63.858874 1.5 SIGNA EXCITE 6 1 100 61.0547 90 HFS -118.432\-24.5346\117.8 0.998115\-0.0590232\-0.0168158\-0.0234989\-0.114473\-0.993148 n/a 45.31367493 512 512 0.468757\0.468747 16 1 1 n/a
+anat/sub-2_ses-2_run-1_bp-head_vp-ax_T1w.nii.gz GE MEDICAL SYSTEMS AXT1SE SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 75 SE n/a VB_GEMS\FILTERED_GEMS 2D 4.5 560 14 0 63.858886 1.5 SIGNA EXCITE 5.5 1 100 75.1172 90 HFS -121.627\-140.585\45.2051 0.999934\-0.0113528\-0.00152594\0.0112615\0.9983\-0.0571922 n/a 38.1727562 512 512 0.468746\0.468752 16 1 1 n/a
+anat/sub-2_ses-2_run-2_bp-head_vp-ax_T1w.nii.gz GE MEDICAL SYSTEMS AXT1SE SIGNA EXCITE 309742868506857266318767310985292225200 M 076Y 75 SE n/a VB_GEMS\FILTERED_GEMS 2D 4.5 560 14 0 63.858881 1.5 SIGNA EXCITE 5.5 1 100 75.1172 90 HFS -121.793\-144.987\-31.6688 0.999934\-0.0113528\-0.00152591\0.0112615\0.9983\-0.0571922 n/a -38.70117188 512 512 0.468746\0.468752 16 1 1 n/a
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.json b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.json
new file mode 100644
index 0000000..48d33d8
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292834.142", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292834.142", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "122347", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "122347", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "122347", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "NHFEMR07", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "904001_RM111", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM111 - RM CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "SagT1MEMP", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "Signa HDxt", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.190", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.502", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.178", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "228068469937235231595795351598802870893", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "280497372964350258462589225688693110743", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "20060103", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "008Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "42", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0018,0010)", "vr": "LO", "value": "", "tag2": "", "desc": "Contrast/Bolus Agent"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "RM", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "FILTERED_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "5", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "520", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "16", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.832258", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "6.5", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "57.4609", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV84504", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "15\\LX\\MR Software release:15.0_M4B_1034.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "ECEREBRALGD8HRBRAIN", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1040)", "vr": "LO", "value": "IV", "tag2": "", "desc": "Contrast/Bolus Route"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\256\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "70", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.863881", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.200", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "9", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "12", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "21.2763\\-144.929\\158.012", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "-0.0827058\\0.996193\\0.0275584\\-0.0270703\\0.0253917\\-0.999311", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.192", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,1002)", "vr": "IS", "value": "20", "tag2": "", "desc": "Images in Acquisition"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "-8.129069328", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0020,9056)", "vr": "SH", "value": "1", "tag2": "", "desc": "Stack ID"}, {"tag1": "(0020,9057)", "vr": "UL", "value": "12", "tag2": "", "desc": "In-Stack Position Number"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.4688\\0.4688", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0106)", "vr": "US", "value": "0", "tag2": "", "desc": "Smallest Image Pixel Value"}, {"tag1": "(0028,0107)", "vr": "US", "value": "1138", "tag2": "", "desc": "Largest Image Pixel Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "569", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "1138", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0010)", "vr": "LO", "value": "MITRA LINKED ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0011)", "vr": "LO", "value": "AGFA PACS Archive Mirroring 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0033,0010)", "vr": "LO", "value": "MITRA OBJECT UTF8 ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\32\\\\0\\\\0", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.nii.gz b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.nii.gz
new file mode 100644
index 0000000..5400f7e
Binary files /dev/null and b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.json b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.json
new file mode 100644
index 0000000..8741f18
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.2", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.2", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "115954", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "115954", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "115954", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "NHFEMR07", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "904001_RM111", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM111 - RM CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "sag3dt1", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "Signa HDxt", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.190", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.391", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.388", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.384", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "228068469937235231595795351598802870893", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "280497372964350258462589225688693110743", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "20060103", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "008Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "42", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "GR", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "SS\\SK", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "FAST_GEMS\\EDR_GEMS\\FILTERED_GEMS\\ACC_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "3D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "1.2", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "8.216", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "3.136", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "450", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.832227", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "0.600002", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "90", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "122.07", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV84504", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "15\\LX\\MR Software release:15.0_M4B_1034.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "NFCEREBRAL20123", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "260", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\256\\256\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "13", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.0815411", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "100.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.194", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "3", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "224", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-60.0033\\-154.088\\162.919", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "-0\\1\\0\\-0\\-0\\-1", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.192", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,1002)", "vr": "IS", "value": "248", "tag2": "", "desc": "Images in Acquisition"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "60.0032692", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0020,9056)", "vr": "SH", "value": "1", "tag2": "", "desc": "Stack ID"}, {"tag1": "(0020,9057)", "vr": "UL", "value": "114", "tag2": "", "desc": "In-Stack Position Number"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.5078\\0.5078", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0106)", "vr": "US", "value": "0", "tag2": "", "desc": "Smallest Image Pixel Value"}, {"tag1": "(0028,0107)", "vr": "US", "value": "4807", "tag2": "", "desc": "Largest Image Pixel Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "2403", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "4807", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0010)", "vr": "LO", "value": "MITRA LINKED ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0011)", "vr": "LO", "value": "AGFA PACS Archive Mirroring 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0033,0010)", "vr": "LO", "value": "MITRA OBJECT UTF8 ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\96\\\\0\\\\0", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.nii.gz b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.nii.gz
new file mode 100644
index 0000000..d73cf9b
Binary files /dev/null and b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.json b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.json
new file mode 100644
index 0000000..4371003
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.896", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.896", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "121544", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "121544", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "121544", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "NHFEMR07", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "904001_RM111", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM111 - RM CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "AXIAL3DBRAVONAVEGADORCTE", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "Signa HDxt", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.190", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.902", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.490", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.173", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "228068469937235231595795351598802870893", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "280497372964350258462589225688693110743", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "20060103", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "008Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "42", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0018,0010)", "vr": "LO", "value": "", "tag2": "", "desc": "Contrast/Bolus Agent"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "GR", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "SS\\SK", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "FAST_GEMS\\EDR_GEMS\\FILTERED_GEMS\\ACC_GEMS", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "3D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "1", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "10.852", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "4.428", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "450", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "1", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.832258", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "1", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "80", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "97.6562", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV84504", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "15\\LX\\MR Software release:15.0_M4B_1034.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "NFCEREBRAL20128", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1040)", "vr": "LO", "value": "IV", "tag2": "", "desc": "Contrast/Bolus Route"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "240", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "0\\320\\320\\0", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "ROW", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "13", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.063638", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "100.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.199", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "8", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "80", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-116.435\\-149.15\\26.2069", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.99847\\0.0455029\\-0.0314339\\-0.038759\\0.981123\\0.189462", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.192", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,1002)", "vr": "IS", "value": "184", "tag2": "", "desc": "Images in Acquisition"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "45.13284302", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0020,9056)", "vr": "SH", "value": "1", "tag2": "", "desc": "Stack ID"}, {"tag1": "(0020,9057)", "vr": "UL", "value": "82", "tag2": "", "desc": "In-Stack Position Number"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\00\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "512", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "512", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.4688\\0.4688", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0106)", "vr": "US", "value": "0", "tag2": "", "desc": "Smallest Image Pixel Value"}, {"tag1": "(0028,0107)", "vr": "US", "value": "7083", "tag2": "", "desc": "Largest Image Pixel Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "3541", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "7083", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0010)", "vr": "LO", "value": "MITRA LINKED ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0011)", "vr": "LO", "value": "AGFA PACS Archive Mirroring 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0033,0010)", "vr": "LO", "value": "MITRA OBJECT UTF8 ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\32\\\\0\\\\0", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.nii.gz b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.nii.gz
new file mode 100644
index 0000000..ee46ca1
Binary files /dev/null and b/data/examples/MRI_Head/sub-3/ses-1/anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bval b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bval
new file mode 100644
index 0000000..a72be1b
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bval
@@ -0,0 +1 @@
+1000 0
diff --git a/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bvec b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bvec
new file mode 100644
index 0000000..41c02d7
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.bvec
@@ -0,0 +1,3 @@
+0 0
+0 0
+0 0
diff --git a/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.json b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.json
new file mode 100644
index 0000000..5ffaf0f
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.json
@@ -0,0 +1 @@
+[{"tag1": "(0002,0001)", "vr": "OB", "value": "00\\01", "tag2": "", "desc": "File Meta Information Version"}, {"tag1": "(0002,0002)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "Media Storage SOP Class UID"}, {"tag1": "(0002,0003)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.681", "tag2": "", "desc": "Media Storage SOP Instance UID"}, {"tag1": "(0002,0010)", "vr": "UI", "value": "1.2.840.10008.1.2.1", "tag2": "", "desc": "Transfer Syntax UID"}, {"tag1": "(0002,0012)", "vr": "UI", "value": "1.2.40.0.13.1.1", "tag2": "", "desc": "Implementation Class UID"}, {"tag1": "(0002,0013)", "vr": "SH", "value": "dcm4che-2.0", "tag2": "", "desc": "Implementation Version Name"}, {"tag1": "(0002,0016)", "vr": "AE", "value": "CTP", "tag2": "", "desc": "Source Application Entity Title"}, {"tag1": "(0008,0005)", "vr": "CS", "value": "ISO_IR 100", "tag2": "", "desc": "Specific Character Set"}, {"tag1": "(0008,0008)", "vr": "CS", "value": "ORIGINAL\\PRIMARY\\OTHER", "tag2": "", "desc": "Image Type"}, {"tag1": "(0008,0016)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "", "desc": "SOP Class UID"}, {"tag1": "(0008,0018)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292833.681", "tag2": "", "desc": "SOP Instance UID"}, {"tag1": "(0008,0020)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Study Date"}, {"tag1": "(0008,0021)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Series Date"}, {"tag1": "(0008,0022)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Acquisition Date"}, {"tag1": "(0008,0023)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Content Date"}, {"tag1": "(0008,0030)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Study Time"}, {"tag1": "(0008,0031)", "vr": "TM", "value": "121110", "tag2": "", "desc": "Series Time"}, {"tag1": "(0008,0032)", "vr": "TM", "value": "121110", "tag2": "", "desc": "Acquisition Time"}, {"tag1": "(0008,0033)", "vr": "TM", "value": "121110", "tag2": "", "desc": "Content Time"}, {"tag1": "(0008,0050)", "vr": "SH", "value": "", "tag2": "", "desc": "Accession Number"}, {"tag1": "(0008,0060)", "vr": "CS", "value": "MR", "tag2": "", "desc": "Modality"}, {"tag1": "(0008,0070)", "vr": "LO", "value": "GE MEDICAL SYSTEMS", "tag2": "", "desc": "Manufacturer"}, {"tag1": "(0008,0090)", "vr": "PN", "value": "", "tag2": "", "desc": "Referring Physician’s Name"}, {"tag1": "(0008,1010)", "vr": "SH", "value": "NHFEMR07", "tag2": "", "desc": "Station Name"}, {"tag1": "(0008,1030)", "vr": "LO", "value": "MRI_Head", "tag2": "", "desc": "Study Description"}, {"tag1": "(0008,1032)", "vr": "SQ", "value": "", "tag2": "(0008,1032)", "desc": "Procedure Code Sequence"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "904001_RM111", "tag2": "(0008,0100)", "desc": "Code Value"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "GEIIS", "tag2": "(0008,0102)", "desc": "Coding Scheme Designator"}, {"tag1": "(0008,1032)", "vr": "SH", "value": "0", "tag2": "(0008,0103)", "desc": "Coding Scheme Version"}, {"tag1": "(0008,1032)", "vr": "LO", "value": "RM111 - RM CEREBRAL", "tag2": "(0008,0104)", "desc": "Code Meaning"}, {"tag1": "(0008,103E)", "vr": "LO", "value": "OAxDWI1000b", "tag2": "", "desc": "Series Description"}, {"tag1": "(0008,1090)", "vr": "LO", "value": "Signa HDxt", "tag2": "", "desc": "Manufacturer’s Model Name"}, {"tag1": "(0008,1110)", "vr": "SQ", "value": "", "tag2": "(0008,1110)", "desc": "Referenced Study Sequence"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.1", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1110)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1111)", "vr": "SQ", "value": "", "tag2": "(0008,1111)", "desc": "Referenced Performed Procedure Step Sequence"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.10008.3.1.2.3.3", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1111)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.190", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.902", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0008,1140)", "vr": "SQ", "value": "", "tag2": "(0008,1140)", "desc": "Referenced Image Sequence"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.10008.5.1.4.1.1.4", "tag2": "(0008,1150)", "desc": "Referenced SOP Class UID"}, {"tag1": "(0008,1140)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.11490.1409292832.390", "tag2": "(0008,1155)", "desc": "Referenced SOP Instance UID"}, {"tag1": "(0009,0010)", "vr": "LO", "value": "GEMS_IDEN_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0009,0011)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0010,0010)", "vr": "PN", "value": "228068469937235231595795351598802870893", "tag2": "", "desc": "Patient’s Name"}, {"tag1": "(0010,0020)", "vr": "LO", "value": "280497372964350258462589225688693110743", "tag2": "", "desc": "Patient ID"}, {"tag1": "(0010,0030)", "vr": "DA", "value": "20060103", "tag2": "", "desc": "Patient’s Birth Date"}, {"tag1": "(0010,0040)", "vr": "CS", "value": "M", "tag2": "", "desc": "Patient’s Sex"}, {"tag1": "(0010,1010)", "vr": "AS", "value": "008Y", "tag2": "", "desc": "Patient’s Age"}, {"tag1": "(0010,1030)", "vr": "DS", "value": "42", "tag2": "", "desc": "Patient’s Weight"}, {"tag1": "(0010,21B0)", "vr": "LT", "value": "", "tag2": "", "desc": "Additional Patient History"}, {"tag1": "(0018,0020)", "vr": "CS", "value": "EP\\SE", "tag2": "", "desc": "Scanning Sequence"}, {"tag1": "(0018,0021)", "vr": "CS", "value": "NONE", "tag2": "", "desc": "Sequence Variant"}, {"tag1": "(0018,0022)", "vr": "CS", "value": "EPI_GEMS\\ACC_GEMS\\PFF", "tag2": "", "desc": "Scan Options"}, {"tag1": "(0018,0023)", "vr": "CS", "value": "2D", "tag2": "", "desc": "MR Acquisition Type"}, {"tag1": "(0018,0025)", "vr": "CS", "value": "N", "tag2": "", "desc": "Angio Flag"}, {"tag1": "(0018,0050)", "vr": "DS", "value": "6", "tag2": "", "desc": "Slice Thickness"}, {"tag1": "(0018,0080)", "vr": "DS", "value": "8000", "tag2": "", "desc": "Repetition Time"}, {"tag1": "(0018,0081)", "vr": "DS", "value": "99.8", "tag2": "", "desc": "Echo Time"}, {"tag1": "(0018,0082)", "vr": "DS", "value": "0", "tag2": "", "desc": "Inversion Time"}, {"tag1": "(0018,0083)", "vr": "DS", "value": "2", "tag2": "", "desc": "Number of Averages"}, {"tag1": "(0018,0084)", "vr": "DS", "value": "63.832258", "tag2": "", "desc": "Imaging Frequency"}, {"tag1": "(0018,0085)", "vr": "SH", "value": "1H", "tag2": "", "desc": "Imaged Nucleus"}, {"tag1": "(0018,0086)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Number(s)"}, {"tag1": "(0018,0087)", "vr": "DS", "value": "1.5", "tag2": "", "desc": "Magnetic Field Strength"}, {"tag1": "(0018,0088)", "vr": "DS", "value": "7", "tag2": "", "desc": "Spacing Between Slices"}, {"tag1": "(0018,0091)", "vr": "IS", "value": "1", "tag2": "", "desc": "Echo Train Length"}, {"tag1": "(0018,0093)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Sampling"}, {"tag1": "(0018,0094)", "vr": "DS", "value": "100", "tag2": "", "desc": "Percent Phase Field of View"}, {"tag1": "(0018,0095)", "vr": "DS", "value": "1953.12", "tag2": "", "desc": "Pixel Bandwidth"}, {"tag1": "(0018,1000)", "vr": "LO", "value": "00000000NPV84504", "tag2": "", "desc": "Device Serial Number"}, {"tag1": "(0018,1020)", "vr": "LO", "value": "15\\LX\\MR Software release:15.0_M4B_1034.a", "tag2": "", "desc": "Software Version(s)"}, {"tag1": "(0018,1030)", "vr": "LO", "value": "NFCEREBRAL20127", "tag2": "", "desc": "Protocol Name"}, {"tag1": "(0018,1088)", "vr": "IS", "value": "0", "tag2": "", "desc": "Heart Rate"}, {"tag1": "(0018,1090)", "vr": "IS", "value": "0", "tag2": "", "desc": "Cardiac Number of Images"}, {"tag1": "(0018,1094)", "vr": "IS", "value": "0", "tag2": "", "desc": "Trigger Window"}, {"tag1": "(0018,1100)", "vr": "DS", "value": "220", "tag2": "", "desc": "Reconstruction Diameter"}, {"tag1": "(0018,1250)", "vr": "SH", "value": "8HRBRAIN", "tag2": "", "desc": "Receive Coil Name"}, {"tag1": "(0018,1310)", "vr": "US", "value": "128\\0\\0\\128", "tag2": "", "desc": "Acquisition Matrix"}, {"tag1": "(0018,1312)", "vr": "CS", "value": "COL", "tag2": "", "desc": "In-plane Phase Encoding Direction"}, {"tag1": "(0018,1314)", "vr": "DS", "value": "90", "tag2": "", "desc": "Flip Angle"}, {"tag1": "(0018,1315)", "vr": "CS", "value": "N", "tag2": "", "desc": "Variable Flip Angle Flag"}, {"tag1": "(0018,1316)", "vr": "DS", "value": "0.128155", "tag2": "", "desc": "SAR"}, {"tag1": "(0018,5100)", "vr": "CS", "value": "HFS", "tag2": "", "desc": "Patient Position"}, {"tag1": "(0019,0010)", "vr": "LO", "value": "GEMS_ACQU_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0019,10BB)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BC)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10BD)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10D9)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10DF)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0019,10E0)", "vr": "UN", "value": "0.000000", "tag2": "", "desc": "?"}, {"tag1": "(0020,000D)", "vr": "UI", "value": "1.2.124.113532.12.10529.61843.20140828.125803.45246674", "tag2": "", "desc": "Study Instance UID"}, {"tag1": "(0020,000E)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.198", "tag2": "", "desc": "Series Instance UID"}, {"tag1": "(0020,0010)", "vr": "SH", "value": "", "tag2": "", "desc": "Study ID"}, {"tag1": "(0020,0011)", "vr": "IS", "value": "7", "tag2": "", "desc": "Series Number"}, {"tag1": "(0020,0012)", "vr": "IS", "value": "1", "tag2": "", "desc": "Acquisition Number"}, {"tag1": "(0020,0013)", "vr": "IS", "value": "43", "tag2": "", "desc": "Instance Number"}, {"tag1": "(0020,0032)", "vr": "DS", "value": "-103.027\\-151.042\\72.4013", "tag2": "", "desc": "Image Position (Patient)"}, {"tag1": "(0020,0037)", "vr": "DS", "value": "0.998419\\0.0417801\\-0.037599\\-0.0308847\\0.966613\\0.254372", "tag2": "", "desc": "Image Orientation (Patient)"}, {"tag1": "(0020,0052)", "vr": "UI", "value": "1.2.840.113619.2.244.4120.7587258.12137.1409292383.192", "tag2": "", "desc": "Frame of Reference UID"}, {"tag1": "(0020,0060)", "vr": "CS", "value": "", "tag2": "", "desc": "Laterality"}, {"tag1": "(0020,1002)", "vr": "IS", "value": "48", "tag2": "", "desc": "Images in Acquisition"}, {"tag1": "(0020,1040)", "vr": "LO", "value": "", "tag2": "", "desc": "Position Reference Indicator"}, {"tag1": "(0020,1041)", "vr": "DS", "value": "96.15316772", "tag2": "", "desc": "Slice Location"}, {"tag1": "(0020,9056)", "vr": "SH", "value": "1", "tag2": "", "desc": "Stack ID"}, {"tag1": "(0020,9057)", "vr": "UL", "value": "19", "tag2": "", "desc": "In-Stack Position Number"}, {"tag1": "(0021,0010)", "vr": "LO", "value": "GEMS_RELA_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0021,105A)", "vr": "UN", "value": "\\07\\00\\00\\00", "tag2": "", "desc": "?"}, {"tag1": "(0023,0010)", "vr": "LO", "value": "GEMS_STDY_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0025,0010)", "vr": "LO", "value": "GEMS_SERS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0027,0010)", "vr": "LO", "value": "GEMS_IMAG_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0028,0002)", "vr": "US", "value": "1", "tag2": "", "desc": "Samples per Pixel"}, {"tag1": "(0028,0004)", "vr": "CS", "value": "MONOCHROME2", "tag2": "", "desc": "Photometric Interpretation"}, {"tag1": "(0028,0010)", "vr": "US", "value": "256", "tag2": "", "desc": "Rows"}, {"tag1": "(0028,0011)", "vr": "US", "value": "256", "tag2": "", "desc": "Columns"}, {"tag1": "(0028,0030)", "vr": "DS", "value": "0.8594\\0.8594", "tag2": "", "desc": "Pixel Spacing"}, {"tag1": "(0028,0100)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Allocated"}, {"tag1": "(0028,0101)", "vr": "US", "value": "16", "tag2": "", "desc": "Bits Stored"}, {"tag1": "(0028,0102)", "vr": "US", "value": "15", "tag2": "", "desc": "High Bit"}, {"tag1": "(0028,0103)", "vr": "US", "value": "1", "tag2": "", "desc": "Pixel Representation"}, {"tag1": "(0028,0106)", "vr": "US", "value": "0", "tag2": "", "desc": "Smallest Image Pixel Value"}, {"tag1": "(0028,0107)", "vr": "US", "value": "2215", "tag2": "", "desc": "Largest Image Pixel Value"}, {"tag1": "(0028,0303)", "vr": "CS", "value": "", "tag2": "", "desc": "Longitudinal Temporal Information Modified"}, {"tag1": "(0028,1050)", "vr": "DS", "value": "1107", "tag2": "", "desc": "Window Center"}, {"tag1": "(0028,1051)", "vr": "DS", "value": "2215", "tag2": "", "desc": "Window Width"}, {"tag1": "(0029,0010)", "vr": "LO", "value": "GEMS_IMPS_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0010)", "vr": "LO", "value": "MITRA LINKED ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0031,0011)", "vr": "LO", "value": "AGFA PACS Archive Mirroring 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0032,000A)", "vr": "CS", "value": "READ", "tag2": "", "desc": "Study Status ID"}, {"tag1": "(0033,0010)", "vr": "LO", "value": "MITRA OBJECT UTF8 ATTRIBUTES 1.0", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0040,0244)", "vr": "DA", "value": "20140829", "tag2": "", "desc": "Performed Procedure Step Start Date"}, {"tag1": "(0040,0245)", "vr": "TM", "value": "115822.000000", "tag2": "", "desc": "Performed Procedure Step Start Time"}, {"tag1": "(0040,0254)", "vr": "LO", "value": "", "tag2": "", "desc": "Performed Procedure Step Description"}, {"tag1": "(0043,0010)", "vr": "LO", "value": "GEMS_PARM_01", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0043,1039)", "vr": "UN", "value": "0\\\\8\\\\0\\\\0 ", "tag2": "", "desc": "?"}, {"tag1": "(0903,0010)", "vr": "LO", "value": "GEIIS PACS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(0905,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}, {"tag1": "(7FD1,0010)", "vr": "LO", "value": "GEIIS", "tag2": "", "desc": "Private Creator Data Element"}]
\ No newline at end of file
diff --git a/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.nii.gz b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.nii.gz
new file mode 100644
index 0000000..c18f38f
Binary files /dev/null and b/data/examples/MRI_Head/sub-3/ses-1/dwi/sub-3_ses-1_acq-b1000_dwi.nii.gz differ
diff --git a/data/examples/MRI_Head/sub-3/ses-1/sub-3_ses-1_scans.tsv b/data/examples/MRI_Head/sub-3/ses-1/sub-3_ses-1_scans.tsv
new file mode 100644
index 0000000..ee874c5
--- /dev/null
+++ b/data/examples/MRI_Head/sub-3/ses-1/sub-3_ses-1_scans.tsv
@@ -0,0 +1,5 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+anat/sub-3_ses-1_T1w.nii.gz GE MEDICAL SYSTEMS sag3dt1 Signa HDxt 280497372964350258462589225688693110743 M 008Y 42 GR SS\SK FAST_GEMS\EDR_GEMS\FILTERED_GEMS\ACC_GEMS 3D 1.2 8.216 3.136 450 63.832227 1.5 Signa HDxt 0.600002 1 100 122.07 13 HFS -60.0033\-154.088\162.919 -0\1\0\-0\-0\-1 n/a 60.0032692 512 512 0.5078\0.5078 16 1 1 n/a
+anat/sub-3_ses-1_acq-highres_ce-GADOLINIUM_T1w.nii.gz GE MEDICAL SYSTEMS AXIAL3DBRAVONAVEGADORCTE Signa HDxt 280497372964350258462589225688693110743 M 008Y 42 GR SS\SK FAST_GEMS\EDR_GEMS\FILTERED_GEMS\ACC_GEMS 3D 1 10.852 4.428 450 63.832258 1.5 Signa HDxt 1 1 100 97.6562 13 HFS -116.435\-149.15\26.2069 0.99847\0.0455029\-0.0314339\-0.038759\0.981123\0.189462 n/a 45.13284302 512 512 0.4688\0.4688 16 1 1 n/a
+anat/sub-3_ses-1_acq-highres_T1w.nii.gz GE MEDICAL SYSTEMS SagT1MEMP Signa HDxt 280497372964350258462589225688693110743 M 008Y 42 RM n/a FILTERED_GEMS 2D 5 520 16 0 63.832258 1.5 Signa HDxt 6.5 1 100 57.4609 70 HFS 21.2763\-144.929\158.012 -0.0827058\0.996193\0.0275584\-0.0270703\0.0253917\-0.999311 n/a -8.129069328 512 512 0.4688\0.4688 16 1 1 n/a
+dwi/sub-3_ses-1_acq-b1000_bp-head_vp-ax_dwi.nii.gz GE MEDICAL SYSTEMS OAxDWI1000b Signa HDxt 280497372964350258462589225688693110743 M 008Y 42 EP\SE n/a EPI_GEMS\ACC_GEMS\PFF 2D 6 8000 99.8 0 63.832258 1.5 Signa HDxt 7 1 100 1953.12 90 HFS -103.027\-151.042\72.4013 0.998419\0.0417801\-0.037599\-0.0308847\0.966613\0.254372 n/a 96.15316772 256 256 0.8594\0.8594 16 2 1 n/a
diff --git a/data/examples/MRI_Lumbar/CHANGES.txt b/data/examples/MRI_Lumbar/CHANGES.txt
new file mode 100644
index 0000000..b49c10f
--- /dev/null
+++ b/data/examples/MRI_Lumbar/CHANGES.txt
@@ -0,0 +1,12 @@
+1.0.1 2018-05-03
+ - Derivatives of the disk degradation characteristics are included.
+1.0.1 2017-08-27
+ - DICOM information.
+1.0.0 2016-05-26
+ - Initial release.
+
+AUTHOR
+ - Jhon Jairo Sáenz Gamboa
+
+COPYRIGHT AND LICENSE
+
diff --git a/data/examples/MRI_Lumbar/README.txt b/data/examples/MRI_Lumbar/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/data/examples/MRI_Lumbar/dataset_description.json b/data/examples/MRI_Lumbar/dataset_description.json
new file mode 100644
index 0000000..060f0f0
--- /dev/null
+++ b/data/examples/MRI_Lumbar/dataset_description.json
@@ -0,0 +1,12 @@
+{
+ "Name": "MRI_Lumbar",
+ "BIDSVersion": "1.1.0",
+ "MIDSVersion": "0.10.23",
+ "License": "CC BI 4.0",
+ "Authors": ["Jhon Saenz","CEIB-CSUSP"],
+ "Acknowledgements": "A special thanks to Jose Saborit for the help to format this data set in MIDS, to Joaquim Montell for the management of the XNAT platform, to María de la Iglesia Vayá, head of Lab. for her support; Thanks to the CEIB-CSUSP team of scientists, who developed the download, anonymization and scientific knowledge processes necessary to carry out this data set, and to the Public Health Department of Valencia for providing the data.",
+ "HowToAcknowledge": "Please cite this paper: ",
+ "Funding": ["Centre of Excellence and Technological Innovation in Bioimaging, Health Regional Ministry of Valencia and Public Health(CEIB-CSUSP), http://ceib.san.gva.es/ceib-cs", "Foundation for the Promotion of Health and Biomedical Research of Valencia Region (FISABIO), http://fisabio.san.gva.es/","Conselleria de Sanitat Universal i Salut Pública, http://www.san.gva.es"],
+ "ReferencesAndLinks": ["http://bimcv.cipf.es/2_projects/mids/", "http://bimcv.cipf.es/es/proyectos/midas-2/"],
+ "DatasetDOI": ""
+}
diff --git a/data/examples/MRI_Lumbar/derivatives/README.txt b/data/examples/MRI_Lumbar/derivatives/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv b/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv
new file mode 100644
index 0000000..1c11504
--- /dev/null
+++ b/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv
@@ -0,0 +1,16 @@
+user disc pfirrman Disc Narrowing Spondylolisthesis Stenosis Endplate Defects Disc Prolapse Modic Types Information
+researcher01 L1-L2 2 1 0 0 0 0 0 TEST
+researcher01 L2-L3 3 1 0 0 0 0 0
+researcher01 L3-L4 1 1 0 0 0 0 0
+researcher01 L4-L5 1 3 0 0 1 1 2
+researcher01 L5-S1 1 1 1 1 0 0 0
+researcher02 L1-L2 2 2 1 1 1 1 2
+researcher02 L2-L3 3 3 1 1 1 2 2
+researcher02 L3-L4 4 3 1 1 1 2 3
+researcher02 L4-L5 3 4 1 1 1 2 2
+researcher02 L5-S1 4 3 1 1 1 2 2
+researcher03 L1-L2 3 3 1 1 1 0 0
+researcher03 L2-L3 4 3 0 0 0 0 0
+researcher03 L3-L4 3 3 1 0 0 0 0
+researcher03 L4-L5 3 2 0 0 0 0 0
+researcher03 L5-S1 3 4 1 1 1 2 2
diff --git a/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-2/ses-1/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv b/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-2/ses-1/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv
new file mode 100644
index 0000000..4a0b003
--- /dev/null
+++ b/data/examples/MRI_Lumbar/derivatives/feacturesDegradationDiscs/sub-2/ses-1/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.csv
@@ -0,0 +1,16 @@
+user disc pfirrman Disc Narrowing Spondylolisthesis Stenosis Endplate Defects Disc Prolapse Modic Types Information
+researcher01 L1-L2 1 1 0 0 0 0 0
+researcher01 L2-L3 1 1 0 0 0 0 0
+researcher01 L3-L4 1 1 0 0 0 0 0
+researcher01 L4-L5 1 1 0 0 0 0 0
+researcher01 L5-S1 1 1 0 0 0 0 0
+researcher02 L1-L2 3 1 0 0 0 0 0
+researcher02 L2-L3 1 3 0 0 0 2 2 test 1
+researcher02 L3-L4 5 1 0 0 0 0 0
+researcher02 L4-L5 5 3 0 0 0 0 0 test 1
+researcher02 L5-S1 1 3 1 1 1 0 3
+researcher03 L1-L2 1 1 0 1 0 0 0 test 1
+researcher03 L2-L3 5 1 0 0 0 0 3
+researcher03 L3-L4 3 4 1 0 0 2 3 test 1
+researcher03 L4-L5 1 1 0 0 1 2 0
+researcher03 L5-S1 4 3 0 0 0 0 0 test 1
diff --git a/data/examples/MRI_Lumbar/participants.tsv b/data/examples/MRI_Lumbar/participants.tsv
new file mode 100644
index 0000000..9341844
--- /dev/null
+++ b/data/examples/MRI_Lumbar/participants.tsv
@@ -0,0 +1,3 @@
+participant_id age gender control
+sub-1 46 F 1
+sub-2 19 F 1
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json
new file mode 100644
index 0000000..8f67a2f
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.175",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.175",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "074907",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "075322",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "075322",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "075322",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19219",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM502",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM COLUMNA LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGT1LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.26",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.19",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "213117108914127596262799978540518347712",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "171834704726005099248999303401096937503",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19690513",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "046Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "72",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "RM",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "NONE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "FC_FREQ_AX_GEMS\\FC\\SAT_GEMS\\VB_GEMS\\TRF_GEMS\\FILTERED_GEMS\\SP",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "400",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "15.072",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "3",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869763",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "4",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "139.492",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "300",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "0\\320\\224\\0",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "ROW",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "0.985200",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1458670669.96565",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.105",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "3",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "9",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "3.99976\\-169.707\\222.878",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\-0\\-0\\-1",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9229.1458715506.517",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "-3.999755859",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.585938\\0.585938",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "784",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "1569",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\0\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz
new file mode 100644
index 0000000..2fc70e8
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json
new file mode 100644
index 0000000..d5add92
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.254",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.254",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "074907",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "075541",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "075541",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "075541",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19219",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM502",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM COLUMNA LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGITALSTIR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.26",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.19",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "213117108914127596262799978540518347712",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "171834704726005099248999303401096937503",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19690513",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "046Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "72",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "RM",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "NONE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "FC_FREQ_AX_GEMS\\FC\\SAT_GEMS\\VB_GEMS\\EDR_GEMS\\SEQ_GEMS\\TRF_GEM...",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "4100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "42.66",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "150",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "3",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869763",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "19",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "122.07",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR2012",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "300",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "0\\256\\192\\0",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "ROW",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "0.834900",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1458670669.96565",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.183",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "4",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "6",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "-12.5002\\-169.707\\222.878",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\-0\\-0\\-1",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9229.1458715506.517",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "12.50024414",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.585938\\0.585938",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "235",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "470",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\32\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz
new file mode 100644
index 0000000..3514e02
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json
new file mode 100644
index 0000000..5390f76
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.104",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.104",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "074907",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "075036",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "075036",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "075036",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19219",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM502",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM COLUMNA LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGT2LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.26",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.19",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "213117108914127596262799978540518347712",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "171834704726005099248999303401096937503",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19690513",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "046Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "72",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "SE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "OSP",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "SAT_GEMS\\NPW\\VB_GEMS\\TRF_GEMS\\FILTERED_GEMS\\SP",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "3440",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "110",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "2",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869763",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "29",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "162.773",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR2012",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "300",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "384\\0\\0\\224",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "COL",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "1.222100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1458670669.96565",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.27",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "2",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "12",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "20.4998\\-169.707\\222.878",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\-0\\-0\\-1",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9229.1458715506.517",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "-20.49975586",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.585938\\0.585938",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "635",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "1271",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\2097152\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz
new file mode 100644
index 0000000..70480d3
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json
new file mode 100644
index 0000000..a475cfb
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json
@@ -0,0 +1,923 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.346",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.346",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160323",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "074907",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "075815",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "075815",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "075815",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19219",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_lUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM502",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM COLUMNA LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "AXIALT2DISCBASICO",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.98",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.25",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.99",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.19",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "213117108914127596262799978540518347712",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "171834704726005099248999303401096937503",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19690513",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "046Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "72",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "SE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "NONE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "SAT_GEMS\\VB_GEMS\\TRF_GEMS\\FILTERED_GEMS\\SP",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "3.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "3400",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "107.2",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "3",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869753",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "29",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "162.773",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR2012",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "200",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "288\\0\\0\\224",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "COL",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "1.236500",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1458670669.96565",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9125.1458715748.261",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "5",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "16",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "-106.805\\-110.059\\71.0907",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "1\\-0\\0\\-0\\0.993135\\0.116978",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.9229.1458715506.517",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "82.76560974",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.390625\\0.390625",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "473",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "947",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\2097152\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..bae62c8
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..935f376
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..a935549
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-4_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-4_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..2ed0178
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-4_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-5_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-5_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..c271b8c
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-5_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-6_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-6_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..070e439
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-1/ses-1/mr/anat/sub-1_ses-1_bp-lsspine_acq-6_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-1/ses-1/sub-1_ses-1_scans.tsv b/data/examples/MRI_Lumbar/sub-1/ses-1/sub-1_ses-1_scans.tsv
new file mode 100644
index 0000000..2af8213
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-1/ses-1/sub-1_ses-1_scans.tsv
@@ -0,0 +1,5 @@
+filename slides plane Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer's Model Name (0008,1090) Patient ID (0010,0020) Patient's Sex (0010,0040) Patient's Age (0010,1010) Patient's Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer's Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGITALSTIR SIGNA EXCITE 171834704726005099248999303401096937503 F 046Y 72 RM NONE FC_FREQ_AX_GEMS\FC\SAT_GEMS\VB_GEMS\EDR_GEMS\SEQ_GEMS\TRF_GEM... 2D 4.5 4100 42.66 150 63.869763 1.5 SIGNA EXCITE 5.5 19 100 122.07 90 HFS -12.5002\-169.707\222.878 -0\1\0\-0\-0\-1 12.50024414 512 512 0.585938\0.585938 16 3 1 None
+mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGT2LUMBAR SIGNA EXCITE 171834704726005099248999303401096937503 F 046Y 72 SE OSP SAT_GEMS\NPW\VB_GEMS\TRF_GEMS\FILTERED_GEMS\SP 2D 4.5 3440 110 0 63.869763 1.5 SIGNA EXCITE 5.5 29 100 162.773 90 HFS 20.4998\-169.707\222.878 -0\1\0\-0\-0\-1 -20.49975586 512 512 0.585938\0.585938 16 2 1 None
+mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGT1LUMBAR SIGNA EXCITE 171834704726005099248999303401096937503 F 046Y 72 RM NONE FC_FREQ_AX_GEMS\FC\SAT_GEMS\VB_GEMS\TRF_GEMS\FILTERED_GEMS\SP 2D 4.5 400 15.072 0 63.869763 1.5 SIGNA EXCITE 5.5 4 100 139.492 90 HFS 3.99976\-169.707\222.878 -0\1\0\-0\-0\-1 -3.999755859 512 512 0.585938\0.585938 16 3 1 None
+mr/anat/sub-1_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-1_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-1_ses-1_bp-lsspine_acq-4_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-1_ses-1_bp-lsspine_acq-5_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-1_ses-1_bp-lsspine_acq-6_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-1_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz 24 GE MEDICAL SYSTEMS AXIALT2DISCBASICO SIGNA EXCITE 171834704726005099248999303401096937503 F 046Y 72 SE NONE SAT_GEMS\VB_GEMS\TRF_GEMS\FILTERED_GEMS\SP 2D 3.5 3400 107.2 0 63.869753 1.5 SIGNA EXCITE 4.5 29 100 162.773 90 HFS -106.805\-110.059\71.0907 1\-0\0\-0\0.993135\0.116978 82.76560974 512 512 0.390625\0.390625 16 3 1 None
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json
new file mode 100644
index 0000000..9c536e6
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.475",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.475",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "134718",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "135056",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "135056",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "135056",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19348",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM816",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGT1LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.320",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.314",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "90070970630437776381142865766563279659",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "35180663179348213717850348575679254082",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19960802",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "019Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "65",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "RM",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "OSP",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "FC_FREQ_AX_GEMS\\FC\\NPW\\VB_GEMS\\TRF_GEMS\\FILTERED_GEMS",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "300",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "14.976",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "1",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869726",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "4",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "139.492",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "320",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "320\\0\\0\\224",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "COL",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "1.119700",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1466503585.135941",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.400",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "3",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "8",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "-3.09914\\-173.346\\194.882",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\0.0100102\\-0\\-0.99995",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15543.1466833318.370",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "1.500656366",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.624993\\0.625",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "507",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "1014",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\0\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz
new file mode 100644
index 0000000..affed3a
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json
new file mode 100644
index 0000000..cc82d1c
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.553",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.553",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "134718",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "135219",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "135219",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "135219",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19348",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM816",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGITALSTIR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.320",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.314",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "90070970630437776381142865766563279659",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "35180663179348213717850348575679254082",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19960802",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "019Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "65",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "RM",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "NONE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "FC_FREQ_AX_GEMS\\FC\\SAT_GEMS\\VB_GEMS\\EDR_GEMS\\SEQ_GEMS\\TRF_GEM...",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "4100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "42.444",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "150",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "3",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869729",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "19",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "122.07",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "320",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "0\\256\\192\\0",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "ROW",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "0.794900",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1466503585.135941",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.478",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "4",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "10",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "7.90031\\-173.346\\194.992",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\0.0100102\\-0\\-0.99995",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15543.1466833318.370",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "-9.498793602",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.624993\\0.625",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "197",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "395",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\32\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz
new file mode 100644
index 0000000..7a32abd
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json
new file mode 100644
index 0000000..e66ba6c
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.json
@@ -0,0 +1,881 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.399",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.399",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "134718",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "134818",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "134818",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "134818",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19348",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM816",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "SAGT2LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.320",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.314",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "90070970630437776381142865766563279659",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "35180663179348213717850348575679254082",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19960802",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "019Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "65",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "SE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "OSP",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "NPW\\VB_GEMS\\TRF_GEMS\\FILTERED_GEMS",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "3260",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "109.9",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "2",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869726",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "5.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "29",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "162.773",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "320",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "384\\0\\0\\224",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "COL",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "1.203500",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1466503585.135941",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.322",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "2",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "12",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "18.8998\\-173.346\\195.102",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "-0\\1\\0\\0.0100102\\-0\\-0.99995",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15543.1466833318.370",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "-20.49824333",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.624993\\0.625",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "628",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "1257",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\2097152\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz
new file mode 100644
index 0000000..bb0412c
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json
new file mode 100644
index 0000000..d49ed32
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.json
@@ -0,0 +1,902 @@
+{
+ "ResultSet": {
+ "Result": [
+ {
+ "desc": "File Meta Information Version",
+ "tag1": "(0002,0001)",
+ "tag2": "",
+ "value": "00\\01",
+ "vr": "OB"
+ },
+ {
+ "desc": "Media Storage SOP Class UID",
+ "tag1": "(0002,0002)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Media Storage SOP Instance UID",
+ "tag1": "(0002,0003)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.625",
+ "vr": "UI"
+ },
+ {
+ "desc": "Transfer Syntax UID",
+ "tag1": "(0002,0010)",
+ "tag2": "",
+ "value": "1.2.840.10008.1.2.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Class UID",
+ "tag1": "(0002,0012)",
+ "tag2": "",
+ "value": "1.2.40.0.13.1.1",
+ "vr": "UI"
+ },
+ {
+ "desc": "Implementation Version Name",
+ "tag1": "(0002,0013)",
+ "tag2": "",
+ "value": "dcm4che-2.0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Source Application Entity Title",
+ "tag1": "(0002,0016)",
+ "tag2": "",
+ "value": "CTP",
+ "vr": "AE"
+ },
+ {
+ "desc": "Specific Character Set",
+ "tag1": "(0008,0005)",
+ "tag2": "",
+ "value": "ISO_IR 100",
+ "vr": "CS"
+ },
+ {
+ "desc": "Image Type",
+ "tag1": "(0008,0008)",
+ "tag2": "",
+ "value": "ORIGINAL\\PRIMARY\\OTHER",
+ "vr": "CS"
+ },
+ {
+ "desc": "SOP Class UID",
+ "tag1": "(0008,0016)",
+ "tag2": "",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "SOP Instance UID",
+ "tag1": "(0008,0018)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.625",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study Date",
+ "tag1": "(0008,0020)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Series Date",
+ "tag1": "(0008,0021)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Acquisition Date",
+ "tag1": "(0008,0022)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Content Date",
+ "tag1": "(0008,0023)",
+ "tag2": "",
+ "value": "20160625",
+ "vr": "DA"
+ },
+ {
+ "desc": "Study Time",
+ "tag1": "(0008,0030)",
+ "tag2": "",
+ "value": "134718",
+ "vr": "TM"
+ },
+ {
+ "desc": "Series Time",
+ "tag1": "(0008,0031)",
+ "tag2": "",
+ "value": "135556",
+ "vr": "TM"
+ },
+ {
+ "desc": "Acquisition Time",
+ "tag1": "(0008,0032)",
+ "tag2": "",
+ "value": "135556",
+ "vr": "TM"
+ },
+ {
+ "desc": "Content Time",
+ "tag1": "(0008,0033)",
+ "tag2": "",
+ "value": "135556",
+ "vr": "TM"
+ },
+ {
+ "desc": "Accession Number",
+ "tag1": "(0008,0050)",
+ "tag2": "",
+ "value": "ceibcs_E19348",
+ "vr": "SH"
+ },
+ {
+ "desc": "Modality",
+ "tag1": "(0008,0060)",
+ "tag2": "",
+ "value": "MR",
+ "vr": "CS"
+ },
+ {
+ "desc": "Manufacturer",
+ "tag1": "(0008,0070)",
+ "tag2": "",
+ "value": "GE MEDICAL SYSTEMS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referring Physician's Name",
+ "tag1": "(0008,0090)",
+ "tag2": "",
+ "value": "",
+ "vr": "PN"
+ },
+ {
+ "desc": "Station Name",
+ "tag1": "(0008,1010)",
+ "tag2": "",
+ "value": "CASTMRI",
+ "vr": "SH"
+ },
+ {
+ "desc": "Study Description",
+ "tag1": "(0008,1030)",
+ "tag2": "",
+ "value": "MRI_Lumbar",
+ "vr": "LO"
+ },
+ {
+ "desc": "Procedure Code Sequence",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,1032)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Code Value",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0100)",
+ "value": "015001_RM816",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Designator",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0102)",
+ "value": "GEIIS",
+ "vr": "SH"
+ },
+ {
+ "desc": "Coding Scheme Version",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0103)",
+ "value": "0",
+ "vr": "SH"
+ },
+ {
+ "desc": "Code Meaning",
+ "tag1": "(0008,1032)",
+ "tag2": "(0008,0104)",
+ "value": "RM LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Series Description",
+ "tag1": "(0008,103E)",
+ "tag2": "",
+ "value": "AXIALT2DISCBASICO",
+ "vr": "LO"
+ },
+ {
+ "desc": "Manufacturer's Model Name",
+ "tag1": "(0008,1090)",
+ "tag2": "",
+ "value": "SIGNA EXCITE",
+ "vr": "LO"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.393",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.320",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced Image Sequence",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1140)",
+ "value": "",
+ "vr": "SQ"
+ },
+ {
+ "desc": "Referenced SOP Class UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1150)",
+ "value": "1.2.840.10008.5.1.4.1.1.4",
+ "vr": "UI"
+ },
+ {
+ "desc": "Referenced SOP Instance UID",
+ "tag1": "(0008,1140)",
+ "tag2": "(0008,1155)",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.314",
+ "vr": "UI"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0010)",
+ "tag2": "",
+ "value": "GEMS_IDEN_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0009,0011)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Name",
+ "tag1": "(0010,0010)",
+ "tag2": "",
+ "value": "90070970630437776381142865766563279659",
+ "vr": "PN"
+ },
+ {
+ "desc": "Patient ID",
+ "tag1": "(0010,0020)",
+ "tag2": "",
+ "value": "35180663179348213717850348575679254082",
+ "vr": "LO"
+ },
+ {
+ "desc": "Patient's Birth Date",
+ "tag1": "(0010,0030)",
+ "tag2": "",
+ "value": "19960802",
+ "vr": "DA"
+ },
+ {
+ "desc": "Patient's Sex",
+ "tag1": "(0010,0040)",
+ "tag2": "",
+ "value": "F",
+ "vr": "CS"
+ },
+ {
+ "desc": "Patient's Age",
+ "tag1": "(0010,1010)",
+ "tag2": "",
+ "value": "019Y",
+ "vr": "AS"
+ },
+ {
+ "desc": "Patient's Weight",
+ "tag1": "(0010,1030)",
+ "tag2": "",
+ "value": "65",
+ "vr": "DS"
+ },
+ {
+ "desc": "Additional Patient History",
+ "tag1": "(0010,21B0)",
+ "tag2": "",
+ "value": "",
+ "vr": "LT"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0011,0010)",
+ "tag2": "",
+ "value": "GEMS_PATI_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Scanning Sequence",
+ "tag1": "(0018,0020)",
+ "tag2": "",
+ "value": "SE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Sequence Variant",
+ "tag1": "(0018,0021)",
+ "tag2": "",
+ "value": "NONE",
+ "vr": "CS"
+ },
+ {
+ "desc": "Scan Options",
+ "tag1": "(0018,0022)",
+ "tag2": "",
+ "value": "VB_GEMS\\TRF_GEMS\\FILTERED_GEMS",
+ "vr": "CS"
+ },
+ {
+ "desc": "MR Acquisition Type",
+ "tag1": "(0018,0023)",
+ "tag2": "",
+ "value": "2D",
+ "vr": "CS"
+ },
+ {
+ "desc": "Angio Flag",
+ "tag1": "(0018,0025)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "Slice Thickness",
+ "tag1": "(0018,0050)",
+ "tag2": "",
+ "value": "3.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Repetition Time",
+ "tag1": "(0018,0080)",
+ "tag2": "",
+ "value": "2700",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Time",
+ "tag1": "(0018,0081)",
+ "tag2": "",
+ "value": "108.7",
+ "vr": "DS"
+ },
+ {
+ "desc": "Inversion Time",
+ "tag1": "(0018,0082)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Number of Averages",
+ "tag1": "(0018,0083)",
+ "tag2": "",
+ "value": "3",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaging Frequency",
+ "tag1": "(0018,0084)",
+ "tag2": "",
+ "value": "63.869712",
+ "vr": "DS"
+ },
+ {
+ "desc": "Imaged Nucleus",
+ "tag1": "(0018,0085)",
+ "tag2": "",
+ "value": "1H",
+ "vr": "SH"
+ },
+ {
+ "desc": "Echo Number(s)",
+ "tag1": "(0018,0086)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Magnetic Field Strength",
+ "tag1": "(0018,0087)",
+ "tag2": "",
+ "value": "1.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Spacing Between Slices",
+ "tag1": "(0018,0088)",
+ "tag2": "",
+ "value": "4.5",
+ "vr": "DS"
+ },
+ {
+ "desc": "Echo Train Length",
+ "tag1": "(0018,0091)",
+ "tag2": "",
+ "value": "29",
+ "vr": "IS"
+ },
+ {
+ "desc": "Percent Sampling",
+ "tag1": "(0018,0093)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Percent Phase Field of View",
+ "tag1": "(0018,0094)",
+ "tag2": "",
+ "value": "100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Pixel Bandwidth",
+ "tag1": "(0018,0095)",
+ "tag2": "",
+ "value": "162.773",
+ "vr": "DS"
+ },
+ {
+ "desc": "Device Serial Number",
+ "tag1": "(0018,1000)",
+ "tag2": "",
+ "value": "00000000NPV24200",
+ "vr": "LO"
+ },
+ {
+ "desc": "Software Version(s)",
+ "tag1": "(0018,1020)",
+ "tag2": "",
+ "value": "11\\LX\\MR Software release:11.1_M4_0818.a",
+ "vr": "LO"
+ },
+ {
+ "desc": "Protocol Name",
+ "tag1": "(0018,1030)",
+ "tag2": "",
+ "value": "LUMBAR",
+ "vr": "LO"
+ },
+ {
+ "desc": "Heart Rate",
+ "tag1": "(0018,1088)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Cardiac Number of Images",
+ "tag1": "(0018,1090)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Trigger Window",
+ "tag1": "(0018,1094)",
+ "tag2": "",
+ "value": "0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Reconstruction Diameter",
+ "tag1": "(0018,1100)",
+ "tag2": "",
+ "value": "200",
+ "vr": "DS"
+ },
+ {
+ "desc": "Receive Coil Name",
+ "tag1": "(0018,1250)",
+ "tag2": "",
+ "value": "USCTLBOT",
+ "vr": "SH"
+ },
+ {
+ "desc": "Acquisition Matrix",
+ "tag1": "(0018,1310)",
+ "tag2": "",
+ "value": "288\\0\\0\\224",
+ "vr": "US"
+ },
+ {
+ "desc": "In-plane Phase Encoding Direction",
+ "tag1": "(0018,1312)",
+ "tag2": "",
+ "value": "COL",
+ "vr": "CS"
+ },
+ {
+ "desc": "Flip Angle",
+ "tag1": "(0018,1314)",
+ "tag2": "",
+ "value": "90",
+ "vr": "DS"
+ },
+ {
+ "desc": "Variable Flip Angle Flag",
+ "tag1": "(0018,1315)",
+ "tag2": "",
+ "value": "N",
+ "vr": "CS"
+ },
+ {
+ "desc": "SAR",
+ "tag1": "(0018,1316)",
+ "tag2": "",
+ "value": "1.211100",
+ "vr": "DS"
+ },
+ {
+ "desc": "Patient Position",
+ "tag1": "(0018,5100)",
+ "tag2": "",
+ "value": "HFS",
+ "vr": "CS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0019,0010)",
+ "tag2": "",
+ "value": "GEMS_ACQU_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BB)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BC)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10BD)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10D9)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10DF)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0019,10E0)",
+ "tag2": "",
+ "value": "0.000000",
+ "vr": "DS"
+ },
+ {
+ "desc": "Study Instance UID",
+ "tag1": "(0020,000D)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.182.10808617210140.1466503585.135941",
+ "vr": "UI"
+ },
+ {
+ "desc": "Series Instance UID",
+ "tag1": "(0020,000E)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15477.1466833583.556",
+ "vr": "UI"
+ },
+ {
+ "desc": "Study ID",
+ "tag1": "(0020,0010)",
+ "tag2": "",
+ "value": "",
+ "vr": "SH"
+ },
+ {
+ "desc": "Series Number",
+ "tag1": "(0020,0011)",
+ "tag2": "",
+ "value": "5",
+ "vr": "IS"
+ },
+ {
+ "desc": "Acquisition Number",
+ "tag1": "(0020,0012)",
+ "tag2": "",
+ "value": "1",
+ "vr": "IS"
+ },
+ {
+ "desc": "Instance Number",
+ "tag1": "(0020,0013)",
+ "tag2": "",
+ "value": "7",
+ "vr": "IS"
+ },
+ {
+ "desc": "Image Position (Patient)",
+ "tag1": "(0020,0032)",
+ "tag2": "",
+ "value": "-112.807\\-101.522\\84.9648",
+ "vr": "DS"
+ },
+ {
+ "desc": "Image Orientation (Patient)",
+ "tag1": "(0020,0037)",
+ "tag2": "",
+ "value": "0.99995\\-0\\0.0100102\\0.00170901\\0.985191\\-0.171452",
+ "vr": "DS"
+ },
+ {
+ "desc": "Frame of Reference UID",
+ "tag1": "(0020,0052)",
+ "tag2": "",
+ "value": "1.2.840.113619.2.222.2025.1616754.15543.1466833318.370",
+ "vr": "UI"
+ },
+ {
+ "desc": "Laterality",
+ "tag1": "(0020,0060)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Temporal Resolution",
+ "tag1": "(0020,0110)",
+ "tag2": "",
+ "value": "0",
+ "vr": "DS"
+ },
+ {
+ "desc": "Position Reference Indicator",
+ "tag1": "(0020,1040)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Slice Location",
+ "tag1": "(0020,1041)",
+ "tag2": "",
+ "value": "68.85205078",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0021,0010)",
+ "tag2": "",
+ "value": "GEMS_RELA_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0021,105A)",
+ "tag2": "",
+ "value": "0",
+ "vr": "SL"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0023,0010)",
+ "tag2": "",
+ "value": "GEMS_STDY_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0025,0010)",
+ "tag2": "",
+ "value": "GEMS_SERS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0027,0010)",
+ "tag2": "",
+ "value": "GEMS_IMAG_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Samples per Pixel",
+ "tag1": "(0028,0002)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "Photometric Interpretation",
+ "tag1": "(0028,0004)",
+ "tag2": "",
+ "value": "MONOCHROME2",
+ "vr": "CS"
+ },
+ {
+ "desc": "Rows",
+ "tag1": "(0028,0010)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Columns",
+ "tag1": "(0028,0011)",
+ "tag2": "",
+ "value": "512",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Spacing",
+ "tag1": "(0028,0030)",
+ "tag2": "",
+ "value": "0.390628\\0.390621",
+ "vr": "DS"
+ },
+ {
+ "desc": "Bits Allocated",
+ "tag1": "(0028,0100)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "Bits Stored",
+ "tag1": "(0028,0101)",
+ "tag2": "",
+ "value": "16",
+ "vr": "US"
+ },
+ {
+ "desc": "High Bit",
+ "tag1": "(0028,0102)",
+ "tag2": "",
+ "value": "15",
+ "vr": "US"
+ },
+ {
+ "desc": "Pixel Representation",
+ "tag1": "(0028,0103)",
+ "tag2": "",
+ "value": "1",
+ "vr": "US"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0028,0303)",
+ "tag2": "",
+ "value": "",
+ "vr": "CS"
+ },
+ {
+ "desc": "Window Center",
+ "tag1": "(0028,1050)",
+ "tag2": "",
+ "value": "453",
+ "vr": "DS"
+ },
+ {
+ "desc": "Window Width",
+ "tag1": "(0028,1051)",
+ "tag2": "",
+ "value": "907",
+ "vr": "DS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0029,0010)",
+ "tag2": "",
+ "value": "GEMS_IMPS_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "Performed Procedure Step Description",
+ "tag1": "(0040,0254)",
+ "tag2": "",
+ "value": "",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0043,0010)",
+ "tag2": "",
+ "value": "GEMS_PARM_01",
+ "vr": "LO"
+ },
+ {
+ "desc": "?",
+ "tag1": "(0043,1039)",
+ "tag2": "",
+ "value": "0\\2097152\\0\\0",
+ "vr": "IS"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0903,0010)",
+ "tag2": "",
+ "value": "GEIIS PACS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(0905,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ },
+ {
+ "desc": "Private Creator Data Element",
+ "tag1": "(7FD1,0010)",
+ "tag2": "",
+ "value": "GEIIS",
+ "vr": "LO"
+ }
+ ]
+ }
+}
\ No newline at end of file
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..36778b3
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..b2bdeb0
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..27a08dd
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-4_run-4__vp-ax_T2w.nii.gz b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-4_run-4__vp-ax_T2w.nii.gz
new file mode 100644
index 0000000..4df388c
Binary files /dev/null and b/data/examples/MRI_Lumbar/sub-2/ses-1/mr/anat/sub-2_ses-1_bp-lsspine_acq-4_run-4__vp-ax_T2w.nii.gz differ
diff --git a/data/examples/MRI_Lumbar/sub-2/ses-1/sub-2_ses-1_scans.tsv b/data/examples/MRI_Lumbar/sub-2/ses-1/sub-2_ses-1_scans.tsv
new file mode 100644
index 0000000..1f574ba
--- /dev/null
+++ b/data/examples/MRI_Lumbar/sub-2/ses-1/sub-2_ses-1_scans.tsv
@@ -0,0 +1,5 @@
+filename slides plane Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer's Model Name (0008,1090) Patient ID (0010,0020) Patient's Sex (0010,0040) Patient's Age (0010,1010) Patient's Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) Inversion Time (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer's Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+mr/anat/sub-2_ses-1_bp-lsspine_acq-3_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-2_bp-lsspine_ses-1_acq-1_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-2_ses-1_bp-lsspine_acq-4_run-4_vp-ax_T2w.nii.gz,mr/anat/sub-2_ses-1_bp-lsspine_acq-2_run-4_vp-ax_T2w.nii.gz 20 Tra GE MEDICAL SYSTEMS AXIALT2DISCBASICO SIGNA EXCITE 35180663179348213717850348575679254082 F 019Y 65 SE NONE VB_GEMS\TRF_GEMS\FILTERED_GEMS 2D 3.5 2700 108.7 0 63.869712 1.5 SIGNA EXCITE 4.5 29 100 162.773 90 HFS -112.807\-101.522\84.9648 0.99995\-0\0.0100102\0.00170901\0.985191\-0.171452 68.85205078 512 512 0.390628\0.390621 16 3 1 None
+mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-1_vp-sag_T1w.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGT1LUMBAR SIGNA EXCITE 35180663179348213717850348575679254082 F 019Y 65 RM OSP FC_FREQ_AX_GEMS\FC\NPW\VB_GEMS\TRF_GEMS\FILTERED_GEMS 2D 4.5 300 14.976 0 63.869726 1.5 SIGNA EXCITE 5.5 4 100 139.492 90 HFS -3.09914\-173.346\194.882 -0\1\0\0.0100102\-0\-0.99995 1.500656366 512 512 0.624993\0.625 16 1 1 None
+mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-2_vp-sag_Stir.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGITALSTIR SIGNA EXCITE 35180663179348213717850348575679254082 F 019Y 65 RM NONE FC_FREQ_AX_GEMS\FC\SAT_GEMS\VB_GEMS\EDR_GEMS\SEQ_GEMS\TRF_GEM... 2D 4.5 4100 42.444 150 63.869729 1.5 SIGNA EXCITE 5.5 19 100 122.07 90 HFS 7.90031\-173.346\194.992 -0\1\0\0.0100102\-0\-0.99995 -9.498793602 512 512 0.624993\0.625 16 3 1 None
+mr/anat/sub-2_ses-1_bp-lsspine_acq-1_run-3_vp-sag_T2w.nii.gz 12 Sag GE MEDICAL SYSTEMS SAGT2LUMBAR SIGNA EXCITE 35180663179348213717850348575679254082 F 019Y 65 SE OSP NPW\VB_GEMS\TRF_GEMS\FILTERED_GEMS 2D 4.5 3260 109.9 0 63.869726 1.5 SIGNA EXCITE 5.5 29 100 162.773 90 HFS 18.8998\-173.346\195.102 -0\1\0\0.0100102\-0\-0.99995 -20.49824333 512 512 0.624993\0.625 16 2 1 None
diff --git a/data/examples/RX_Thorax/CHANGES.txt b/data/examples/RX_Thorax/CHANGES.txt
new file mode 100644
index 0000000..310e84b
--- /dev/null
+++ b/data/examples/RX_Thorax/CHANGES.txt
@@ -0,0 +1,9 @@
+1.0.1 2017-08-27
+ - DICOM information.
+1.0.0 2016-05-26
+ - Initial release.
+
+AUTHOR
+ - Aurelia Bustos
+
+COPYRIGHT AND LICENSE
diff --git a/data/examples/RX_Thorax/README.txt b/data/examples/RX_Thorax/README.txt
new file mode 100644
index 0000000..e69de29
diff --git a/data/examples/RX_Thorax/dataset_description.json b/data/examples/RX_Thorax/dataset_description.json
new file mode 100644
index 0000000..c6b7087
--- /dev/null
+++ b/data/examples/RX_Thorax/dataset_description.json
@@ -0,0 +1,6 @@
+{
+ "Name": "RX_Thorax",
+ "BIDSVersion": "1.1.0",
+ "MIDSVersion": "1.0.0",
+ "License": "CC BY 4.0"
+}
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/participants.tsv b/data/examples/RX_Thorax/participants.tsv
new file mode 100644
index 0000000..fdd0e5d
--- /dev/null
+++ b/data/examples/RX_Thorax/participants.tsv
@@ -0,0 +1,3 @@
+participant_id age gender control
+sub-2 57 F 0
+sub-1 54 F 0
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.gz b/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.gz
new file mode 100644
index 0000000..20fee41
Binary files /dev/null and b/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.gz differ
diff --git a/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.json b/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.json
new file mode 100644
index 0000000..5feb60d
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-1/ses-1/rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.json
@@ -0,0 +1 @@
+{"ResultSet":{"Result":[{"tag1":"(0002,0001)","vr":"OB","value":"00\\01","tag2":"","desc":"File Meta Information Version"},{"tag1":"(0002,0002)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"Media Storage SOP Class UID"},{"tag1":"(0002,0003)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1485247623251.2","tag2":"","desc":"Media Storage SOP Instance UID"},{"tag1":"(0002,0010)","vr":"UI","value":"1.2.840.10008.1.2.1","tag2":"","desc":"Transfer Syntax UID"},{"tag1":"(0002,0012)","vr":"UI","value":"1.2.40.0.13.1.1","tag2":"","desc":"Implementation Class UID"},{"tag1":"(0002,0013)","vr":"SH","value":"dcm4che-2.0","tag2":"","desc":"Implementation Version Name"},{"tag1":"(0002,0016)","vr":"AE","value":"CTP","tag2":"","desc":"Source Application Entity Title"},{"tag1":"(0008,0005)","vr":"CS","value":"ISO_IR 100","tag2":"","desc":"Specific Character Set"},{"tag1":"(0008,0008)","vr":"CS","value":"ORIGINAL\\PRIMARY\\","tag2":"","desc":"Image Type"},{"tag1":"(0008,0016)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"SOP Class UID"},{"tag1":"(0008,0018)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1485247623251.2","tag2":"","desc":"SOP Instance UID"},{"tag1":"(0008,0020)","vr":"DA","value":"20170124","tag2":"","desc":"Study Date"},{"tag1":"(0008,0021)","vr":"DA","value":"20170124","tag2":"","desc":"Series Date"},{"tag1":"(0008,0022)","vr":"DA","value":"20170124","tag2":"","desc":"Acquisition Date"},{"tag1":"(0008,0023)","vr":"DA","value":"20170124","tag2":"","desc":"Content Date"},{"tag1":"(0008,0030)","vr":"TM","value":"094646.541000","tag2":"","desc":"Study Time"},{"tag1":"(0008,0031)","vr":"TM","value":"094649.000000","tag2":"","desc":"Series Time"},{"tag1":"(0008,0032)","vr":"TM","value":"094650","tag2":"","desc":"Acquisition Time"},{"tag1":"(0008,0033)","vr":"TM","value":"094650","tag2":"","desc":"Content Time"},{"tag1":"(0008,0050)","vr":"SH","value":"","tag2":"","desc":"Accession Number"},{"tag1":"(0008,0060)","vr":"CS","value":"DX","tag2":"","desc":"Modality"},{"tag1":"(0008,0068)","vr":"CS","value":"FOR PRESENTATION","tag2":"","desc":"Presentation Intent Type"},{"tag1":"(0008,0070)","vr":"LO","value":"Philips Medical Systems","tag2":"","desc":"Manufacturer"},{"tag1":"(0008,0090)","vr":"PN","value":"","tag2":"","desc":"Referring Physician’s Name"},{"tag1":"(0008,1010)","vr":"SH","value":"SJDIDI01","tag2":"","desc":"Station Name"},{"tag1":"(0008,1030)","vr":"LO","value":"padchest_ds17","tag2":"","desc":"Study Description"},{"tag1":"(0008,1032)","vr":"SQ","value":"","tag2":"(0008,1032)","desc":"Procedure Code Sequence"},{"tag1":"(0008,1032)","vr":"SH","value":"3061010101001030","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0008,1032)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0008,1032)","vr":"LO","value":"RX TORAX, PA O AP","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0008,103E)","vr":"LO","value":"T�rax","tag2":"","desc":"Series Description"},{"tag1":"(0008,1090)","vr":"LO","value":"DigitalDiagnost","tag2":"","desc":"Manufacturer’s Model Name"},{"tag1":"(0008,1110)","vr":"SQ","value":"","tag2":"(0008,1110)","desc":"Referenced Study Sequence"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.100008.3.1.2.3.1","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1484672322.853647","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,1111)","vr":"SQ","value":"","tag2":"(0008,1111)","desc":"Referenced Performed Procedure Step Sequence"},{"tag1":"(0008,1111)","vr":"UI","value":"1.2.840.10008.3.1.2.3.3","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1111)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1485212877727.1","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,3010)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1485247606412.1","tag2":"","desc":"Irradiation Event UID"},{"tag1":"(0009,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0010,0010)","vr":"PN","value":"100002652742762245719447501824197948584","tag2":"","desc":"Patient’s Name"},{"tag1":"(0010,0020)","vr":"LO","value":"125374151943505747025890313053997514922","tag2":"","desc":"Patient ID"},{"tag1":"(0010,0030)","vr":"DA","value":"19530920","tag2":"","desc":"Patient’s Birth Date"},{"tag1":"(0010,0040)","vr":"CS","value":"F","tag2":"","desc":"Patient’s Sex"},{"tag1":"(0010,1010)","vr":"AS","value":"063Y","tag2":"","desc":"Patient’s Age"},{"tag1":"(0010,1020)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Size"},{"tag1":"(0010,1030)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Weight"},{"tag1":"(0010,2000)","vr":"LO","value":"","tag2":"","desc":"Medical Alerts"},{"tag1":"(0010,2110)","vr":"LO","value":"","tag2":"","desc":"Allergies"},{"tag1":"(0010,2160)","vr":"SH","value":"","tag2":"","desc":"Ethnic Group"},{"tag1":"(0010,21B0)","vr":"LT","value":"","tag2":"","desc":"Additional Patient History"},{"tag1":"(0010,21C0)","vr":"US","value":"4","tag2":"","desc":"Pregnancy Status"},{"tag1":"(0018,0015)","vr":"CS","value":"CHEST","tag2":"","desc":"Body Part Examined"},{"tag1":"(0018,0060)","vr":"DS","value":"125","tag2":"","desc":"KVP"},{"tag1":"(0018,1000)","vr":"LO","value":"72567767433727","tag2":"","desc":"Device Serial Number"},{"tag1":"(0018,1020)","vr":"LO","value":"4.1.3.2","tag2":"","desc":"Software Version(s)"},{"tag1":"(0018,1030)","vr":"LO","value":"T�rax","tag2":"","desc":"Protocol Name"},{"tag1":"(0018,1050)","vr":"DS","value":"0.148","tag2":"","desc":"Spatial Resolution"},{"tag1":"(0018,1110)","vr":"DS","value":"1808","tag2":"","desc":"Distance Source to Detector"},{"tag1":"(0018,1111)","vr":"DS","value":"1754","tag2":"","desc":"Distance Source to Patient"},{"tag1":"(0018,1114)","vr":"DS","value":"0.99395272127526","tag2":"","desc":"Estimated Radiographic Magnification Factor"},{"tag1":"(0018,1150)","vr":"IS","value":"5","tag2":"","desc":"Exposure Time"},{"tag1":"(0018,1152)","vr":"IS","value":"1","tag2":"","desc":"Exposure"},{"tag1":"(0018,1153)","vr":"IS","value":"1200","tag2":"","desc":"Exposure in µAs"},{"tag1":"(0018,115E)","vr":"DS","value":"0.384","tag2":"","desc":"Image and Fluoroscopy Area Dose Product"},{"tag1":"(0018,1164)","vr":"DS","value":"0.148\\0.148","tag2":"","desc":"Imager Pixel Spacing"},{"tag1":"(0018,1166)","vr":"CS","value":"IN","tag2":"","desc":"Grid"},{"tag1":"(0018,1400)","vr":"LO","value":"","tag2":"","desc":"Acquisition Device Processing Description"},{"tag1":"(0018,1405)","vr":"IS","value":"369","tag2":"","desc":"Relative X-Ray Exposure"},{"tag1":"(0018,1411)","vr":"DS","value":"369","tag2":"","desc":"Exposure Index"},{"tag1":"(0018,1508)","vr":"CS","value":"NONE","tag2":"","desc":"Positioner Type"},{"tag1":"(0018,1600)","vr":"CS","value":"POLYGONAL","tag2":"","desc":"Shutter Shape"},{"tag1":"(0018,1620)","vr":"IS","value":"0\\2777\\0\\0\\2278\\0\\2278\\2777","tag2":"","desc":"Vertices of the Polygonal Shutter"},{"tag1":"(0018,1700)","vr":"CS","value":"RECTANGULAR","tag2":"","desc":"Collimator Shape"},{"tag1":"(0018,1702)","vr":"IS","value":"0","tag2":"","desc":"Collimator Left Vertical Edge"},{"tag1":"(0018,1704)","vr":"IS","value":"2777","tag2":"","desc":"Collimator Right Vertical Edge"},{"tag1":"(0018,1706)","vr":"IS","value":"0","tag2":"","desc":"Collimator Upper Horizontal Edge"},{"tag1":"(0018,1708)","vr":"IS","value":"2278","tag2":"","desc":"Collimator Lower Horizontal Edge"},{"tag1":"(0018,5101)","vr":"CS","value":"PA","tag2":"","desc":"View Position"},{"tag1":"(0018,7001)","vr":"DS","value":"32.7","tag2":"","desc":"Detector Temperature"},{"tag1":"(0018,7004)","vr":"CS","value":"SCINTILLATOR","tag2":"","desc":"Detector Type"},{"tag1":"(0018,7008)","vr":"LT","value":"SingleShot1s","tag2":"","desc":"Detector Mode"},{"tag1":"(0018,700A)","vr":"SH","value":"SN1546U4","tag2":"","desc":"Detector ID"},{"tag1":"(0018,700C)","vr":"DA","value":"20170102","tag2":"","desc":"Date of Last Detector Calibration"},{"tag1":"(0018,700E)","vr":"TM","value":"091930","tag2":"","desc":"Time of Last Detector Calibration"},{"tag1":"(0018,7012)","vr":"DS","value":"180517.087","tag2":"","desc":"Detector Time Since Last Exposure"},{"tag1":"(0018,702A)","vr":"LO","value":"TRIXELL","tag2":"","desc":"Detector Manufacturer Name"},{"tag1":"(0018,702B)","vr":"LO","value":"PIXIUM4343RC","tag2":"","desc":"Detector Manufacturer’s Model Name"},{"tag1":"(0018,7030)","vr":"DS","value":"0\\0","tag2":"","desc":"Field of View Origin"},{"tag1":"(0018,7032)","vr":"DS","value":"0","tag2":"","desc":"Field of View Rotation"},{"tag1":"(0018,7034)","vr":"CS","value":"YES","tag2":"","desc":"Field of View Horizontal Flip"},{"tag1":"(0018,7050)","vr":"CS","value":"COPPER\\ALUMINIUM","tag2":"","desc":"Filter Material"},{"tag1":"(0018,7062)","vr":"LT","value":"3","tag2":"","desc":"Exposure Control Mode Description"},{"tag1":"(0018,8150)","vr":"DS","value":"5100","tag2":"","desc":"Exposure Time in µS"},{"tag1":"(0020,000D)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1484672322.853647","tag2":"","desc":"Study Instance UID"},{"tag1":"(0020,000E)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1485247623321.1","tag2":"","desc":"Series Instance UID"},{"tag1":"(0020,0010)","vr":"SH","value":"","tag2":"","desc":"Study ID"},{"tag1":"(0020,0011)","vr":"IS","value":"1","tag2":"","desc":"Series Number"},{"tag1":"(0020,0013)","vr":"IS","value":"1","tag2":"","desc":"Instance Number"},{"tag1":"(0020,0020)","vr":"CS","value":"L\\F","tag2":"","desc":"Patient Orientation"},{"tag1":"(0020,0062)","vr":"CS","value":"","tag2":"","desc":"Image Laterality"},{"tag1":"(0028,0002)","vr":"US","value":"1","tag2":"","desc":"Samples per Pixel"},{"tag1":"(0028,0004)","vr":"CS","value":"MONOCHROME2","tag2":"","desc":"Photometric Interpretation"},{"tag1":"(0028,0010)","vr":"US","value":"2279","tag2":"","desc":"Rows"},{"tag1":"(0028,0011)","vr":"US","value":"2778","tag2":"","desc":"Columns"},{"tag1":"(0028,0030)","vr":"DS","value":"0.1489004424779\\0.1489004424779","tag2":"","desc":"Pixel Spacing"},{"tag1":"(0028,0100)","vr":"US","value":"16","tag2":"","desc":"Bits Allocated"},{"tag1":"(0028,0101)","vr":"US","value":"12","tag2":"","desc":"Bits Stored"},{"tag1":"(0028,0102)","vr":"US","value":"11","tag2":"","desc":"High Bit"},{"tag1":"(0028,0103)","vr":"US","value":"0","tag2":"","desc":"Pixel Representation"},{"tag1":"(0028,0300)","vr":"CS","value":"NO","tag2":"","desc":"Quality Control Image"},{"tag1":"(0028,0301)","vr":"CS","value":"NO","tag2":"","desc":"Burned In Annotation"},{"tag1":"(0028,0303)","vr":"CS","value":"","tag2":"","desc":"Longitudinal Temporal Information Modified"},{"tag1":"(0028,1040)","vr":"CS","value":"LOG","tag2":"","desc":"Pixel Intensity Relationship"},{"tag1":"(0028,1041)","vr":"SS","value":"-1","tag2":"","desc":"Pixel Intensity Relationship Sign"},{"tag1":"(0028,1050)","vr":"DS","value":"2047.5","tag2":"","desc":"Window Center"},{"tag1":"(0028,1051)","vr":"DS","value":"4095","tag2":"","desc":"Window Width"},{"tag1":"(0028,1052)","vr":"DS","value":"0","tag2":"","desc":"Rescale Intercept"},{"tag1":"(0028,1053)","vr":"DS","value":"1","tag2":"","desc":"Rescale Slope"},{"tag1":"(0028,1054)","vr":"LO","value":"US","tag2":"","desc":"Rescale Type"},{"tag1":"(0028,2110)","vr":"CS","value":"00","tag2":"","desc":"Lossy Image Compression"},{"tag1":"(0032,1060)","vr":"LO","value":"","tag2":"","desc":"Requested Procedure Description"},{"tag1":"(0032,1064)","vr":"SQ","value":"","tag2":"(0032,1064)","desc":"Requested Procedure Code Sequence"},{"tag1":"(0032,1064)","vr":"SH","value":"3061010101001030","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0032,1064)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0032,1064)","vr":"LO","value":"RX T�RAX, PA","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0040,0241)","vr":"AE","value":"SJDIDI01","tag2":"","desc":"Performed Station AE Title"},{"tag1":"(0040,0244)","vr":"DA","value":"20170124","tag2":"","desc":"Performed Procedure Step Start Date"},{"tag1":"(0040,0245)","vr":"TM","value":"094646.541000","tag2":"","desc":"Performed Procedure Step Start Time"},{"tag1":"(0040,0250)","vr":"DA","value":"20170124","tag2":"","desc":"Performed Procedure Step End Date"},{"tag1":"(0040,0251)","vr":"TM","value":"094703.214000","tag2":"","desc":"Performed Procedure Step End Time"},{"tag1":"(0040,0252)","vr":"CS","value":"","tag2":"","desc":"Performed Procedure Step Status"},{"tag1":"(0040,0254)","vr":"LO","value":"","tag2":"","desc":"Performed Procedure Step Description"},{"tag1":"(0040,0275)","vr":"SQ","value":"","tag2":"(0040,0275)","desc":"Request Attributes Sequence"},{"tag1":"(0040,0275)","vr":"SH","value":"0123410005305389","tag2":"(0040,1001)","desc":"Requested Procedure ID"},{"tag1":"(0040,0301)","vr":"US","value":"1","tag2":"","desc":"Total Number of Exposures"},{"tag1":"(0040,0302)","vr":"US","value":"0","tag2":"","desc":"Entrance Dose"},{"tag1":"(0040,1002)","vr":"LO","value":"","tag2":"","desc":"Reason for the Requested Procedure"},{"tag1":"(0040,1003)","vr":"SH","value":"","tag2":"","desc":"Requested Procedure Priority"},{"tag1":"(0040,1400)","vr":"LT","value":"","tag2":"","desc":"Requested Procedure Comments"},{"tag1":"(0040,2001)","vr":"LO","value":"","tag2":"","desc":"Reason for the Imaging Service Request"},{"tag1":"(0040,2004)","vr":"DA","value":"","tag2":"","desc":"Issue Date of Imaging Service Request"},{"tag1":"(0040,2017)","vr":"LO","value":"","tag2":"","desc":"Filler Order Number / Imaging Service Request"},{"tag1":"(0040,2400)","vr":"LT","value":"","tag2":"","desc":"Imaging Service Request Comments"},{"tag1":"(0040,8302)","vr":"DS","value":"0.043","tag2":"","desc":"Entrance Dose in mGy"},{"tag1":"(0903,0010)","vr":"LO","value":"GEIIS PACS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0905,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0010)","vr":"LO","value":"Philips Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0011)","vr":"LO","value":"Philips Imaging DD 002","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0090)","vr":"LO","value":"Philips Imaging DD 129","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0010)","vr":"LO","value":"Philips RAD Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0070)","vr":"LO","value":"Philips RAD Imaging DD 097","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0072)","vr":"LO","value":"Philips RAD Imaging DD 099","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2050,0020)","vr":"CS","value":"IDENTITY","tag2":"","desc":"Presentation LUT Shape"},{"tag1":"(7FD1,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"}]}}
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/sub-1/ses-1/sub-1_ses-1_scans.tsv b/data/examples/RX_Thorax/sub-1/ses-1/sub-1_ses-1_scans.tsv
new file mode 100644
index 0000000..9ba107b
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-1/ses-1/sub-1_ses-1_scans.tsv
@@ -0,0 +1,2 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+rx/sub-1_ses-1_bp-thorax_vp_ap_dx.nii.gz GE MEDICAL SYSTEMS Thorax_AP OPTIMA 332424083962373450045181767823697702475 F 057Y 80 GR SS\SP\SK FAST_GEMS\EDR_GEMS\PFF 3D 1 6.816 1.984 None 63.867408 1.5 OPTIMA MR360 0.5 1 100 244.141 12 HFS -139.453\-147.422\39.1247 1\-0\0\-0\1\0 39.12474823 256 256 1.0938\1.0938 16 2 1 None
diff --git a/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.json b/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.json
new file mode 100644
index 0000000..cf69fb9
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.json
@@ -0,0 +1 @@
+{"ResultSet":{"Result":[{"tag1":"(0002,0001)","vr":"OB","value":"00\\01","tag2":"","desc":"File Meta Information Version"},{"tag1":"(0002,0002)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1","tag2":"","desc":"Media Storage SOP Class UID"},{"tag1":"(0002,0003)","vr":"UI","value":"2.16.840.1.113669.6.4.0.1255808290671.2010109121521807.0.1","tag2":"","desc":"Media Storage SOP Instance UID"},{"tag1":"(0002,0010)","vr":"UI","value":"1.2.840.10008.1.2.1","tag2":"","desc":"Transfer Syntax UID"},{"tag1":"(0002,0012)","vr":"UI","value":"1.2.40.0.13.1.1","tag2":"","desc":"Implementation Class UID"},{"tag1":"(0002,0013)","vr":"SH","value":"dcm4che-2.0","tag2":"","desc":"Implementation Version Name"},{"tag1":"(0002,0016)","vr":"AE","value":"GDCMSCU","tag2":"","desc":"Source Application Entity Title"},{"tag1":"(0008,0005)","vr":"CS","value":"ISO_IR 100","tag2":"","desc":"Specific Character Set"},{"tag1":"(0008,0008)","vr":"CS","value":"DERIVED\\PRIMARY","tag2":"","desc":"Image Type"},{"tag1":"(0008,0016)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1","tag2":"","desc":"SOP Class UID"},{"tag1":"(0008,0018)","vr":"UI","value":"2.16.840.1.113669.6.4.0.1255808290671.2010109121521807.0.1","tag2":"","desc":"SOP Instance UID"},{"tag1":"(0008,0020)","vr":"DA","value":"20100422","tag2":"","desc":"Study Date"},{"tag1":"(0008,0022)","vr":"DA","value":"20100422","tag2":"","desc":"Acquisition Date"},{"tag1":"(0008,0030)","vr":"TM","value":"091614","tag2":"","desc":"Study Time"},{"tag1":"(0008,0032)","vr":"TM","value":"091655","tag2":"","desc":"Acquisition Time"},{"tag1":"(0008,0050)","vr":"SH","value":"","tag2":"","desc":"Accession Number"},{"tag1":"(0008,0060)","vr":"CS","value":"CR","tag2":"","desc":"Modality"},{"tag1":"(0008,0070)","vr":"LO","value":"Imaging Dynamics Company Ltd.","tag2":"","desc":"Manufacturer"},{"tag1":"(0008,0090)","vr":"PN","value":"","tag2":"","desc":"Referring Physician’s Name"},{"tag1":"(0008,1010)","vr":"SH","value":"SJTD","tag2":"","desc":"Station Name"},{"tag1":"(0008,1030)","vr":"LO","value":"padchest_ds17","tag2":"","desc":"Study Description"},{"tag1":"(0008,1032)","vr":"SQ","value":"","tag2":"(0008,1032)","desc":"Procedure Code Sequence"},{"tag1":"(0008,1032)","vr":"SH","value":"012341_G0.12","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0008,1032)","vr":"SH","value":"GEIIS","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0008,1032)","vr":"SH","value":"0","tag2":"(0008,0103)","desc":"Coding Scheme Version"},{"tag1":"(0008,1032)","vr":"LO","value":"TORAX PREOPERATORIO","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0008,103E)","vr":"LO","value":"","tag2":"","desc":"Series Description"},{"tag1":"(0008,2112)","vr":"SQ","value":"","tag2":"(0008,2112)","desc":"Source Image Sequence"},{"tag1":"(0008,2112)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,2112)","vr":"UI","value":"2.16.840.1.113669.6.4.0.1255808290671.2010109121521807.0.0","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0009,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0010,0010)","vr":"PN","value":"100002652742762245719447501824197948584","tag2":"","desc":"Patient’s Name"},{"tag1":"(0010,0020)","vr":"LO","value":"125374151943505747025890313053997514922","tag2":"","desc":"Patient ID"},{"tag1":"(0010,0030)","vr":"DA","value":"19530920","tag2":"","desc":"Patient’s Birth Date"},{"tag1":"(0010,0040)","vr":"CS","value":"F","tag2":"","desc":"Patient’s Sex"},{"tag1":"(0010,2000)","vr":"LO","value":"","tag2":"","desc":"Medical Alerts"},{"tag1":"(0010,2110)","vr":"LO","value":"","tag2":"","desc":"Allergies"},{"tag1":"(0018,0015)","vr":"CS","value":"TORAX PREOPERATO","tag2":"","desc":"Body Part Examined"},{"tag1":"(0018,0060)","vr":"DS","value":"125","tag2":"","desc":"KVP"},{"tag1":"(0018,1020)","vr":"LO","value":"2.1.149","tag2":"","desc":"Software Version(s)"},{"tag1":"(0018,1030)","vr":"LO","value":"","tag2":"","desc":"Protocol Name"},{"tag1":"(0018,1150)","vr":"IS","value":"10","tag2":"","desc":"Exposure Time"},{"tag1":"(0018,1151)","vr":"IS","value":"320","tag2":"","desc":"X-Ray Tube Current"},{"tag1":"(0018,1152)","vr":"IS","value":"3","tag2":"","desc":"Exposure"},{"tag1":"(0018,1153)","vr":"IS","value":"3200","tag2":"","desc":"Exposure in µAs"},{"tag1":"(0018,115E)","vr":"DS","value":"0","tag2":"","desc":"Image and Fluoroscopy Area Dose Product"},{"tag1":"(0018,1164)","vr":"DS","value":"0.216\\0.216","tag2":"","desc":"Imager Pixel Spacing"},{"tag1":"(0018,1405)","vr":"IS","value":"-0.5","tag2":"","desc":"Relative X-Ray Exposure"},{"tag1":"(0018,5101)","vr":"CS","value":"POSTERO_ANTERIOR","tag2":"","desc":"View Position"},{"tag1":"(0018,6000)","vr":"DS","value":"400","tag2":"","desc":"Sensitivity"},{"tag1":"(0018,7060)","vr":"CS","value":"MANUAL","tag2":"","desc":"Exposure Control Mode"},{"tag1":"(0018,8150)","vr":"DS","value":"10000","tag2":"","desc":"Exposure Time in µS"},{"tag1":"(0018,8151)","vr":"DS","value":"320000","tag2":"","desc":"X-Ray Tube Current in µA"},{"tag1":"(0020,000D)","vr":"UI","value":"2.16.840.1.113669.6.4.0.1255808290671.2010109121521807","tag2":"","desc":"Study Instance UID"},{"tag1":"(0020,000E)","vr":"UI","value":"2.16.840.1.113669.6.4.0.1255808290671.2010109121521807.0.1","tag2":"","desc":"Series Instance UID"},{"tag1":"(0020,0010)","vr":"SH","value":"","tag2":"","desc":"Study ID"},{"tag1":"(0020,0011)","vr":"IS","value":"1","tag2":"","desc":"Series Number"},{"tag1":"(0020,0013)","vr":"IS","value":"235799","tag2":"","desc":"Instance Number"},{"tag1":"(0028,0002)","vr":"US","value":"1","tag2":"","desc":"Samples per Pixel"},{"tag1":"(0028,0004)","vr":"CS","value":"MONOCHROME2","tag2":"","desc":"Photometric Interpretation"},{"tag1":"(0028,0006)","vr":"US","value":"0","tag2":"","desc":"Planar Configuration"},{"tag1":"(0028,0010)","vr":"US","value":"1464","tag2":"","desc":"Rows"},{"tag1":"(0028,0011)","vr":"US","value":"1576","tag2":"","desc":"Columns"},{"tag1":"(0028,0030)","vr":"DS","value":"0.216\\0.216","tag2":"","desc":"Pixel Spacing"},{"tag1":"(0028,0100)","vr":"US","value":"16","tag2":"","desc":"Bits Allocated"},{"tag1":"(0028,0101)","vr":"US","value":"12","tag2":"","desc":"Bits Stored"},{"tag1":"(0028,0102)","vr":"US","value":"11","tag2":"","desc":"High Bit"},{"tag1":"(0028,0103)","vr":"US","value":"0","tag2":"","desc":"Pixel Representation"},{"tag1":"(0028,0303)","vr":"CS","value":"","tag2":"","desc":"Longitudinal Temporal Information Modified"},{"tag1":"(0028,1050)","vr":"DS","value":"1561","tag2":"","desc":"Window Center"},{"tag1":"(0028,1051)","vr":"DS","value":"2536","tag2":"","desc":"Window Width"},{"tag1":"(0028,1052)","vr":"DS","value":"0","tag2":"","desc":"Rescale Intercept"},{"tag1":"(0028,1053)","vr":"DS","value":"1","tag2":"","desc":"Rescale Slope"},{"tag1":"(0028,1054)","vr":"LO","value":"US","tag2":"","desc":"Rescale Type"},{"tag1":"(0040,0254)","vr":"LO","value":"","tag2":"","desc":"Performed Procedure Step Description"},{"tag1":"(0040,0275)","vr":"SQ","value":"","tag2":"(0040,0275)","desc":"Request Attributes Sequence"},{"tag1":"(0040,0275)","vr":"SH","value":"0123410003818272","tag2":"(0040,1001)","desc":"Requested Procedure ID"},{"tag1":"(0903,0010)","vr":"LO","value":"GEIIS PACS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0905,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(4321,0010)","vr":"LO","value":"Imaging Dynamics Company Ltd.","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(7FD1,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"}]}}
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.nii.gz b/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.nii.gz
new file mode 100644
index 0000000..7000b84
Binary files /dev/null and b/data/examples/RX_Thorax/sub-1/ses-2/rx/sub-1_ses-2_bp-thorax_bp-ap_cr.nii.gz differ
diff --git a/data/examples/RX_Thorax/sub-1/ses-2/sub-1_ses-2_scans.tsv b/data/examples/RX_Thorax/sub-1/ses-2/sub-1_ses-2_scans.tsv
new file mode 100644
index 0000000..235b340
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-1/ses-2/sub-1_ses-2_scans.tsv
@@ -0,0 +1,2 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+dx/sub-1_ses-1_bp-thorax_vp_ap_cr.nii.gz GE MEDICAL SYSTEMS Thorax AP OPTIMA 332424083962373450045181767823697702475 F 057Y 80 GR SS\SP\SK FAST_GEMS\EDR_GEMS\PFF 3D 1 6.816 1.984 None 63.867408 1.5 OPTIMA MR360 0.5 1 100 244.141 12 HFS -139.453\-147.422\39.1247 1\-0\0\-0\1\0 39.12474823 256 256 1.0938\1.0938 16 2 1 None
diff --git a/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.json b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.json
new file mode 100644
index 0000000..099a8a8
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.json
@@ -0,0 +1 @@
+{"ResultSet":{"Result":[{"tag1":"(0002,0001)","vr":"OB","value":"00\\01","tag2":"","desc":"File Meta Information Version"},{"tag1":"(0002,0002)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"Media Storage SOP Class UID"},{"tag1":"(0002,0003)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832189.2","tag2":"","desc":"Media Storage SOP Instance UID"},{"tag1":"(0002,0010)","vr":"UI","value":"1.2.840.10008.1.2.1","tag2":"","desc":"Transfer Syntax UID"},{"tag1":"(0002,0012)","vr":"UI","value":"1.2.40.0.13.1.1","tag2":"","desc":"Implementation Class UID"},{"tag1":"(0002,0013)","vr":"SH","value":"dcm4che-2.0","tag2":"","desc":"Implementation Version Name"},{"tag1":"(0002,0016)","vr":"AE","value":"CTP","tag2":"","desc":"Source Application Entity Title"},{"tag1":"(0008,0005)","vr":"CS","value":"ISO_IR 100","tag2":"","desc":"Specific Character Set"},{"tag1":"(0008,0008)","vr":"CS","value":"ORIGINAL\\PRIMARY\\","tag2":"","desc":"Image Type"},{"tag1":"(0008,0016)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"SOP Class UID"},{"tag1":"(0008,0018)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832189.2","tag2":"","desc":"SOP Instance UID"},{"tag1":"(0008,0020)","vr":"DA","value":"20171023","tag2":"","desc":"Study Date"},{"tag1":"(0008,0021)","vr":"DA","value":"20171023","tag2":"","desc":"Series Date"},{"tag1":"(0008,0022)","vr":"DA","value":"20171023","tag2":"","desc":"Acquisition Date"},{"tag1":"(0008,0023)","vr":"DA","value":"20171023","tag2":"","desc":"Content Date"},{"tag1":"(0008,0030)","vr":"TM","value":"083836.209000","tag2":"","desc":"Study Time"},{"tag1":"(0008,0031)","vr":"TM","value":"083839.000000","tag2":"","desc":"Series Time"},{"tag1":"(0008,0032)","vr":"TM","value":"083916","tag2":"","desc":"Acquisition Time"},{"tag1":"(0008,0033)","vr":"TM","value":"083916","tag2":"","desc":"Content Time"},{"tag1":"(0008,0050)","vr":"SH","value":"","tag2":"","desc":"Accession Number"},{"tag1":"(0008,0060)","vr":"CS","value":"DX","tag2":"","desc":"Modality"},{"tag1":"(0008,0068)","vr":"CS","value":"FOR PRESENTATION","tag2":"","desc":"Presentation Intent Type"},{"tag1":"(0008,0070)","vr":"LO","value":"Philips Medical Systems","tag2":"","desc":"Manufacturer"},{"tag1":"(0008,0090)","vr":"PN","value":"","tag2":"","desc":"Referring Physician’s Name"},{"tag1":"(0008,1010)","vr":"SH","value":"SJDIDI01","tag2":"","desc":"Station Name"},{"tag1":"(0008,1030)","vr":"LO","value":"padchest_ds17","tag2":"","desc":"Study Description"},{"tag1":"(0008,1032)","vr":"SQ","value":"","tag2":"(0008,1032)","desc":"Procedure Code Sequence"},{"tag1":"(0008,1032)","vr":"SH","value":"3061010101001040","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0008,1032)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0008,1032)","vr":"LO","value":"RX TORAX PA Y LAT","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0008,103E)","vr":"LO","value":"Trax","tag2":"","desc":"Series Description"},{"tag1":"(0008,1090)","vr":"LO","value":"DigitalDiagnost","tag2":"","desc":"Manufacturer’s Model Name"},{"tag1":"(0008,1110)","vr":"SQ","value":"","tag2":"(0008,1110)","desc":"Referenced Study Sequence"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.100008.3.1.2.3.1","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1508740222.1172960","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,1111)","vr":"SQ","value":"","tag2":"(0008,1111)","desc":"Referenced Performed Procedure Step Sequence"},{"tag1":"(0008,1111)","vr":"UI","value":"1.2.840.10008.3.1.2.3.3","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1111)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740652038.1","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,3010)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740752489.1","tag2":"","desc":"Irradiation Event UID"},{"tag1":"(0009,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0010,0010)","vr":"PN","value":"100008301845755693600822040133468866003","tag2":"","desc":"Patient’s Name"},{"tag1":"(0010,0020)","vr":"LO","value":"117677712752528732526839762067921423608","tag2":"","desc":"Patient ID"},{"tag1":"(0010,0030)","vr":"DA","value":"19631102","tag2":"","desc":"Patient’s Birth Date"},{"tag1":"(0010,0040)","vr":"CS","value":"F","tag2":"","desc":"Patient’s Sex"},{"tag1":"(0010,1010)","vr":"AS","value":"053Y","tag2":"","desc":"Patient’s Age"},{"tag1":"(0010,1020)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Size"},{"tag1":"(0010,1030)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Weight"},{"tag1":"(0010,2000)","vr":"LO","value":"","tag2":"","desc":"Medical Alerts"},{"tag1":"(0010,2110)","vr":"LO","value":"","tag2":"","desc":"Allergies"},{"tag1":"(0010,2160)","vr":"SH","value":"","tag2":"","desc":"Ethnic Group"},{"tag1":"(0010,21B0)","vr":"LT","value":"","tag2":"","desc":"Additional Patient History"},{"tag1":"(0010,21C0)","vr":"US","value":"4","tag2":"","desc":"Pregnancy Status"},{"tag1":"(0018,0015)","vr":"CS","value":"CHEST","tag2":"","desc":"Body Part Examined"},{"tag1":"(0018,0060)","vr":"DS","value":"125","tag2":"","desc":"KVP"},{"tag1":"(0018,1000)","vr":"LO","value":"72567767433727","tag2":"","desc":"Device Serial Number"},{"tag1":"(0018,1020)","vr":"LO","value":"4.1.3.2","tag2":"","desc":"Software Version(s)"},{"tag1":"(0018,1030)","vr":"LO","value":"Trax","tag2":"","desc":"Protocol Name"},{"tag1":"(0018,1050)","vr":"DS","value":"0.148","tag2":"","desc":"Spatial Resolution"},{"tag1":"(0018,1110)","vr":"DS","value":"1807","tag2":"","desc":"Distance Source to Detector"},{"tag1":"(0018,1111)","vr":"DS","value":"1753","tag2":"","desc":"Distance Source to Patient"},{"tag1":"(0018,1114)","vr":"DS","value":"0.99394939493971","tag2":"","desc":"Estimated Radiographic Magnification Factor"},{"tag1":"(0018,1150)","vr":"IS","value":"5","tag2":"","desc":"Exposure Time"},{"tag1":"(0018,1152)","vr":"IS","value":"1","tag2":"","desc":"Exposure"},{"tag1":"(0018,1153)","vr":"IS","value":"1400","tag2":"","desc":"Exposure in µAs"},{"tag1":"(0018,115E)","vr":"DS","value":"0.59","tag2":"","desc":"Image and Fluoroscopy Area Dose Product"},{"tag1":"(0018,1164)","vr":"DS","value":"0.148\\0.148","tag2":"","desc":"Imager Pixel Spacing"},{"tag1":"(0018,1166)","vr":"CS","value":"IN","tag2":"","desc":"Grid"},{"tag1":"(0018,1400)","vr":"LO","value":"","tag2":"","desc":"Acquisition Device Processing Description"},{"tag1":"(0018,1405)","vr":"IS","value":"391","tag2":"","desc":"Relative X-Ray Exposure"},{"tag1":"(0018,1411)","vr":"DS","value":"391","tag2":"","desc":"Exposure Index"},{"tag1":"(0018,1508)","vr":"CS","value":"NONE","tag2":"","desc":"Positioner Type"},{"tag1":"(0018,1600)","vr":"CS","value":"POLYGONAL","tag2":"","desc":"Shutter Shape"},{"tag1":"(0018,1620)","vr":"IS","value":"103\\2064\\128\\0\\2829\\0\\2829\\2064","tag2":"","desc":"Vertices of the Polygonal Shutter"},{"tag1":"(0018,1700)","vr":"CS","value":"RECTANGULAR","tag2":"","desc":"Collimator Shape"},{"tag1":"(0018,1702)","vr":"IS","value":"0","tag2":"","desc":"Collimator Left Vertical Edge"},{"tag1":"(0018,1704)","vr":"IS","value":"2389","tag2":"","desc":"Collimator Right Vertical Edge"},{"tag1":"(0018,1706)","vr":"IS","value":"0","tag2":"","desc":"Collimator Upper Horizontal Edge"},{"tag1":"(0018,1708)","vr":"IS","value":"2829","tag2":"","desc":"Collimator Lower Horizontal Edge"},{"tag1":"(0018,5101)","vr":"CS","value":"LL","tag2":"","desc":"View Position"},{"tag1":"(0018,7001)","vr":"DS","value":"31.3","tag2":"","desc":"Detector Temperature"},{"tag1":"(0018,7004)","vr":"CS","value":"SCINTILLATOR","tag2":"","desc":"Detector Type"},{"tag1":"(0018,7008)","vr":"LT","value":"SingleShot1s","tag2":"","desc":"Detector Mode"},{"tag1":"(0018,700A)","vr":"SH","value":"SN1546U4","tag2":"","desc":"Detector ID"},{"tag1":"(0018,700C)","vr":"DA","value":"20171018","tag2":"","desc":"Date of Last Detector Calibration"},{"tag1":"(0018,700E)","vr":"TM","value":"082323","tag2":"","desc":"Time of Last Detector Calibration"},{"tag1":"(0018,7012)","vr":"DS","value":"36403.63","tag2":"","desc":"Detector Time Since Last Exposure"},{"tag1":"(0018,702A)","vr":"LO","value":"TRIXELL","tag2":"","desc":"Detector Manufacturer Name"},{"tag1":"(0018,702B)","vr":"LO","value":"PIXIUM4343RC","tag2":"","desc":"Detector Manufacturer’s Model Name"},{"tag1":"(0018,7030)","vr":"DS","value":"0\\0","tag2":"","desc":"Field of View Origin"},{"tag1":"(0018,7032)","vr":"DS","value":"0","tag2":"","desc":"Field of View Rotation"},{"tag1":"(0018,7034)","vr":"CS","value":"YES","tag2":"","desc":"Field of View Horizontal Flip"},{"tag1":"(0018,7050)","vr":"CS","value":"COPPER\\ALUMINIUM","tag2":"","desc":"Filter Material"},{"tag1":"(0018,7062)","vr":"LT","value":"4","tag2":"","desc":"Exposure Control Mode Description"},{"tag1":"(0018,8150)","vr":"DS","value":"5000","tag2":"","desc":"Exposure Time in µS"},{"tag1":"(0020,000D)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1508740222.1172960","tag2":"","desc":"Study Instance UID"},{"tag1":"(0020,000E)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832187.1","tag2":"","desc":"Series Instance UID"},{"tag1":"(0020,0010)","vr":"SH","value":"","tag2":"","desc":"Study ID"},{"tag1":"(0020,0011)","vr":"IS","value":"1","tag2":"","desc":"Series Number"},{"tag1":"(0020,0013)","vr":"IS","value":"2","tag2":"","desc":"Instance Number"},{"tag1":"(0020,0020)","vr":"CS","value":"A\\F","tag2":"","desc":"Patient Orientation"},{"tag1":"(0020,0062)","vr":"CS","value":"","tag2":"","desc":"Image Laterality"},{"tag1":"(0028,0002)","vr":"US","value":"1","tag2":"","desc":"Samples per Pixel"},{"tag1":"(0028,0004)","vr":"CS","value":"MONOCHROME2","tag2":"","desc":"Photometric Interpretation"},{"tag1":"(0028,0010)","vr":"US","value":"2830","tag2":"","desc":"Rows"},{"tag1":"(0028,0011)","vr":"US","value":"2390","tag2":"","desc":"Columns"},{"tag1":"(0028,0030)","vr":"DS","value":"0.1489009407858\\0.1489009407858","tag2":"","desc":"Pixel Spacing"},{"tag1":"(0028,0100)","vr":"US","value":"16","tag2":"","desc":"Bits Allocated"},{"tag1":"(0028,0101)","vr":"US","value":"12","tag2":"","desc":"Bits Stored"},{"tag1":"(0028,0102)","vr":"US","value":"11","tag2":"","desc":"High Bit"},{"tag1":"(0028,0103)","vr":"US","value":"0","tag2":"","desc":"Pixel Representation"},{"tag1":"(0028,0300)","vr":"CS","value":"NO","tag2":"","desc":"Quality Control Image"},{"tag1":"(0028,0301)","vr":"CS","value":"NO","tag2":"","desc":"Burned In Annotation"},{"tag1":"(0028,0303)","vr":"CS","value":"","tag2":"","desc":"Longitudinal Temporal Information Modified"},{"tag1":"(0028,1040)","vr":"CS","value":"LOG","tag2":"","desc":"Pixel Intensity Relationship"},{"tag1":"(0028,1041)","vr":"SS","value":"-1","tag2":"","desc":"Pixel Intensity Relationship Sign"},{"tag1":"(0028,1050)","vr":"DS","value":"2047.5","tag2":"","desc":"Window Center"},{"tag1":"(0028,1051)","vr":"DS","value":"4095","tag2":"","desc":"Window Width"},{"tag1":"(0028,1052)","vr":"DS","value":"0","tag2":"","desc":"Rescale Intercept"},{"tag1":"(0028,1053)","vr":"DS","value":"1","tag2":"","desc":"Rescale Slope"},{"tag1":"(0028,1054)","vr":"LO","value":"US","tag2":"","desc":"Rescale Type"},{"tag1":"(0028,2110)","vr":"CS","value":"00","tag2":"","desc":"Lossy Image Compression"},{"tag1":"(0032,1060)","vr":"LO","value":"","tag2":"","desc":"Requested Procedure Description"},{"tag1":"(0032,1064)","vr":"SQ","value":"","tag2":"(0032,1064)","desc":"Requested Procedure Code Sequence"},{"tag1":"(0032,1064)","vr":"SH","value":"3061010101001040","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0032,1064)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0032,1064)","vr":"LO","value":"RX T�RAX, PA Y LAT","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0040,0241)","vr":"AE","value":"SJDIDI01","tag2":"","desc":"Performed Station AE Title"},{"tag1":"(0040,0244)","vr":"DA","value":"20171023","tag2":"","desc":"Performed Procedure Step Start Date"},{"tag1":"(0040,0245)","vr":"TM","value":"083836.209000","tag2":"","desc":"Performed Procedure Step Start Time"},{"tag1":"(0040,0250)","vr":"DA","value":"20171023","tag2":"","desc":"Performed Procedure Step End Date"},{"tag1":"(0040,0251)","vr":"TM","value":"084032.059000","tag2":"","desc":"Performed Procedure Step End Time"},{"tag1":"(0040,0252)","vr":"CS","value":"","tag2":"","desc":"Performed Procedure Step Status"},{"tag1":"(0040,0254)","vr":"LO","value":"","tag2":"","desc":"Performed Procedure Step Description"},{"tag1":"(0040,0301)","vr":"US","value":"2","tag2":"","desc":"Total Number of Exposures"},{"tag1":"(0040,0302)","vr":"US","value":"0","tag2":"","desc":"Entrance Dose"},{"tag1":"(0040,1002)","vr":"LO","value":"","tag2":"","desc":"Reason for the Requested Procedure"},{"tag1":"(0040,1003)","vr":"SH","value":"","tag2":"","desc":"Requested Procedure Priority"},{"tag1":"(0040,1400)","vr":"LT","value":"","tag2":"","desc":"Requested Procedure Comments"},{"tag1":"(0040,2001)","vr":"LO","value":"","tag2":"","desc":"Reason for the Imaging Service Request"},{"tag1":"(0040,2004)","vr":"DA","value":"","tag2":"","desc":"Issue Date of Imaging Service Request"},{"tag1":"(0040,2017)","vr":"LO","value":"","tag2":"","desc":"Filler Order Number / Imaging Service Request"},{"tag1":"(0040,2400)","vr":"LT","value":"","tag2":"","desc":"Imaging Service Request Comments"},{"tag1":"(0040,8302)","vr":"DS","value":"0.077","tag2":"","desc":"Entrance Dose in mGy"},{"tag1":"(0903,0010)","vr":"LO","value":"GEIIS PACS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0905,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0010)","vr":"LO","value":"Philips Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0011)","vr":"LO","value":"Philips Imaging DD 002","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0090)","vr":"LO","value":"Philips Imaging DD 129","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0010)","vr":"LO","value":"Philips RAD Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0070)","vr":"LO","value":"Philips RAD Imaging DD 097","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0072)","vr":"LO","value":"Philips RAD Imaging DD 099","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2050,0020)","vr":"CS","value":"IDENTITY","tag2":"","desc":"Presentation LUT Shape"},{"tag1":"(7FD1,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"}]}}
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.nii.gz b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.nii.gz
new file mode 100644
index 0000000..f7ac2ba
Binary files /dev/null and b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ap_dx.nii.gz differ
diff --git a/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.json b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.json
new file mode 100644
index 0000000..099a8a8
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.json
@@ -0,0 +1 @@
+{"ResultSet":{"Result":[{"tag1":"(0002,0001)","vr":"OB","value":"00\\01","tag2":"","desc":"File Meta Information Version"},{"tag1":"(0002,0002)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"Media Storage SOP Class UID"},{"tag1":"(0002,0003)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832189.2","tag2":"","desc":"Media Storage SOP Instance UID"},{"tag1":"(0002,0010)","vr":"UI","value":"1.2.840.10008.1.2.1","tag2":"","desc":"Transfer Syntax UID"},{"tag1":"(0002,0012)","vr":"UI","value":"1.2.40.0.13.1.1","tag2":"","desc":"Implementation Class UID"},{"tag1":"(0002,0013)","vr":"SH","value":"dcm4che-2.0","tag2":"","desc":"Implementation Version Name"},{"tag1":"(0002,0016)","vr":"AE","value":"CTP","tag2":"","desc":"Source Application Entity Title"},{"tag1":"(0008,0005)","vr":"CS","value":"ISO_IR 100","tag2":"","desc":"Specific Character Set"},{"tag1":"(0008,0008)","vr":"CS","value":"ORIGINAL\\PRIMARY\\","tag2":"","desc":"Image Type"},{"tag1":"(0008,0016)","vr":"UI","value":"1.2.840.10008.5.1.4.1.1.1.1","tag2":"","desc":"SOP Class UID"},{"tag1":"(0008,0018)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832189.2","tag2":"","desc":"SOP Instance UID"},{"tag1":"(0008,0020)","vr":"DA","value":"20171023","tag2":"","desc":"Study Date"},{"tag1":"(0008,0021)","vr":"DA","value":"20171023","tag2":"","desc":"Series Date"},{"tag1":"(0008,0022)","vr":"DA","value":"20171023","tag2":"","desc":"Acquisition Date"},{"tag1":"(0008,0023)","vr":"DA","value":"20171023","tag2":"","desc":"Content Date"},{"tag1":"(0008,0030)","vr":"TM","value":"083836.209000","tag2":"","desc":"Study Time"},{"tag1":"(0008,0031)","vr":"TM","value":"083839.000000","tag2":"","desc":"Series Time"},{"tag1":"(0008,0032)","vr":"TM","value":"083916","tag2":"","desc":"Acquisition Time"},{"tag1":"(0008,0033)","vr":"TM","value":"083916","tag2":"","desc":"Content Time"},{"tag1":"(0008,0050)","vr":"SH","value":"","tag2":"","desc":"Accession Number"},{"tag1":"(0008,0060)","vr":"CS","value":"DX","tag2":"","desc":"Modality"},{"tag1":"(0008,0068)","vr":"CS","value":"FOR PRESENTATION","tag2":"","desc":"Presentation Intent Type"},{"tag1":"(0008,0070)","vr":"LO","value":"Philips Medical Systems","tag2":"","desc":"Manufacturer"},{"tag1":"(0008,0090)","vr":"PN","value":"","tag2":"","desc":"Referring Physician’s Name"},{"tag1":"(0008,1010)","vr":"SH","value":"SJDIDI01","tag2":"","desc":"Station Name"},{"tag1":"(0008,1030)","vr":"LO","value":"padchest_ds17","tag2":"","desc":"Study Description"},{"tag1":"(0008,1032)","vr":"SQ","value":"","tag2":"(0008,1032)","desc":"Procedure Code Sequence"},{"tag1":"(0008,1032)","vr":"SH","value":"3061010101001040","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0008,1032)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0008,1032)","vr":"LO","value":"RX TORAX PA Y LAT","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0008,103E)","vr":"LO","value":"Trax","tag2":"","desc":"Series Description"},{"tag1":"(0008,1090)","vr":"LO","value":"DigitalDiagnost","tag2":"","desc":"Manufacturer’s Model Name"},{"tag1":"(0008,1110)","vr":"SQ","value":"","tag2":"(0008,1110)","desc":"Referenced Study Sequence"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.100008.3.1.2.3.1","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1110)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1508740222.1172960","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,1111)","vr":"SQ","value":"","tag2":"(0008,1111)","desc":"Referenced Performed Procedure Step Sequence"},{"tag1":"(0008,1111)","vr":"UI","value":"1.2.840.10008.3.1.2.3.3","tag2":"(0008,1150)","desc":"Referenced SOP Class UID"},{"tag1":"(0008,1111)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740652038.1","tag2":"(0008,1155)","desc":"Referenced SOP Instance UID"},{"tag1":"(0008,3010)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740752489.1","tag2":"","desc":"Irradiation Event UID"},{"tag1":"(0009,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0010,0010)","vr":"PN","value":"100008301845755693600822040133468866003","tag2":"","desc":"Patient’s Name"},{"tag1":"(0010,0020)","vr":"LO","value":"117677712752528732526839762067921423608","tag2":"","desc":"Patient ID"},{"tag1":"(0010,0030)","vr":"DA","value":"19631102","tag2":"","desc":"Patient’s Birth Date"},{"tag1":"(0010,0040)","vr":"CS","value":"F","tag2":"","desc":"Patient’s Sex"},{"tag1":"(0010,1010)","vr":"AS","value":"053Y","tag2":"","desc":"Patient’s Age"},{"tag1":"(0010,1020)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Size"},{"tag1":"(0010,1030)","vr":"DS","value":"0","tag2":"","desc":"Patient’s Weight"},{"tag1":"(0010,2000)","vr":"LO","value":"","tag2":"","desc":"Medical Alerts"},{"tag1":"(0010,2110)","vr":"LO","value":"","tag2":"","desc":"Allergies"},{"tag1":"(0010,2160)","vr":"SH","value":"","tag2":"","desc":"Ethnic Group"},{"tag1":"(0010,21B0)","vr":"LT","value":"","tag2":"","desc":"Additional Patient History"},{"tag1":"(0010,21C0)","vr":"US","value":"4","tag2":"","desc":"Pregnancy Status"},{"tag1":"(0018,0015)","vr":"CS","value":"CHEST","tag2":"","desc":"Body Part Examined"},{"tag1":"(0018,0060)","vr":"DS","value":"125","tag2":"","desc":"KVP"},{"tag1":"(0018,1000)","vr":"LO","value":"72567767433727","tag2":"","desc":"Device Serial Number"},{"tag1":"(0018,1020)","vr":"LO","value":"4.1.3.2","tag2":"","desc":"Software Version(s)"},{"tag1":"(0018,1030)","vr":"LO","value":"Trax","tag2":"","desc":"Protocol Name"},{"tag1":"(0018,1050)","vr":"DS","value":"0.148","tag2":"","desc":"Spatial Resolution"},{"tag1":"(0018,1110)","vr":"DS","value":"1807","tag2":"","desc":"Distance Source to Detector"},{"tag1":"(0018,1111)","vr":"DS","value":"1753","tag2":"","desc":"Distance Source to Patient"},{"tag1":"(0018,1114)","vr":"DS","value":"0.99394939493971","tag2":"","desc":"Estimated Radiographic Magnification Factor"},{"tag1":"(0018,1150)","vr":"IS","value":"5","tag2":"","desc":"Exposure Time"},{"tag1":"(0018,1152)","vr":"IS","value":"1","tag2":"","desc":"Exposure"},{"tag1":"(0018,1153)","vr":"IS","value":"1400","tag2":"","desc":"Exposure in µAs"},{"tag1":"(0018,115E)","vr":"DS","value":"0.59","tag2":"","desc":"Image and Fluoroscopy Area Dose Product"},{"tag1":"(0018,1164)","vr":"DS","value":"0.148\\0.148","tag2":"","desc":"Imager Pixel Spacing"},{"tag1":"(0018,1166)","vr":"CS","value":"IN","tag2":"","desc":"Grid"},{"tag1":"(0018,1400)","vr":"LO","value":"","tag2":"","desc":"Acquisition Device Processing Description"},{"tag1":"(0018,1405)","vr":"IS","value":"391","tag2":"","desc":"Relative X-Ray Exposure"},{"tag1":"(0018,1411)","vr":"DS","value":"391","tag2":"","desc":"Exposure Index"},{"tag1":"(0018,1508)","vr":"CS","value":"NONE","tag2":"","desc":"Positioner Type"},{"tag1":"(0018,1600)","vr":"CS","value":"POLYGONAL","tag2":"","desc":"Shutter Shape"},{"tag1":"(0018,1620)","vr":"IS","value":"103\\2064\\128\\0\\2829\\0\\2829\\2064","tag2":"","desc":"Vertices of the Polygonal Shutter"},{"tag1":"(0018,1700)","vr":"CS","value":"RECTANGULAR","tag2":"","desc":"Collimator Shape"},{"tag1":"(0018,1702)","vr":"IS","value":"0","tag2":"","desc":"Collimator Left Vertical Edge"},{"tag1":"(0018,1704)","vr":"IS","value":"2389","tag2":"","desc":"Collimator Right Vertical Edge"},{"tag1":"(0018,1706)","vr":"IS","value":"0","tag2":"","desc":"Collimator Upper Horizontal Edge"},{"tag1":"(0018,1708)","vr":"IS","value":"2829","tag2":"","desc":"Collimator Lower Horizontal Edge"},{"tag1":"(0018,5101)","vr":"CS","value":"LL","tag2":"","desc":"View Position"},{"tag1":"(0018,7001)","vr":"DS","value":"31.3","tag2":"","desc":"Detector Temperature"},{"tag1":"(0018,7004)","vr":"CS","value":"SCINTILLATOR","tag2":"","desc":"Detector Type"},{"tag1":"(0018,7008)","vr":"LT","value":"SingleShot1s","tag2":"","desc":"Detector Mode"},{"tag1":"(0018,700A)","vr":"SH","value":"SN1546U4","tag2":"","desc":"Detector ID"},{"tag1":"(0018,700C)","vr":"DA","value":"20171018","tag2":"","desc":"Date of Last Detector Calibration"},{"tag1":"(0018,700E)","vr":"TM","value":"082323","tag2":"","desc":"Time of Last Detector Calibration"},{"tag1":"(0018,7012)","vr":"DS","value":"36403.63","tag2":"","desc":"Detector Time Since Last Exposure"},{"tag1":"(0018,702A)","vr":"LO","value":"TRIXELL","tag2":"","desc":"Detector Manufacturer Name"},{"tag1":"(0018,702B)","vr":"LO","value":"PIXIUM4343RC","tag2":"","desc":"Detector Manufacturer’s Model Name"},{"tag1":"(0018,7030)","vr":"DS","value":"0\\0","tag2":"","desc":"Field of View Origin"},{"tag1":"(0018,7032)","vr":"DS","value":"0","tag2":"","desc":"Field of View Rotation"},{"tag1":"(0018,7034)","vr":"CS","value":"YES","tag2":"","desc":"Field of View Horizontal Flip"},{"tag1":"(0018,7050)","vr":"CS","value":"COPPER\\ALUMINIUM","tag2":"","desc":"Filter Material"},{"tag1":"(0018,7062)","vr":"LT","value":"4","tag2":"","desc":"Exposure Control Mode Description"},{"tag1":"(0018,8150)","vr":"DS","value":"5000","tag2":"","desc":"Exposure Time in µS"},{"tag1":"(0020,000D)","vr":"UI","value":"1.2.840.113619.2.182.10808617219229.1508740222.1172960","tag2":"","desc":"Study Instance UID"},{"tag1":"(0020,000E)","vr":"UI","value":"1.3.46.670589.30.36.0.1.72567767433727.1508740832187.1","tag2":"","desc":"Series Instance UID"},{"tag1":"(0020,0010)","vr":"SH","value":"","tag2":"","desc":"Study ID"},{"tag1":"(0020,0011)","vr":"IS","value":"1","tag2":"","desc":"Series Number"},{"tag1":"(0020,0013)","vr":"IS","value":"2","tag2":"","desc":"Instance Number"},{"tag1":"(0020,0020)","vr":"CS","value":"A\\F","tag2":"","desc":"Patient Orientation"},{"tag1":"(0020,0062)","vr":"CS","value":"","tag2":"","desc":"Image Laterality"},{"tag1":"(0028,0002)","vr":"US","value":"1","tag2":"","desc":"Samples per Pixel"},{"tag1":"(0028,0004)","vr":"CS","value":"MONOCHROME2","tag2":"","desc":"Photometric Interpretation"},{"tag1":"(0028,0010)","vr":"US","value":"2830","tag2":"","desc":"Rows"},{"tag1":"(0028,0011)","vr":"US","value":"2390","tag2":"","desc":"Columns"},{"tag1":"(0028,0030)","vr":"DS","value":"0.1489009407858\\0.1489009407858","tag2":"","desc":"Pixel Spacing"},{"tag1":"(0028,0100)","vr":"US","value":"16","tag2":"","desc":"Bits Allocated"},{"tag1":"(0028,0101)","vr":"US","value":"12","tag2":"","desc":"Bits Stored"},{"tag1":"(0028,0102)","vr":"US","value":"11","tag2":"","desc":"High Bit"},{"tag1":"(0028,0103)","vr":"US","value":"0","tag2":"","desc":"Pixel Representation"},{"tag1":"(0028,0300)","vr":"CS","value":"NO","tag2":"","desc":"Quality Control Image"},{"tag1":"(0028,0301)","vr":"CS","value":"NO","tag2":"","desc":"Burned In Annotation"},{"tag1":"(0028,0303)","vr":"CS","value":"","tag2":"","desc":"Longitudinal Temporal Information Modified"},{"tag1":"(0028,1040)","vr":"CS","value":"LOG","tag2":"","desc":"Pixel Intensity Relationship"},{"tag1":"(0028,1041)","vr":"SS","value":"-1","tag2":"","desc":"Pixel Intensity Relationship Sign"},{"tag1":"(0028,1050)","vr":"DS","value":"2047.5","tag2":"","desc":"Window Center"},{"tag1":"(0028,1051)","vr":"DS","value":"4095","tag2":"","desc":"Window Width"},{"tag1":"(0028,1052)","vr":"DS","value":"0","tag2":"","desc":"Rescale Intercept"},{"tag1":"(0028,1053)","vr":"DS","value":"1","tag2":"","desc":"Rescale Slope"},{"tag1":"(0028,1054)","vr":"LO","value":"US","tag2":"","desc":"Rescale Type"},{"tag1":"(0028,2110)","vr":"CS","value":"00","tag2":"","desc":"Lossy Image Compression"},{"tag1":"(0032,1060)","vr":"LO","value":"","tag2":"","desc":"Requested Procedure Description"},{"tag1":"(0032,1064)","vr":"SQ","value":"","tag2":"(0032,1064)","desc":"Requested Procedure Code Sequence"},{"tag1":"(0032,1064)","vr":"SH","value":"3061010101001040","tag2":"(0008,0100)","desc":"Code Value"},{"tag1":"(0032,1064)","vr":"SH","value":"CCG_CSTemp","tag2":"(0008,0102)","desc":"Coding Scheme Designator"},{"tag1":"(0032,1064)","vr":"LO","value":"RX T�RAX, PA Y LAT","tag2":"(0008,0104)","desc":"Code Meaning"},{"tag1":"(0040,0241)","vr":"AE","value":"SJDIDI01","tag2":"","desc":"Performed Station AE Title"},{"tag1":"(0040,0244)","vr":"DA","value":"20171023","tag2":"","desc":"Performed Procedure Step Start Date"},{"tag1":"(0040,0245)","vr":"TM","value":"083836.209000","tag2":"","desc":"Performed Procedure Step Start Time"},{"tag1":"(0040,0250)","vr":"DA","value":"20171023","tag2":"","desc":"Performed Procedure Step End Date"},{"tag1":"(0040,0251)","vr":"TM","value":"084032.059000","tag2":"","desc":"Performed Procedure Step End Time"},{"tag1":"(0040,0252)","vr":"CS","value":"","tag2":"","desc":"Performed Procedure Step Status"},{"tag1":"(0040,0254)","vr":"LO","value":"","tag2":"","desc":"Performed Procedure Step Description"},{"tag1":"(0040,0301)","vr":"US","value":"2","tag2":"","desc":"Total Number of Exposures"},{"tag1":"(0040,0302)","vr":"US","value":"0","tag2":"","desc":"Entrance Dose"},{"tag1":"(0040,1002)","vr":"LO","value":"","tag2":"","desc":"Reason for the Requested Procedure"},{"tag1":"(0040,1003)","vr":"SH","value":"","tag2":"","desc":"Requested Procedure Priority"},{"tag1":"(0040,1400)","vr":"LT","value":"","tag2":"","desc":"Requested Procedure Comments"},{"tag1":"(0040,2001)","vr":"LO","value":"","tag2":"","desc":"Reason for the Imaging Service Request"},{"tag1":"(0040,2004)","vr":"DA","value":"","tag2":"","desc":"Issue Date of Imaging Service Request"},{"tag1":"(0040,2017)","vr":"LO","value":"","tag2":"","desc":"Filler Order Number / Imaging Service Request"},{"tag1":"(0040,2400)","vr":"LT","value":"","tag2":"","desc":"Imaging Service Request Comments"},{"tag1":"(0040,8302)","vr":"DS","value":"0.077","tag2":"","desc":"Entrance Dose in mGy"},{"tag1":"(0903,0010)","vr":"LO","value":"GEIIS PACS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(0905,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0010)","vr":"LO","value":"Philips Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0011)","vr":"LO","value":"Philips Imaging DD 002","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2001,0090)","vr":"LO","value":"Philips Imaging DD 129","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0010)","vr":"LO","value":"Philips RAD Imaging DD 001","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0070)","vr":"LO","value":"Philips RAD Imaging DD 097","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(200B,0072)","vr":"LO","value":"Philips RAD Imaging DD 099","tag2":"","desc":"Private Creator Data Element"},{"tag1":"(2050,0020)","vr":"CS","value":"IDENTITY","tag2":"","desc":"Presentation LUT Shape"},{"tag1":"(7FD1,0010)","vr":"LO","value":"GEIIS","tag2":"","desc":"Private Creator Data Element"}]}}
\ No newline at end of file
diff --git a/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.nii.gz b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.nii.gz
new file mode 100644
index 0000000..ad49be4
Binary files /dev/null and b/data/examples/RX_Thorax/sub-2/rx/sub-2_ses-1_bp-thorax_vp-ll_dx.nii.gz differ
diff --git a/data/examples/RX_Thorax/sub-2/sub-2_ses-1_scans.tsv b/data/examples/RX_Thorax/sub-2/sub-2_ses-1_scans.tsv
new file mode 100644
index 0000000..b58ced0
--- /dev/null
+++ b/data/examples/RX_Thorax/sub-2/sub-2_ses-1_scans.tsv
@@ -0,0 +1,3 @@
+filename Manufacturer (0008,0070) Series Description (0008,103E) Manufacturer’s Model Name (0008,1090) Patient ID (0010,0020) Patient’s Sex (0010,0040) Patient’s Age (0010,1010) Patient’s Weight (0010,1030) Scanning Sequence (0018,0020) Sequence Variant (0018,0021) Scan Options (0018,0022) MR Acquisition Type (0018,0023) Slice Thickness (0018,0050) Repetition Time (0018,0080) Echo Time (0018,0081) (0018,0082) Imaging Frequency (0018,0084) Magnetic Field Strength (0018,0087) Manufacturer’s Model Name (0008,1090) Spacing Between Slices (0018,0088) Echo Train Length (0018,0091) Percent Sampling (0018,0093) Pixel Bandwidth (0018,0095) Flip Angle (0018,1314) Patient Position (0018,5100) Image Position (Patient) (0020,0032) Image Orientation (Patient) (0020,0037) Position Reference Indicator (0020,1040) Slice Location (0020,1041) Rows (0028,0010) Columns (0028,0011) Pixel Spacing (0028,0030) Bits Allocated (0028,0100) Number of Averages (0018,0083) Echo Number(s) (0018,0086) (0018,9461)
+dx/sub-1_ses-2_bp-thorax_vp_ap_dx.nii.gz GE MEDICAL SYSTEMS Thorax AP OPTIMA 332424083962373450045181767823697702475 F 057Y 80 GR SS\SP\SK FAST_GEMS\EDR_GEMS\PFF 3D 1 6.816 1.984 None 63.867408 1.5 OPTIMA MR360 0.5 1 100 244.141 12 HFS -139.453\-147.422\39.1247 1\-0\0\-0\1\0 39.12474823 256 256 1.0938\1.0938 16 2 1 None
+dx/sub-1_ses-2_bp-thorax_vp_lat_dx.nii.gz GE MEDICAL SYSTEMS Thorax LAT OPTIMA 332424083962373450045181767823697702475 F 057Y 80 GR SS\SP\SK FAST_GEMS\EDR_GEMS\PFF 3D 1 6.816 1.984 None 63.867408 1.5 OPTIMA MR360 0.5 1 100 244.141 12 HFS -139.453\-147.422\39.1247 1\-0\0\-0\1\0 39.12474823 256 256 1.0938\1.0938 16 2 1 None
\ No newline at end of file
diff --git a/images/MIDS_directory.png b/images/MIDS_directory.png
new file mode 100644
index 0000000..f515076
Binary files /dev/null and b/images/MIDS_directory.png differ
diff --git a/images/dicom2bids.png b/images/dicom2bids.png
new file mode 100644
index 0000000..598a8f4
Binary files /dev/null and b/images/dicom2bids.png differ
diff --git a/images/logo_CEIB.png b/images/logo_CEIB.png
new file mode 100644
index 0000000..96db60a
Binary files /dev/null and b/images/logo_CEIB.png differ
diff --git a/images/logotipo-fisabio_tauv.png b/images/logotipo-fisabio_tauv.png
new file mode 100644
index 0000000..2c965b6
Binary files /dev/null and b/images/logotipo-fisabio_tauv.png differ
diff --git a/images/xnat_directory.png b/images/xnat_directory.png
new file mode 100644
index 0000000..968d52b
Binary files /dev/null and b/images/xnat_directory.png differ
diff --git a/xnat2mids/__init__.py b/xnat2mids/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/xnat2mids/__main__.py b/xnat2mids/__main__.py
new file mode 100644
index 0000000..99d28eb
--- /dev/null
+++ b/xnat2mids/__main__.py
@@ -0,0 +1,236 @@
+#!/usr/bin/env python #iniciaize enviroment
+# -*- coding: utf-8 -*-.
+u"""
+Subdirección General de Sistemas de Información para la Salud
+
+Centro de Excelencia e Innovación Tecnológica de Bioimagen de la Conselleria de Sanitat
+
+http://ceib.san.gva.es/
+
+María de la Iglesia Vayá -> delaiglesia_mar@gva.es or miglesia@cipf.es
+
+Jose Manuel Saborit Torres -> jmsaborit@cipf.es
+
+Jhon Jairo Saenz Gamboa ->jsaenz@cipf.es
+
+Joaquim Ángel Montell Serrano -> jamontell@cipf.es
+
+---
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License version 3 as published by
+the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+
+---
+
+Prerequisites
+
+Python --version >= 3.8
+
+Description:
+ This application allow the user to download one project on XNAT and
+ transform this project in MIDS format
+
+ There are 2 functions in this code:
+ download one project from xnat application:
+ arguments:
+ Prefix -w --web PAGE_WEB 1) The URL page where XNAT is.
+ Prefix -p --project [PROJECTS] 2) The project name to download
+ Prefix -i --input PATH 3) the directory where the files
+ will be downloaded
+ Prefix -u --user [USER] 4) The username to login in XNAT
+ If not write a username, It
+ loggin as guest.
+
+ Convert the xnat directories of the project in MIDS format:
+ arguments:
+ Prefix -i --input PATH 1) the directory where the files will
+ be downloaded
+ Prefix -o --output PATH 2) Directory where the MIDS model
+ is applied.
+"""
+###############################################################################
+# Imports
+###############################################################################
+
+import os
+import argparse
+from pathlib import Path
+# serialize model to json
+
+from xnat2mids.xnat.xnat_session import XnatSession
+from xnat2mids.xnat.xnat_session import list_directory_xnat
+#import mids_conversion
+from xnat2mids.xnat.variables import types_files_xnat
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import reset_terminal
+from xnat2mids.xnat.variables import dict_paths
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.mids_conversion import create_directory_mids_v1
+from xnat2mids.mids_conversion import create_tsvs
+
+
+###############################################################################
+# Functions
+###############################################################################
+
+
+def main():
+ """
+ This Fuction is de main programme
+ """
+ # Control of arguments of programme
+ parser = argparse.ArgumentParser(
+ formatter_class=argparse.RawDescriptionHelpFormatter, description="""
+ This sorfware allows the user to Download one project into XNAT platform
+ and convert the XNAT images directory in MIDS directory.
+
+ The aplication execution needs Python --version >= 3.5.
+
+ there are 2 functions in this code:
+
+ Download temporary projects from xnat application:
+
+ arguments:
+ + Prefix -w --web PAGE_WEB 1) The URL page where XNAT is.
+
+ + Prefix -u --user [USER] 2) The username to login in XNAT
+ If not write a username, It logins
+ as guest.
+
+ + Prefix -i --input INPUT 4) The directory where the
+ files will be downloaded.
+
+ + Prefix -t --types [sdnbr] 5) Download types of MRI images
+ included in xnat
+ - d = dicom + dicom metadata in
+ folder NIFTI
+ - n = nifti or png if image is
+ one slide (2D) + roi
+ - b = BIDS (only in CENTRAL XNAT)
+ - r = Structural report
+ default = nr
+
+
+ + Prefix --overwrite 5) Overwrite download files
+
+
+ Convert the xnat directories of the project in MIDS format:
+
+ arguments:
+
+ + Prefix -i --input INPUT 1) The directory where the files
+ will be downloaded.
+
+ + Prefix -o --output OUTPUT 2) Directory where the MIDS model
+ is applied.
+ + Prefix -bp --body-part 3) Specify which part of the body are
+ in the dataset(A clear dataset with
+ only one part are needed)
+ """
+ )
+ parser.add_argument('-w', '--web', type=str, default=None,
+ help='The URL page where XNAT is.')
+ parser.add_argument('-u', '--user', type=str, default=None,
+ help="""The username to login in XNAT
+ If not write a username, It logins
+ as guest.""")
+ parser.add_argument('-i ', '--input', type=str,
+ help="""the directory where the files will
+ be downloaded.""")
+ # parser.add_argument('-o ', '--output', type=str,
+ # help='Directory where the MIDS model is applied.')
+ # parser.add_argument('-p ', '--projects', nargs='*', default=None, type=str,
+ # help="""The project name to download, if the project is
+ # omitted,the aplication show all projects in xnat
+ # to choice.""")
+ parser.add_argument('-v ', '--verbose', default=False, action='store_true',
+ help="""Active Verbose""")
+ parser.add_argument('-bp', '--body-part', dest="body_part", type=str,
+ help="""Specify which part of the body are
+ in the dataset(REQUIRED if tag body part not exist in dicom images)""")
+ parser.add_argument('--overwrite', default=False, action='store_true',
+ help=""" Overwrite download files""")
+ # parser.add_argument('-t', '--types', type=str, default="nr", nargs=1,
+ # help="""Download types of MRI images
+ # included in xnat
+ # - s = snapshoot
+ # - d = dicom + dicom metadata in folder NIFTI
+ # - n = nifti or png if image is one slide (2D)
+ # - r = Structural report
+ # - m = Roi segmentation (Mask)
+ # default = nr""")
+ # save the arguments in varaibles
+ args = parser.parse_args()
+ print(reset_terminal, end="", flush=True)
+ print(args)
+ page = args.web
+ user = args.user
+ xnat_data_path = Path(args.input)
+ mids_data_path = Path(args.input)
+ #project_list = args.projects
+ verbose = args.verbose
+ body_part = args.body_part
+ #types = args.types[0]
+ overwrite = args.overwrite
+
+ # Comprobation if Xnat dowload can be execute
+ if xnat_data_path and page:
+ xnat_data_path.mkdir(exist_ok=True)
+ with XnatSession(page, user) as xnat_session:
+ xnat_session.download_projects(
+ xnat_data_path,
+ with_department=True,
+ bool_list_resources=[True for char in types_files_xnat],
+ overwrite=overwrite,
+ verbose=verbose
+ )
+ # conditions to move xnat project to MIDS project
+ if xnat_data_path and mids_data_path:
+ # if project_list is None, the projects in the folder xnat must be
+ # chosen
+
+ project_paths = [dirs for dirs in xnat_data_path.iterdir()]
+ project_names = [path_.name for path_ in project_paths]
+ project_list = list_directory_xnat(project_names)
+ mids_data_path.mkdir(exist_ok=True)
+ # for each project choice
+ for xnat_project in project_list:
+ xnat_data_path = xnat_data_path.joinpath(xnat_project,"sourcedata")
+ if not xnat_data_path.exists():
+ raise FileNotFoundError(f'No folder exists at the location specified in {xnat_data_path}')
+ mids_data_path = mids_data_path.joinpath(xnat_project)
+ print(f"{xnat_data_path}")
+ print(f"{mids_data_path}")
+
+ print("MIDS are generating...")
+ create_directory_mids_v1(
+ xnat_data_path,
+ mids_data_path,
+ body_part
+ )
+
+ print("participats tsv are generating...")
+ create_tsvs(xnat_data_path, mids_data_path, body_part)
+
+ # print("scan tsv are generating...")
+ # MIDS_funtions.create_scans_tsv(
+ # os.path.join(mids_data_path, xnat_project)
+ # )
+ #
+ # print("sessions tsv are generating...")
+ # MIDS_funtions.create_sessions_tsv(
+ # os.path.join(xnat_data_path, xnat_project),
+ # mids_data_path
+ # )
+
+if __name__ == "__main__":
+ main()
diff --git a/xnat2mids/conversion/dcm2niix.sh b/xnat2mids/conversion/dcm2niix.sh
new file mode 100644
index 0000000..65eb7aa
--- /dev/null
+++ b/xnat2mids/conversion/dcm2niix.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+#-i y -m y -ba n -f %j_%p -z y
+dcm2niix $3 -o $1 $2
diff --git a/xnat2mids/conversion/dicom_converters.py b/xnat2mids/conversion/dicom_converters.py
new file mode 100644
index 0000000..92c019f
--- /dev/null
+++ b/xnat2mids/conversion/dicom_converters.py
@@ -0,0 +1,87 @@
+import subprocess
+import SimpleITK as sitk
+import pydicom
+import json
+import os
+import pydicom
+import nibabel as nib
+from nibabel.nicom.dicomreaders import read_mosaic_dir
+# def sitk_dicom2mifti(dicom_path):
+# reader = sitk.ImageSeriesReader()
+# dicom_names = reader.GetGDCMSeriesFileNames(dicom_path.parent)
+# reader.SetFileNames(dicom_names)
+# image = reader.Execute()
+#
+# # Added a call to PermuteAxes to change the axes of the data
+# image = sitk.PermuteAxes(image, [2, 1, 0])
+#
+# sitk.WriteImage(image, 'nifti.nii.gz')
+#
+# def dicom2nii(dicom_path):
+# #settings.disable_validate_slice_increment()
+# print(dicom_path.parent)
+# nifti_path = dicom_path.parent.parent.parent.joinpath("LOCAL_NIFTI", "files")
+# nifti_path.mkdir(parents=True, exist_ok=True)
+# #dicom2nifti.convert_directory(dicom_path.parent, nifti_path, compression=True, reorient_nifti=True)
+# array_nifty = dicom2nifti.convert_dicom.dicom_series_to_nifti(str(dicom_path.parent),str(nifti_path), reorient_nifti=True)
+# #save_dicom_metadata(
+# # dicom_path, nifti_path.parent.joinpath(nifti_path.name.split(".")[0] + ".json")
+# #)
+# return array_nifty
+
+
+def dicom2niix(folder_json, str_options):
+ folder_nifti = folder_json.parent.parent.joinpath("LOCAL_NIFTI", "files")
+ folder_nifti.mkdir(parents=True, exist_ok=True)
+ print(f"dcm2niix {str_options} -g y -b y -o {folder_nifti} {folder_json}")
+ subprocess.call(
+ f"dcm2niix {str_options} -g y -b y -o {folder_nifti} {folder_json}",
+ shell=True,
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.STDOUT
+ )
+ if len(list(folder_nifti.iterdir())) == 0:
+ # folder_nifti.parent.unlink(missing_ok=True)
+ return folder_nifti
+
+ add_dicom_metadata(folder_json, folder_nifti)
+ return folder_nifti
+
+
+def dicom2png(folder_json, str_options):
+
+ dcm_files = list(folder_json.rglob("*dcm"))
+ for dcm_file in dcm_files:
+ folder_png = folder_json.parent.parent.joinpath("LOCAL_PNG", "files", dcm_file.stem+".png")
+ folder_png.parent.mkdir(parents=True, exist_ok=True)
+ sitk_img = sitk.ReadImage(dcm_file)
+ sitk.WriteImage(sitk_img, folder_png)
+ subprocess.call(
+ f"dcm2niix {str_options} -g y -b o -o {folder_png.parent} {dcm_files[0].parent}",
+ shell=True,
+ stdout=subprocess.DEVNULL,
+ stderr=subprocess.STDOUT
+ )
+ add_dicom_metadata(dcm_files[0].parent, folder_png.parent)
+ return folder_png.parent
+
+
+def add_dicom_metadata(
+ folder_json, folder_nifti, list_tags = [(0x0008,0x1030), (0x0008,0x0060), (0x0020,0x0020), (0x0020,0x0060), (0x0020,0x1002), (0x0028,0x0002), (0x0028,0x0004), (0x0028, 0x0010), (0x0028, 0x0011), (0x0028, 0x1050), (0x0028, 0x1051), (0x0018,0x5100), (0x0018,0x1040), (0x0018,0x0091), (0x0018,0x0025),(0x0018,0x1060),(0x0018,0x1315),(0x0028,0x0004) ]
+):
+ json_filepath = list(folder_nifti.glob("*.json"))[0]
+ with json_filepath.open("r") as file_json:
+ dict_json = json.loads(file_json.read())
+ dicom_dir = pydicom.filereader.dcmread(str(list(folder_json.glob("*.dcm"))[0]), stop_before_pixels=True)
+ extract_values = {
+ dicom_dir.get(key).name.replace(" ", ""):(
+ str(dicom_dir.get(key).value) if not dicom_dir.get(key).is_empty else "NaN"
+ )
+ for key in list_tags if dicom_dir.get(key)
+ }
+ actualized_dict_json = dict(dict_json, **extract_values)
+ string_json = json.dumps(actualized_dict_json, default=lambda o: o.__dict__,
+ sort_keys=True)
+ with json_filepath.open('w') as dicom_file:
+ dicom_file.write(string_json)
+
diff --git a/xnat2mids/conversion/io_json.py b/xnat2mids/conversion/io_json.py
new file mode 100644
index 0000000..f2fff08
--- /dev/null
+++ b/xnat2mids/conversion/io_json.py
@@ -0,0 +1,64 @@
+# -*- coding: utf-8 -*-
+
+###############################################################################
+# Imports
+###############################################################################
+import json
+
+
+###############################################################################
+# Functions
+###############################################################################
+
+"""
+This function allows the user to save one tag dicom in an archive json
+"""
+
+
+def add_tag_dicom(tag, description, value, json_file_path):
+ json_file = load_json(json_file_path)
+ for i in range(len(json_file["ResultSet"]["Result"])):
+ if json_file["ResultSet"]["Result"][i]["tag1"] == tag:
+ json_file["ResultSet"]["Result"][i]["value"] = value
+ break
+ else:
+ json_file["ResultSet"]["Result"].append({"tag1":tag, "tag2":"", "desc":description, "value":value})
+ save_json(json_file, json_file_path)
+
+
+"""
+This function allow the user to obtain one tag dicom from an archive json
+
+
+Return a dict of the tag dicom
+"""
+
+def get_tag_dicom(dict_json, json_file_path):
+ return {tag:dict_json.get(tag, {"Value":["n/a"]}) for tag in tags}
+
+
+
+
+"""
+This function allow the user store one object in an archive json
+"""
+def save_json(subject, path):
+ string_json = json.dumps(subject, default=lambda o: o.__dict__,
+ sort_keys=True)
+ try:
+ f = open(path, "w")
+ except IOError:
+ f = open(path, "a")
+ f.write(string_json)
+ f.close()
+
+
+"""
+This function allow the user obtain one object from an archive json
+
+Return the struct dict json
+"""
+def load_json(path):
+ with path.open('r') as file_:
+ json_ = json.load(file_)
+ return json_
diff --git a/xnat2mids/mids_conversion.py b/xnat2mids/mids_conversion.py
new file mode 100644
index 0000000..a4fa8d7
--- /dev/null
+++ b/xnat2mids/mids_conversion.py
@@ -0,0 +1,235 @@
+import re
+
+from collections import defaultdict
+from datetime import datetime
+
+import pandas
+
+from xnat2mids.conversion.io_json import load_json
+from xnat2mids.procedures.magnetic_resonance_procedures import ProceduresMR
+from xnat2mids.procedures.light_procedures import LightProcedure
+from xnat2mids.protocols.scans_tagger import Tagger
+from xnat2mids.conversion.dicom_converters import dicom2niix
+from xnat2mids.conversion.dicom_converters import dicom2png
+from tqdm import tqdm
+
+
+adquisition_date_pattern = r"(?P\d+)-(?P\d+)-(?P\d+)T(?P\d+):(?P\d+):(?P\d+).(?P\d+)"
+subses_pattern = r"[A-z]+(?P\d*)?(_S)(?P\d+)/[A-z]+\-?[A-z]*(?P\d*)?(_E)(?P\d+)"
+aquisition_date_pattern_comp = re.compile(adquisition_date_pattern)
+dict_keys = {
+ 'Modality': '00080060',
+ 'SeriesDescription': '0008103E',
+ 'ProtocolName': '00181030',
+ 'ComplexImage Component Attribute': '00089208',
+ "ImageType" :'00080008',
+ #"difusion Directionality": ''
+}
+
+dict_mr_keys = {
+ 'Manufacturer': '00080070',
+ 'ScanningSequence': '00180020',
+ 'SequenceVariant': '00180021',
+ 'ScanOptions': '00180022',
+ 'AngioFlag': '00180025',
+ 'MagneticFieldStrength': '00180087',
+ 'RepetitionTime': '00180080',
+ 'InversionTime': '00180082',
+ 'FlipAngle': '00181314',
+ 'EchoTime': '00180081',
+ 'SliceThickness': '00180050',
+}
+
+BIOFACE_PROTOCOL_NAMES = [
+ '3D-T2-FLAIR SAG',
+ '3D-T2-FLAIR SAG NUEVO-1',
+ 'AAhead_scout',
+ 'ADVANCED_ASL',
+ 'AXIAL T2 TSE FS',
+ 'AX_T2_STAR',
+ 'DTIep2d_diff_mddw_48dir_p3_AP', #
+ 'DTIep2d_diff_mddw_4b0_PA', #
+ 'EPAD-3D-SWI',
+ 'EPAD-B0-RevPE', # PA
+ 'EPAD-SE-fMRI',
+ 'EPAD-SE-fMRI-RevPE',
+ 'EPAD-SingleShell-DTI48', # AP
+ 'EPAD-rsfMRI (Eyes Open)',
+ 'MPRAGE_GRAPPA2', # T1 mprage
+ 'asl_3d_tra_iso_3.0_highres',
+ 'pd+t2_tse_tra_p2_3mm',
+ 't1_mprage_sag_p2_iso', # t1
+ 't2_space_dark-fluid_sag_p2_iso', # flair
+ 't2_swi_tra_p2_384_2mm'
+]
+
+BIOFACE_PROTOCOL_NAMES_DESCARTED = [
+ #'DTIep2d_diff_mddw_48dir_p3_AP',
+ #'DTIep2d_diff_mddw_4b0_PA',
+ 'EPAD-B0-RevPE',
+ 'EPAD-SingleShell-DTI48',
+ 'EPAD-3D-SWI',
+ 'EPAD-SE-fMRI',
+ 'EPAD-rsfMRI (Eyes Open)',
+ 'EPAD-SE-fMRI-RevPE',
+ 'AAhead_scout',
+ 'ADVANCED_ASL',
+ 'MPRAGE_GRAPPA2',
+ '3D-T2-FLAIR SAG',
+ '3D-T2-FLAIR SAG NUEVO-1'
+
+]
+LUMBAR_PROTOCOLS_ACEPTED = {
+ 't2_tse_sag_384': 556,
+ 't2_tse_tra_384': 534,
+ 't1_tse_sag_320': 523,
+ 't1_tse_tra': 518,
+}
+
+options_dcm2niix = "-w 0 -i n -m y -ba n -f %x_%s -z y"
+
+def create_directory_mids_v1(xnat_data_path, mids_data_path, body_part):
+ print(xnat_data_path)
+ print(mids_data_path)
+ procedure_class_mr = ProceduresMR()
+ procedure_class_light = LightProcedure()
+ for subject_xnat_path in tqdm(xnat_data_path.glob('*/')):
+ if "_S" not in subject_xnat_path.name:continue
+ num_sessions = len(list(subject_xnat_path.glob('*/')))
+ procedure_class_mr.reset_indexes()
+ procedure_class_light.reset_indexes()
+ for sessions_xnat_path in subject_xnat_path.glob('*/'):
+ if "_E" not in sessions_xnat_path.name: continue
+
+
+
+ findings = re.search(subses_pattern, str(sessions_xnat_path), re.X)
+ #print('subject,', findings.group('prefix_sub'), findings.group('suffix_sub'))
+ #print('session,', findings.group('prefix_ses'), findings.group('suffix_ses'))
+ subject_name = f"sub-{findings.group('prefix_sub')}S{findings.group('suffix_sub')}"
+ session_name = f"ses-{findings.group('prefix_ses')}S{findings.group('suffix_ses')}"
+
+ mids_session_path = mids_data_path.joinpath(subject_name, session_name)
+ xml_session_rois = list(sessions_xnat_path.rglob('*.xml'))
+ #print(f"1: {mids_session_path=}")
+ tagger = Tagger()
+ tagger.load_table_protocol(
+ './xnat2mids/protocols/protocol_RM_brain.tsv'
+ )
+ if not sessions_xnat_path.joinpath("scans").exists(): continue
+ for scans_path in sessions_xnat_path.joinpath("scans").iterdir():
+ #if "LOCAL_" not in str(scans_path):
+
+ num_jsons = len(list(scans_path.joinpath("resources").rglob("*.dcm"))) #
+
+
+ if num_jsons ==0:
+ continue
+ if num_jsons>0:
+ path_dicoms= list(scans_path.joinpath("resources").rglob("*.dcm"))[0].parent
+ folder_conversion = dicom2niix(path_dicoms, options_dcm2niix) #.joinpath("resources")
+ else:
+ continue
+ # path_dicoms= list(scans_path.joinpath("resources").rglob("*.dcm"))[0].parent
+ # folder_conversion = dicom2png(path_dicoms, options_dcm2niix) #.joinpath("resources")
+
+ print("---------", len(list(folder_conversion.iterdir())))
+ if len(list(folder_conversion.iterdir())) == 0: continue
+
+ dict_json = load_json(folder_conversion.joinpath(list(folder_conversion.glob("*.json"))[0]))
+
+
+ modality = dict_json.get("Modality", "n/a")
+ study_description = dict_json.get("SeriesDescription", "n/a")
+ Protocol_name = dict_json.get("ProtocolName", "n/a")
+ image_type = dict_json.get("ImageType", "n/a")
+ acquisition_date_time = dict_json.get("AcquisitionDateTime", "")
+ body_part = dict_json.get("BodyPartExamined", body_part)
+ acquisition_date_time_check = aquisition_date_pattern_comp.search(acquisition_date_time)
+ time_values = list(int (x) for x in acquisition_date_time_check.groups())
+ acquisition_date_time_correct = f"\
+{time_values[0]:04d}-\
+{time_values[1]:02d}-\
+{time_values[2]:02d}T\
+{time_values[3]:02d}:\
+{time_values[4]:02d}:\
+{time_values[5]:02d}.\
+{time_values[6]:06d}\
+"
+ # print()
+ # print(modality, study_description, ProtocolName, image_type)
+ print(f"{study_description=}")
+ print(f"{Protocol_name=}")
+ if modality == "MR":
+ # via BIDS protocols
+ #if study_description in LUMBAR_PROTOCOLS_ACEPTED:
+
+
+ json_adquisitions = {
+ f'{k}': dict_json.get(k, -1) for k in dict_mr_keys.keys()
+ }
+
+ protocol, acq, task, ce, rec, dir_, part, folder_BIDS = tagger.classification_by_min_max(json_adquisitions)
+ print(protocol, acq, task, ce, rec, dir_, part, folder_BIDS)
+ continue
+ procedure_class_mr.control_sequences(
+ folder_conversion, mids_session_path, session_name, protocol, acq, dir_, folder_BIDS, body_part
+ )
+
+ if modality == "OP":
+ laterality = dict_json.get("Laterality")
+ acq = "" if "ORIGINAL" in image_type else "opacitysubstract"
+ # print(laterality, acq)
+ procedure_class_light.control_image(folder_conversion, mids_session_path.joinpath("mim-light"), session_name, "op", acq, laterality, acquisition_date_time_correct)
+ procedure_class_mr.copy_sessions(subject_name)
+ procedure_class_light.copy_sessions(subject_name)
+
+
+participants_header = ['participant', 'modalities', 'body_parts', 'patient_birthday', 'age', 'gender']
+participants_keys = ['Modality', 'BodyPartExamined', 'PatientBirthDate', 'PatientSex', 'AcquisitionDateTime']
+session_header = ['session', 'acquisition_date_Time',]
+def create_tsvs(xnat_data_path, mids_data_path, body_part_aux):
+ """
+ This function allows the user to create a table in format ".tsv"
+ whit a information of subject
+ """
+
+ list_information= []
+ for subject_path in mids_data_path.glob('*/'):
+ if not subject_path.match("sub-*"): continue
+ subject = subject_path.parts[-1]
+ for session_path in subject_path.glob('*/'):
+ if not session_path.match("ses-*"): continue
+ session = session_path.parts[-1]
+ modalities = []
+ body_parts = []
+ patient_birthday = None
+ patient_ages = list([])
+ patient_sex = None
+ adquisition_date_time = None
+ for json_pathfile in subject_path.glob('**/*.json'):
+ json_file = load_json(json_pathfile)
+ print(json_file)
+ modalities.append(json_file[participants_keys[0]])
+ try:
+ body_parts.append(json_file[participants_keys[1]].lower())
+ except KeyError as e:
+ body_parts.append(body_part_aux.lower())
+ patient_birthday = datetime.fromisoformat(json_file[participants_keys[2]])
+ patient_sex = json_file[participants_keys[3]]
+ adquisition_date_time = datetime.fromisoformat(json_file[participants_keys[4]].split('T')[0])
+ patient_ages.append(int((adquisition_date_time - patient_birthday).days / (365.25)))
+ patient_ages = sorted(list(set(patient_ages)))
+ modalities = sorted(list(set(modalities)))
+ body_parts = sorted(list(set(body_parts)))
+ list_information.append({
+ key:value
+ for key, value in zip(
+ participants_header,
+ [subject, modalities, body_parts, str(patient_birthday.date()), patient_ages, patient_sex]
+ )
+ })
+ print(list_information)
+ pandas.DataFrame.from_dict(list_information).to_csv(
+ mids_data_path.joinpath("participants.tsv"), sep="\t", index=False
+ )
diff --git a/xnat2mids/procedures/__init__.py b/xnat2mids/procedures/__init__.py
new file mode 100644
index 0000000..e115fe8
--- /dev/null
+++ b/xnat2mids/procedures/__init__.py
@@ -0,0 +1,40 @@
+
+from abc import ABC, abstractmethod
+
+
+class Procedures(ABC):
+ def __int__(self):
+ self.view_positions_2d = ['pa', 'll', 'lateral', 'ap', None]
+ self.view_positions_3d = ['ax', 'sag', 'cor', None]
+
+ @abstractmethod
+ def reset_indexes(self):
+ pass
+
+ @staticmethod
+ def get_mids_path(mids_path, department_id, subject_id, session_id):
+ return mids_path.pathjoin(department_id, subject_id, session_id)
+
+ @staticmethod
+ def get_name(
+ subject_id,
+ session_id,
+ acq_index,
+ run_index,
+ len_nifti_files,
+ body_part,
+ view_position,
+ scan,
+ ext
+ ):
+ return "".join([
+ subject_id,
+ (("_" + session_id) if session_id else ""),
+ ("_acq-" + str(acq_index) if len_nifti_files > 1 else ""),
+ "_run-" + run_index,
+ (("_bp-" + body_part) if body_part != "head" else "")
+ (("_vp-" + view_position) if view_position and body_part != "head" else ""),
+ "_",
+ scan,
+ ext
+ ])
diff --git a/xnat2mids/procedures/electrical_activity_procedures.py b/xnat2mids/procedures/electrical_activity_procedures.py
new file mode 100644
index 0000000..e69de29
diff --git a/xnat2mids/procedures/general_radiology_procedure.py b/xnat2mids/procedures/general_radiology_procedure.py
new file mode 100644
index 0000000..b08a9f5
--- /dev/null
+++ b/xnat2mids/procedures/general_radiology_procedure.py
@@ -0,0 +1,71 @@
+from shutil import copyfile
+from pathlib import Path
+from xnat2mids.procedures import Procedures
+
+
+class GeneralRadiologyProcedures(Procedures):
+ def __init__(self):
+ self.view_positions_2d = ['pa', 'll', 'lateral', 'ap', None]
+ self.view_positions_3d = ['ax', 'sag', 'cor', None]
+ self.reset_indexes()
+
+ def reset_indexes(self):
+ self.dict_indexes = {
+ "cr": {k: 1 for k in self.view_positions_2d},
+ "dx": {k: 1 for k in self.view_positions_2d},
+ "ct": {k: 1 for k in self.view_positions_3d},
+ # not defined yet
+ "bmd": {None: 1},
+ "xa": {None: 1},
+ "io": {None: 1},
+ "mg": {None: 1},
+ "vf": {None: 1},
+ "rf": {None: 1},
+ "rtimage": {None: 1},
+ "rtplan": {None: 1},
+ "rtrecord": {None: 1},
+ "rtdose": {None: 1},
+ "df": {None: 1},
+ "rg": {None: 1},
+ "ds": {None: 1},
+ }
+
+ def procedure(
+ self, department_id, subject_id, session_id, body_part,
+ view_position, dicom_modality):
+ """
+ Function that copies the elements to the CR images of
+ the mids.
+ """
+ nifti_files = sorted([str(i) for i in Path('/'.join(str(json_path).split('/')[:-4])).glob("**/*.png")])
+ len_nifti_files = len(nifti_files)
+ new_path_mids = self.get_mids_path(mids_path=department_id)
+
+ os.makedirs(new_path_mids)
+ for num, nifti_file in enumerate(nifti_files):
+ nii_name =self.get_name(
+ subject_id=subject_id,
+ session_id=session_id,
+ acq_index=acq_index,
+ run_index=str(self.dict_indexes[scan][view_position]),
+ len_nifti_files=len_nifti_files,
+ body_part=body_part,
+ view_position=view_position,
+ scan=dicom_modality,
+ ext=".nii.gz" if dicom_modality=="cr" else ".png"
+ )
+ # copy the nifti file in the new path
+ copyfile(nifti_file, str(new_path_mids.joinpath(nii_name))
+
+ json_name = self.get_name(
+ subject_id=subject_id,
+ session_id=session_id,
+ acq_index=acq_index,
+ run_index=str(self.dict_indexes[scan][iop]),
+ len_nifti_files=len_nifti_files,
+ body_part=body_part,
+ view_position=view_position,
+ scan="cr",
+ ext=".json"
+ )
+ copyfile(str(dicom_json), str(new_path_mids.joinpath(json_name)))
\ No newline at end of file
diff --git a/xnat2mids/procedures/light_procedures.py b/xnat2mids/procedures/light_procedures.py
new file mode 100644
index 0000000..86486fb
--- /dev/null
+++ b/xnat2mids/procedures/light_procedures.py
@@ -0,0 +1,79 @@
+import pandas
+import numpy
+import json
+import shutil
+from datetime import datetime
+from xnat2mids.procedures import Procedures
+class LightProcedure(Procedures):
+ def __init__(self):
+ self.reset_indexes()
+
+ def reset_indexes(self):
+ self.run_dict = {}
+
+ def control_image(self, folder_conversion, mids_session_path, session_name, protocol, rec, laterality, acquisition_date_time):
+ png_files = sorted([i for i in folder_conversion.glob("*.png")])
+ nifti_files = sorted([i for i in folder_conversion.glob("*.nii*")])
+
+ len_files = len(png_files) + len(nifti_files)
+ if not len_files: return
+
+ key = json.dumps([session_name, rec, laterality, protocol])
+ value = self.run_dict.get(key, [])
+ value.append({
+ "run":[*png_files, *nifti_files],
+ "adquisition_time":datetime.fromisoformat(acquisition_date_time),
+ "folder_mids": mids_session_path})
+ self.run_dict[key]=value
+
+
+ def copy_sessions(self, subject_name):
+ for key, runs_list in self.run_dict.items():
+ df_aux = pandas.DataFrame.from_dict(runs_list)
+ df_aux.sort_values(by="adquisition_time", inplace = True)
+ df_aux.index = numpy.arange(1, len(df_aux) + 1)
+ print(len(df_aux))
+ activate_run = True if len(df_aux) > 1 else False
+ print(f"{activate_run=}")
+ for index, row in df_aux.iterrows():
+ activate_acq_partioned = True if len(row['run']) > 1 else False
+ for acq, file_ in enumerate(sorted(row['run'])):
+
+ dest_file_name = self.calculate_name(
+ subject_name=subject_name,
+ key=key,
+ num_run=index,
+ num_part=acq,
+ activate_run=activate_run,
+ activate_acq_partioned=activate_acq_partioned
+ )
+ print("origen:", file_)
+ print("destino:", row["folder_mids"].joinpath(str(dest_file_name) + "".join(file_.suffix)))
+
+ row["folder_mids"].mkdir(parents=True, exist_ok=True)
+ shutil.copyfile(file_, row["folder_mids"].joinpath(str(dest_file_name) + "".join(file_.suffix)))
+ other_files = [f for f in file_.parent.iterdir() if file_.suffix not in str(f) and not f.is_dir()]
+ for other_file in other_files:
+ print("origen:", other_file)
+ print("destino:", row["folder_mids"].joinpath(str(dest_file_name) + "".join(other_file.suffixes)))
+ shutil.copyfile(str(other_file), row["folder_mids"].joinpath(str(dest_file_name) + "".join(other_file.suffixes)))
+
+ def calculate_name(self, subject_name, key, num_run, num_part, activate_run, activate_acq_partioned):
+ key_list = json.loads(key)
+ # print(num_part, activate_acq_partioned)
+ rec = f"{key_list[1] if key_list[1] else ''}"
+ chunk = f"{num_part if activate_acq_partioned else ''}"
+ run = f"{num_run if activate_run else ''}"
+ print(f"{run=}")
+ # print(f"{key=}")
+ return "_".join([
+ part for part in [
+ subject_name,
+ key_list[0],
+ f"acq-{key_list[2]}",
+ f"rec-{rec}",
+ f'run-{run}',
+ (f'chunk-{chunk}') if activate_acq_partioned else '',
+ key_list[3]
+ ] if part.split('-')[-1] != ''
+ ])
diff --git a/xnat2mids/procedures/magnetic_resonance_procedures.py b/xnat2mids/procedures/magnetic_resonance_procedures.py
new file mode 100644
index 0000000..de9d360
--- /dev/null
+++ b/xnat2mids/procedures/magnetic_resonance_procedures.py
@@ -0,0 +1,120 @@
+import shutil
+from shutil import copyfile
+
+import nibabel as nib
+from xnat2mids.conversion.dicom_converters import dicom2niix
+
+body_part_bids = ['head','brain']
+
+class ProceduresMR:
+ def __init__(self):
+ self.reset_indexes()
+
+ def reset_indexes(self):
+ """Reset all values in dictionary of the atribute "dict_indexes"."""
+
+ self.run_dict = {}
+
+
+ def control_sequences(
+ self, folder_nifti, mids_session_path, session_name, protocol, acq, dir_, folder_BIDS, body_part
+ ):
+
+ folder_image_mids = mids_session_path.joinpath(
+ "" if body_part.lower() in body_part_bids else "mim-mr",
+ folder_BIDS
+ )
+ print(f'{folder_image_mids=}')
+ folder_image_mids.mkdir(parents=True, exist_ok=True)
+
+
+
+ self.control_image(folder_nifti, folder_image_mids, session_name, protocol, acq, dir_, body_part)
+
+ def control_image(self, nifti_path, folder_image_mids, session_name, protocol, acq, dir_, body_part):
+
+ """
+
+ """
+
+
+ # Search all nifti files in the old folder and sort them
+ nifti_files = sorted([i for i in nifti_path.glob("*.nii.gz")])
+
+ len_nifti_files = len(nifti_files)
+ if len_nifti_files == 0: return
+
+ # This is a counter for several nifties in one adquisition
+
+ protocol_label = f'{protocol}'
+ acq_label = f'{acq}' if acq else ''
+ bp_label = f"{body_part}"
+ vp_label = [
+ (
+ f"{self.get_plane_nib(nifti_file)}"
+ if body_part.lower() in body_part_bids
+ else f"{self.get_plane_nib(nifti_file)}"
+ )
+ for nifti_file in nifti_files
+ ]
+ key = str([session_name, acq_label, dir_, bp_label, vp_label, protocol_label])
+ value = self.run_dict.get(key, {"runs":[], "folder_mids": None})
+ value['runs'].append(nifti_files)
+ value['folder_mids'] = folder_image_mids
+ self.run_dict[key] = value
+
+ def copy_sessions(self, subject_name):
+ for key_str, runs in self.run_dict.items():
+ keys = eval(key_str)
+ print("-"*79)
+ print(keys, runs)
+ print("-" * 79)
+
+ activate_run = True if len(runs["runs"]) > 1 else False
+ for num_run, run in enumerate(runs["runs"],1):
+
+ activate_nifti_parted = True if len(run) > 1 else False
+ for num_part, partition in enumerate(run,1):
+
+ dest_file_name = self.calculate_name(
+ subject_name, keys, num_run, num_part, activate_run, activate_nifti_parted
+ )
+
+ print("origen:", partition)
+ print("destino:", runs["folder_mids"].joinpath(str(dest_file_name) + "".join(partition.suffixes)))
+ shutil.copyfile(partition, runs["folder_mids"].joinpath(str(dest_file_name) + "".join(partition.suffixes)))
+ other_files = [f for f in partition.parent.iterdir() if "".join(partition.suffixes) not in str(f)]
+ for other_file in other_files:
+ print("origen:", other_file)
+ print("destino:", runs["folder_mids"].joinpath(str(dest_file_name) + "".join(other_file.suffixes)))
+ shutil.copyfile(str(other_file), runs["folder_mids"].joinpath(str(dest_file_name) + "".join(other_file.suffixes)))
+
+ def get_plane_nib(self, nifti):
+ """
+ Calculate the type of plane with the tag image orientation patient
+ in dicom metadata.
+ """
+
+ img = nib.load(nifti)
+ plane = nib.aff2axcodes(img.affine)[2]
+ return "ax" if plane in ["S", "I"] else "sag" if plane in ["R", "L"] else "cor"
+
+ def calculate_name(self, subject_name, keys, num_run, num_part, activate_run, activate_acq_partioned):
+ print(num_part, activate_acq_partioned)
+ acq = f"{keys[1] if keys[1] else ''}"
+ chunk = f"{num_part if activate_acq_partioned else ''}"
+ print(f"{keys=}")
+ return "_".join([
+ part for part in [
+ subject_name,
+ keys[0],
+ f'acq-{acq}' if acq else '',
+ f'dir-{keys[2]}' if keys[2] else '',
+ f'run-{num_run}' if activate_run else '',
+ (f'chunk-{chunk}') if activate_acq_partioned else '',
+ '' if keys[3].lower() in body_part_bids else f'bp-{keys[3]}',
+ f'desc-{keys[4][num_part-1]}' if keys[3].lower() in body_part_bids else f'vp-{keys[4][num_part-1]}',
+ keys[5]
+ ] if part != ''
+ ])
+
diff --git a/xnat2mids/procedures/nuclear_medicine_procedures.py b/xnat2mids/procedures/nuclear_medicine_procedures.py
new file mode 100644
index 0000000..bbc03aa
--- /dev/null
+++ b/xnat2mids/procedures/nuclear_medicine_procedures.py
@@ -0,0 +1 @@
+magnetic_resonance_procedures.py
\ No newline at end of file
diff --git a/xnat2mids/procedures/ultrasound_procedures.py b/xnat2mids/procedures/ultrasound_procedures.py
new file mode 100644
index 0000000..bbc03aa
--- /dev/null
+++ b/xnat2mids/procedures/ultrasound_procedures.py
@@ -0,0 +1 @@
+magnetic_resonance_procedures.py
\ No newline at end of file
diff --git a/xnat2mids/protocols/protocol_RM_brain.tsv b/xnat2mids/protocols/protocol_RM_brain.tsv
new file mode 100644
index 0000000..70f6ec4
--- /dev/null
+++ b/xnat2mids/protocols/protocol_RM_brain.tsv
@@ -0,0 +1,35 @@
+ Protocol acq task rec ce dir part folder Manufacturer ManufacturersModelName ScanningSequence SequenceVariant ScanOptions SequenceName ImageType AngioFlag MagneticFieldStrength RepetitionTime InversionTime FlipAngle EchoTime NumberOfAverages RawImage DerivedVendorReportedEchoSpacing EffectiveEchoSpacing TotalReadoutTime
+1 FLAIR anat "[""Siemens""]" MAGNETOM Vida "[""SE"", ""SE\\IR""]" "[""SP\\SK"", ""SK\\SP\\MP""]" "[""PFP\\PFF\\CG\\RG\\FS\\PER"", ""PFP\\PFF\\FS\\PER"", ""PFP\\CG\\RG\\FS\\PER""]" [“*spcir_284ns”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [5.0] [1.8, 1.65] [120.0] [0.393] [-1] [-1] [-1] [-1]
+2 T2w swi mag anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM"", ""FIL"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""T2"", ""STAR"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""SWI"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""SWI"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""SWI"", ""NONE""]]" N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+3 T2w swi phase anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] "[[""ORIGINAL"", ""PRIMARY"", ""P"", ""DIS2D"", ""MFSPLIT"", ""PHASE""], [""ORIGINAL"", ""PRIMARY"", ""T2"", ""STAR"", ""NONE"", ""PHASE""]]" N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+4 T2w anat "[""Siemens""]" MAGNETOM Vida "[""SE""]" "[""SP\\SK""]" "[""CG\\RG\\FS\\PER""]" [“*qtse2d1_15”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [4.0] [-1] [150.0] [0.078] [-1] [-1] [-1] [-1]
+5 T1w mprage anat "[""Siemens""]" MAGNETOM Vida "[""GR"", ""RM"", ""GR\\IR""]" "[""SK"", ""MTC\\SS\\OSP"", ""SK\\SP\\MP""]" "[""PFP\\CG\\RG\\PER"", ""PFP\\PER"", ""CG\\RG\\FS\\PER"", ""PFP\\CG\\RG\\FS\\PER"", ""PFP\\RG\\FS"", ""CG\\RG\\PER""]" [“*tfl3d1_16ns”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [2,2, 2,3] [0.968, 0.900] [8.0, 9.0] [0.00223, 0.00293] [-1] [-1] [-1] [-1]
+6 PDT2 anat "[""Siemens""]" MAGNETOM Vida "[""SE""]" "[""SP\\SK"", ""SK\\SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*tse2d2_5”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [0.0175, 0.01875, 0.0225, 4.78] [-1] [146.0, 142.0, 145.0, 131.0, 137.0, 138.0, 124.0, 135.0, 141.0, 143.0] [0.009] [-1] [-1] [-1] [-1]
+7 T1w ahead anat "[""Siemens""]" MAGNETOM Vida "[""GR"", ""EP""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" [“*fl3d1_ns”] [[“ORIGINAL”, “PRIMARY”, “M”, “NORM”, “DIS3D”, “DIS2D”, “MFSPLIT”], [“ORIGINAL”, “PRIMARY”, “M”, “NONE”], [“DERIVED”, “PRIMARY”, “MPR”, “NORM”, “DIS3D”, “DIS2D”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “MPR”, “RESAMPLED”]] N [3.0] [0.00315] [8.0] [8.0] [0.00137] [-1] [-1] [-1] [-1]
+8 asl perf "[""Siemens""]" MAGNETOM Vida "[""GR"", ""EP""]" "[""SK"", ""SK\\OSP""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" [“*tgse3d1_10080”, “*tgse3d1_15120”, “*tgse3d1_3968”] "[[""ORIGINAL"", ""PRIMARY"", ""ASL"", ""NONE"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""ASL"", ""NONE""]]" N [3.0] [16.0, 36.8, 55.2, 4.6] [-1] [180.0, 160.0] [0.017,0.0219] [-1] [-1] [-1] [-1]
+9 dwi AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0”] "[[""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE"", ""ND"", ""NORM"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE""]]" N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+10 dwi b0 PA dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0”] "[[""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE"", ""ND"", ""NORM"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE""]]" N [3.0] [8.9] [-1] [90.0] [0.078] [2] FALSE [0.00072] [0.00024] [0.02664]
+11 dwi tracew AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b1000t”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TRACEW”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TRACEW”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+12 dwi FA AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+13 dwi tensorb0 AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TENSOR”, “B0”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TENSOR”, “B0”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+14 dwi adc AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “ADC”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “ADC”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+15 T2starw anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK""]" "[""CG\\RG\\PER""]" [“*fl2d1r”] [[“ORIGINAL”, “PRIMARY”, “M”, “NORM”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.64] [-1] [20.0] [0.02] [-1] [-1] [-1] [-1]
+16 T2w swi anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] [[“ORIGINAL”, “PRIMARY”, “M”, “SWI”, “NORM”, “DIS2D”, “MFSPLIT”], [“ORIGINAL”, “PRIMARY”, “SWI”, “NONE”], [“ORIGINAL”, “PRIMARY”, “M”, “SWI”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+17 T2w mIP anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] [[“DERIVED”, “PRIMARY”, “MNIP”, “NORM”, “DIS2D”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “MNIP”, “ND”, “NORM”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “SWI”, “MINIMUM”], [“DERIVED”, “PRIMARY”, “MNIP”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+12 dwi coilFA AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+13 bold rest func "[""Siemens""]" MAGNETOM Vida "[""GR\\EP""]" "[""SK""]" "[""CG\\RG\\FS\\PER""]" [“*epfid2d1_64”] [[“ORIGINAL”, “PRIMARY”, “M”, “ND”, “NORM”, “MFSPLIT”]] [] [4.0] [-1] [80.0] [0.06] [-1] [0.00072] [0.00036] [0.02268]
+14 bold openeyes rest func "[""Siemens""]" MAGNETOM Vida "[""GR\\EP""]" "[""SK""]" "[""CG\\RG\\FS\\PER""]" [“*epfid2d1_64”] [[“ORIGINAL”, “PRIMARY”, “M”, “ND”, “NORM”, “MFSPLIT”]] [] [2.46] [-1] [80.0] [0.03] [-1] [0.00072] [0.00036] [0.02268]
+15 T1w anat "[""Philips""]" [“Ingenia Elition X”, “Achieva”] "[""GR""]" [“MP”] [“FC”] [“”] [[“ORIGINAL”, “PRIMARY”, “M”, “FFE”, “M”, “FFE”], [“ORIGINAL”, “SECONDARY”, “M”, “FFE”, “M”, “FFE”]] N [3.0] [0.0125593, 0.0128999] [-1] [8.0] [0.007056, 0.007216] [-1] FALSE [-1] [-1] [-1]
+16 T1w mprage anat "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""GR\\IR""]" "[""SK\\SP\\MP\\OSP""]" "[""IR""]" "[""*tfl3d1_16ns""]" "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""ND"", ""NORM"", ""FM3"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""MPR"", ""CSA MPR"", ""CSAPARALLEL"", ""M"", ""ND"", ""NORM"", ""FM3"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""CLINAPPS"", ""VV"", ""MPR""], [""DERIVED"", ""SECONDARY"", ""CLINAPPS"", ""OTHER""]]" N [1.5] [2.2, 2.2] [-1] [8.0, 8.0] [0.00266, 0.00266] [-1] [-1] [-1] [-1]
+17 FLAIR anat "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""SE\\IR"", ""GR""]" "[""SK\\SP\\MP\\OSP"", ""SP""]" "[""IR\\PFP\\FS"", “”]" "[""*spcir_242ns"", ""*fl2d1r""]" "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""ND"", ""NORM"", ""FM3"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""CLINAPPS"", ""VV"", ""MPR""], [""DERIVED"", ""SECONDARY"", ""CLINAPPS"", ""OTHER""]]" N [1.5] [0.8, 5.0] [-1] [20.0, 120.0] [0.025, 0.334] [-1] [-1] [-1] [-1]
+18 PDT2 tse anat "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""SE""]" "[""SK\\SP\\OSP""]" [“”] "[""*tse2d2_5""]" "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""ND"", ""NORM"", ""FM3"", ""2"", ""FIL""]]" N [1.5] [0.0175, 0.02625] [-1] [149.0, 150.0] [0.011, 0.011] [-1] [-1] [-1] [-1]
+19 T1w ahead anat "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""GR""]" "[""SP""]" "[""PFP""]" "[""*fl3d1_ns""]" "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""ND"", ""NORM""]]" N [1.5] [0.00452, 0.00452] [-1] [8.0, 8.0] [0.00238, 0.00238] [-1] [-1] [-1] [-1]
+20 dwi AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" [“”] [“”] [“”] [“”] N [] [] [] [] [] [] [] [] []
+21 dwi b0 PA dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" [“”] [“”] [“”] [“”] N [] [] [] [] [] [] [] [] []
+22 dwi tracew AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK\\SP""]" "[""PFP\\FS""]" "[""*ep_b1000t"", ""*ep_b0""]" "[[""DERIVED"", ""PRIMARY"", ""DIFFUSION"", ""TRACEW"", ""ND""]]" N [1.5] [3.2, 18.9006] [90.0, 90.0] [0.089, 0.089] [-1] FALSE [0.000960003, 0.000979931] [0.000480001, 0.000489965] [0.0609602, 0.187657]
+23 dwi FA AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK\\SP""]" "[""PFP\\FS""]" "[""*ep_b0_1000""]" "[[""DERIVED"", ""PRIMARY"", ""DIFFUSION"", ""FA"", ""ND""]]" N [1.5] [] [90.0, 90.0] [0.085, 0.085] [-1] FALSE [0.000960003, 0.000960003] [0.000480001, 0.000480001] [0.0609602, 0.0609602]
+24 dwi tensorb0 AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK\\SP""]" "[""PFP\\FS""]" "[""*ep_calc_b1500""]" "[[""DERIVED"", ""PRIMARY"", ""DIFFUSION"", ""CALC"", ""BVALUE"", ""TRACEW"", ""ND""]]" N [1.5] [6.3, 6.3] [90.0, 90.0] [0.089, 0.089] [-1] FALSE [0.000979931, 0.000979931] [0.000489965, 0.000489965] [0.187657, 0.187657]
+25 dwi adc AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK\\SP""]" "[""PFP\\FS""]" "[""*ep_b0_1000""]" "[[""DERIVED"", ""PRIMARY"", ""DIFFUSION"", ""ADC"", ""ND""]]" N [1.5] [3.2, 6.3] [90.0, 90.0] [0.085, 0.089] [-1] FALSE [0.000960003, 0.000979931] [0.000480001, 0.000489965] [0.0609602, 0.187657]
+26 dwi coilFA AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" [“”] [“”] [“”] [“”] [“”] [“”] [] [] [] [] [] [-1] FALSE [0.000960003, 0.000960003] [0.000480001, 0.000480001] [0.0609602, 0.0609602]
+27 dwi moco AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK""]" "[""PFP\\FS""]" "[""*epfid2d1_64""]" "[[""ORIGINAL"", ""PRIMARY"", ""FMRI"", ""NONE"", ""ND"", ""MOSAIC""]]" N [1.5] [4.0, 4.0] [90.0, 90.0] [0.05, 0.05] [-1] [0.000489996, 0.000489996] [0.000244998, 0.000244998] [0.0154349, 0.0154349]
+28 dwi mddw AP dwi "[""Siemens""]" "[""Aera"", ""IMPAX Volume Viewing 3.0""]" "[""EP""]" "[""SK""]" "[""FS""]" "[""*ep_b0""]" "[[""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE"", ""ND"", ""MOSAIC""]]" N [1.5] [3.2, 3.2] [90.0, 90.0] [0.085, 0.085] [-1] [0.000960003, 0.000960003] [0.000480001, 0.000480001] [0.0609602, 0.0609602]
diff --git a/xnat2mids/protocols/protocol_RM_brain_old.tsv b/xnat2mids/protocols/protocol_RM_brain_old.tsv
new file mode 100644
index 0000000..09ab6e8
--- /dev/null
+++ b/xnat2mids/protocols/protocol_RM_brain_old.tsv
@@ -0,0 +1,10 @@
+ Protocol acq dir folder Manufacturer ScanningSequence SequenceVariant ScanOptions AngioFlag MagneticFieldStrength RepetitionTime InversionTime FlipAngle EchoTime SliceThickness
+1 FLAIR anat [Siemens] [SE, SE\IR] [SP\SK, SK\SP\MP] [PFP\PFF\CG\RG\FS\PER, PFP\PFF\FS\PER, PFP\CG\RG\FS\PER] N [3.0] [5.0] [1.8, 1.65] [120.0] [0.393] [1.0]
+2 T2w swi anat [Siemens] [GR] [SK, SP] [CG\RG\PER, PER] N [3.0] [0.028] [-1] [15.0] [0.02] [2.0]
+3 T2w anat [Siemens] [SE] [SP\SK] [CG\RG\FS\PER] N [3.0] [4.0] [-1] [150.0] [0.078] [3.0]
+4 T1w mprage anat [Siemens] [GR, RM, GR\IR] [SK, MTC\SS\OSP, SK\SP\MP] [PFP\CG\RG\PER, PFP\PER, CG\RG\FS\PER, PFP\CG\RG\FS\PER, PFP\RG\FS, CG\RG\PER] N [3.0] [2,2, 2,3] [0.968, 0.900] [8.0, 9.0] [0.00223, 0.00293] [1.2]
+5 PDT2 anat [Siemens] [SE] [SP\SK, SK\SP] [CG\RG\PER, PER] N [3.0] [0.0175, 0.01875, 0.0225, 4.78] [-1] [146.0, 142.0, 145.0, 131.0, 137.0, 138.0, 124.0, 135.0, 141.0, 143.0] [0.009] [3.0]
+6 T1w ahead anat [Siemens] [GR, EP] [FS\PER, CG\RG\FS\PER] [FS\PER, CG\RG\FS\PER] N [3.0] [0.00315] [8.0] [8.0] [0.00137] [1.6]
+7 asl perf [Siemens] [GR, EP] [SK, SK\OSP] [FS\PER, CG\RG\FS\PER] N [3.0] [16.0, 36.8, 55.2, 4.6] [-1] [180.0, 160.0] [0.017,0.0219] [3.0, 4.5]
+8 dwi AP dwi [Siemens] [GR\EP] [SK] [CG\RG\FS\PER] N [3.0] [8.9] [-1] [90.0] [0.078] [2.0]
+9 dwi PA dwi [Siemens] [GR\EP] [SK] [CG\RG\FS\PER, FS\PER] N [3.0] [8.9] [-1] [90.0] [0.078] [2.0]
diff --git a/xnat2mids/protocols/protocol_RM_brain_old_old.tsv b/xnat2mids/protocols/protocol_RM_brain_old_old.tsv
new file mode 100644
index 0000000..f9df568
--- /dev/null
+++ b/xnat2mids/protocols/protocol_RM_brain_old_old.tsv
@@ -0,0 +1,22 @@
+ Protocol acq task rec ce dir part folder Manufacturer ManufacturersModelName ScanningSequence SequenceVariant ScanOptions SequenceName ImageType AngioFlag MagneticFieldStrength RepetitionTime InversionTime FlipAngle EchoTime NumberOfAverages RawImage DerivedVendorReportedEchoSpacing EffectiveEchoSpacing TotalReadoutTime
+1 FLAIR anat "[""Siemens""]" MAGNETOM Vida "[""SE"", ""SE\\IR""]" "[""SP\\SK"", ""SK\\SP\\MP""]" "[""PFP\\PFF\\CG\\RG\\FS\\PER"", ""PFP\\PFF\\FS\\PER"", ""PFP\\CG\\RG\\FS\\PER""]" [“*spcir_284ns”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [5.0] [1.8, 1.65] [120.0] [0.393] [-1] [-1] [-1] [-1]
+2 T2w swi mag anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM"", ""FIL"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""T2"", ""STAR"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""SWI"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""SWI"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""SWI"", ""NONE""]]" N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+3 T2w swi phase anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] "[[""ORIGINAL"", ""PRIMARY"", ""P"", ""DIS2D"", ""MFSPLIT"", ""PHASE""], [""ORIGINAL"", ""PRIMARY"", ""T2"", ""STAR"", ""NONE"", ""PHASE""]]" N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+4 T2w anat "[""Siemens""]" MAGNETOM Vida "[""SE""]" "[""SP\\SK""]" "[""CG\\RG\\FS\\PER""]" [“*qtse2d1_15”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [4.0] [-1] [150.0] [0.078] [-1] [-1] [-1] [-1]
+5 T1w mprage anat "[""Siemens""]" MAGNETOM Vida "[""GR"", ""RM"", ""GR\\IR""]" "[""SK"", ""MTC\\SS\\OSP"", ""SK\\SP\\MP""]" "[""PFP\\CG\\RG\\PER"", ""PFP\\PER"", ""CG\\RG\\FS\\PER"", ""PFP\\CG\\RG\\FS\\PER"", ""PFP\\RG\\FS"", ""CG\\RG\\PER""]" [“*tfl3d1_16ns”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [2,2, 2,3] [0.968, 0.900] [8.0, 9.0] [0.00223, 0.00293] [-1] [-1] [-1] [-1]
+6 PDT2 anat "[""Siemens""]" MAGNETOM Vida "[""SE""]" "[""SP\\SK"", ""SK\\SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*tse2d2_5”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NONE""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""MFSPLIT""]]" N [3.0] [0.0175, 0.01875, 0.0225, 4.78] [-1] [146.0, 142.0, 145.0, 131.0, 137.0, 138.0, 124.0, 135.0, 141.0, 143.0] [0.009] [-1] [-1] [-1] [-1]
+7 T1w ahead anat "[""Siemens""]" MAGNETOM Vida "[""GR"", ""EP""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" [“*fl3d1_ns”] [[“ORIGINAL”, “PRIMARY”, “M”, “NORM”, “DIS3D”, “DIS2D”, “MFSPLIT”], [“ORIGINAL”, “PRIMARY”, “M”, “NONE”], [“DERIVED”, “PRIMARY”, “MPR”, “NORM”, “DIS3D”, “DIS2D”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “MPR”, “RESAMPLED”]] N [3.0] [0.00315] [8.0] [8.0] [0.00137] [-1] [-1] [-1] [-1]
+8 asl perf "[""Siemens""]" MAGNETOM Vida "[""GR"", ""EP""]" "[""SK"", ""SK\\OSP""]" "[""FS\\PER"", ""CG\\RG\\FS\\PER""]" [“*tgse3d1_10080”, “*tgse3d1_15120”, “*tgse3d1_3968”] "[[""ORIGINAL"", ""PRIMARY"", ""ASL"", ""NONE"", ""NORM"", ""DIS3D"", ""DIS2D"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""ASL"", ""NONE""]]" N [3.0] [16.0, 36.8, 55.2, 4.6] [-1] [180.0, 160.0] [0.017,0.0219] [-1] [-1] [-1] [-1]
+9 dwi AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0”] "[[""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE"", ""ND"", ""NORM"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE""]]" N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+10 dwi b0 PA dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0”] "[[""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE"", ""ND"", ""NORM"", ""MFSPLIT""], [""ORIGINAL"", ""PRIMARY"", ""DIFFUSION"", ""NONE""]]" N [3.0] [8.9] [-1] [90.0] [0.078] [2] FALSE [0.00072] [0.00024] [0.02664]
+11 dwi tracew AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b1000t”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TRACEW”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TRACEW”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+12 dwi FA AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+13 dwi tensorb0 AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TENSOR”, “B0”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “TENSOR”, “B0”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+14 dwi adc AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “ADC”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “ADC”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+15 T2starw anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK""]" "[""CG\\RG\\PER""]" [“*fl2d1r”] [[“ORIGINAL”, “PRIMARY”, “M”, “NORM”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.64] [-1] [20.0] [0.02] [-1] [-1] [-1] [-1]
+16 T2w swi anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] [[“ORIGINAL”, “PRIMARY”, “M”, “SWI”, “NORM”, “DIS2D”, “MFSPLIT”], [“ORIGINAL”, “PRIMARY”, “SWI”, “NONE”], [“ORIGINAL”, “PRIMARY”, “M”, “SWI”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+17 T2w mIP anat "[""Siemens""]" MAGNETOM Vida "[""GR""]" "[""SK"", ""SP""]" "[""CG\\RG\\PER"", ""PER""]" [“*swi3d1r”] [[“DERIVED”, “PRIMARY”, “MNIP”, “NORM”, “DIS2D”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “MNIP”, “ND”, “NORM”, “MFSPLIT”], [“DERIVED”, “PRIMARY”, “SWI”, “MINIMUM”], [“DERIVED”, “PRIMARY”, “MNIP”, “DIS2D”, “MFSPLIT”]] N [3.0] [0.028] [-1] [15.0] [0.02] [-1] [-1] [-1] [-1]
+12 dwi coilFA AP dwi "[""Siemens""]" MAGNETOM Vida "[""GR\\EP"", “EP”]" "[""SK"", ""SK\\SP""]" "[""CG\\RG\\FS\\PER"", ""FS\\PER""]" [“*ep_b0_1000”] [[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”, “ND”, “NORM”, “MFSPLIT”],[“DERIVED”, “PRIMARY”, “DIFFUSION”, “FA”]] N [3.0] [8.9] [-1] [90.0] [0.078] [-1] [0.00096] [0.00032] [0.03552]
+13 bold rest func "[""Siemens""]" MAGNETOM Vida "[""GR\\EP""]" "[""SK""]" "[""CG\\RG\\FS\\PER""]" [“*epfid2d1_64”] [[“ORIGINAL”, “PRIMARY”, “M”, “ND”, “NORM”, “MFSPLIT”]] [4.0] [-1] [80.0] [0.06] [-1] [0.00072] [0.00036] [0.02268]
+14 bold openeyes rest func "[""Siemens""]" MAGNETOM Vida "[""GR\\EP""]" "[""SK""]" "[""CG\\RG\\FS\\PER""]" [“*epfid2d1_64”] [[“ORIGINAL”, “PRIMARY”, “M”, “ND”, “NORM”, “MFSPLIT”]] [2.46] [-1] [80.0] [0.03] [-1] [0.00072] [0.00036] [0.02268]
+15 T1w anat "[""Philips""]" [“Ingenia Elition X”, “Achieva”] "[""GR""]" [“MP”] [“FC”] [“”] [[“ORIGINAL”, “PRIMARY”, “M”, “FFE”, “M”, “FFE”], [“ORIGINAL”, “SECONDARY”, “M”, “FFE”, “M”, “FFE”]] N [3.0] [0.0125593, 0.0128999] [-1] [8.0] [0.007056, 0.007216] [-1] FALSE [-1] [-1] [-1]
diff --git a/xnat2mids/protocols/protocol_RM_spine_siemens.tsv b/xnat2mids/protocols/protocol_RM_spine_siemens.tsv
new file mode 100644
index 0000000..8892cd6
--- /dev/null
+++ b/xnat2mids/protocols/protocol_RM_spine_siemens.tsv
@@ -0,0 +1,3 @@
+ Protocol acq task ce rec dir part folder Manufacturer ManufacturersModelName ScanningSequence SequenceVariant ScanOptions SequenceName ImageType AngioFlag MagneticFieldStrength RepetitionTime InversionTime FlipAngle EchoTime NumberOfAverages RawImage DerivedVendorReportedEchoSpacing EffectiveEchoSpacing TotalReadoutTime
+1 T1w tse anat "[""Siemens""]" [“MAGNETOM_ESSENZA”] "[""SE"", ""GR""]" "[""SK\\SP\\OSP"", ""SP\\OSP""]" "[""SAT1"", ""SAT1\\FS""]" [“*tse2d1_3”, “*fl2d1”, “*tseR2d1rr17”] "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM3"", ""2"", ""FIL""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM2"", ""2"", ""FIL""]]" N [1.5] [0.33, 0.953] [-1] [20.0, 150.0] [0.0092, 0.012] [2.0,3.0] [-1] [-1] [-1] [-1]
+2 T2w tse anat "[""Siemens""]" [“MAGNETOM_ESSENZA”] "[""SE"", ""GR"", “SE\\IR”]" "[""SK\\SP\\OSP"", ""SP\\OSP"", “SK\\SP\\MP\\OSP”]" "[""SAT1"", ""SAT1\\FS"", “SAT2”,”SAT2\\FS”,”IR\\SAT1\\FS”, “FS”,””]" "[""*tseR2d1_13"", ""*fl2d1"", ""*tse2d1_14"", ""*tir2d1_9"", ""*tseR2d1_15"", ""*tse2d1_15"", ""*tse2d1_3"", ""*tseR2d1rr18"", ""*tseR2d1rr17"", ""*tse2d1rs9"", ""*tseR2d1rs13""]" "[[""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM3"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D"", ""CSA"" ""RESAMPLED""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D"", ""FM3"", ""2"", ""FIL"", ""CSA"" ""RESAMPLED""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM2"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D"", ""FM3"", ""2"", ""FIL""], [""ORIGINAL"", ""PRIMARY"", ""M"", ""NORM"", ""DIS2D"", ""FM"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D"", ""FM2"", ""2"", ""FIL""], [""DERIVED"", ""SECONDARY"", ""POSDISP"", ""M"", ""NORM"", ""DIS2D"", ""FM2"", ""2"", ""FIL"", ""CSA"" ""RESAMPLED""]]" [1.7, 4.7] [-1] [20.0, 150.0] [0.086, 0.096] [2.0,3.0] [-1] [-1] [-1] [-1]
diff --git a/xnat2mids/protocols/scans_tagger.py b/xnat2mids/protocols/scans_tagger.py
new file mode 100644
index 0000000..1d41850
--- /dev/null
+++ b/xnat2mids/protocols/scans_tagger.py
@@ -0,0 +1,72 @@
+import pandas as pd
+import numpy as np
+import json
+pd.set_option('display.max_columns', None)
+
+class Tagger:
+ # scan group
+ # SE = Spin Echo =====>>>> 'SE'
+ # IR = Inversion Recovery =====>>>> 'IR' 'IR\\SE' 'SE\\IR'
+ # GR = Gradient Recalled =====>>>> 'GR'
+ # EP = Echo Planar =====>>>> 'EP' 'EP\\SE' 'EP\\SE\\EP' 'EP\\S'
+ # RM = Research Mode =====>>>> 'RM'
+
+ def __init__(self):
+
+ self.ScanSeq = [['SE'], ['IR', 'IR\\SE', 'SE\\IR'], ['GR', 'GR\\IR', 'IR\\GR', 'EP\\GR'],
+ ['EP', 'EP\\SE', 'EP\\SE\\EP', 'EP\\S', 'EP\\G', 'EP\\IR'], ['RM']]
+
+ def load_table_protocol(self, protocol_table_path):
+ self.table_protocols = pd.read_csv(protocol_table_path, sep='\t', index_col=False)
+
+ def classification_by_min_max(self, dict_atrubutes):
+
+ # targetScan = pd.DataFrame.from_dict([dict_atrubutes])
+ # Verify to which scan group corresponds
+ scaning_sequence = dict_atrubutes["ScanningSequence"]
+ sequence_variant = dict_atrubutes["SequenceVariant"]
+ scan_options = dict_atrubutes["ScanOptions"]
+ #sequence_name = dict_atrubutes["SequenceName"]
+ #image_type = dict_atrubutes["ImageType"]
+ print(f"{scaning_sequence=:}")
+ print(f"{sequence_variant=:}")
+ print(f"{scan_options=:}")
+ #scaning_sequence = scaning_sequence if type(scaning_sequence) is str else "\\".join(scaning_sequence)
+ for l in list(self.table_protocols["ScanningSequence"]):
+ for s in json.loads(l):
+ print(s,scaning_sequence, s == scaning_sequence)
+ table_protocol_SS = self.table_protocols[[
+ any([True for s in json.loads(l) if s == scaning_sequence])
+ for l in list(self.table_protocols["ScanningSequence"])
+ ]]
+
+ table_protocol_SS_SV = table_protocol_SS[[
+ any([True for s in json.loads(l) if s == sequence_variant])
+ for l in list(table_protocol_SS["SequenceVariant"])
+ ]]
+ table_protocol_SS_SV = table_protocol_SS_SV
+ print("#"*40, "table_protocol_SS", "#"*40)
+ print(table_protocol_SS)
+ print("#" * 40, "table_protocol_SS_VS", "#" * 40)
+ print(table_protocol_SS_SV[["Protocol", "acq"]])
+ # print(f"{dict_atrubutes=}")
+ matrix = []
+ # print(list(dict_atrubutes.keys())[-5:])
+ adquisition_param_keys = list(dict_atrubutes.keys())[-5:-1]
+ for p in adquisition_param_keys:
+ distance = []
+ # print("p_value", dict_atrubutes[p], type(dict_atrubutes[p]))
+
+ p_value = float(dict_atrubutes[p]) # if dict_atrubutes[p] !="nan" else -1
+ for list_values in table_protocol_SS_SV[p]:
+
+ min_ = np.amin(eval(list_values))
+ max_ = np.amax(eval(list_values))
+ if p_value >= min_ and p_value <= max_:
+ distance.append(np.sum([0., 0.]))
+ else:
+ distance.append(np.sum([abs(p_value - min_), abs(p_value - max_)]))
+ matrix.append(distance)
+
+ pos_table_protocol = np.argmin(np.array(matrix).sum(axis=0))
+ return table_protocol_SS_SV.iloc[pos_table_protocol][["Protocol", "acq", "task", "ce", "rec", "dir", "part", "folder"]].fillna('')
diff --git a/xnat2mids/requirements.txt b/xnat2mids/requirements.txt
new file mode 100644
index 0000000..8e4d1da
--- /dev/null
+++ b/xnat2mids/requirements.txt
@@ -0,0 +1,62 @@
+absl-py==1.0.0
+astunparse==1.6.3
+async-timeout==4.0.2
+beautifulsoup4==4.11.1
+bs4==0.0.1
+cachetools==5.1.0
+certifi==2021.10.8
+chardet==4.0.0
+charset-normalizer==2.0.12
+Deprecated==1.2.13
+flatbuffers==2.0
+gast==0.5.3
+google-auth==2.6.6
+google-auth-oauthlib==0.4.6
+google-pasta==0.2.0
+grpcio==1.46.1
+h5py==3.6.0
+idna==3.3
+imageio==2.19.1
+keras==2.8.0
+Keras-Preprocessing==1.1.2
+libclang==14.0.1
+lxml==4.8.0
+Markdown==3.3.7
+networkx==2.8
+nibabel==3.2.2
+npyscreen==4.10.5
+numpy==1.22.3
+oauthlib==3.2.0
+opt-einsum==3.3.0
+packaging==21.3
+pandas==1.4.2
+Pillow==9.1.0
+progressbar2==4.0.0
+protobuf==3.20.1
+pyasn1==0.4.8
+pyasn1-modules==0.2.8
+pydicom==2.3.0
+pyparsing==3.0.8
+python-dateutil==2.8.2
+python-utils==3.1.0
+pytz==2022.1
+PyWavelets==1.3.0
+redis==4.3.0
+requests==2.27.1
+requests-oauthlib==1.3.1
+rsa==4.8
+scikit-image==0.19.2
+scipy==1.8.0
+six==1.16.0
+soupsieve==2.3.2.post1
+tensorboard==2.8.0
+tensorboard-data-server==0.6.1
+tensorboard-plugin-wit==1.8.1
+tensorflow==2.8.0
+tensorflow-io-gcs-filesystem==0.25.0
+termcolor==1.1.0
+tf-estimator-nightly==2.8.0.dev2021122109
+typing-extensions==4.2.0
+urllib3==1.26.9
+Werkzeug==2.1.2
+wrapt==1.14.1
diff --git a/xnat2mids/xnat.py b/xnat2mids/xnat.py
new file mode 100644
index 0000000..4877cd7
--- /dev/null
+++ b/xnat2mids/xnat.py
@@ -0,0 +1,920 @@
+import csv
+import getpass
+import json
+import os
+import re
+import sys
+import time
+import traceback
+from io import StringIO
+from shutil import copyfile
+
+import progressbar
+import pydicom
+from xnat import requests
+from xnat.xnat.variables import dict_paths
+from xnat.xnat.variables import dict_uris
+from xnat.xnat.variables import format_message
+from xnat.xnat.variables import reset_terminal
+
+
+###############################################################################
+# Functions
+###############################################################################
+def list_directory_xnat(project_list):
+ project_list.sort()
+ loop = True
+ project_names = [path_.split(os.sep)[-1] for path_ in project_list]
+ while loop:
+ for i, project_item in enumerate(project_names):
+ if not i % 5:
+ print((""))
+ string = str(i + 1) + ") " + project_item
+ print("{0:20s}".format(string), end=" ", flush=True)
+ answer = input("\nChoose the project: ")
+ answer = str(answer)
+ answer_list = []
+ answer_list_aux = answer.split(' ')
+
+ for ans in answer_list_aux:
+ if ans.isdigit():
+ ans = int(ans) - 1
+ if ans >= len(project_names):
+ print("the number " + ans + " is not corrected, try again", flush=True)
+ break
+ else:
+ answer_list.append(project_names[ans])
+ else:
+ if not (any([ans in path_ for path_ in project_names])):
+ if ans == "exit":
+ exit(1)
+ else:
+ print("the project " + ans
+ + " is not corrected, try again")
+ break
+ else:
+ answer_list.append(ans)
+ else:
+ loop = False
+
+ return answer_list
+
+
+def try_to_request(interface, web, level_verbose=15, level_tab=15):
+ # Function that allows a persistent get request to a web page
+
+ # variable that counts connection attempt
+ intents = 1
+ while True:
+ try:
+ req = interface.get(web)
+ if req.status_code != 504:
+ break
+ except requests.exceptions.ConnectionError as e:
+
+ print(
+ format_message(
+ level_verbose,
+ level_tab,
+ "Intents to download information = {}".format(intents)
+ )
+ )
+ time.sleep(60)
+ except requests.exceptions.HTTPError:
+ print(
+ format_message(
+ level_verbose,
+ level_tab,
+ "Intents to download information = {}".format(intents)
+ )
+ )
+ time.sleep(60)
+ return req
+
+
+class Xnat_Session():
+
+ def __init__(self, url_xnat, user=None, password=None):
+ self.url_xnat = url_xnat
+ self.user = user
+ self.password = password
+ self.level_verbose = 0
+ self.level_tab = 0
+
+ def __enter__(self):
+ self.connect()
+ return self
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ self.exit()
+
+ def connect(self):
+ self.interface = requests.Session()
+ if self.user and self.password:
+ self.interface.auth = (self.user, self.password)
+ else:
+ if not self.user:
+ self.user = input("username: ")
+ self.password = getpass.getpass("Password: ")
+ self.interface.auth = (self.user, self.password)
+
+ def exit(self):
+ self.interface.close()
+
+ def get_projects(self, verbose):
+ output = StringIO()
+ if verbose: print(self.url_xnat + dict_uris["projects"], flush=True)
+ output.write(
+ try_to_request(
+ self.interface, self.url_xnat
+ + dict_uris["projects"],
+ self.level_verbose,
+ self.level_tab
+ ).text
+ )
+ output.seek(0)
+ print(str(output))
+ reader = csv.DictReader(output)
+ self.dict_projects = dict()
+ for row in reader:
+ self.dict_projects[row["ID"]] = Project(self.url_xnat, self.interface, self.level_verbose + 5,
+ self.level_tab + 5, **row)
+ output.close()
+
+ def show_list_of_project(self, verbose):
+ """
+ This functions allows the user to visualize al projects in xnat aplication
+ NOT IN USE, NEXT UPLOAD
+ """
+ project_list = [key for key, _ in self.dict_projects.items()]
+ answer_list = list_directory_xnat(project_list)
+
+ # project_list.sort()
+ # loop = True
+ # while loop:
+ # for i, project_item in enumerate(project_list):
+ # if not i % 5:
+ # print((""))
+ # string = str(i + 1) + ") " + project_item
+ # print("{0:20s}".format(string), end=" ", flush=True)
+ # answer = input("\nChoose the project: ")
+ # answer = str(answer)
+ # answer_list = []
+ # answer_list_aux = answer.split(' ')
+ # for ans in answer_list_aux:
+ # if ans.isdigit():
+ # ans = int(ans) - 1
+ # if ans >= len(project_list):
+ # print("the number " + ans + " is not corrected, try again", flush=True)
+ # break
+ # else:
+ # answer_list.append(project_list[ans])
+ # else:
+ # if not (ans in project_list):
+ # if ans == "exit":
+ # exit(1)
+ # else:
+ # print("the proyect " + ans
+ # + " is not corrected, try again")
+ # break
+ # else:
+ # answer_list.append(ans)
+ # else:
+ # loop = False
+ if verbose: print("list of projects to download: {}".format(", ".join(answer_list)), flush=True)
+ return answer_list
+
+ def download_projects(self,
+ path_download,
+ with_department=True,
+ project_list=None,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False):
+ self.get_projects(verbose)
+ if project_list is None:
+ project_list = self.show_list_of_project(verbose)
+ # clear console
+ print(reset_terminal, end="", flush=True)
+ print(format_message(self.level_verbose, self.level_tab, "Projects:"), end="", flush=True)
+ print(format_message(self.level_verbose + 3, self.level_tab, "Subject:"), end="", flush=True)
+ # move the cursor
+ bar_project = progressbar.ProgressBar(maxval=len(project_list), prefix="\033[2;0H").start()
+ bar_project.update(1)
+ bar_project.update(0)
+
+ for iter, key in enumerate(project_list):
+ self.dict_projects[key].download(
+ os.path.join(path_download, ""),
+ with_department=with_department,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite,
+ verbose=verbose
+ )
+ bar_project.update(iter + 1)
+ bar_project.finish()
+ print("\033[12:0", end="", flush=True)
+
+
+class Project(dict):
+ def __init__(self, url_xnat, interface, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self.url_xnat = url_xnat
+ self.interface = interface
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_subjects(self, verbose):
+ output = StringIO()
+
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, "Project: {}".format(self["ID"])), flush=True)
+ output.write(try_to_request(self.interface, self.url_xnat
+ + dict_uris["subjects"](self["ID"])
+ ).text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_subjects = dict()
+ for row in reader:
+ row["project"] = self
+ self.dict_subjects[row["ID"]] = Subject(self.level_verbose + 1, self.level_tab + 1, **row)
+ output.close()
+
+ def download(
+ self,
+ path_download,
+ with_department=True,
+ project_list=None,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ if with_department: path_download = os.path.join(path_download, self["ID"], "")
+ # print("\033[5;0H\u001b[0K", end="",flush=True)
+ self.get_list_subjects(verbose)
+ # move the cursor
+ # print("\033[4;0H", end="",flush=True)
+ bar_subject = progressbar.ProgressBar(
+ maxval=len(self.dict_subjects),
+ prefix=format_message(self.level_verbose - 1, 0, "")
+ ).start()
+ for iter, subject_obj in enumerate(self.dict_subjects.values()):
+ subject_obj.download(
+ path_download, bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+ print(format_message(self.level_verbose - 1, 0, ""))
+ bar_subject.update(iter + 1)
+ print(format_message(self.level_verbose - 1, 0, ""))
+ bar_subject.finish()
+
+
+class Subject(dict):
+ def __init__(self, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_experiments(self, verbose):
+
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"Subject: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["project"].interface,
+ self["project"].url_xnat
+ + dict_uris["experiments"](self["project"]["ID"], self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_sessions = dict()
+ for row in reader:
+ self.dict_sessions[row["label"]] = Session(self, self.level_verbose + 1, self.level_tab + 1, **row)
+ output.close()
+
+ def download(self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ print("\033[6;0H\u001b[0K", end="", flush=True)
+ self.get_list_experiments(verbose)
+ # move the cursor
+ for session_obj in self.dict_sessions.values():
+ session_obj.download(
+ path_download, bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+
+
+class Resource(dict):
+ pass
+
+
+class Session(dict):
+ def __init__(self, subject, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["subject"] = subject
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_scans(self, verbose):
+ output = StringIO()
+ if verbose: print(
+ format_message(self.level_verbose, self.level_tab, f"Session: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["scans"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_scans = dict()
+ for row in reader:
+ # print(format_message(16, 5, ""))
+ # print(row)
+ # If the "xsiType" key of the session is not equal to
+ # "xnat: mrSessionData", this may not work in this point.
+ try:
+ self.dict_scans[row["ID"]] = scan(self, self.level_verbose + 1, self.level_tab + 1, **row)
+
+ except KeyError:
+ continue
+ output.close()
+
+ def get_list_resources(self, path_download, overwrite=False, verbose=False):
+ output = StringIO()
+ if verbose: print(
+ format_message(self.level_verbose, self.level_tab, f"Session: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["scans"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_scans = dict()
+ for row in reader:
+ # print(format_message(16, 5, ""))
+ # print(row)
+ # If the "xsiType" key of the session is not equal to
+ # "xnat: mrSessionData", this may not work in this point.
+ try:
+ self.dict_scans[row["ID"]] = Resource(self, self.level_verbose + 1, self.level_tab + 1, **row)
+
+ except KeyError:
+ continue
+ output.close()
+
+ # def get_list_struct_report(
+ # self, path_download, bool_list_resources, overwrite=False, verbose=False
+ # ):
+ # output = StringIO()
+ # output.write(
+ # try_to_request(
+ # self["subject"]["project"].interface,
+ # self["subject"]["project"].url_xnat
+ # + dict_uris["struct_reports"](
+ # self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"])
+ # ).text
+ # )
+ # output.seek(0)
+ # reader = csv.DictReader(output)
+ #
+ # if verbose:
+ # print(format_message(self.level_verbose, self.level_tab, f"Session SR: {self['ID']}"), flush=True)
+ # for row in reader:
+ # # id_session=re.search(r'\d+', row["Name"]).group(0)
+ # try:
+ # id_session = re.search(r'sr.*', row["Name"]).group(0)
+ # except KeyError as e:
+ # print("\033[20;0H\u001b[0K", end="", flush=True)
+ # print(row)
+ # print(self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"])
+ # return
+ # self.download_struct_report(
+ # path_download, row["Name"], overwrite=overwrite, verbose=verbose
+ # )
+ # output.close()
+ #
+ # def download_struct_report(self, path_download, filename, overwrite=False, verbose=False):
+ #
+ # complet_path = (
+ # os.path.join(
+ # path_download,
+ # dict_path["path_sr"](
+ # self["subject"]["ID"],
+ # self["ID"]
+ # )
+ # )
+ # )
+ # sr_path = os.path.join(complet_path, filename)
+ # if not overwrite and os.path.exists(sr_path):
+ # print("Structural Report exists", flush=True)
+ # return
+ # os.makedirs(complet_path, exist_ok=True)
+ # url_sr = (self["subject"]["project"].url_xnat
+ # + dict_uri["struct_reports"](
+ # self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"]
+ # ).split("?")[0] + os.sep
+ # + filename
+ # )
+ # # if verbose: print(" Downloading sr file... " + url_sr,flush=True)
+ # sr = try_to_request(
+ # self["subject"]["project"].interface,
+ # url_sr
+ # )
+ # # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ # sr.raise_for_status()
+ #
+ # with open(os.path.join(complet_path, filename), 'wb') as sr_file:
+ # sr_file.write(sr.content)
+
+ def get_list_assessors(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, f"Assessors: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["assessors"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"]
+
+ )
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_assessors = dict()
+ for row in reader:
+ try:
+ self.dict_assessors[row["ID"]] = assessors(self, self.level_verbose + 1, self.level_tab + 1, **row)
+ except Exception as e:
+ print(e)
+ # sys.exit(2)
+ continue
+ output.close()
+
+ def download(self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ # print("\033[7;0H\u001b[0K", end="",flush=True)
+ self.get_list_scans(verbose)
+ for scan_obj in self.dict_scans.values():
+ scan_obj.download(
+ path_download, bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+ # print("\033[18;0H\u001b[0K", end="",flush=True)
+ self.get_list_struct_report(path_download, bool_list_resources, overwrite=False, verbose=verbose)
+
+ self.get_list_assessors(verbose)
+ for resource_obj in self.dict_assessors.values():
+ # sys.exit(1)
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+
+
+class scan(dict):
+ def __init__(self, session, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["session"] = session
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_resources(self, verbose):
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"scan: {self['ID']}"))
+ output.write(
+ try_to_request(
+ self["session"]["subject"]["project"].interface,
+ self["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resources"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"]
+ )
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["xnat_abstractresource_id"]] = resources(self, self.level_verbose + 1,
+ self.level_tab + 1, **row)
+ output.close()
+
+ def download(
+ self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ # print(format_message(13, 4, "entro en scan"))
+ self.get_list_resources(verbose)
+ for resource_obj in self.dict_resources.values():
+ try:
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+ except requests.exceptions.RequestException as e:
+ complet_path = (path_download + dict_path["path_download"](
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"],
+ "NIFTI"
+ )
+ )
+ print(e)
+ # with open(os.path.join(path_download, ".log"), "a") as log:
+ # log.write(
+ # "Error: {} in nifti url {}".format(
+ # e,
+ # complet_path
+ # )
+
+ # )
+ # return
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+
+
+class scan_resources(dict):
+ def __init__(self, scan, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["scan"] = scan
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_files(self, verbose):
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"resource: {self['label']}"),
+ end=" ----> ",
+ flush=True)
+ file_text = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["Name"]] = dict(**row)
+ output.close()
+
+ def download_dicom(self, path_download, filename, overwrite=False, verbose=False):
+
+ complet_path = (
+ path_download + dict_path["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+ complet_path_metadata = (
+ path_download + dict_path["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ "NIFTI"
+ )
+ )
+
+ dicom_path = os.path.join(complet_path, filename)
+ dicom_path_metadata = os.path.join(complet_path_metadata, "dicom.json")
+ if not overwrite and (os.path.exists(dicom_path) and os.path.exists(dicom_path_metadata)):
+ # if verbose: print("DICOM file already exist")
+ return dicom_path, dicom_path_metadata
+ # if not overwrite and os.path.exists(dicom_path):
+ # if verbose: print(" DICOM metadata file already exist")
+ # return
+ if verbose:
+ pass
+ # print("Downloading DICOM file...", flush=True, end="")
+ # print(" Downloading DICOM Metadata file...",flush=True)
+
+ os.makedirs(complet_path, exist_ok=True)
+ os.makedirs(complet_path_metadata, exist_ok=True)
+ try:
+ copyfile(dict_uri["local_files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["label"],
+ self["scan"]["ID"],
+ self["label"],
+ filename
+
+ ), dicom_path)
+ except FileNotFoundError as e:
+ url_dicom = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ # with open(path_download + "urls_descarga.txt", "a") as f:
+ # f.write("%s \n %s # %r # %r # %r \n" % (
+ # url_dicom, dicom_path, overwrite, verbose, os.path.exists(dicom_path)))
+ # f.close()
+
+ dicom = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_dicom
+ )
+ # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ dicom.raise_for_status()
+
+ with open(dicom_path, 'wb') as dicom_file:
+ dicom_file.write(dicom.content)
+
+ return dicom_path, dicom_path_metadata
+
+ def download_nifti(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_path["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+
+ nifti_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(nifti_path):
+ if verbose: print("nifti file already exist")
+ return
+ if verbose: print("Downloading NIFTI file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_nifti = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ # with open(path_download + "urls_descarga.txt", "a") as f:
+ # f.write(
+ # "%s \n %s # %r # %r # %r \n" % (url_nifti, nifti_path, overwrite, verbose, os.path.exists(nifti_path)))
+ # f.close()
+ nifti = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_nifti
+ )
+ # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ nifti.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as nifti_file:
+ nifti_file.write(nifti.content)
+
+ def download_bids(self):
+ pass
+
+ def download_png(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_path["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+
+ png_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(png_path):
+ if verbose: print("png file already exist")
+ return
+ if verbose: print("Downloading png file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_png = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ # with open(path_download + "urls_descarga.txt", "a") as f:
+ # f.write("%s \n %s # %r # %r # %r \n" % (url_png, png_path, overwrite, verbose, os.path.exists(png_path)))
+ # f.close()
+ png = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_png
+ )
+ # png = self["scan"]["session"]["subject"]["project"].interface.get(url_png, allow_redirects=True)
+ png.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as png_file:
+ png_file.write(png.content)
+
+ def download(
+ self,
+ path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+
+ self.get_list_files(verbose)
+ is_metadata_saved = False
+
+ for index, file_obj in enumerate(self.dict_resources.values()):
+
+ if self["label"] == "DICOM" and bool_list_resources[1]:
+ print(format_message(self.level_verbose + 1, self.level_tab + 1, f"{index} of {self['file_count']}"),
+ end="",
+ flush=True)
+ # self.download_dicom(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+
+ if self["label"] == "SECONDARY" and bool_list_resources[2]:
+ # self.download_dicom(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+ pass
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+ print(format_message(self.level_verbose + 1, self.level_tab + 1, "\u001b[0K"), end="", flush=True)
+
+
+class assessors(dict):
+ def __init__(self, session, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["session"] = session
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_assessors_resources(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, f"assessor: {self['label']}"), flush=True)
+ file_text = try_to_request(
+ self["session"]["subject"]["project"].interface,
+ self["session"]["subject"]["project"].url_xnat
+ + dict_uri["assessors_resources"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["xnat_abstractresource_id"]] = assessors_resources(
+ self, self.level_verbose + 1, self.level_tab + 1, **row
+ )
+ output.close()
+
+ def download(
+ self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+
+ # sys.exit(0)
+ self.get_list_assessors_resources(verbose)
+ for resource_obj in self.dict_resources.values():
+
+ # sys.exit(1)
+ try:
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+ except requests.exceptions.RequestException as e:
+ print("descarga fallida")
+ traceback.print_exc()
+ traceback.print_stack()
+ sys.exit(1)
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+
+
+ def __init__(self, assessors, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["assessors"] = assessors
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_roi_files(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(
+ format_message(
+ self.level_verbose, self.level_tab, f"assessor resources: {self['label']}"
+ ), end=" ----> ", flush=True
+ )
+ file_text = try_to_request(
+ self["assessors"]["session"]["subject"]["project"].interface,
+ self["assessors"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["roi_files"](
+ self["assessors"]["session"]["subject"]["project"]["ID"],
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_roi_files = dict()
+ for row in reader:
+ self.dict_roi_files[row["Name"]] = dict(**row)
+ output.close()
+
+ def download_roi_files(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_path["path_download_roi"](
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ )
+ )
+
+ roi_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(roi_path):
+ if verbose: print(" roi file already exist")
+ return
+ if verbose: print(" Downloading png file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_roi = (self["assessors"]["session"]["subject"]["project"].url_xnat
+ + dict_uri["files"](
+ self["assessors"]["session"]["subject"]["project"]["ID"],
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ roi = try_to_request(
+ self["assessors"]["session"]["subject"]["project"].interface,
+ url_roi
+ )
+
+ # png = self["scan"]["session"]["subject"]["project"].interface.get(url_png, allow_redirects=True)
+ roi.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as roi_file:
+ roi_file.write(roi.content)
+
+ def download(
+ self,
+ path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ self.get_list_roi_files(verbose)
+ for file_obj in self.dict_roi_files.values():
+ self.download_roi_files(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
diff --git a/xnat2mids/xnat/__init__.py b/xnat2mids/xnat/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/xnat2mids/xnat/assessor.py b/xnat2mids/xnat/assessor.py
new file mode 100644
index 0000000..623f43a
--- /dev/null
+++ b/xnat2mids/xnat/assessor.py
@@ -0,0 +1,60 @@
+import csv
+from io import StringIO
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.request import try_to_request
+from xnat2mids.xnat.assessor_resource import AssessorsResources
+import requests
+class Assessors(dict):
+ def __init__(self, session, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["session"] = session
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_assessors_resources(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, f"assessor: {self['label']}"), flush=True)
+ file_text = try_to_request(
+ self["session"]["subject"]["project"].interface,
+ self["session"]["subject"]["project"].url_xnat
+ + dict_uris["assessors_resources"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["xnat_abstractresource_id"]] = AssessorsResources(
+ self, self.level_verbose + 1, self.level_tab + 1, **row
+ )
+ output.close()
+
+ def download(
+ self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+
+ # sys.exit(0)
+ self.get_list_assessors_resources(verbose)
+ for resource_obj in self.dict_resources.values():
+
+ # sys.exit(1)
+ try:
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+ except requests.exceptions.RequestException as e:
+ print("descarga fallida")
+
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
diff --git a/xnat2mids/xnat/assessor_resource.py b/xnat2mids/xnat/assessor_resource.py
new file mode 100644
index 0000000..20ce311
--- /dev/null
+++ b/xnat2mids/xnat/assessor_resource.py
@@ -0,0 +1,97 @@
+
+
+import csv
+import os
+from pathlib import Path
+from io import StringIO
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.variables import dict_paths
+from xnat2mids.xnat.request import try_to_request
+from xnat2mids.xnat.convert_xml2image import xml2image
+
+class AssessorsResources(dict):
+ def __init__(self, assessors, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["assessors"] = assessors
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_roi_files(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(
+ format_message(
+ self.level_verbose, self.level_tab, f"assessor resources: {self['label']}"
+ ), end=" ----> ", flush=True
+ )
+ file_text = try_to_request(
+ self["assessors"]["session"]["subject"]["project"].interface,
+ self["assessors"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["assessor_resource_roi_files"](
+ self["assessors"]["session"]["subject"]["project"]["ID"],
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_roi_files = dict()
+ for row in reader:
+ self.dict_roi_files[row["Name"]] = dict(**row)
+ output.close()
+
+ def download_roi_files(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_paths["path_download_roi"](
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ )
+ )
+
+ roi_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(roi_path):
+ if verbose: print(" roi file already exist")
+ xml2image(Path(roi_path))
+ return
+ if verbose: print(" Downloading png file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_roi = (self["assessors"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["assessor_resource_roi_files"](
+ self["assessors"]["session"]["subject"]["project"]["ID"],
+ self["assessors"]["session"]["subject"]["ID"],
+ self["assessors"]["session"]["ID"],
+ self["assessors"]["ID"],
+ self["xnat_abstractresource_id"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ roi = try_to_request(
+ self["assessors"]["session"]["subject"]["project"].interface,
+ url_roi
+ )
+
+ # png = self["scan"]["session"]["subject"]["project"].interface.get(url_png, allow_redirects=True)
+ roi.raise_for_status()
+
+ with open(roi_path, 'wb') as roi_file:
+ roi_file.write(roi.content)
+ #xml2image(Path(roi_path))
+
+ def download(
+ self,
+ path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ self.get_list_roi_files(verbose)
+ for file_obj in self.dict_roi_files.values():
+ self.download_roi_files(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
\ No newline at end of file
diff --git a/xnat2mids/xnat/convert_xml2image.py b/xnat2mids/xnat/convert_xml2image.py
new file mode 100644
index 0000000..03c9d66
--- /dev/null
+++ b/xnat2mids/xnat/convert_xml2image.py
@@ -0,0 +1,59 @@
+import xml.etree.ElementTree as ET
+import pandas as pd
+import numpy as np
+
+
+
+def xml2image(xml_file):
+
+ tree = ET.parse(str(xml_file))
+ root = tree.getroot()
+
+ mki = 0
+ values = []
+ for imageanotation in root.iter('{gme://caCORE.caCORE/4.4/edu.northwestern.radiology.AIM}ImageAnnotation'):
+ value = imageanotation[3].attrib['value']
+ for markupentity in imageanotation.iter('{gme://caCORE.caCORE/4.4/edu.northwestern.radiology.AIM}MarkupEntity'):
+ mki+=1
+ for _2dspatioancoordinate in markupentity.iter('{gme://caCORE.caCORE/4.4/edu.northwestern.radiology.AIM}TwoDimensionSpatialCoordinate'):
+ values.append([mki, value, _2dspatioancoordinate[0].attrib['value'], _2dspatioancoordinate[1].attrib['value'], _2dspatioancoordinate[2].attrib['value']])
+
+ coords = pd.DataFrame.from_records(values, columns=['Mark', 'Type', 'idx', 'x', 'y'])
+
+ masks = []
+ eq = list(enumerate(list(set(coords['Type'])), 1))
+ eq = {x: i for i, x in eq}
+ coords['label'] = coords['Type'].map(eq)
+ n_diff_marks = len(list(set(coords['label'])))
+ for t_mark in list(set(coords['label'])):
+ marks = coords[(coords['label'] == t_mark)]
+ for m_idx in list(set(marks['Mark'])):
+ mark = marks[marks['Mark'] == m_idx]
+ print(mark)
+ poly = []
+ poly.append(mark)
+ # La mascara de fondo tiene que estar en np.uint8
+ mask = np.zeros(img.shape, dtype=np.uint8)
+ # points = np.int32(mark[['x','y']].astype(float).astype("int32").to_numpy())
+ test = mark[["x", "y"]].to_numpy()
+ # Hay que pasar de string a float
+ test = test.astype(np.float32)
+ # Despues a int
+ test = test.astype(np.int32)
+ # Despues meter el array de numpy en un [], sin el [] no funciona
+ test = np.array([test], dtype=np.int32)
+ cv2.fillPoly(mask, test, 255)
+ mask = np.where(mask == 255, t_mark, mask)
+ masks.append(mask)
+
+ dest = np.zeros(masks[0].shape + (3,)).astype("uint8")
+ for mask in masks:
+ a = np.array([mask, mask, mask])
+
+ a = np.transpose(a, (1, 2, 0))
+ print(a.shape)
+ dest = cv2.addWeighted(dest, 1, a, 1, 0)
+
+ gray_image = cv2.cvtColor(dest, cv2.COLOR_BGR2GRAY)
+ np.image.imsave(xml_file.parent.joinpath(xml_file.stem + ".png"), gray_image)
+ coords.to_csv(xml_file.parent.joinpath(xml_file.stem + ".csv"), sep='\t')
\ No newline at end of file
diff --git a/xnat2mids/xnat/project.py b/xnat2mids/xnat/project.py
new file mode 100644
index 0000000..14577e6
--- /dev/null
+++ b/xnat2mids/xnat/project.py
@@ -0,0 +1,59 @@
+import csv
+import os
+import progressbar
+from io import StringIO
+from xnat2mids.xnat.subject import Subject
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.request import try_to_request
+class Project(dict):
+ def __init__(self, url_xnat, interface, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self.url_xnat = url_xnat
+ self.interface = interface
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_subjects(self, verbose):
+ output = StringIO()
+
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, "Project: {}".format(self["ID"])), flush=True)
+ output.write(try_to_request(self.interface, self.url_xnat
+ + dict_uris["subjects"](self["ID"])
+ ).text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_subjects = dict()
+ for row in reader:
+ row["project"] = self
+ self.dict_subjects[row["ID"]] = Subject(self.level_verbose + 1, self.level_tab + 1, **row)
+ output.close()
+
+ def download(
+ self,
+ path_download,
+ with_department=True,
+ project_list=None,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ path_download = path_download.joinpath(self["ID"], "sourcedata")
+ # print("\033[5;0H\u001b[0K", end="",flush=True)
+ self.get_list_subjects(verbose)
+ # move the cursor
+ # print("\033[4;0H", end="",flush=True)
+ bar_subject = progressbar.ProgressBar(
+ maxval=len(self.dict_subjects),
+ prefix=format_message(self.level_verbose - 1, 0, "")
+ ).start()
+ for iter, subject_obj in enumerate(self.dict_subjects.values()):
+ subject_obj.download(
+ path_download, bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+ print(format_message(self.level_verbose - 1, 0, ""))
+ bar_subject.update(iter + 1)
+ print(format_message(self.level_verbose - 1, 0, ""))
+ bar_subject.finish()
\ No newline at end of file
diff --git a/xnat2mids/xnat/request.py b/xnat2mids/xnat/request.py
new file mode 100644
index 0000000..a6f02b9
--- /dev/null
+++ b/xnat2mids/xnat/request.py
@@ -0,0 +1,36 @@
+import time
+import requests
+
+from xnat2mids.xnat.variables import format_message
+
+
+def try_to_request(interface, web, level_verbose=15, level_tab=15):
+ # Function that allows a persistent get request to a web page
+
+ # variable that counts connection attempt
+ intents = 1
+ while True:
+ try:
+ req = interface.get(web)
+ if req.status_code != 504:
+ break
+ except requests.exceptions.ConnectionError as e:
+
+ print(
+ format_message(
+ level_verbose,
+ level_tab,
+ "Intents to download information = {}".format(intents)
+ )
+ )
+ time.sleep(60)
+ except requests.exceptions.HTTPError:
+ print(
+ format_message(
+ level_verbose,
+ level_tab,
+ "Intents to download information = {}".format(intents)
+ )
+ )
+ time.sleep(60)
+ return req
diff --git a/xnat2mids/xnat/scan.py b/xnat2mids/xnat/scan.py
new file mode 100644
index 0000000..754193c
--- /dev/null
+++ b/xnat2mids/xnat/scan.py
@@ -0,0 +1,62 @@
+import requests
+import csv
+from io import StringIO
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.request import try_to_request
+from xnat2mids.xnat.scan_resources import ScanResources
+
+
+class Scan(dict):
+ def __init__(self, session, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["session"] = session
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_resources(self, verbose):
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"scan: {self['ID']}"))
+ output.write(
+ try_to_request(
+ self["session"]["subject"]["project"].interface,
+ self["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resources"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"]
+ )
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["xnat_abstractresource_id"]] = ScanResources(self, self.level_verbose + 1, self.level_tab + 1, **row)
+ output.close()
+
+ def download(
+ self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ #print(format_message(13, 4, "entro en scan"))
+ self.get_list_resources(verbose)
+ for resource_obj in self.dict_resources.values():
+ try:
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+ except requests.exceptions.RequestException as e:
+ complet_path = (path_download + dict_path["path_download"](
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["ID"],
+ "NIFTI"
+ )
+ )
+ print(e)
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
diff --git a/xnat2mids/xnat/scan_resources.py b/xnat2mids/xnat/scan_resources.py
new file mode 100644
index 0000000..ae50cd0
--- /dev/null
+++ b/xnat2mids/xnat/scan_resources.py
@@ -0,0 +1,213 @@
+import csv
+import os
+import pydicom
+import json
+from io import StringIO
+from shutil import copyfile
+
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.variables import dict_paths
+
+from xnat2mids.xnat.request import try_to_request
+
+
+class ScanResources(dict):
+ def __init__(self, scan, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["scan"] = scan
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_files(self, verbose):
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"resource: {self['label']}"),
+ end=" ----> ",
+ flush=True)
+ file_text = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resource_files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+ file_text.raise_for_status()
+ output.write(file_text.text)
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["Name"]] = dict(**row)
+ output.close()
+
+ def download_dicom(self, path_download, filename, overwrite=False, verbose=False):
+
+ complet_path = path_download.joinpath(
+ dict_paths["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+
+
+ dicom_path = os.path.join(complet_path, filename)
+ dicom_path_metadata = os.path.join(complet_path, "dicom.json")
+ if not overwrite and (os.path.exists(dicom_path)) and (os.path.exists(dicom_path_metadata)):
+ # #if verbose: print("DICOM file already exist")
+ return
+
+ os.makedirs(complet_path, exist_ok=True)
+ #os.makedirs(complet_path_metadata, exist_ok=True)
+
+ url_dicom = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resource_files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ dicom = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_dicom
+ )
+ # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ dicom.raise_for_status()
+
+ with open(dicom_path, 'wb') as dicom_file:
+ dicom_file.write(dicom.content)
+
+ if not self.is_metadata_saved:
+ self.is_metadata_saved = True
+ self.store_metadata(dicom_path, dicom_path_metadata.format("DICOM"))
+
+ def download_nifti(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = path_download.joinpath(dict_paths["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ))
+
+ nifti_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(nifti_path):
+ if verbose: print("nifti file already exist")
+ return
+ if verbose: print("Downloading NIFTI file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_nifti = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resource_files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ # with open(path_download + "urls_descarga.txt", "a") as f:
+ # f.write(
+ # "%s \n %s # %r # %r # %r \n" % (url_nifti, nifti_path, overwrite, verbose, os.path.exists(nifti_path)))
+ # f.close()
+ nifti = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_nifti
+ )
+ # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ nifti.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as nifti_file:
+ nifti_file.write(nifti.content)
+
+
+ def download_png(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_paths["path_download"](
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ )
+ )
+
+ png_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(png_path):
+ if verbose: print("png file already exist")
+ return
+ if verbose: print("Downloading png file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_png = (self["scan"]["session"]["subject"]["project"].url_xnat
+ + dict_uris["scan_resource_files"](
+ self["scan"]["session"]["subject"]["project"]["ID"],
+ self["scan"]["session"]["subject"]["ID"],
+ self["scan"]["session"]["ID"],
+ self["scan"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+
+ # with open(path_download + "urls_descarga.txt", "a") as f:
+ # f.write("%s \n %s # %r # %r # %r \n" % (url_png, png_path, overwrite, verbose, os.path.exists(png_path)))
+ # f.close()
+ png = try_to_request(
+ self["scan"]["session"]["subject"]["project"].interface,
+ url_png
+ )
+ # png = self["scan"]["session"]["subject"]["project"].interface.get(url_png, allow_redirects=True)
+ png.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as png_file:
+ png_file.write(png.content)
+
+ def store_metadata(self, dicom_path, dicom_path_metadata):
+
+ dicom = pydicom.dcmread(dicom_path, stop_before_pixels=True)
+ try:
+ string_json = dicom.to_json(suppress_invalid_tags=True)
+ except TypeError as e:
+ self.is_metadata_saved = False
+ return
+ dict_json = json.loads(string_json)
+ # del dict_json["7FE00010"]
+ string_json = json.dumps(dict_json, default=lambda o: o.__dict__,
+ sort_keys=True)
+ with open(dicom_path_metadata, 'w') as dicom_file:
+ dicom_file.write(string_json)
+
+ def download(
+ self,
+ path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+
+ self.get_list_files(verbose)
+ self.is_metadata_saved = False
+ for index, file_obj in enumerate(self.dict_resources.values()):
+ if self["label"].lower() in ["dicom", "secondary"]:
+ print(format_message(self.level_verbose + 1, self.level_tab + 1, f"{index} of {self['file_count']}"),
+ end="",
+ flush=True)
+ self.download_dicom(
+ path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose
+ )
+
+ #if self["label"] == "NIFTI":
+ # self.download_nifti(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+
+ #if self["label"] == "PNG":
+ # self.download_png(path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose)
+
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+ print(format_message(self.level_verbose + 1, self.level_tab + 1, "\u001b[0K"), end="", flush=True)
diff --git a/xnat2mids/xnat/session.py b/xnat2mids/xnat/session.py
new file mode 100644
index 0000000..dd9ae36
--- /dev/null
+++ b/xnat2mids/xnat/session.py
@@ -0,0 +1,211 @@
+
+import csv
+from io import StringIO
+from xnat2mids.xnat.scan import Scan
+from xnat2mids.xnat.session_resource import SessionResource
+from xnat2mids.xnat.assessor import Assessors
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.request import try_to_request
+
+
+class Session(dict):
+ def __init__(self, subject, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["subject"] = subject
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_scans(self, verbose):
+ output = StringIO()
+ if verbose: print(
+ format_message(self.level_verbose, self.level_tab, f"Session: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["scans"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_scans = dict()
+ for row in reader:
+ #print(format_message(16, 5, ""))
+ #print(row)
+ # If the "xsiType" key of the session is not equal to
+ # "xnat: mrSessionData", this may not work in this point.
+ try:
+ self.dict_scans[row["ID"]] = Scan(self, self.level_verbose + 1, self.level_tab + 1, **row)
+
+ except KeyError:
+ continue
+ output.close()
+ def get_list_session_resources(self, path_download, overwrite=False, verbose=False):
+ output = StringIO()
+ if verbose: print(
+ format_message(self.level_verbose, self.level_tab, f"Session: {self['ID']}"), flush=True)
+ u = (
+ self["subject"]["project"].url_xnat
+ + dict_uris["session_resources"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"]
+ )
+ )
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["session_resources"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+
+ try:
+ self.dict_resources[row["label"]] = SessionResource(self, self.level_verbose + 1, self.level_tab + 1, **row)
+
+ except KeyError:
+ continue
+ output.close()
+ # def get_list_struct_report(
+ # self, path_download, bool_list_resources, overwrite=False, verbose=False
+ # ):
+ # output = StringIO()
+ # output.write(
+ # try_to_request(
+ # self["subject"]["project"].interface,
+ # self["subject"]["project"].url_xnat
+ # + dict_uris["struct_reports"](
+ # self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"])
+ # ).text
+ # )
+ # output.seek(0)
+ # reader = csv.DictReader(output)
+ #
+ # if verbose:
+ # print(format_message(self.level_verbose, self.level_tab, f"Session SR: {self['ID']}"), flush=True)
+ # for row in reader:
+ # # id_session=re.search(r'\d+', row["Name"]).group(0)
+ # try:
+ # id_session = re.search(r'sr.*', row["Name"]).group(0)
+ # except KeyError as e:
+ # print("\033[20;0H\u001b[0K", end="", flush=True)
+ # print(row)
+ # print(self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"])
+ # return
+ # self.download_struct_report(
+ # path_download, row["Name"], overwrite=overwrite, verbose=verbose
+ # )
+ # output.close()
+ #
+ # def download_struct_report(self, path_download, filename, overwrite=False, verbose=False):
+ #
+ # complet_path = (
+ # os.path.join(
+ # path_download,
+ # dict_path["path_sr"](
+ # self["subject"]["ID"],
+ # self["ID"]
+ # )
+ # )
+ # )
+ # sr_path = os.path.join(complet_path, filename)
+ # if not overwrite and os.path.exists(sr_path):
+ # print("Structural Report exists", flush=True)
+ # return
+ # os.makedirs(complet_path, exist_ok=True)
+ # url_sr = (self["subject"]["project"].url_xnat
+ # + dict_uri["struct_reports"](
+ # self["subject"]["project"]["ID"],
+ # self["subject"]["ID"],
+ # self["ID"]
+ # ).split("?")[0] + os.sep
+ # + filename
+ # )
+ # # if verbose: print(" Downloading sr file... " + url_sr,flush=True)
+ # sr = try_to_request(
+ # self["subject"]["project"].interface,
+ # url_sr
+ # )
+ # # nifti = self["scan"]["session"]["subject"]["project"].interface.get(url_nifti, allow_redirects=True)
+ # sr.raise_for_status()
+ #
+ # with open(os.path.join(complet_path, filename), 'wb') as sr_file:
+ # sr_file.write(sr.content)
+
+ def get_list_assessors(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(format_message(self.level_verbose, self.level_tab, f"Assessors: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["subject"]["project"].interface,
+ self["subject"]["project"].url_xnat
+ + dict_uris["assessors"](
+ self["subject"]["project"]["ID"],
+ self["subject"]["ID"],
+ self["ID"]
+
+ )
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_assessors = dict()
+ for row in reader:
+ try:
+ self.dict_assessors[row["ID"]] = Assessors(self, self.level_verbose + 1, self.level_tab + 1, **row)
+ except Exception as e:
+ print(e)
+ # sys.exit(2)
+ continue
+ output.close()
+
+ def download(self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ # print("\033[7;0H\u001b[0K", end="",flush=True)
+ self.get_list_scans(verbose)
+ for scan_obj in self.dict_scans.values():
+ scan_obj.download(
+ path_download, bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+
+ # print("\033[18;0H\u001b[0K", end="",flush=True)
+ #self.get_list_struct_report(path_download, bool_list_resources, overwrite=False, verbose=verbose)
+
+ self.get_list_assessors(verbose)
+ for resource_obj in self.dict_assessors.values():
+
+ resource_obj.download(
+ path_download,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite, verbose=verbose)
+
+ self.get_list_session_resources(verbose)
+ for resource_obj in self.dict_resources.values():
+
+ # resource_obj.download(
+ # path_download,
+ # bool_list_resources=bool_list_resources,
+ # overwrite=overwrite, verbose=verbose)
+ pass
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+
diff --git a/xnat2mids/xnat/session_resource.py b/xnat2mids/xnat/session_resource.py
new file mode 100644
index 0000000..541feff
--- /dev/null
+++ b/xnat2mids/xnat/session_resource.py
@@ -0,0 +1,118 @@
+import csv
+import getpass
+import json
+import os
+import re
+import sys
+import time
+import traceback
+from io import StringIO
+from shutil import copyfile
+import requests
+from xnat2mids.xnat.request import try_to_request
+from xnat2mids.xnat.variables import types_files_xnat
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import reset_terminal
+from xnat2mids.xnat.variables import dict_paths
+from xnat2mids.xnat.variables import dict_uris
+
+
+
+
+class SessionResource(dict):
+ def __init__(self, session, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self["session"] = session
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+
+ def get_list_files(self, verbose):
+ output = StringIO()
+ if verbose:
+ print(format_message(
+ self.level_verbose, self.level_tab, f"Session resource file: {self['label']}"),
+ end=" ----> ",
+ flush=True
+ )
+ u = self["session"]["subject"]["project"].url_xnat + dict_uris["session_resource_files"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["label"]
+ )
+ output.write(
+ try_to_request(
+ self["session"]["subject"]["project"].interface,
+ self["session"]["subject"]["project"].url_xnat
+ + dict_uris["session_resource_files"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["label"]
+ )
+ ).text
+ )
+
+
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_resources = dict()
+ for row in reader:
+ self.dict_resources[row["Name"]] = dict(**row)
+ output.close()
+
+
+ def download_resource_file(self, path_download, filename, overwrite=False, verbose=False):
+ complet_path = (path_download + dict_paths["path_resources"](
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["label"]
+ )
+ )
+
+ resource_path = os.path.join(complet_path, filename)
+ if not overwrite and os.path.exists(resource_path):
+ if verbose: print("resource file already exist")
+ return
+ if verbose: print("Downloading resource file...", flush=True)
+ os.makedirs(complet_path, exist_ok=True)
+ url_resource = (self["session"]["subject"]["project"].url_xnat
+ + dict_uris["session_resource_files"](
+ self["session"]["subject"]["project"]["ID"],
+ self["session"]["subject"]["ID"],
+ self["session"]["ID"],
+ self["label"]
+ ).split("?")[0] + "/"
+ + filename
+ )
+ resource = try_to_request(
+ self["session"]["subject"]["project"].interface,
+ url_resource
+ )
+ # png = self["scan"]["session"]["subject"]["project"].interface.get(url_png, allow_redirects=True)
+ resource.raise_for_status()
+
+ with open(os.path.join(complet_path, filename), 'wb') as png_file:
+ png_file.write(resource.content)
+
+ def download(
+ self,
+ path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+
+ self.get_list_files(verbose)
+ is_metadata_saved = False
+
+ for index, file_obj in enumerate(self.dict_resources.values()):
+ self.download_resource_file(
+ path_download, file_obj["Name"], overwrite=overwrite, verbose=verbose
+ )
+
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
+ print(format_message(self.level_verbose + 1, self.level_tab + 1, "\u001b[0K"), end="", flush=True)
+
+
diff --git a/xnat2mids/xnat/subject.py b/xnat2mids/xnat/subject.py
new file mode 100644
index 0000000..87cd54c
--- /dev/null
+++ b/xnat2mids/xnat/subject.py
@@ -0,0 +1,46 @@
+import csv
+from io import StringIO
+from xnat2mids.xnat.session import Session
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import dict_uris
+from xnat2mids.xnat.request import try_to_request
+
+class Subject(dict):
+ def __init__(self, level_verbose, level_tab, **kwargs):
+ super().__init__(**kwargs)
+ self.level_verbose = level_verbose
+ self.level_tab = level_tab
+
+ def get_list_experiments(self, verbose):
+
+ output = StringIO()
+ if verbose: print(format_message(self.level_verbose, self.level_tab, f"Subject: {self['ID']}"), flush=True)
+ output.write(
+ try_to_request(
+ self["project"].interface,
+ self["project"].url_xnat
+ + dict_uris["experiments"](self["project"]["ID"], self["ID"])
+ ).text
+ )
+ output.seek(0)
+ reader = csv.DictReader(output)
+ self.dict_sessions = dict()
+ for row in reader:
+ self.dict_sessions[row["label"]] = Session(self, self.level_verbose + 1, self.level_tab + 1, **row)
+ output.close()
+
+ def download(self, path_download,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False
+ ):
+ print("\033[6;0H\u001b[0K", end="", flush=True)
+ self.get_list_experiments(verbose)
+ # move the cursor
+ for session_obj in self.dict_sessions.values():
+ session_obj.download(
+ path_download, bool_list_resources,
+ overwrite=overwrite, verbose=verbose
+ )
+
+ print(format_message(self.level_verbose, self.level_tab, "\u001b[0K"), end="", flush=True)
diff --git a/xnat2mids/xnat/variables.py b/xnat2mids/xnat/variables.py
new file mode 100644
index 0000000..d618711
--- /dev/null
+++ b/xnat2mids/xnat/variables.py
@@ -0,0 +1,55 @@
+types_files_xnat = "sdnbrm"
+
+reset_terminal = chr(27) + "[2J"
+
+dict_paths = {
+ "path_download": lambda s, e, sc, r: "{}/{}/scans/{}/resources/{}/files/".format(s, e, sc, r),
+ "path_download_roi": lambda s, e, ass, r: "{}/{}/assessors/{}/out/resources/{}/files".format(s, e, ass, r),
+ "path_resources": lambda s, e, r: "{}/{}/resources/{}/files".format(s, e, r)
+}
+dict_uris = {
+ "projects": "data/projects?format=csv",
+ "subjects": lambda p: "data/projects/{}/subjects?format=csv".format(p),
+ "experiments": lambda p, s: "data/projects/{}/subjects/{}/experiments?format=csv".format(p, s),
+ "session_resources": (
+ lambda p, s, e: "data/projects/{}/subjects/{}/experiments/{}/resources?format=csv".format(p, s, e)
+ ),
+ "session_resource_files": (
+ lambda p, s, e, r: "data/projects/{}/subjects/{}/experiments/{}/resources/{}/files?format=csv".format(p, s, e, r)
+ ),
+ "assessors": lambda p, s, e: "data/projects/{}/subjects/{}/experiments/{}/assessors?format=csv".format(p, s, e),
+ "assessors_resources": (
+ lambda p, s, e, ass:
+ "data/projects/{}/subjects/{}/experiments/{}/assessors/{}/out/resources?format=csv".format(p, s, e, ass)
+ ),
+ "assessor_resource_roi_files": (
+ lambda p, s, e, ass, r:
+ "data/projects/{}/subjects/{}/experiments/{}/assessors/{}/out/resources/{}/files?format=csv".format(
+ p, s, e, ass, r
+ )
+ ),
+ "scans": lambda p, s, e: "data/projects/{}/subjects/{}/experiments/{}/scans?format=csv".format(p, s, e),
+ "scan_resources": (
+ lambda p, s, e, sc:
+ "data/projects/{}/subjects/{}/experiments/{}/scans/{}/resources?format=csv".format(p, s, e, sc)
+ ),
+ "scan_resource_files": (
+ lambda p, s, e, sc, r:
+ "data/projects/{}/subjects/{}/experiments/{}/scans/{}/resources/{}/files?format=csv".format(p, s, e, sc, r)
+ )
+}
+
+
+# def format_message (line, tab_value, message):
+# return "\033[{:d};0H{:s}{:s}".format(
+# line,
+# " " * tab_value + ("-> " if tab_value > 0 else ""),
+# message)
+
+
+#def fformat_message (line, tab_value, message):
+# return f"\033[{line};0H{{' ' * tab_value} + ('-> ' if tab_value > 0 else '')}{message}"
+
+format_message = lambda line, tab_value, message: (
+ f"\033[{line};0H{' ' * tab_value + ('-> ' if tab_value > 0 else '')}{message}"
+)
\ No newline at end of file
diff --git a/xnat2mids/xnat/xnat_session.py b/xnat2mids/xnat/xnat_session.py
new file mode 100644
index 0000000..584abc5
--- /dev/null
+++ b/xnat2mids/xnat/xnat_session.py
@@ -0,0 +1,147 @@
+###############################################################################
+# Imports
+###############################################################################
+import csv
+import getpass
+import os
+import progressbar
+import requests
+from io import StringIO
+from xnat2mids.xnat.project import Project
+from xnat2mids.xnat.request import try_to_request
+from xnat2mids.xnat.variables import format_message
+from xnat2mids.xnat.variables import reset_terminal
+from xnat2mids.xnat.variables import dict_uris
+###############################################################################
+# Functions
+###############################################################################
+
+
+def list_directory_xnat(project_list):
+ project_list.sort()
+ loop = True
+ project_names = [path_.split(os.sep)[-1] for path_ in project_list]
+ while loop:
+ for i, project_item in enumerate(project_names):
+ if not i % 5:
+ print((""))
+ string = str(i + 1) + ") " + project_item
+ print("{0:20s}".format(string), end=" ", flush=True)
+ answer = input("\nChoose the project: ")
+ answer = str(answer)
+ answer_list = []
+ answer_list_aux = answer.split(' ')
+
+ for ans in answer_list_aux:
+ if ans.isdigit():
+ ans = int(ans) - 1
+ if ans >= len(project_names):
+ print("the number " + ans + " is not corrected, try again", flush=True)
+ break
+ else:
+ answer_list.append(project_names[ans])
+ else:
+ if not (any([ans in path_ for path_ in project_names])):
+ if ans == "exit":
+ exit(1)
+ else:
+ print("the project " + ans
+ + " is not corrected, try again")
+ break
+ else:
+ answer_list.append(ans)
+ else:
+ loop = False
+
+ return answer_list
+
+class XnatSession:
+
+ def __init__(self, url_xnat, user=None, password=None):
+ self.url_xnat = url_xnat
+ self.user = user
+ self.password = password
+ self.level_verbose = 0
+ self.level_tab = 0
+
+ def __enter__(self):
+ self.connect()
+ return self
+
+ def __exit__(self, exc_type, exc_val, exc_tb):
+ self.exit()
+
+ def connect(self):
+ self.interface = requests.Session()
+ if self.user and self.password:
+ self.interface.auth = (self.user, self.password)
+ else:
+ if not self.user:
+ self.user = input("username: ")
+ self.password = getpass.getpass("Password: ")
+ self.interface.auth = (self.user, self.password)
+
+ def exit(self):
+ self.interface.close()
+
+ def get_projects(self, verbose):
+ output = StringIO()
+ if verbose: print(self.url_xnat + dict_uris["projects"], flush=True)
+ output.write(
+ try_to_request(
+ self.interface, self.url_xnat
+ + dict_uris["projects"],
+ self.level_verbose,
+ self.level_tab
+ ).text
+ )
+ output.seek(0)
+ print(str(output))
+ reader = csv.DictReader(output)
+ self.dict_projects = dict()
+ for row in reader:
+ self.dict_projects[row["ID"]] = Project(self.url_xnat, self.interface, self.level_verbose + 5,
+ self.level_tab + 5, **row)
+ output.close()
+
+ def show_list_of_project(self, verbose):
+ """
+ This functions allows the user to visualize al projects in xnat aplication
+ NOT IN USE, NEXT UPLOAD
+ """
+ project_list = [key for key, _ in self.dict_projects.items()]
+
+ answer_list = list_directory_xnat(project_list)
+ if verbose: print("list of projects to download: {}".format(", ".join(answer_list)), flush=True)
+ return answer_list
+
+ def download_projects(self,
+ path_download,
+ with_department=True,
+ bool_list_resources=[False, False, True, False, False, False],
+ overwrite=False,
+ verbose=False):
+ self.get_projects(verbose)
+
+ project_list = self.show_list_of_project(verbose)
+ # clear console
+ print(reset_terminal, end="", flush=True)
+ print(format_message(self.level_verbose, self.level_tab, "Projects:"), end="", flush=True)
+ print(format_message(self.level_verbose + 3, self.level_tab, "Subject:"), end="", flush=True)
+ # move the cursor
+ bar_project = progressbar.ProgressBar(maxval=len(project_list), prefix="\033[2;0H").start()
+ bar_project.update(1)
+ bar_project.update(0)
+
+ for iter, key in enumerate(project_list):
+ self.dict_projects[key].download(
+ path_download,
+ with_department=with_department,
+ bool_list_resources=bool_list_resources,
+ overwrite=overwrite,
+ verbose=verbose
+ )
+ bar_project.update(iter + 1)
+ bar_project.finish()
+ format_message(self.level_verbose, self.level_tab, "")
+ print(format_message(16, 0, ""), end="", flush=True)