From d761866278fbfe6e98ea15b311f9aaf6267691f1 Mon Sep 17 00:00:00 2001 From: p286986 Date: Wed, 27 Nov 2019 15:17:31 +0100 Subject: [PATCH] Latest DICOM to NIfTI code --- ...ion_in_MI_and_DICOM2NIfTI-checkpoint.ipynb | 295 +++-- .../Orientation_in_MI_and_DICOM2NIfTI.ipynb | 1095 +++++++++++++++++ .../data/accurate/VOI_Clinical_T1.voi | Bin .../data/accurate/VOI_Clinical_T2.voi | Bin .../data/accurate/VOI_Clinical_T3.voi | Bin .../data/accurate/VOI_EARL_T1.voi | Bin .../data/accurate/VOI_EARL_T2.voi | Bin .../data/accurate/VOI_EARL_T3.voi | Bin .../data/nifti1/avg152T1_LR_nifti.nii.gz | Bin .../data/nifti1/avg152T1_RL_nifti.nii.gz | Bin .../data/nifti2/MNI152_T1_1mm_nifti2.nii.gz | Bin .../data/nifti2/avg152T1_LR_nifti2.nii.gz | Bin .../data/nifti2/avg152T1_RL_nifti2.nii.gz | Bin ...1.2019.01.23.16.58.21.983933.152911859.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911860.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911861.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911862.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911863.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911864.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911865.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911866.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911867.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911868.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911869.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911870.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911871.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911872.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911873.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911874.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911875.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911876.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911877.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911878.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911879.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911880.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911881.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911882.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911883.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911884.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911885.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911886.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911887.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911888.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911889.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911890.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911891.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911892.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911893.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911894.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911895.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911896.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911897.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911898.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911899.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911900.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911901.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911902.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911903.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911904.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911905.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911906.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911907.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911908.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911909.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911910.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911911.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911912.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911913.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911914.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911915.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911916.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911917.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911918.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911919.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911920.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911921.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911922.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911923.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911924.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911925.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911926.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911927.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911928.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911929.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911930.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911931.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911932.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911933.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911934.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911935.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911936.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911937.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911938.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911939.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911940.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911941.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911942.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911943.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911944.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911945.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911946.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911947.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911948.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911949.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911950.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911951.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911952.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911953.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911954.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911955.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911956.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911957.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911958.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911959.IMA | Bin ...2.2019.01.23.16.58.21.983933.152911960.IMA | Bin ...3.2019.01.23.16.58.21.983933.152911961.IMA | Bin ...4.2019.01.23.16.58.21.983933.152911962.IMA | Bin ...5.2019.01.23.16.58.21.983933.152911963.IMA | Bin ...6.2019.01.23.16.58.21.983933.152911964.IMA | Bin ...7.2019.01.23.16.58.21.983933.152911965.IMA | Bin ...8.2019.01.23.16.58.21.983933.152911966.IMA | Bin ...9.2019.01.23.16.58.21.983933.152911967.IMA | Bin ...0.2019.01.23.16.58.21.983933.152911968.IMA | Bin ...1.2019.01.23.16.58.21.983933.152911969.IMA | Bin .../data/phantom_EARL1/Thumbs.db | Bin .../data/pmod/avg152T1_PMOD.nii | Bin .../Coordinate_systems-checkpoint.png | Bin .../images/Coordinate_systems.png | Bin .../images/Row_and_column_major_order.png | Bin 129 files changed, 1238 insertions(+), 152 deletions(-) rename Orientation and DICOM2NIfTI/Orientation in MI and DICOM2NIfTI.ipynb => Orientation_and_DICOM2NIfTI/.ipynb_checkpoints/Orientation_in_MI_and_DICOM2NIfTI-checkpoint.ipynb (95%) create mode 100644 Orientation_and_DICOM2NIfTI/Orientation_in_MI_and_DICOM2NIfTI.ipynb rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_Clinical_T1.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_Clinical_T2.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_Clinical_T3.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_EARL_T1.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_EARL_T2.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/accurate/VOI_EARL_T3.voi (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/nifti1/avg152T1_LR_nifti.nii.gz (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/nifti1/avg152T1_RL_nifti.nii.gz (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/nifti2/MNI152_T1_1mm_nifti2.nii.gz (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/nifti2/avg152T1_LR_nifti2.nii.gz (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/nifti2/avg152T1_RL_nifti2.nii.gz (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0001.2019.01.23.16.58.21.983933.152911859.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0002.2019.01.23.16.58.21.983933.152911860.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0003.2019.01.23.16.58.21.983933.152911861.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0004.2019.01.23.16.58.21.983933.152911862.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0005.2019.01.23.16.58.21.983933.152911863.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0006.2019.01.23.16.58.21.983933.152911864.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0007.2019.01.23.16.58.21.983933.152911865.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0008.2019.01.23.16.58.21.983933.152911866.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0009.2019.01.23.16.58.21.983933.152911867.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0010.2019.01.23.16.58.21.983933.152911868.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0011.2019.01.23.16.58.21.983933.152911869.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0012.2019.01.23.16.58.21.983933.152911870.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0013.2019.01.23.16.58.21.983933.152911871.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0014.2019.01.23.16.58.21.983933.152911872.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0015.2019.01.23.16.58.21.983933.152911873.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0016.2019.01.23.16.58.21.983933.152911874.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0017.2019.01.23.16.58.21.983933.152911875.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0018.2019.01.23.16.58.21.983933.152911876.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0019.2019.01.23.16.58.21.983933.152911877.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0020.2019.01.23.16.58.21.983933.152911878.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0021.2019.01.23.16.58.21.983933.152911879.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0022.2019.01.23.16.58.21.983933.152911880.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0023.2019.01.23.16.58.21.983933.152911881.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0024.2019.01.23.16.58.21.983933.152911882.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0025.2019.01.23.16.58.21.983933.152911883.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0026.2019.01.23.16.58.21.983933.152911884.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0027.2019.01.23.16.58.21.983933.152911885.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0028.2019.01.23.16.58.21.983933.152911886.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0029.2019.01.23.16.58.21.983933.152911887.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0030.2019.01.23.16.58.21.983933.152911888.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0031.2019.01.23.16.58.21.983933.152911889.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0032.2019.01.23.16.58.21.983933.152911890.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0033.2019.01.23.16.58.21.983933.152911891.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0034.2019.01.23.16.58.21.983933.152911892.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0035.2019.01.23.16.58.21.983933.152911893.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0036.2019.01.23.16.58.21.983933.152911894.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0037.2019.01.23.16.58.21.983933.152911895.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0038.2019.01.23.16.58.21.983933.152911896.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0039.2019.01.23.16.58.21.983933.152911897.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0040.2019.01.23.16.58.21.983933.152911898.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0041.2019.01.23.16.58.21.983933.152911899.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0042.2019.01.23.16.58.21.983933.152911900.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0043.2019.01.23.16.58.21.983933.152911901.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0044.2019.01.23.16.58.21.983933.152911902.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0045.2019.01.23.16.58.21.983933.152911903.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0046.2019.01.23.16.58.21.983933.152911904.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0047.2019.01.23.16.58.21.983933.152911905.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0048.2019.01.23.16.58.21.983933.152911906.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0049.2019.01.23.16.58.21.983933.152911907.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0050.2019.01.23.16.58.21.983933.152911908.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0051.2019.01.23.16.58.21.983933.152911909.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0052.2019.01.23.16.58.21.983933.152911910.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0053.2019.01.23.16.58.21.983933.152911911.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0054.2019.01.23.16.58.21.983933.152911912.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0055.2019.01.23.16.58.21.983933.152911913.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0056.2019.01.23.16.58.21.983933.152911914.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0057.2019.01.23.16.58.21.983933.152911915.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0058.2019.01.23.16.58.21.983933.152911916.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0059.2019.01.23.16.58.21.983933.152911917.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0060.2019.01.23.16.58.21.983933.152911918.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0061.2019.01.23.16.58.21.983933.152911919.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0062.2019.01.23.16.58.21.983933.152911920.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0063.2019.01.23.16.58.21.983933.152911921.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0064.2019.01.23.16.58.21.983933.152911922.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0065.2019.01.23.16.58.21.983933.152911923.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0066.2019.01.23.16.58.21.983933.152911924.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0067.2019.01.23.16.58.21.983933.152911925.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0068.2019.01.23.16.58.21.983933.152911926.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0069.2019.01.23.16.58.21.983933.152911927.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0070.2019.01.23.16.58.21.983933.152911928.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0071.2019.01.23.16.58.21.983933.152911929.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0072.2019.01.23.16.58.21.983933.152911930.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0073.2019.01.23.16.58.21.983933.152911931.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0074.2019.01.23.16.58.21.983933.152911932.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0075.2019.01.23.16.58.21.983933.152911933.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0076.2019.01.23.16.58.21.983933.152911934.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0077.2019.01.23.16.58.21.983933.152911935.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0078.2019.01.23.16.58.21.983933.152911936.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0079.2019.01.23.16.58.21.983933.152911937.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0080.2019.01.23.16.58.21.983933.152911938.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0081.2019.01.23.16.58.21.983933.152911939.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0082.2019.01.23.16.58.21.983933.152911940.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0083.2019.01.23.16.58.21.983933.152911941.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0084.2019.01.23.16.58.21.983933.152911942.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0085.2019.01.23.16.58.21.983933.152911943.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0086.2019.01.23.16.58.21.983933.152911944.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0087.2019.01.23.16.58.21.983933.152911945.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0088.2019.01.23.16.58.21.983933.152911946.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0089.2019.01.23.16.58.21.983933.152911947.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0090.2019.01.23.16.58.21.983933.152911948.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0091.2019.01.23.16.58.21.983933.152911949.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0092.2019.01.23.16.58.21.983933.152911950.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0093.2019.01.23.16.58.21.983933.152911951.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0094.2019.01.23.16.58.21.983933.152911952.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0095.2019.01.23.16.58.21.983933.152911953.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0096.2019.01.23.16.58.21.983933.152911954.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0097.2019.01.23.16.58.21.983933.152911955.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0098.2019.01.23.16.58.21.983933.152911956.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0099.2019.01.23.16.58.21.983933.152911957.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0100.2019.01.23.16.58.21.983933.152911958.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0101.2019.01.23.16.58.21.983933.152911959.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0102.2019.01.23.16.58.21.983933.152911960.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0103.2019.01.23.16.58.21.983933.152911961.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0104.2019.01.23.16.58.21.983933.152911962.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0105.2019.01.23.16.58.21.983933.152911963.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0106.2019.01.23.16.58.21.983933.152911964.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0107.2019.01.23.16.58.21.983933.152911965.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0108.2019.01.23.16.58.21.983933.152911966.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0109.2019.01.23.16.58.21.983933.152911967.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0110.2019.01.23.16.58.21.983933.152911968.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0111.2019.01.23.16.58.21.983933.152911969.IMA (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/phantom_EARL1/Thumbs.db (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/data/pmod/avg152T1_PMOD.nii (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/images/.ipynb_checkpoints/Coordinate_systems-checkpoint.png (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/images/Coordinate_systems.png (100%) rename {Orientation and DICOM2NIfTI => Orientation_and_DICOM2NIfTI}/images/Row_and_column_major_order.png (100%) diff --git a/Orientation and DICOM2NIfTI/Orientation in MI and DICOM2NIfTI.ipynb b/Orientation_and_DICOM2NIfTI/.ipynb_checkpoints/Orientation_in_MI_and_DICOM2NIfTI-checkpoint.ipynb similarity index 95% rename from Orientation and DICOM2NIfTI/Orientation in MI and DICOM2NIfTI.ipynb rename to Orientation_and_DICOM2NIfTI/.ipynb_checkpoints/Orientation_in_MI_and_DICOM2NIfTI-checkpoint.ipynb index adf37b2..d3765a9 100644 --- a/Orientation and DICOM2NIfTI/Orientation in MI and DICOM2NIfTI.ipynb +++ b/Orientation_and_DICOM2NIfTI/.ipynb_checkpoints/Orientation_in_MI_and_DICOM2NIfTI-checkpoint.ipynb @@ -381,7 +381,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 3, "metadata": {}, "outputs": [ { @@ -392,10 +392,7 @@ "\n", "PET image. Processing...\n", "Static scan. Processing...\n", - "Ideal Image Orientation (0020,0037). Processing...\n", - "Head First Supine (HFS). Processing...\n", - "PET slice z-coordinate decreases -> Flip in z-coordinates applied\n", - "DICOM converted to NIfTI: C:\\Users\\vallezgard\\NIfTI\\data\\output\\s1_2400s_Phantom_EARL1.nii\n" + "DICOM converted to NIfTI: D:\\MyFiles\\Documents\\Work\\DICOM_files\\Test\\s1_300s_Phantom.nii\n" ] } ], @@ -423,6 +420,8 @@ "\n", "(0028,1053) Slope\n", "\n", + "(0054,0081) Number of slices per frame\n", + "\n", "(0054,1000) Series Type of the scan\n", "\n", "(0054,0414) Patient Gantry Relationship Code Sequence, i.e. orientation of the patient within the gantry.(Empty if Unknown)\n", @@ -436,10 +435,11 @@ "!cls\n", "## Libraries\n", "import os\n", - "import numpy as np\n", - "import nibabel as nib\n", + "import sys\n", "import pydicom\n", + "import numpy as np\n", "import tkinter as tk\n", + "import nibabel as nib\n", "from tkinter import filedialog\n", "\n", "## Input data\n", @@ -452,104 +452,107 @@ "input_dicom_dir = os.path.abspath(filedialog.askdirectory(title=\"Please select the input DICOM folder\"))\n", "\n", "root.deiconify() # Makes the window visible again\n", + "root.withdraw()\n", "output_dir = os.path.abspath(filedialog.askdirectory(title=\"Please select a folder to save output NIfTI file(s)\"))\n", - "root.destroy()\n", + "root.destroy() # Destroys the root window along with all other tkinter widgets\n", "\n", - "study_name = 'Phantom_EARL1'\n", + "study_name = os.path.basename(input_dicom_dir) # The study name is the same as input DICOM directory name\n", "\n", "## Predefined variables\n", "ideal_Image_Orientation = ['1', '0', '0', '0', '1', '0']\n", "\n", "## Functions\n", "def read_dicom_files(input_dicom_dir):\n", + " \n", + " # Read the DICOM dataset from the input directory. \n", + " # If the DICOM dataset is not stored in accordance with the DICOM Standard File Format, SET force to True.\n", + " # Do not read files with .db or .xml suffixes (to avoid Thumbs.db and VinciDC0.xml files). \n", + " # ADD more such files to avoid later as required!\n", + " \n", " dicom_files = os.listdir(input_dicom_dir)\n", " \n", " try:\n", - " ds_list = [pydicom.dcmread(os.path.join(input_dicom_dir, filename), force = False) \\\n", - " for filename in dicom_files \\\n", - " if filename.endswith(('.IMA','.dcm'))]\n", + " dcm_dataset = [pydicom.dcmread(os.path.join(input_dicom_dir, filename), force = False) \\\n", + " for filename in os.listdir(input_dicom_dir) \\\n", + " if not filename.endswith(('.db','.xml'))]\n", " except:\n", - " sys.exit(\"Not a valid DICOM files were found. Only .IMA and .dcm is implemented.\")\n", + " sys.exit(\"Invalid DICOM file(s) was found.\")\n", " \n", - " return ds_list\n", + " return dcm_dataset\n", "\n", - "def sort_dicom_files(ds_list): \n", - " sorted_ds_list = ds_list.copy()\n", - " sorted_ds_list.sort(key = lambda x: int(x.ImageIndex))\n", + "def get_z_coordinates(dcm_dataset):\n", " \n", - " return sorted_ds_list\n", + " # Get the z_coordinates based on the following Required tags. \n", "\n", - "def get_img_volume(sorted_ds_list):\n", - " # Get the voxel intensity array of each slice and stack it in the z-direction\n", + " # Info:\n", + " # direction cosines: https://en.wikipedia.org/wiki/Direction_cosine\n", + " # http://mathworld.wolfram.com/DirectionCosine.html\n", + " # cross product: https://en.wikipedia.org/wiki/Cross_product\n", + " # http://mathworld.wolfram.com/CrossProduct.html\n", + " # dot product: https://en.wikipedia.org/wiki/Dot_product\n", + " # http://mathworld.wolfram.com/DotProduct.html\n", " \n", - " # Transpose the array to change the array order from row-major to column-major\n", - " # ToDo : Preallocate variable\n", - " img_volume_data = np.transpose(sorted_ds_list[0].pixel_array)\n", + " nr_of_slices = dcm_dataset[0].NumberOfSlices\n", " \n", - " for ds in sorted_ds_list[1:]:\n", - " img_slice_data = ds.pixel_array\n", - " img_slice_data_transposed = img_slice_data.T\n", - " img_volume_data = np.dstack((img_volume_data, img_slice_data_transposed))\n", + " # x and y direction cosines\n", + " x_dir_cos = np.array(list(map(float,dcm_dataset[0].ImageOrientationPatient[:3])))\n", + " y_dir_cos = np.array(list(map(float,dcm_dataset[0].ImageOrientationPatient[3:])))\n", " \n", - " Image_Orientation = sorted_ds_list[0].ImageOrientationPatient # (0020,0037)\n", + " # For vectors a and b, a × b vector is perpendicular to both a and b and thus normal to the plane containing them\n", + " z_dir_cos = np.cross(x_dir_cos, y_dir_cos)\n", " \n", - " Patient_Position = sorted_ds_list[0].PatientPosition # (0018,5100)\n", + " image_position_list = [dcm_dataset[i].ImagePositionPatient._list \\\n", + " for i in range(0, nr_of_slices)]\n", " \n", - " patient_orientation_code = sorted_ds_list[0].PatientGantryRelationshipCodeSequence._list[0].CodeValue # (0054,0414)\n", - " patient_orientation = sorted_ds_list[0].PatientGantryRelationshipCodeSequence._list[0].CodeMeaning \n", - " \n", - " \n", - " Image_Position_0 = sorted_ds_list[0].ImagePositionPatient # (0020,0032)\n", - " Image_Position_1 = sorted_ds_list[1].ImagePositionPatient # (0020,0032)\n", - " \n", - " # Check for the Patient Position: HFS or FFS, and reorder the slices in z-direction accordingly\n", - " if str(Image_Orientation) == str(ideal_Image_Orientation):\n", - " \n", - " print(\"Ideal Image Orientation (0020,0037). Processing...\")\n", - " \n", - " if Patient_Position == \"HFS\" and patient_orientation_code == 'F-10470' and patient_orientation == 'headfirst':\n", - " \n", - " print(\"Head First Supine (HFS). Processing...\")\n", - " \n", - " if int(Image_Position_0[2]) > int(Image_Position_1[2]):\n", - " \n", - " print(\"PET slice z-coordinate decreases -> Flip in z-coordinates applied\")\n", - " \n", - " final_ds_list = sorted_ds_list.copy() \n", - " final_ds_list.reverse()\n", - " \n", - " img_volume_data_final = np.transpose(final_ds_list[0].pixel_array)\n", - " \n", - " for ds in final_ds_list[1:]:\n", - " img_slice_data_final = ds.pixel_array\n", - " img_slice_data_final_transposed = img_slice_data_final.T\n", - " img_volume_data_final = np.dstack((img_volume_data_final, img_slice_data_final_transposed))\n", - " \n", - " elif int(Image_Position_0[2]) < int(Image_Position_1[2]):\n", - " \n", - " print(\"PET slice z-coordinate increases. Please, check DICOM information.\")\n", - " \n", - " elif Patient_Position == \"FFS\" and patient_orientation_code == 'F-10480' and patient_orientation == 'feet-first': \n", - " print(\"Feet First Supine (FFS). Processing...\")\n", - " \n", - " if int(Image_Position_0[2]) < int(Image_Position_1[2]): \n", - " print(\"PET slice z-coordinate increases. Processing...\") \n", - " img_volume_data_final = img_volume_data\n", - " \n", - " elif int(Image_Position_0[2]) > int(Image_Position_1[2]): \n", - " print(\"PET slice z-coordinate decreases. Please, check DICOM information.\") \n", - " \n", - " else:\n", - " sys.exit(\"Sorry, this orientation was not implemented yet.\")\n", - " \n", - " else:\n", - " sys.exit(\"Please, check Image Orientation tag (0020,0037) and Patient Gantry Relationship tag (0054,0414)\")\n", - " \n", - " return img_volume_data_final\n", + " # Converting the x,y,z coordinates from str to float\n", + " image_position_patient = [[float(coordinate) \\\n", + " for coordinate in image_position] \\\n", + " for image_position in image_position_list]\n", "\n", - "''''' No need to anonymize now the DICOM\n", - "def get_header_data(dcm_set, output_filename): \n", + " # Vector dot product or scalar inner product to get z coordinates\n", + " z_coordinates = np.dot(image_position_patient, z_dir_cos)\n", + " \n", + " return z_coordinates, nr_of_slices\n", + "\n", + "def sort_dicom_files(dcm_dataset):\n", + " \n", + " # Sort the DICOM dataset based on the z_coordinates.\n", + "\n", + " z_coordinates, nr_of_slices = get_z_coordinates(dcm_dataset)\n", + " sorted_dcm_dataset = [x for _,x in sorted(zip(z_coordinates, dcm_dataset))]\n", + " \n", + " return sorted_dcm_dataset, nr_of_slices\n", + "\n", + "def get_voxel_size_z(dcm_dataset):\n", + " \n", + " # The absolute difference between two consecutive z_coordinates gives the voxel size along the z-direction, in mm. \n", + " \n", + " z_coordinates, _ = get_z_coordinates(dcm_dataset)\n", + " voxel_size_z = abs(z_coordinates[0] - z_coordinates[1])\n", + " \n", + " return voxel_size_z\n", + "\n", + "def get_img_volume(dcm_dataset): \n", + " \n", + " # 1. Get the voxel intensity array of each slice\n", + " # 2. Transpose the array to account for the change in array order from row-major to column-major\n", + " # 3. Stack it in the z-direction\n", + " \n", + " img_volume_array = np.transpose(dcm_dataset[0].pixel_array)\n", + " \n", + " for dcm_slice in dcm_dataset[1:]:\n", + " img_slice_array = np.transpose(dcm_slice.pixel_array)\n", + " img_volume_array = np.dstack((img_volume_array, img_slice_array))\n", + " \n", + " return img_volume_array\n", + "\n", + "def get_header_data(dcm_set, output_filename):\n", + "\n", + " # Dump the DICOM header into a text file with the same filename as NIFTI \n", + " # Set anonymize_flag = \"Y\" to not add patient data tags in the text file\n", + " \n", " anonymize_flag = \"Y\"\n", + " \n", " patient_tags = ['PatientID', 'PatientName', 'PatientBirthDate']\n", " \n", " output_txt_filename = output_filename + \".txt\"\n", @@ -559,107 +562,96 @@ " if anonymize_flag == \"Y\":\n", " if header_tag not in [dcm_set[0].data_element(tag) for tag in patient_tags]:\n", " file.write(str(header_tag) + '\\n')\n", - " file.close() \n", - "'''''\n", + " file.close() \n", "\n", - "def convert_to_nifti(dcm_set, output_file, frame_number, scan_duration_in_sec):\n", + "def convert_to_nifti(dcm_dataset, output_nifti_file):\n", " \n", - " img_volume_data_final = get_img_volume(dcm_set)\n", + " img_volume_array_in_LPS = get_img_volume(dcm_dataset)\n", " \n", " # From LPS in DICOM to RAS in NIfTI\n", - " img_data = np.fliplr(img_volume_data_final)\n", - " img_data_volume = np.flipud(img_data)\n", - " #img_data_volume = np.rot90(img_volume_data_final, 2) # Alternative: 180 rotation instead of two flips\n", + " img_volume_array_in_RAS = np.flipud(np.fliplr(img_volume_array_in_LPS))\n", + " #img_volume_array_in_RAS = np.rot90(img_volume_array_in_LPS, 2) # Alternative: 180 rotation instead of two flips\n", " \n", - " Pixel_Spacing = dcm_set[0].PixelSpacing\n", + " pixel_spacing = dcm_dataset[0].PixelSpacing\n", " \n", - " Slice_Thickness = dcm_set[0].SliceThickness\n", + " voxel_size_z = get_voxel_size_z(dcm_dataset)\n", " \n", - " voxel_size = np.array([float(Pixel_Spacing[0]), float(Pixel_Spacing[1]), float(Slice_Thickness)])\n", + " voxel_size = np.array([float(pixel_spacing[0]), float(pixel_spacing[1]), voxel_size_z])\n", " \n", - " slope = dcm_set[0].RescaleSlope # (0028,1053) \n", - " intercept = dcm_set[0].RescaleIntercept # (0028,1052)\n", + " slope = dcm_dataset[0].RescaleSlope # (0028,1053) \n", + " intercept = dcm_dataset[0].RescaleIntercept # (0028,1052)\n", " \n", " # Change the datatype from int to float and apply slope and intercept to the array\n", - " img_data_volume = img_data_volume.astype(float)\n", - " img_data_volume_final = (img_data_volume * slope) + intercept\n", + " img_volume_array = (img_volume_array_in_RAS.astype(float) * slope) + intercept\n", " \n", " # Origin of coordinates: centre of the image\n", - " center = (voxel_size * img_data_volume.shape) / 2\n", + " center = (voxel_size * img_volume_array.shape) / 2\n", " \n", " # Affine matrix\n", " apply_affine = np.diag([voxel_size[0], voxel_size[1], voxel_size[2], 1])\n", " apply_affine[:3,3] = np.array([-center[0], -center[1], -center[2]])\n", " \n", - " nii_out = nib.Nifti1Image(img_data_volume_final, apply_affine)\n", + " nii_out = nib.Nifti1Image(img_volume_array, apply_affine)\n", " \n", " # Adjust NIfTI header\n", " nii_out.header['qform_code'] = 1\n", " nii_out.header['sform_code'] = 2\n", "\n", - " #nii_out.set_data_dtype(np.float32)\n", - " #xyz_unit = 'mm'\n", - " #nii_out.header.set_xyzt_units(xyz=xyz_unit)\n", - " #nii_out.header.set_data_offset(352)\n", - " #nii_out.header['extents'] = 16384 # Remove?\n", - " #nii_out.header['regular'] = 'r' # Remove?\n", - " #nii_out.header['intent_name'] = 0 # Remove?\n", - " #nii_out.header['cal_max'] = np.max(img_data_volume_final) # Check if present in header if not specified\n", - " #nii_out.header['cal_min'] = np.min(img_data_volume_final) # Check if present in header if not specified \n", + " nii_out.set_data_dtype(np.float32) # Float32: slope=1 and intercept=0. Software does not have to apply manually. \n", + " nii_out.header.set_xyzt_units(xyz='mm') # Set the voxel size unit manually\n", + " nii_out.header['intent_code'] = 0 # None\n", + " nii_out.header['intent_name'] = 'PET'\n", + " nii_out.header['cal_max'] = np.max(img_volume_array) # For software to apply proper color scaling for visualization\n", + " nii_out.header['cal_min'] = np.min(img_volume_array) \n", " \n", " # Save the NIfTI file\n", - " nib.save(nii_out, output_file) \n", + " nib.save(nii_out, output_nifti_file) \n", " \n", - " print(\"DICOM converted to NIfTI: \",output_file)\n", + " print(\"DICOM converted to NIfTI: \",output_nifti_file)\n", "\n", "## Read DICOM\n", - "ds_list = read_dicom_files(input_dicom_dir) # Read the DICOM files from the directory \n", - "sorted_ds_list = sort_dicom_files(ds_list) # Sort the DICOM files based on Image Index (0054,1330)\n", + "dcm_dataset = read_dicom_files(input_dicom_dir) # Read the DICOM files from the directory \n", + "sorted_dcm_dataset, nr_of_slices = sort_dicom_files(dcm_dataset) # Sort the DICOM files based on z-coordinates\n", "\n", "# Check DICOM modality\n", - "if sorted_ds_list[0].Modality == 'PT' and sorted_ds_list[0].SOPClassUID == '1.2.840.10008.5.1.4.1.1.128': \n", + "if sorted_dcm_dataset[0].Modality == 'PT' and sorted_dcm_dataset[0].SOPClassUID == '1.2.840.10008.5.1.4.1.1.128': \n", " print(\"PET image. Processing...\")\n", " \n", - " # Number of slices per frame\n", - " nr_of_slices = sorted_ds_list[0].NumberOfSlices\n", - " \n", " frame_number = 1\n", - " \n", - " nr_of_dcm_files = len(sorted_ds_list)\n", - " \n", - " scan_series_type = sorted_ds_list[0].SeriesType[0] # (0054,1000) \n", + " scan_series_type = sorted_dcm_dataset[0].SeriesType[0] # (0054,1000) \n", " \n", " if scan_series_type == 'STATIC' or scan_series_type == 'WHOLE BODY': \n", " print(\"Static scan. Processing...\") \n", - " scan_duration_in_msec = sorted_ds_list[0].ActualFrameDuration \n", - " scan_duration_in_sec = int(scan_duration_in_msec / 1000) \n", - " output_file = \"s\" + str(frame_number) + \"_\" + str(scan_duration_in_sec) + \"s_\" + study_name + \".nii\"\n", - " output_file = os.path.join(output_dir, output_file)\n", - " convert_to_nifti(sorted_ds_list, output_file, frame_number, scan_duration_in_msec) \n", + " scan_duration_in_sec = int(sorted_dcm_dataset[0].ActualFrameDuration / 1000) \n", + " output_filename = \"s\" + str(frame_number) + \"_\" + str(scan_duration_in_sec) + \"s_\" + study_name \n", + " output_nifti_filename = output_filename + \".nii\"\n", + " output_nifti_file = os.path.join(output_dir, output_nifti_filename)\n", + " convert_to_nifti(sorted_dcm_dataset, output_nifti_file) \n", + " get_header_data(sorted_dcm_dataset, output_filename) # Dump the DICOM header into text file\n", " \n", " elif scan_series_type == 'DYNAMIC': \n", " print(\"Dynamic scan. Processing...\") \n", - " nr_of_time_frames = sorted_ds_list[0].NumberOfTimeSlices \n", - " \n", - " # split files in multiple of nr_of_slices. Each frame has \"nr_of_slices\" slices \n", - " dcm_set_split_by_frames = [sorted_ds_list[x:x+nr_of_slices] for x in range(0, len(sorted_ds_list), nr_of_slices)]\n", + "\n", + " # Split DICOM dataset in multiple of number of slices per frame. \n", + " dcm_dataset_split_by_frames = [sorted_dcm_dataset[x:x+nr_of_slices] \\\n", + " for x in range(0, len(sorted_dcm_dataset), nr_of_slices)]\n", " \n", - " for dcm_set in dcm_set_split_by_frames: \n", - " scan_duration_in_msec = dcm_set[0].ActualFrameDuration \n", - " scan_duration_in_sec = int(scan_duration_in_msec / 1000) \n", - " output_file = \"s\" + str(frame_number) + \"_\" + str(scan_duration_in_sec) + \"s_\" + study_name + \".nii\"\n", - " output_file = os.path.join(output_dir, output_file)\n", - " convert_to_nifti(dcm_set, output_file, frame_number, scan_duration_in_sec) \n", + " for dcm_dataset in dcm_dataset_split_by_frames:\n", + " scan_duration_in_sec = int(dcm_dataset[0].ActualFrameDuration / 1000)\n", + " output_nifti_filename = output_filename + \".nii\"\n", + " output_nifti_file = os.path.join(output_dir, output_nifti_filename)\n", + " convert_to_nifti(sorted_dcm_dataset, output_nifti_file) \n", + " get_header_data(sorted_dcm_dataset, output_filename) # Dump the DICOM header into text file\n", " frame_number += 1 \n", " \n", " elif scan_series_type == 'GATED':\n", " sys.exit(\"GATED scans are not supported yet\")\n", " \n", " else:\n", - " sys.exit(\"Please, check Scan Series Type (0054,1000)\")\n", + " sys.exit(\"Please check Scan Series Type (0054,1000)\")\n", " \n", "else: \n", - " sys.exit(\"Please, check Image Modality\")\n" + " sys.exit(\"Please check Image Modality\")\n" ] }, { @@ -701,7 +693,7 @@ "shape_Clinical = (111,400,400)\n", "\n", "# Reconstruction protocol used\n", - "recon_used = \"Clinical\" # Options: Clinical, EARL1 and EALR2\n", + "recon_used = \"Clinical\" # Options: Clinical, EARL1 and EARL2\n", "\n", "## Example dataset\n", "cwd = os.getcwd()\n", @@ -729,21 +721,22 @@ "elif recon_used == 'EARL1' or recon_used == 'EARL2':\n", " reshaped_voi_data = np.reshape(voi_data, shape_EARL)\n", " voxel_size = voxel_size_EARL\n", + " \n", "else: \n", " sys.exit('This reconstruction was not implemented yet')\n", "\n", "# Transpose the array to change the array order from row-major to column-major \n", "voi_swapped_axes = reshaped_voi_data.T # Also: np.swapaxes(reshaped_voi_data, 2, 0) #\n", "\n", - "# RAS in NIfTI: From Posterior to Anterior\n", - "flipped_voi = np.flipud(voi_swapped_axes)\n", - "\n", "# Binary Mask of 0's and 1's\n", "voi_swapped_axes[voi_swapped_axes <= 50] = 0\n", "voi_swapped_axes[voi_swapped_axes > 50] = 1\n", "\n", + "# RAS in NIfTI: From Posterior to Anterior\n", + "flipped_voi = np.flipud(voi_swapped_axes)\n", + "\n", "# Shape of image\n", - "matrix_size = np.array(voi_swapped_axes.shape)\n", + "matrix_size = np.array(flipped_voi.shape)\n", "\n", "# Centre of image\n", "center = (voxel_size * matrix_size) / 2\n", @@ -755,21 +748,19 @@ "voi_nifti_out = nib.Nifti1Image(flipped_voi, apply_affine)\n", "\n", "# Set header\n", - "voi_nifti_out.set_data_dtype(np.uint8)\n", + "voi_nifti_out.set_data_dtype(np.int8)\n", "voi_nifti_out.header['qform_code'] = 1\n", "voi_nifti_out.header['sform_code'] = 2\n", - "#xyz_unit = 'mm'\n", - "#voi_nifti_out.header.set_xyzt_units(xyz=xyz_unit)\n", - "#voi_nifti_out.header.set_data_offset(352)\n", - "#voi_nifti_out.header['extents'] = 16384\n", - "#voi_nifti_out.header['regular'] = 'r'\n", - "#voi_nifti_out.header['intent_name'] = 0\n", - "#voi_nifti_out.header['cal_max'] = np.max(voi_swapped_axes)\n", - "#voi_nifti_out.header['cal_min'] = np.min(voi_swapped_axes)\n", + "voi_nifti_out.header.set_xyzt_units(xyz='mm') # Set the voxel size unit manually\n", + "voi_nifti_out.header.set_data_offset(352)\n", + "voi_nifti_out.header['intent_code'] = 0 # None\n", + "voi_nifti_out.header['intent_name'] = 'PET_VOI'\n", + "voi_nifti_out.header['cal_max'] = np.max(flipped_voi) # For software to apply proper color scaling for visualization\n", + "voi_nifti_out.header['cal_min'] = np.min(flipped_voi) \n", "\n", "# Save the NIfTI file\n", "nib.save( voi_nifti_out, os.path.join(output_dir, voi_nifti_out_filename) )\n", - "print('Congratulations! ACCURATE VOI was saved as NIfTI file')\n", + "print('ACCURATE VOI was successfully saved as NIfTI file')\n", "print(os.path.join(output_dir, voi_nifti_out_filename))\n" ] }, @@ -1096,7 +1087,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.1" + "version": "3.7.3" } }, "nbformat": 4, diff --git a/Orientation_and_DICOM2NIfTI/Orientation_in_MI_and_DICOM2NIfTI.ipynb b/Orientation_and_DICOM2NIfTI/Orientation_in_MI_and_DICOM2NIfTI.ipynb new file mode 100644 index 0000000..d3765a9 --- /dev/null +++ b/Orientation_and_DICOM2NIfTI/Orientation_in_MI_and_DICOM2NIfTI.ipynb @@ -0,0 +1,1095 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# ORIENTATION IN MEDICAL IMAGING\n", + " \n", + "![Coordinate Systems][Coordinate Systems]\n", + "\n", + "## World Coordinate System:\n", + "Coordinate system in which the patient is positionned in the PET, CT or MR\n", + "\n", + "## Anatomical Coordinate System:\n", + "- *Axial plane* is parallel to the groud and separates the head (Superior) from the feet (Inferior). It corresponds with the $z$ axis in the world coordinate system.\n", + "- *Coronal plane* is perpendicular to the ground and separates the front (Anterior) from the back (Posterior). It corresponds with the $y$ axis world coordinate system.\n", + "- *Sagittal plane* separates the left from the right. It corresponds with the $x$ axis world coordinate system.\n", + "\n", + "Most common definitions are:\n", + "- **LPS** (Left, Posterior, Superior): used in DICOM format and by (Simple)ITK\n", + "$$ \n", + "LPS = \\begin{Bmatrix}\n", + " \\text{from right towards left} \\\\\n", + " \\text{from anterior towards posterior} \\\\\n", + " \\text{from inferior towards superior}\n", + " \\end{Bmatrix}\n", + "$$\n", + "\n", + "- **RAS** (Right, Anterior, Superior) or Neurological convention: used by NIfTI format and by NiBabel and SPM\n", + "$$ \n", + "RAS = \\begin{Bmatrix}\n", + " \\text{from left towards right} \\\\\n", + " \\text{from posterior towards anterior} \\\\\n", + " \\text{from inferior towards superior}\n", + " \\end{Bmatrix}\n", + "$$ \n", + "\n", + "- **LAS** (Left, Anterior, Superoir) or Radiological convetion: used by ANALYZE format\n", + "$$ \n", + "LAS = \\begin{Bmatrix}\n", + " \\text{from right towards left} \\\\\n", + " \\text{from posterior towards anterior} \\\\\n", + " \\text{from inferior towards superior}\n", + " \\end{Bmatrix}\n", + "$$ \n", + "\n", + "## Image Coordinate System\n", + "The image coordinate system describes how an image was acquired with respect to the anatomy. Medical scanners create regular, rectangular arrays of points and cells which start at the upper left corner.\n", + "The *i* axis increases to the right, the *j* axis to the bottom and the *k* axis backwards.\n", + "\n", + "The file standard assumes that the voxel coordinates refer to the center of each voxel, rather than at any of its corners.\n", + "\n", + "In addition to the intensity value of each voxel $(i,j,k)$ the origin and spacing of the anatomical coordinates are stored too.\n", + "\n", + "The *origin of coordinates* represents the position of the first voxel (0,0,0) in the anatomical coordinate system, e.g. (100mm, 50mm, -25mm)\n", + "\n", + "The *spacing* specifies the distance between voxels along each axis, e.g. (1.5mm, 0.5mm, 0.5mm)\n", + "\n", + "## Image Transformation\n", + "The transformation from an image space vector to an anatomical space vector is an affine transformation, consists of a linear transformation followed by a translation.\n", + "\n", + "### Quarternions:\n", + "The orientation of the $(x,y,z)$ axes relative to the $(i,j,k)$ axes in the image space is specified using a unit quaternion $[a,b,c,d]$, where $a*a+b*b+c*c+d*d=1$. The $(b,c,d)$ values are all that is needed, since it is required that $a = \\sqrt{1.0-(b*b+c*c+d*d)}$ be non negative. The $(b,c,d)$ values are stored in the $(quatern_b,quatern_c,quatern_d)$ fields.\n", + "\n", + "### The Purpose of the qform and sform in NIfTI files\n", + "\n", + "The `qform` and `sform` stored in a NIfTI file header are intended to fulfil the following functions:\n", + "- specify the handedness of the coordinate system (important for getting left and right correct)\n", + "- specify the original scanner coordinates (`qform` only)\n", + "- specify standard space coordinates (`sform` only)\n", + "- specify a relationship with another image's coordinates (`sform` only) \n", + "\n", + "The `qform` and `sform` should never specify coordinates with different handedness (i.e. have determinants of different signs). Otherwise it is not possible to tell left from right.\n", + "\n", + "According to NIfTI-1 Standard [1], the `qform` code should be set to either *unknown (0)* or *scanner_anat (1)*. While, The `sform` code should be set to either *unknown (0)*, *aligned_anat (2)*, *tailarach (3)* or *mni_152 (4)*.\n", + "\n", + "\n", + "### Orientation information\n", + "\n", + "| Name | Code | Description |\n", + "|--------------|:----:|-------------|\n", + "| unknown | 0 | Arbitrary coordinates. |\n", + "| scanner_anat | 1 | Scanner-based anatomical coordinates. |\n", + "| aligned_anat | 2 | Coordinates aligned to another file, or to the “truth” (with an arbitrary coordinate center). |\n", + "| talairach | 3 | Coordinates aligned to the Talairach space. |\n", + "| mni_152 | 4 | Coordinates aligned to the mni space. |\n", + "\n", + "#### Method 1 (The \"old\" way)\n", + "\n", + "| Form | Code |\n", + "|------------|----------|\n", + "| qform_code | 0 |\n", + "| sform_code | Not used |\n", + "\n", + "The coordinate mapping from $(i,j,k)$ to $(x,y,z)$ is the ANALYZE 7.5 way.\n", + "This is a simple scaling relationship:\n", + "$$\n", + "\\left[ \\begin{array}{c} x\\\\ y\\\\ z \\end{array} \\right]= \\left[ \\begin{array}{c} i\\\\ j\\\\ k \\end{array} \\right]\\odot \\left[ \\begin{array}{c} \\mathtt{pixdim[1]}\\\\ \\mathtt{pixdim[2]}\\\\ \\mathtt{pixdim[3]}\\\\ \\end{array} \\right]\n", + "$$\n", + "\n", + "No particular spatial orientation is attached to these $(x,y,z)$ coordinates. This method is not recommended, and is present mainly for compatibility with ANALYZE 7.5 files.\n", + "\n", + "#### Method 2: qform_code > 0 (Recommended)\n", + "\n", + "It is intended to be used to indicate the scanner coordinates, in a way that resembles the coordinates specified in the DICOM header. It can also be used to represent the alignment of an image to a previous session of the same subject (such as for coregistration).\n", + "\n", + "$$ \n", + "\\mathbf{R} = \\left[ \\begin{array}{ccc} a^2+b^2-c^2-d^2 & 2(bc-ad) & 2(bd+ac) \\\\ 2(bc+ad) & a^2+c^2-b^2-d^2 & 2(cd-ab) \\\\ 2(bd-ac) & 2(cd+ab) & a^2+d^2-b^2-c^2 \\end{array} \\right]\n", + "$$\n", + "$$\n", + "\\left[ \\begin{array}{c} x\\\\ y\\\\ z \\end{array} \\right]=\\mathbf{R} \\left[ \\begin{array}{c} i\\\\ j\\\\ q\\cdot k\\\\ \\end{array} \\right]\\odot \\left[ \\begin{array}{c} \\mathtt{pixdim[1]}\\\\ \\mathtt{pixdim[2]}\\\\ \\mathtt{pixdim[3]}\\\\ \\end{array} \\right]+ \\left[ \\begin{array}{c} \\mathtt{qoffset\\_x}\\\\ \\mathtt{qoffset\\_y}\\\\ \\mathtt{qoffset\\_z}\\\\ \\end{array} \\right]\n", + "$$\n", + "\n", + "#### Method 3: sform_code > 0\n", + "\n", + "The $(x,y,z)$ coordinates are given by a general affine transformation of the $(i,j,k)$ indexes:\n", + "\n", + "$$\n", + "\\left[ \\begin{array}{c} x\\\\ y\\\\ z\\\\ 1 \\end{array} \\right]=\\left[ \\begin{array}{cccc} \\mathtt{srow\\_x[0]} & \\mathtt{srow\\_x[1]} & \\mathtt{srow\\_x[2]} & \\mathtt{srow\\_x[3]}\\\\ \\mathtt{srow\\_y[0]} & \\mathtt{srow\\_y[1]} & \\mathtt{srow\\_y[2]} & \\mathtt{srow\\_y[3]}\\\\ \\mathtt{srow\\_z[0]} & \\mathtt{srow\\_z[1]} & \\mathtt{srow\\_z[2]} & \\mathtt{srow\\_z[3]} \\\\ 0 & 0 & 0 & 1\\end{array} \\right]\\cdot\\left[ \\begin{array}{c} i\\\\ j\\\\ k\\\\ 1 \\end{array} \\right]\n", + "$$\n", + "\n", + "#### Why 3 Methods?\n", + " \n", + "Method 1 is provided only for backwards compatibility. The intention is that Method 2 (qform_code > 0) represents the nominal voxel locations as reported by the scanner, or as rotated to some fiducial orientation and location. Method 3, if present (sform_code > 0), is to be used to give the location of the voxels in some standard space. The `sform_code` indicates which standard space is present. Both methods 2 and 3 can be present, and be useful in different contexts (method 2 for displaying the data on its original grid; method 3 for displaying it on a standard grid).\n", + "\n", + "In this scheme, a dataset would originally be set up so that the Method 2 coordinates represent what the scanner reported. Later, a registration to some standard space can be computed and inserted in the header.\n", + "\n", + "\n", + "# Main Software packages\n", + "\n", + "## Row- and column-major order\n", + "\n", + "Please, be aware that different programming languages or libraries store the data in different order. This might be of importance, for example, when reading raw data (e.g. Volumes-of_interest created in ACCURATE) or when multiple libreries are used (SimpleITK and NiBabel)\n", + "\n", + "\n", + "| Programming languages and libraries | Row-major | Column-major |\n", + "|-------------------------------------|:---------:|:------------:|\n", + "| Python: SimpleITK | x | |\n", + "| Python: Numpy | x | |\n", + "| C/C++ | x | |\n", + "| Matlab | | x |\n", + "| ACCURATE | | |\n", + "\n", + "Transposition of the data solved the differences.\n", + "\n", + "## ITK & SimpleITK\n", + "ITK and SimpleITK use the LPS convention. After reading a file, the data matrix is stored as $(z,y,x)$. However, when writing a NIfTI file they convert the data matrix to RAS.\n", + "\n", + "## NiBabel\n", + "\n", + "NiBabel uses the RAS convention. After reading a file, the data matrix is stored as $(x,y,z)$.\n", + "\n", + "## LPS (DICOM) to RAS (NIfTI)\n", + "DICOM's coordinate system is 180 degrees rotated about the z-axis from the neuroscience/NIFTI coordinate system. \n", + "To transform between DICOM and NIFTI, you just have to negate the x- and y-coordinates.\n", + " \n", + "\n", + "\n", + "\n", + "(Simple)ITK converts the data matrix to RAS when writing the NIfTI\n", + " \n", + "Further details in:\n", + "- https://brainder.org/2012/09/23/the-nifti-file-format/\n", + "- https://www.slicer.org/wiki/Coordinate_systems\n", + "\n", + "[//]: # (Links & Images)\n", + "[Coordinate Systems]: images/Coordinate_systems.png\n", + "[1]: https://nifti.nimh.nih.gov/\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Python: NiBabel\n", + "\n", + "For this example we will use a NIfTI file and the NiBabel library" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\f", + "\n" + ] + } + ], + "source": [ + "!cls\n", + "# Libraries\n", + "import os\n", + "import copy\n", + "import numpy as np\n", + "import nibabel as nib\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# Input data\n", + "cwd = os.getcwd()\n", + "os.chdir(cwd)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Neurological Convention RAS (RL)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Raw data matrix:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "qform_code: 0\n", + "qform matrix: \n", + " [[2. 0. 0. 0.]\n", + " [0. 2. 0. 0.]\n", + " [0. 0. 2. 0.]\n", + " [0. 0. 0. 1.]] \n", + "\n", + "sform_code: 4\n", + "sform matrix: \n", + " [[ 2. 0. 0. -90.]\n", + " [ 0. 2. 0. -126.]\n", + " [ 0. 0. 2. -72.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n" + ] + } + ], + "source": [ + "filename = os.path.join(cwd,'data','nifti1','avg152T1_RL_nifti.nii.gz') # Neurological Convention RAS\n", + "# Load file with NiBabel\n", + "img = nib.load(filename)\n", + "\n", + "# Load the data matrix\n", + "#img_data = img.get_data() # uint8\n", + "img_data = img.get_fdata() # float32\n", + "\n", + "# Display data matrix\n", + "display('Raw data matrix:')\n", + "plt.imshow(img_data[:,:,50].T, cmap=\"gray\", origin=\"lower\") # Data needs to be transposed for visualization\n", + "plt.show()\n", + "\n", + "# Orientation information\n", + "print('qform_code:', img.header['qform_code']) # 0: unknown\n", + "print('qform matrix: \\n', img.get_qform(), '\\n')\n", + "\n", + "print('sform_code:', img.header['sform_code']) # 4: mni_152\n", + "print('sform matrix: \\n', img.get_sform(), '\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Radiological Convention LAS (LR)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Raw data matrix:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "qform_code: 0\n", + "qform matrix: \n", + " [[2. 0. 0. 0.]\n", + " [0. 2. 0. 0.]\n", + " [0. 0. 2. 0.]\n", + " [0. 0. 0. 1.]] \n", + "\n", + "sform_code: 4\n", + "sform matrix: \n", + " [[ -2. 0. 0. 90.]\n", + " [ 0. 2. 0. -126.]\n", + " [ 0. 0. 2. -72.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n" + ] + } + ], + "source": [ + "filename = os.path.join(cwd,'data','nifti1','avg152T1_LR_nifti.nii.gz') # Radiological Convention LAS\n", + "# Load file with NiBabel\n", + "img = nib.load(filename)\n", + "\n", + "# Load the data matrix\n", + "#img_data = img.get_data() # uint8\n", + "img_data = img.get_fdata() # float32\n", + "\n", + "# Display data matrix\n", + "display('Raw data matrix:')\n", + "plt.imshow(img_data[:,:,50].T, cmap=\"gray\", origin=\"lower\") # Data needs to be transposed for visualization\n", + "plt.show()\n", + "\n", + "# Orientation information\n", + "print('qform_code:', img.header['qform_code']) # 0: unknown\n", + "print('qform matrix: \\n', img.get_qform(), '\\n')\n", + "\n", + "print('sform_code:', img.header['sform_code']) # 4: mni_152\n", + "print('sform matrix: \\n', img.get_sform(), '\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "NiBabel always uses RAS output space\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Conversion of DICOM to NIfTI" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\f", + "\n", + "PET image. Processing...\n", + "Static scan. Processing...\n", + "DICOM converted to NIfTI: D:\\MyFiles\\Documents\\Work\\DICOM_files\\Test\\s1_300s_Phantom.nii\n" + ] + } + ], + "source": [ + "''''' Important DICOM tags\n", + "For further info:\n", + "http://dicom.nema.org/dicom/2013/output/chtml/part04/sect_I.4.html\n", + "https://www.dicomlibrary.com/dicom/sop/ \n", + "\n", + "(0008,0016) SOP Class UID\n", + " 1.2.840.10008.5.1.4.1.1.128 - Positron Emission Tomography Image\n", + "\n", + "(0018,5100) HFS or FFS (Empty if Unknown)\n", + " HFS: Head First Supine\n", + " FFS: Feet Fitst Supine\n", + " HFP: Head First Prone\n", + " FFP: Feet First Prone\n", + "\n", + "(0020,0032) x,y,z coordinates of the upper left hand corner (center of the first voxel transmitted) of the image, in mm (Required tag)\n", + "\n", + "(0020,0037) Image Orientation of the patient (Expected 1\\0\\0\\0\\1\\0)\n", + " Direction cosines of the first row and the first column with respect to the patient\n", + "\n", + "(0028,1052) Intercept\n", + "\n", + "(0028,1053) Slope\n", + "\n", + "(0054,0081) Number of slices per frame\n", + "\n", + "(0054,1000) Series Type of the scan\n", + "\n", + "(0054,0414) Patient Gantry Relationship Code Sequence, i.e. orientation of the patient within the gantry.(Empty if Unknown)\n", + " Code Meaning | Retired code | Replacement Code\n", + " Headfirst | G-5190 | F-10470\n", + " Feetfirst | G-5191 | F-10480\n", + "\n", + "(0054,1330) An index identifying the position of this image within a PET Series\n", + "'''''\n", + "\n", + "!cls\n", + "## Libraries\n", + "import os\n", + "import sys\n", + "import pydicom\n", + "import numpy as np\n", + "import tkinter as tk\n", + "import nibabel as nib\n", + "from tkinter import filedialog\n", + "\n", + "## Input data\n", + "# Test data\n", + "#input_dicom_dir = os.path.join('data','phantom_EARL1')\n", + "#output_dir = os.path.join('data','output')\n", + "# GUI\n", + "root = tk.Tk() # Creates a blank window with close, maximize and minimize buttons.\n", + "root.withdraw() # We don't want a full GUI, so keep the root window from appearing\n", + "input_dicom_dir = os.path.abspath(filedialog.askdirectory(title=\"Please select the input DICOM folder\"))\n", + "\n", + "root.deiconify() # Makes the window visible again\n", + "root.withdraw()\n", + "output_dir = os.path.abspath(filedialog.askdirectory(title=\"Please select a folder to save output NIfTI file(s)\"))\n", + "root.destroy() # Destroys the root window along with all other tkinter widgets\n", + "\n", + "study_name = os.path.basename(input_dicom_dir) # The study name is the same as input DICOM directory name\n", + "\n", + "## Predefined variables\n", + "ideal_Image_Orientation = ['1', '0', '0', '0', '1', '0']\n", + "\n", + "## Functions\n", + "def read_dicom_files(input_dicom_dir):\n", + " \n", + " # Read the DICOM dataset from the input directory. \n", + " # If the DICOM dataset is not stored in accordance with the DICOM Standard File Format, SET force to True.\n", + " # Do not read files with .db or .xml suffixes (to avoid Thumbs.db and VinciDC0.xml files). \n", + " # ADD more such files to avoid later as required!\n", + " \n", + " dicom_files = os.listdir(input_dicom_dir)\n", + " \n", + " try:\n", + " dcm_dataset = [pydicom.dcmread(os.path.join(input_dicom_dir, filename), force = False) \\\n", + " for filename in os.listdir(input_dicom_dir) \\\n", + " if not filename.endswith(('.db','.xml'))]\n", + " except:\n", + " sys.exit(\"Invalid DICOM file(s) was found.\")\n", + " \n", + " return dcm_dataset\n", + "\n", + "def get_z_coordinates(dcm_dataset):\n", + " \n", + " # Get the z_coordinates based on the following Required tags. \n", + "\n", + " # Info:\n", + " # direction cosines: https://en.wikipedia.org/wiki/Direction_cosine\n", + " # http://mathworld.wolfram.com/DirectionCosine.html\n", + " # cross product: https://en.wikipedia.org/wiki/Cross_product\n", + " # http://mathworld.wolfram.com/CrossProduct.html\n", + " # dot product: https://en.wikipedia.org/wiki/Dot_product\n", + " # http://mathworld.wolfram.com/DotProduct.html\n", + " \n", + " nr_of_slices = dcm_dataset[0].NumberOfSlices\n", + " \n", + " # x and y direction cosines\n", + " x_dir_cos = np.array(list(map(float,dcm_dataset[0].ImageOrientationPatient[:3])))\n", + " y_dir_cos = np.array(list(map(float,dcm_dataset[0].ImageOrientationPatient[3:])))\n", + " \n", + " # For vectors a and b, a × b vector is perpendicular to both a and b and thus normal to the plane containing them\n", + " z_dir_cos = np.cross(x_dir_cos, y_dir_cos)\n", + " \n", + " image_position_list = [dcm_dataset[i].ImagePositionPatient._list \\\n", + " for i in range(0, nr_of_slices)]\n", + " \n", + " # Converting the x,y,z coordinates from str to float\n", + " image_position_patient = [[float(coordinate) \\\n", + " for coordinate in image_position] \\\n", + " for image_position in image_position_list]\n", + "\n", + " # Vector dot product or scalar inner product to get z coordinates\n", + " z_coordinates = np.dot(image_position_patient, z_dir_cos)\n", + " \n", + " return z_coordinates, nr_of_slices\n", + "\n", + "def sort_dicom_files(dcm_dataset):\n", + " \n", + " # Sort the DICOM dataset based on the z_coordinates.\n", + "\n", + " z_coordinates, nr_of_slices = get_z_coordinates(dcm_dataset)\n", + " sorted_dcm_dataset = [x for _,x in sorted(zip(z_coordinates, dcm_dataset))]\n", + " \n", + " return sorted_dcm_dataset, nr_of_slices\n", + "\n", + "def get_voxel_size_z(dcm_dataset):\n", + " \n", + " # The absolute difference between two consecutive z_coordinates gives the voxel size along the z-direction, in mm. \n", + " \n", + " z_coordinates, _ = get_z_coordinates(dcm_dataset)\n", + " voxel_size_z = abs(z_coordinates[0] - z_coordinates[1])\n", + " \n", + " return voxel_size_z\n", + "\n", + "def get_img_volume(dcm_dataset): \n", + " \n", + " # 1. Get the voxel intensity array of each slice\n", + " # 2. Transpose the array to account for the change in array order from row-major to column-major\n", + " # 3. Stack it in the z-direction\n", + " \n", + " img_volume_array = np.transpose(dcm_dataset[0].pixel_array)\n", + " \n", + " for dcm_slice in dcm_dataset[1:]:\n", + " img_slice_array = np.transpose(dcm_slice.pixel_array)\n", + " img_volume_array = np.dstack((img_volume_array, img_slice_array))\n", + " \n", + " return img_volume_array\n", + "\n", + "def get_header_data(dcm_set, output_filename):\n", + "\n", + " # Dump the DICOM header into a text file with the same filename as NIFTI \n", + " # Set anonymize_flag = \"Y\" to not add patient data tags in the text file\n", + " \n", + " anonymize_flag = \"Y\"\n", + " \n", + " patient_tags = ['PatientID', 'PatientName', 'PatientBirthDate']\n", + " \n", + " output_txt_filename = output_filename + \".txt\"\n", + " \n", + " file = open(os.path.join(output_dir,output_txt_filename), \"w\") \n", + " for header_tag in dcm_set[0].iterall():\n", + " if anonymize_flag == \"Y\":\n", + " if header_tag not in [dcm_set[0].data_element(tag) for tag in patient_tags]:\n", + " file.write(str(header_tag) + '\\n')\n", + " file.close() \n", + "\n", + "def convert_to_nifti(dcm_dataset, output_nifti_file):\n", + " \n", + " img_volume_array_in_LPS = get_img_volume(dcm_dataset)\n", + " \n", + " # From LPS in DICOM to RAS in NIfTI\n", + " img_volume_array_in_RAS = np.flipud(np.fliplr(img_volume_array_in_LPS))\n", + " #img_volume_array_in_RAS = np.rot90(img_volume_array_in_LPS, 2) # Alternative: 180 rotation instead of two flips\n", + " \n", + " pixel_spacing = dcm_dataset[0].PixelSpacing\n", + " \n", + " voxel_size_z = get_voxel_size_z(dcm_dataset)\n", + " \n", + " voxel_size = np.array([float(pixel_spacing[0]), float(pixel_spacing[1]), voxel_size_z])\n", + " \n", + " slope = dcm_dataset[0].RescaleSlope # (0028,1053) \n", + " intercept = dcm_dataset[0].RescaleIntercept # (0028,1052)\n", + " \n", + " # Change the datatype from int to float and apply slope and intercept to the array\n", + " img_volume_array = (img_volume_array_in_RAS.astype(float) * slope) + intercept\n", + " \n", + " # Origin of coordinates: centre of the image\n", + " center = (voxel_size * img_volume_array.shape) / 2\n", + " \n", + " # Affine matrix\n", + " apply_affine = np.diag([voxel_size[0], voxel_size[1], voxel_size[2], 1])\n", + " apply_affine[:3,3] = np.array([-center[0], -center[1], -center[2]])\n", + " \n", + " nii_out = nib.Nifti1Image(img_volume_array, apply_affine)\n", + " \n", + " # Adjust NIfTI header\n", + " nii_out.header['qform_code'] = 1\n", + " nii_out.header['sform_code'] = 2\n", + "\n", + " nii_out.set_data_dtype(np.float32) # Float32: slope=1 and intercept=0. Software does not have to apply manually. \n", + " nii_out.header.set_xyzt_units(xyz='mm') # Set the voxel size unit manually\n", + " nii_out.header['intent_code'] = 0 # None\n", + " nii_out.header['intent_name'] = 'PET'\n", + " nii_out.header['cal_max'] = np.max(img_volume_array) # For software to apply proper color scaling for visualization\n", + " nii_out.header['cal_min'] = np.min(img_volume_array) \n", + " \n", + " # Save the NIfTI file\n", + " nib.save(nii_out, output_nifti_file) \n", + " \n", + " print(\"DICOM converted to NIfTI: \",output_nifti_file)\n", + "\n", + "## Read DICOM\n", + "dcm_dataset = read_dicom_files(input_dicom_dir) # Read the DICOM files from the directory \n", + "sorted_dcm_dataset, nr_of_slices = sort_dicom_files(dcm_dataset) # Sort the DICOM files based on z-coordinates\n", + "\n", + "# Check DICOM modality\n", + "if sorted_dcm_dataset[0].Modality == 'PT' and sorted_dcm_dataset[0].SOPClassUID == '1.2.840.10008.5.1.4.1.1.128': \n", + " print(\"PET image. Processing...\")\n", + " \n", + " frame_number = 1\n", + " scan_series_type = sorted_dcm_dataset[0].SeriesType[0] # (0054,1000) \n", + " \n", + " if scan_series_type == 'STATIC' or scan_series_type == 'WHOLE BODY': \n", + " print(\"Static scan. Processing...\") \n", + " scan_duration_in_sec = int(sorted_dcm_dataset[0].ActualFrameDuration / 1000) \n", + " output_filename = \"s\" + str(frame_number) + \"_\" + str(scan_duration_in_sec) + \"s_\" + study_name \n", + " output_nifti_filename = output_filename + \".nii\"\n", + " output_nifti_file = os.path.join(output_dir, output_nifti_filename)\n", + " convert_to_nifti(sorted_dcm_dataset, output_nifti_file) \n", + " get_header_data(sorted_dcm_dataset, output_filename) # Dump the DICOM header into text file\n", + " \n", + " elif scan_series_type == 'DYNAMIC': \n", + " print(\"Dynamic scan. Processing...\") \n", + "\n", + " # Split DICOM dataset in multiple of number of slices per frame. \n", + " dcm_dataset_split_by_frames = [sorted_dcm_dataset[x:x+nr_of_slices] \\\n", + " for x in range(0, len(sorted_dcm_dataset), nr_of_slices)]\n", + " \n", + " for dcm_dataset in dcm_dataset_split_by_frames:\n", + " scan_duration_in_sec = int(dcm_dataset[0].ActualFrameDuration / 1000)\n", + " output_nifti_filename = output_filename + \".nii\"\n", + " output_nifti_file = os.path.join(output_dir, output_nifti_filename)\n", + " convert_to_nifti(sorted_dcm_dataset, output_nifti_file) \n", + " get_header_data(sorted_dcm_dataset, output_filename) # Dump the DICOM header into text file\n", + " frame_number += 1 \n", + " \n", + " elif scan_series_type == 'GATED':\n", + " sys.exit(\"GATED scans are not supported yet\")\n", + " \n", + " else:\n", + " sys.exit(\"Please check Scan Series Type (0054,1000)\")\n", + " \n", + "else: \n", + " sys.exit(\"Please check Image Modality\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conversion of ACCURATE VOIs to NIfTI" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\f", + "\n", + "ACCURATE VOI saved as NIfTI\n", + "data\\output\\VOI_Clinical_T1.nii\n" + ] + } + ], + "source": [ + "!cls\n", + "# Libraries\n", + "import os\n", + "import sys\n", + "import numpy as np\n", + "import nibabel as nib\n", + "\n", + "## Predefined Variables\n", + "voxel_size_EARL = np.array([3.1819, 3.1819, 2])\n", + "shape_EARL = (111,256,256)\n", + "\n", + "voxel_size_Clinical = np.array([2.0364201, 2.0364201, 2])\n", + "shape_Clinical = (111,400,400)\n", + "\n", + "# Reconstruction protocol used\n", + "recon_used = \"Clinical\" # Options: Clinical, EARL1 and EARL2\n", + "\n", + "## Example dataset\n", + "cwd = os.getcwd()\n", + "os.chdir(cwd)\n", + "\n", + "# ACCURATE VOIs\n", + "voi_filename = \"VOI_Clinical_T1.voi\"\n", + "input_file = os.path.join(cwd,'data','accurate',voi_filename)\n", + "\n", + "# NIfTI Output directory and filename for VOI \n", + "voi_nifti_out_filename = 'VOI_Clinical_T1.nii'\n", + "output_file = os.path.join(cwd,'data','output',voi_nifti_out_filename)\n", + "\n", + "# Read the VOI file from ACCURATE and get the VOI file data\n", + "#voi_file = os.path.join(input_dir, voi_filename)\n", + "voi_data = np.fromfile(input_file, dtype = 'byte')\n", + "mid_index = int(len(voi_data)/2) # ACCURATE VOI includes first a mask and then the VOI itself\n", + "voi_data = np.array(voi_data[mid_index:]) \n", + "\n", + "# Set the voxel size according to reconstruction protocol\n", + "if recon_used == 'Clinical':\n", + " reshaped_voi_data = np.reshape(voi_data, shape_Clinical)\n", + " voxel_size = voxel_size_Clinical\n", + "\n", + "elif recon_used == 'EARL1' or recon_used == 'EARL2':\n", + " reshaped_voi_data = np.reshape(voi_data, shape_EARL)\n", + " voxel_size = voxel_size_EARL\n", + " \n", + "else: \n", + " sys.exit('This reconstruction was not implemented yet')\n", + "\n", + "# Transpose the array to change the array order from row-major to column-major \n", + "voi_swapped_axes = reshaped_voi_data.T # Also: np.swapaxes(reshaped_voi_data, 2, 0) #\n", + "\n", + "# Binary Mask of 0's and 1's\n", + "voi_swapped_axes[voi_swapped_axes <= 50] = 0\n", + "voi_swapped_axes[voi_swapped_axes > 50] = 1\n", + "\n", + "# RAS in NIfTI: From Posterior to Anterior\n", + "flipped_voi = np.flipud(voi_swapped_axes)\n", + "\n", + "# Shape of image\n", + "matrix_size = np.array(flipped_voi.shape)\n", + "\n", + "# Centre of image\n", + "center = (voxel_size * matrix_size) / 2\n", + "\n", + "# affine matrix\n", + "apply_affine = np.diag([voxel_size[0], voxel_size[1], voxel_size[2], 1])\n", + "apply_affine[:3,3] = np.array([-center[0], -center[1], -center[2]])\n", + "\n", + "voi_nifti_out = nib.Nifti1Image(flipped_voi, apply_affine)\n", + "\n", + "# Set header\n", + "voi_nifti_out.set_data_dtype(np.int8)\n", + "voi_nifti_out.header['qform_code'] = 1\n", + "voi_nifti_out.header['sform_code'] = 2\n", + "voi_nifti_out.header.set_xyzt_units(xyz='mm') # Set the voxel size unit manually\n", + "voi_nifti_out.header.set_data_offset(352)\n", + "voi_nifti_out.header['intent_code'] = 0 # None\n", + "voi_nifti_out.header['intent_name'] = 'PET_VOI'\n", + "voi_nifti_out.header['cal_max'] = np.max(flipped_voi) # For software to apply proper color scaling for visualization\n", + "voi_nifti_out.header['cal_min'] = np.min(flipped_voi) \n", + "\n", + "# Save the NIfTI file\n", + "nib.save( voi_nifti_out, os.path.join(output_dir, voi_nifti_out_filename) )\n", + "print('ACCURATE VOI was successfully saved as NIfTI file')\n", + "print(os.path.join(output_dir, voi_nifti_out_filename))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# PMOD\n", + "\n", + "For this example we will use a NIfTI file saved in PMOD. By default, PMOD uses the LPS orientation, which is kept when the data is saved." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Raw data matrix:'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "qform_code: 1\n", + "qform matrix: \n", + " [[ -2. 0. 0. 180.]\n", + " [ 0. -2. 0. 216.]\n", + " [ 0. 0. 2. 0.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n", + "sform_code: 2\n", + "sform matrix: \n", + " [[ -2. -0. -0. 180.]\n", + " [ -0. -2. -0. 216.]\n", + " [ -0. -0. 2. 0.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n" + ] + } + ], + "source": [ + "filename = os.path.join(cwd, 'data','pmod','avg152T1_PMOD.nii') # Data Saved by PMOD (HFS : radiological)\n", + "\n", + "img = nib.load(filename)\n", + "img_data = img.get_fdata()\n", + "img_data = np.reshape(img_data, img_data.shape[0:3]) # PMOD Stores data always as 4D\n", + "\n", + "# Display data matrix\n", + "display('Raw data matrix:')\n", + "plt.imshow(img_data[:,:,50].T, cmap=\"gray\", origin=\"lower\")\n", + "plt.show()\n", + "\n", + "# Orientation information\n", + "print('qform_code:', img.header['qform_code']) # 1: Scanner-based\n", + "print('qform matrix: \\n', img.get_qform(), '\\n')\n", + "\n", + "print('sform_code:', img.header['sform_code']) # 2: Aligned\n", + "print('sform matrix: \\n', img.get_sform(), '\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## PMOD: Reset Image (i.e. remove affine and flip data according to RAS orientation)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'Raw data matrix (PMOD Fixed):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "qform_code: 1\n", + "qform matrix: \n", + " [[ 2. 0. 0. -90.]\n", + " [ 0. 2. 0. -108.]\n", + " [ 0. 0. 2. -90.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n", + "sform_code: 2\n", + "sform matrix: \n", + " [[ 2. 0. 0. -90.]\n", + " [ 0. 2. 0. -108.]\n", + " [ 0. 0. 2. -90.]\n", + " [ 0. 0. 0. 1.]] \n", + "\n" + ] + } + ], + "source": [ + "img_data_fix = np.rot90(img_data, 2) # LPS to RAS = 180 degree rotation\n", + "\n", + "vox = img.header.get_zooms()\n", + "center = ((np.array(img.shape[0:3]) - 1) / 2) * vox[0:3] ## CHECK if -1 is needed\n", + "\n", + "affine = np.diag(vox)\n", + "affine[0:3,3] = -center\n", + "\n", + "# Save NIfTI file with the RAS orientation and no affine transformation\n", + "nii = nib.Nifti1Image(img_data_fix, affine)\n", + "nii.header['qform_code'] = 1\n", + "nii_filename = os.path.splitext(filename)[0] + '_fixed.nii.gz'\n", + "nib.save(nii, nii_filename)\n", + "\n", + "# Display data matrix\n", + "display('Raw data matrix (PMOD Fixed):')\n", + "plt.imshow(img_data_fix[:,:,50].T, cmap=\"gray\", origin=\"lower\")\n", + "plt.show()\n", + "\n", + "# Orientation information\n", + "print('qform_code:', nii.header['qform_code']) # 0: Unknown\n", + "print('qform matrix: \\n', nii.get_qform(), '\\n')\n", + "\n", + "print('sform_code:', nii.header['sform_code']) # 2: Aligned\n", + "print('sform matrix: \\n', nii.get_sform(), '\\n')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Row- and column-order in Python" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'NiBabel (Display = M(row,column)):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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nPbYY4+tKvfUU08db7viiisAeOc73wnA7t27x9tOPPFEncc4bdu2bQBs3749O18A4jVWfm07/vjjx9v0XecYv6v8eGzVP6bF7+3/qkdM+9GPfgTADTfccFT915sbb7xx046dofroecqeyciRI0fST4DDhw8Dq++90t58800A3njjjfG2t99++6jyta/2m1b+oUOHAHjttdcAePHFF8fbHnroIQD2798PwOuvvz7epufuvPPOG6dde+21AFxwwQUA3HvvveNtd999NzD5HQE8//zzALz11ltHnc9abczBgwc5cuRIybb1UUyXAc8Af1JK+WEp5eullFOB82ut+0cH3g+cl+1cSrm+lHJnKeXOHscyxhiO7ubzPO8HfrPWekcp5avMYLbVWm8CboIVxdT26CFfrzS1xOoVAF5++WVg0kOcffbZ4207duwA4KKLLhqnPf3008Ckx4q9h7ZpvzPOOGO8Tb2mlBNMerFMjWSKKcvX5o/qS/nbz1ifrIy+vPe97wUmaiGy3kpmKEqpRc+F1C3k6rRL0bTbYPLsZupI5cYy+tzLmF/11u/hiSeeGG974YUXVuWJz5i+X3755eM0Pff6bTz11FPjbfqdHTx4cJym89S5TbPEptFHMe0D9tVa7xj9fzMrDdXTIxOO0eeBhWpijDEjpjZMtdangMdLKfIffQS4G7gNuG6Udh1w67rU0BhzzNHHlAP4TeCbpZQTgIeAX2elUfvzUspngceAX11WpVoZmJlCcrLBRKZKwr766qvjbeeeey4Al1xyyThNTjtJ3SiHJVMPHDiwan+A0047DVgtxSW3lZaZctHB3eX8lqTucrRG80LHjGl9TMUs7X3ve99R24bmnN4o5ESO5o6ucbzWQvcmPhddZltGZqq3afH+qdzohtBzrwEffQK88sorwOTZis+dHNz6BDjllFOAiaNbzm2Y/M6i876tc/aszWLe9WqYaq1/B1yTbPpI7yMZY0xP+iqmpVFrTR2ImUoQsddR7xTLeOmll4CJ2nn22WfH284880xgdW8g9aT80ZGuHki9jZzhsaxYVznCs55CQ/2xd+oKhchCDkRXD5QpuGU4xqWiomP8WFBPrSMXVt/DluzeZ89pq3ozx3hU70JlKMwAJhZDfHafe+45YPLMRstB5euZjCEy73jHO4DVAz16/mU5xN+Uyo31z85XZNdnmnry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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "'SimpleITK (Display = M(row,column)):'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "'Remember that SimpleITK uses LPS convention, while NiBabel RAS'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "'To have the data in the same orientation, you need to transpose the data'" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Load Neurological Convention (RAS) data\n", + "filename = os.path.join(cwd, 'data/nifti1/avg152T1_RL_nifti.nii.gz') \n", + "\n", + "# Load file with NiBabel\n", + "nb_img = nib.load(filename)\n", + "nb_data = nb_img.get_fdata()\n", + "\n", + "N0 = copy.deepcopy(nb_data[:,:,50]) # Example slide\n", + "\n", + "# Display data matrix (NiBabel)\n", + "plt.figure()\n", + "display('NiBabel (Display = M(row,column)):')\n", + "plt.imshow(N0, cmap=\"gray\")\n", + "plt.show()\n", + "\n", + "# Example, remove part of the data\n", + "N1 = copy.deepcopy(N0)\n", + "N1[20:60,:] = 0\n", + "plt.figure()\n", + "plt.imshow(N1, cmap=\"gray\")\n", + "plt.show()\n", + "\n", + "# Load file with SimpleITK\n", + "import SimpleITK as sitk\n", + "\n", + "reader = sitk.ImageFileReader()\n", + "reader.SetImageIO(\"NiftiImageIO\")\n", + "reader.SetFileName(filename)\n", + "itk_img = reader.Execute()\n", + "itk_data = sitk.GetArrayFromImage(itk_img)\n", + "\n", + "I0 = copy.deepcopy(itk_data[:,:,50])\n", + "\n", + "# Display data matrix (SimpleITK)\n", + "plt.figure()\n", + "display('SimpleITK (Display = M(row,column)):')\n", + "plt.imshow(I0, cmap=\"gray\")\n", + "plt.show()\n", + "\n", + "# LPS to RAS\n", + "I2 = copy.deepcopy(itk_data.T)[:,:,50]\n", + "\n", + " # Display data matrix (SimpleITK)\n", + "display('Remember that SimpleITK uses LPS convention, while NiBabel RAS')\n", + "display('To have the data in the same orientation, you need to transpose the data')\n", + "plt.figure()\n", + "plt.imshow(I2, cmap=\"gray\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.7.3" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T1.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T1.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T1.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T1.voi diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T2.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T2.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T2.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T2.voi diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T3.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T3.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_Clinical_T3.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_Clinical_T3.voi diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T1.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T1.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T1.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T1.voi diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T2.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T2.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T2.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T2.voi diff --git a/Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T3.voi b/Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T3.voi similarity index 100% rename from Orientation and DICOM2NIfTI/data/accurate/VOI_EARL_T3.voi rename to Orientation_and_DICOM2NIfTI/data/accurate/VOI_EARL_T3.voi diff --git a/Orientation and DICOM2NIfTI/data/nifti1/avg152T1_LR_nifti.nii.gz b/Orientation_and_DICOM2NIfTI/data/nifti1/avg152T1_LR_nifti.nii.gz similarity index 100% rename from Orientation and DICOM2NIfTI/data/nifti1/avg152T1_LR_nifti.nii.gz rename to Orientation_and_DICOM2NIfTI/data/nifti1/avg152T1_LR_nifti.nii.gz diff --git a/Orientation and DICOM2NIfTI/data/nifti1/avg152T1_RL_nifti.nii.gz b/Orientation_and_DICOM2NIfTI/data/nifti1/avg152T1_RL_nifti.nii.gz similarity index 100% rename from Orientation and DICOM2NIfTI/data/nifti1/avg152T1_RL_nifti.nii.gz rename to Orientation_and_DICOM2NIfTI/data/nifti1/avg152T1_RL_nifti.nii.gz diff --git a/Orientation and DICOM2NIfTI/data/nifti2/MNI152_T1_1mm_nifti2.nii.gz b/Orientation_and_DICOM2NIfTI/data/nifti2/MNI152_T1_1mm_nifti2.nii.gz similarity index 100% rename from Orientation and DICOM2NIfTI/data/nifti2/MNI152_T1_1mm_nifti2.nii.gz rename to Orientation_and_DICOM2NIfTI/data/nifti2/MNI152_T1_1mm_nifti2.nii.gz diff --git a/Orientation and DICOM2NIfTI/data/nifti2/avg152T1_LR_nifti2.nii.gz b/Orientation_and_DICOM2NIfTI/data/nifti2/avg152T1_LR_nifti2.nii.gz similarity index 100% rename from Orientation and DICOM2NIfTI/data/nifti2/avg152T1_LR_nifti2.nii.gz rename to Orientation_and_DICOM2NIfTI/data/nifti2/avg152T1_LR_nifti2.nii.gz diff --git a/Orientation and DICOM2NIfTI/data/nifti2/avg152T1_RL_nifti2.nii.gz b/Orientation_and_DICOM2NIfTI/data/nifti2/avg152T1_RL_nifti2.nii.gz similarity index 100% rename from Orientation and DICOM2NIfTI/data/nifti2/avg152T1_RL_nifti2.nii.gz rename to Orientation_and_DICOM2NIfTI/data/nifti2/avg152T1_RL_nifti2.nii.gz diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0001.2019.01.23.16.58.21.983933.152911859.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0001.2019.01.23.16.58.21.983933.152911859.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0001.2019.01.23.16.58.21.983933.152911859.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0001.2019.01.23.16.58.21.983933.152911859.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0002.2019.01.23.16.58.21.983933.152911860.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0002.2019.01.23.16.58.21.983933.152911860.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0002.2019.01.23.16.58.21.983933.152911860.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0002.2019.01.23.16.58.21.983933.152911860.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0003.2019.01.23.16.58.21.983933.152911861.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0003.2019.01.23.16.58.21.983933.152911861.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0003.2019.01.23.16.58.21.983933.152911861.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0003.2019.01.23.16.58.21.983933.152911861.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0004.2019.01.23.16.58.21.983933.152911862.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0004.2019.01.23.16.58.21.983933.152911862.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0004.2019.01.23.16.58.21.983933.152911862.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0004.2019.01.23.16.58.21.983933.152911862.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0005.2019.01.23.16.58.21.983933.152911863.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0005.2019.01.23.16.58.21.983933.152911863.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0005.2019.01.23.16.58.21.983933.152911863.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0005.2019.01.23.16.58.21.983933.152911863.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0006.2019.01.23.16.58.21.983933.152911864.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0006.2019.01.23.16.58.21.983933.152911864.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0006.2019.01.23.16.58.21.983933.152911864.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0006.2019.01.23.16.58.21.983933.152911864.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0007.2019.01.23.16.58.21.983933.152911865.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0007.2019.01.23.16.58.21.983933.152911865.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0007.2019.01.23.16.58.21.983933.152911865.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0007.2019.01.23.16.58.21.983933.152911865.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0008.2019.01.23.16.58.21.983933.152911866.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0008.2019.01.23.16.58.21.983933.152911866.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0008.2019.01.23.16.58.21.983933.152911866.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0008.2019.01.23.16.58.21.983933.152911866.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0009.2019.01.23.16.58.21.983933.152911867.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0009.2019.01.23.16.58.21.983933.152911867.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0009.2019.01.23.16.58.21.983933.152911867.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0009.2019.01.23.16.58.21.983933.152911867.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0010.2019.01.23.16.58.21.983933.152911868.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0010.2019.01.23.16.58.21.983933.152911868.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0010.2019.01.23.16.58.21.983933.152911868.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0010.2019.01.23.16.58.21.983933.152911868.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0011.2019.01.23.16.58.21.983933.152911869.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0011.2019.01.23.16.58.21.983933.152911869.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0011.2019.01.23.16.58.21.983933.152911869.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0011.2019.01.23.16.58.21.983933.152911869.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0012.2019.01.23.16.58.21.983933.152911870.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0012.2019.01.23.16.58.21.983933.152911870.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0012.2019.01.23.16.58.21.983933.152911870.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0012.2019.01.23.16.58.21.983933.152911870.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0013.2019.01.23.16.58.21.983933.152911871.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0013.2019.01.23.16.58.21.983933.152911871.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0013.2019.01.23.16.58.21.983933.152911871.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0013.2019.01.23.16.58.21.983933.152911871.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0014.2019.01.23.16.58.21.983933.152911872.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0014.2019.01.23.16.58.21.983933.152911872.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0014.2019.01.23.16.58.21.983933.152911872.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0014.2019.01.23.16.58.21.983933.152911872.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0015.2019.01.23.16.58.21.983933.152911873.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0015.2019.01.23.16.58.21.983933.152911873.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0015.2019.01.23.16.58.21.983933.152911873.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0015.2019.01.23.16.58.21.983933.152911873.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0016.2019.01.23.16.58.21.983933.152911874.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0016.2019.01.23.16.58.21.983933.152911874.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0016.2019.01.23.16.58.21.983933.152911874.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0016.2019.01.23.16.58.21.983933.152911874.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0017.2019.01.23.16.58.21.983933.152911875.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0017.2019.01.23.16.58.21.983933.152911875.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0017.2019.01.23.16.58.21.983933.152911875.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0017.2019.01.23.16.58.21.983933.152911875.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0018.2019.01.23.16.58.21.983933.152911876.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0018.2019.01.23.16.58.21.983933.152911876.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0018.2019.01.23.16.58.21.983933.152911876.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0018.2019.01.23.16.58.21.983933.152911876.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0019.2019.01.23.16.58.21.983933.152911877.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0019.2019.01.23.16.58.21.983933.152911877.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0019.2019.01.23.16.58.21.983933.152911877.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0019.2019.01.23.16.58.21.983933.152911877.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0020.2019.01.23.16.58.21.983933.152911878.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0020.2019.01.23.16.58.21.983933.152911878.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0020.2019.01.23.16.58.21.983933.152911878.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0020.2019.01.23.16.58.21.983933.152911878.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0021.2019.01.23.16.58.21.983933.152911879.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0021.2019.01.23.16.58.21.983933.152911879.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0021.2019.01.23.16.58.21.983933.152911879.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0021.2019.01.23.16.58.21.983933.152911879.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0022.2019.01.23.16.58.21.983933.152911880.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0022.2019.01.23.16.58.21.983933.152911880.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0022.2019.01.23.16.58.21.983933.152911880.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0022.2019.01.23.16.58.21.983933.152911880.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0023.2019.01.23.16.58.21.983933.152911881.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0023.2019.01.23.16.58.21.983933.152911881.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0023.2019.01.23.16.58.21.983933.152911881.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0023.2019.01.23.16.58.21.983933.152911881.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0024.2019.01.23.16.58.21.983933.152911882.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0024.2019.01.23.16.58.21.983933.152911882.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0024.2019.01.23.16.58.21.983933.152911882.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0024.2019.01.23.16.58.21.983933.152911882.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0025.2019.01.23.16.58.21.983933.152911883.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0025.2019.01.23.16.58.21.983933.152911883.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0025.2019.01.23.16.58.21.983933.152911883.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0025.2019.01.23.16.58.21.983933.152911883.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0026.2019.01.23.16.58.21.983933.152911884.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0026.2019.01.23.16.58.21.983933.152911884.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0026.2019.01.23.16.58.21.983933.152911884.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0026.2019.01.23.16.58.21.983933.152911884.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0027.2019.01.23.16.58.21.983933.152911885.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0027.2019.01.23.16.58.21.983933.152911885.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0027.2019.01.23.16.58.21.983933.152911885.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0027.2019.01.23.16.58.21.983933.152911885.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0028.2019.01.23.16.58.21.983933.152911886.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0028.2019.01.23.16.58.21.983933.152911886.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0028.2019.01.23.16.58.21.983933.152911886.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0028.2019.01.23.16.58.21.983933.152911886.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0029.2019.01.23.16.58.21.983933.152911887.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0029.2019.01.23.16.58.21.983933.152911887.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0029.2019.01.23.16.58.21.983933.152911887.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0029.2019.01.23.16.58.21.983933.152911887.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0030.2019.01.23.16.58.21.983933.152911888.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0030.2019.01.23.16.58.21.983933.152911888.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0030.2019.01.23.16.58.21.983933.152911888.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0030.2019.01.23.16.58.21.983933.152911888.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0031.2019.01.23.16.58.21.983933.152911889.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0031.2019.01.23.16.58.21.983933.152911889.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0031.2019.01.23.16.58.21.983933.152911889.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0031.2019.01.23.16.58.21.983933.152911889.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0032.2019.01.23.16.58.21.983933.152911890.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0032.2019.01.23.16.58.21.983933.152911890.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0032.2019.01.23.16.58.21.983933.152911890.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0032.2019.01.23.16.58.21.983933.152911890.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0033.2019.01.23.16.58.21.983933.152911891.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0033.2019.01.23.16.58.21.983933.152911891.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0033.2019.01.23.16.58.21.983933.152911891.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0033.2019.01.23.16.58.21.983933.152911891.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0034.2019.01.23.16.58.21.983933.152911892.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0034.2019.01.23.16.58.21.983933.152911892.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0034.2019.01.23.16.58.21.983933.152911892.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0034.2019.01.23.16.58.21.983933.152911892.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0035.2019.01.23.16.58.21.983933.152911893.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0035.2019.01.23.16.58.21.983933.152911893.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0035.2019.01.23.16.58.21.983933.152911893.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0035.2019.01.23.16.58.21.983933.152911893.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0036.2019.01.23.16.58.21.983933.152911894.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0036.2019.01.23.16.58.21.983933.152911894.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0036.2019.01.23.16.58.21.983933.152911894.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0036.2019.01.23.16.58.21.983933.152911894.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0037.2019.01.23.16.58.21.983933.152911895.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0037.2019.01.23.16.58.21.983933.152911895.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0037.2019.01.23.16.58.21.983933.152911895.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0037.2019.01.23.16.58.21.983933.152911895.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0038.2019.01.23.16.58.21.983933.152911896.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0038.2019.01.23.16.58.21.983933.152911896.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0038.2019.01.23.16.58.21.983933.152911896.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0038.2019.01.23.16.58.21.983933.152911896.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0039.2019.01.23.16.58.21.983933.152911897.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0039.2019.01.23.16.58.21.983933.152911897.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0039.2019.01.23.16.58.21.983933.152911897.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0039.2019.01.23.16.58.21.983933.152911897.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0040.2019.01.23.16.58.21.983933.152911898.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0040.2019.01.23.16.58.21.983933.152911898.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0040.2019.01.23.16.58.21.983933.152911898.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0040.2019.01.23.16.58.21.983933.152911898.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0041.2019.01.23.16.58.21.983933.152911899.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0041.2019.01.23.16.58.21.983933.152911899.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0041.2019.01.23.16.58.21.983933.152911899.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0041.2019.01.23.16.58.21.983933.152911899.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0042.2019.01.23.16.58.21.983933.152911900.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0042.2019.01.23.16.58.21.983933.152911900.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0042.2019.01.23.16.58.21.983933.152911900.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0042.2019.01.23.16.58.21.983933.152911900.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0043.2019.01.23.16.58.21.983933.152911901.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0043.2019.01.23.16.58.21.983933.152911901.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0043.2019.01.23.16.58.21.983933.152911901.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0043.2019.01.23.16.58.21.983933.152911901.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0044.2019.01.23.16.58.21.983933.152911902.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0044.2019.01.23.16.58.21.983933.152911902.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0044.2019.01.23.16.58.21.983933.152911902.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0044.2019.01.23.16.58.21.983933.152911902.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0045.2019.01.23.16.58.21.983933.152911903.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0045.2019.01.23.16.58.21.983933.152911903.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0045.2019.01.23.16.58.21.983933.152911903.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0045.2019.01.23.16.58.21.983933.152911903.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0046.2019.01.23.16.58.21.983933.152911904.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0046.2019.01.23.16.58.21.983933.152911904.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0046.2019.01.23.16.58.21.983933.152911904.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0046.2019.01.23.16.58.21.983933.152911904.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0047.2019.01.23.16.58.21.983933.152911905.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0047.2019.01.23.16.58.21.983933.152911905.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0047.2019.01.23.16.58.21.983933.152911905.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0047.2019.01.23.16.58.21.983933.152911905.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0048.2019.01.23.16.58.21.983933.152911906.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0048.2019.01.23.16.58.21.983933.152911906.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0048.2019.01.23.16.58.21.983933.152911906.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0048.2019.01.23.16.58.21.983933.152911906.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0049.2019.01.23.16.58.21.983933.152911907.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0049.2019.01.23.16.58.21.983933.152911907.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0049.2019.01.23.16.58.21.983933.152911907.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0049.2019.01.23.16.58.21.983933.152911907.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0050.2019.01.23.16.58.21.983933.152911908.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0050.2019.01.23.16.58.21.983933.152911908.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0050.2019.01.23.16.58.21.983933.152911908.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0050.2019.01.23.16.58.21.983933.152911908.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0051.2019.01.23.16.58.21.983933.152911909.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0051.2019.01.23.16.58.21.983933.152911909.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0051.2019.01.23.16.58.21.983933.152911909.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0051.2019.01.23.16.58.21.983933.152911909.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0052.2019.01.23.16.58.21.983933.152911910.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0052.2019.01.23.16.58.21.983933.152911910.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0052.2019.01.23.16.58.21.983933.152911910.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0052.2019.01.23.16.58.21.983933.152911910.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0053.2019.01.23.16.58.21.983933.152911911.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0053.2019.01.23.16.58.21.983933.152911911.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0053.2019.01.23.16.58.21.983933.152911911.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0053.2019.01.23.16.58.21.983933.152911911.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0054.2019.01.23.16.58.21.983933.152911912.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0054.2019.01.23.16.58.21.983933.152911912.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0054.2019.01.23.16.58.21.983933.152911912.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0054.2019.01.23.16.58.21.983933.152911912.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0055.2019.01.23.16.58.21.983933.152911913.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0055.2019.01.23.16.58.21.983933.152911913.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0055.2019.01.23.16.58.21.983933.152911913.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0055.2019.01.23.16.58.21.983933.152911913.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0056.2019.01.23.16.58.21.983933.152911914.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0056.2019.01.23.16.58.21.983933.152911914.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0056.2019.01.23.16.58.21.983933.152911914.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0056.2019.01.23.16.58.21.983933.152911914.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0057.2019.01.23.16.58.21.983933.152911915.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0057.2019.01.23.16.58.21.983933.152911915.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0057.2019.01.23.16.58.21.983933.152911915.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0057.2019.01.23.16.58.21.983933.152911915.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0058.2019.01.23.16.58.21.983933.152911916.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0058.2019.01.23.16.58.21.983933.152911916.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0058.2019.01.23.16.58.21.983933.152911916.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0058.2019.01.23.16.58.21.983933.152911916.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0059.2019.01.23.16.58.21.983933.152911917.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0059.2019.01.23.16.58.21.983933.152911917.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0059.2019.01.23.16.58.21.983933.152911917.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0059.2019.01.23.16.58.21.983933.152911917.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0060.2019.01.23.16.58.21.983933.152911918.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0060.2019.01.23.16.58.21.983933.152911918.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0060.2019.01.23.16.58.21.983933.152911918.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0060.2019.01.23.16.58.21.983933.152911918.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0061.2019.01.23.16.58.21.983933.152911919.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0061.2019.01.23.16.58.21.983933.152911919.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0061.2019.01.23.16.58.21.983933.152911919.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0061.2019.01.23.16.58.21.983933.152911919.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0062.2019.01.23.16.58.21.983933.152911920.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0062.2019.01.23.16.58.21.983933.152911920.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0062.2019.01.23.16.58.21.983933.152911920.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0062.2019.01.23.16.58.21.983933.152911920.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0063.2019.01.23.16.58.21.983933.152911921.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0063.2019.01.23.16.58.21.983933.152911921.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0063.2019.01.23.16.58.21.983933.152911921.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0063.2019.01.23.16.58.21.983933.152911921.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0064.2019.01.23.16.58.21.983933.152911922.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0064.2019.01.23.16.58.21.983933.152911922.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0064.2019.01.23.16.58.21.983933.152911922.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0064.2019.01.23.16.58.21.983933.152911922.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0065.2019.01.23.16.58.21.983933.152911923.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0065.2019.01.23.16.58.21.983933.152911923.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0065.2019.01.23.16.58.21.983933.152911923.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0065.2019.01.23.16.58.21.983933.152911923.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0066.2019.01.23.16.58.21.983933.152911924.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0066.2019.01.23.16.58.21.983933.152911924.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0066.2019.01.23.16.58.21.983933.152911924.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0066.2019.01.23.16.58.21.983933.152911924.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0067.2019.01.23.16.58.21.983933.152911925.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0067.2019.01.23.16.58.21.983933.152911925.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0067.2019.01.23.16.58.21.983933.152911925.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0067.2019.01.23.16.58.21.983933.152911925.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0068.2019.01.23.16.58.21.983933.152911926.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0068.2019.01.23.16.58.21.983933.152911926.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0068.2019.01.23.16.58.21.983933.152911926.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0068.2019.01.23.16.58.21.983933.152911926.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0069.2019.01.23.16.58.21.983933.152911927.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0069.2019.01.23.16.58.21.983933.152911927.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0069.2019.01.23.16.58.21.983933.152911927.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0069.2019.01.23.16.58.21.983933.152911927.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0070.2019.01.23.16.58.21.983933.152911928.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0070.2019.01.23.16.58.21.983933.152911928.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0070.2019.01.23.16.58.21.983933.152911928.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0070.2019.01.23.16.58.21.983933.152911928.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0071.2019.01.23.16.58.21.983933.152911929.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0071.2019.01.23.16.58.21.983933.152911929.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0071.2019.01.23.16.58.21.983933.152911929.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0071.2019.01.23.16.58.21.983933.152911929.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0072.2019.01.23.16.58.21.983933.152911930.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0072.2019.01.23.16.58.21.983933.152911930.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0072.2019.01.23.16.58.21.983933.152911930.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0072.2019.01.23.16.58.21.983933.152911930.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0073.2019.01.23.16.58.21.983933.152911931.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0073.2019.01.23.16.58.21.983933.152911931.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0073.2019.01.23.16.58.21.983933.152911931.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0073.2019.01.23.16.58.21.983933.152911931.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0074.2019.01.23.16.58.21.983933.152911932.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0074.2019.01.23.16.58.21.983933.152911932.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0074.2019.01.23.16.58.21.983933.152911932.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0074.2019.01.23.16.58.21.983933.152911932.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0075.2019.01.23.16.58.21.983933.152911933.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0075.2019.01.23.16.58.21.983933.152911933.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0075.2019.01.23.16.58.21.983933.152911933.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0075.2019.01.23.16.58.21.983933.152911933.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0076.2019.01.23.16.58.21.983933.152911934.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0076.2019.01.23.16.58.21.983933.152911934.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0076.2019.01.23.16.58.21.983933.152911934.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0076.2019.01.23.16.58.21.983933.152911934.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0077.2019.01.23.16.58.21.983933.152911935.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0077.2019.01.23.16.58.21.983933.152911935.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0077.2019.01.23.16.58.21.983933.152911935.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0077.2019.01.23.16.58.21.983933.152911935.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0078.2019.01.23.16.58.21.983933.152911936.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0078.2019.01.23.16.58.21.983933.152911936.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0078.2019.01.23.16.58.21.983933.152911936.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0078.2019.01.23.16.58.21.983933.152911936.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0079.2019.01.23.16.58.21.983933.152911937.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0079.2019.01.23.16.58.21.983933.152911937.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0079.2019.01.23.16.58.21.983933.152911937.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0079.2019.01.23.16.58.21.983933.152911937.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0080.2019.01.23.16.58.21.983933.152911938.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0080.2019.01.23.16.58.21.983933.152911938.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0080.2019.01.23.16.58.21.983933.152911938.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0080.2019.01.23.16.58.21.983933.152911938.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0081.2019.01.23.16.58.21.983933.152911939.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0081.2019.01.23.16.58.21.983933.152911939.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0081.2019.01.23.16.58.21.983933.152911939.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0081.2019.01.23.16.58.21.983933.152911939.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0082.2019.01.23.16.58.21.983933.152911940.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0082.2019.01.23.16.58.21.983933.152911940.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0082.2019.01.23.16.58.21.983933.152911940.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0082.2019.01.23.16.58.21.983933.152911940.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0083.2019.01.23.16.58.21.983933.152911941.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0083.2019.01.23.16.58.21.983933.152911941.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0083.2019.01.23.16.58.21.983933.152911941.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0083.2019.01.23.16.58.21.983933.152911941.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0084.2019.01.23.16.58.21.983933.152911942.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0084.2019.01.23.16.58.21.983933.152911942.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0084.2019.01.23.16.58.21.983933.152911942.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0084.2019.01.23.16.58.21.983933.152911942.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0085.2019.01.23.16.58.21.983933.152911943.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0085.2019.01.23.16.58.21.983933.152911943.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0085.2019.01.23.16.58.21.983933.152911943.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0085.2019.01.23.16.58.21.983933.152911943.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0086.2019.01.23.16.58.21.983933.152911944.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0086.2019.01.23.16.58.21.983933.152911944.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0086.2019.01.23.16.58.21.983933.152911944.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0086.2019.01.23.16.58.21.983933.152911944.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0087.2019.01.23.16.58.21.983933.152911945.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0087.2019.01.23.16.58.21.983933.152911945.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0087.2019.01.23.16.58.21.983933.152911945.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0087.2019.01.23.16.58.21.983933.152911945.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0088.2019.01.23.16.58.21.983933.152911946.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0088.2019.01.23.16.58.21.983933.152911946.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0088.2019.01.23.16.58.21.983933.152911946.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0088.2019.01.23.16.58.21.983933.152911946.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0089.2019.01.23.16.58.21.983933.152911947.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0089.2019.01.23.16.58.21.983933.152911947.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0089.2019.01.23.16.58.21.983933.152911947.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0089.2019.01.23.16.58.21.983933.152911947.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0090.2019.01.23.16.58.21.983933.152911948.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0090.2019.01.23.16.58.21.983933.152911948.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0090.2019.01.23.16.58.21.983933.152911948.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0090.2019.01.23.16.58.21.983933.152911948.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0091.2019.01.23.16.58.21.983933.152911949.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0091.2019.01.23.16.58.21.983933.152911949.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0091.2019.01.23.16.58.21.983933.152911949.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0091.2019.01.23.16.58.21.983933.152911949.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0092.2019.01.23.16.58.21.983933.152911950.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0092.2019.01.23.16.58.21.983933.152911950.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0092.2019.01.23.16.58.21.983933.152911950.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0092.2019.01.23.16.58.21.983933.152911950.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0093.2019.01.23.16.58.21.983933.152911951.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0093.2019.01.23.16.58.21.983933.152911951.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0093.2019.01.23.16.58.21.983933.152911951.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0093.2019.01.23.16.58.21.983933.152911951.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0094.2019.01.23.16.58.21.983933.152911952.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0094.2019.01.23.16.58.21.983933.152911952.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0094.2019.01.23.16.58.21.983933.152911952.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0094.2019.01.23.16.58.21.983933.152911952.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0095.2019.01.23.16.58.21.983933.152911953.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0095.2019.01.23.16.58.21.983933.152911953.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0095.2019.01.23.16.58.21.983933.152911953.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0095.2019.01.23.16.58.21.983933.152911953.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0096.2019.01.23.16.58.21.983933.152911954.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0096.2019.01.23.16.58.21.983933.152911954.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0096.2019.01.23.16.58.21.983933.152911954.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0096.2019.01.23.16.58.21.983933.152911954.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0097.2019.01.23.16.58.21.983933.152911955.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0097.2019.01.23.16.58.21.983933.152911955.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0097.2019.01.23.16.58.21.983933.152911955.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0097.2019.01.23.16.58.21.983933.152911955.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0098.2019.01.23.16.58.21.983933.152911956.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0098.2019.01.23.16.58.21.983933.152911956.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0098.2019.01.23.16.58.21.983933.152911956.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0098.2019.01.23.16.58.21.983933.152911956.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0099.2019.01.23.16.58.21.983933.152911957.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0099.2019.01.23.16.58.21.983933.152911957.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0099.2019.01.23.16.58.21.983933.152911957.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0099.2019.01.23.16.58.21.983933.152911957.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0100.2019.01.23.16.58.21.983933.152911958.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0100.2019.01.23.16.58.21.983933.152911958.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0100.2019.01.23.16.58.21.983933.152911958.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0100.2019.01.23.16.58.21.983933.152911958.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0101.2019.01.23.16.58.21.983933.152911959.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0101.2019.01.23.16.58.21.983933.152911959.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0101.2019.01.23.16.58.21.983933.152911959.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0101.2019.01.23.16.58.21.983933.152911959.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0102.2019.01.23.16.58.21.983933.152911960.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0102.2019.01.23.16.58.21.983933.152911960.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0102.2019.01.23.16.58.21.983933.152911960.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0102.2019.01.23.16.58.21.983933.152911960.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0103.2019.01.23.16.58.21.983933.152911961.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0103.2019.01.23.16.58.21.983933.152911961.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0103.2019.01.23.16.58.21.983933.152911961.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0103.2019.01.23.16.58.21.983933.152911961.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0104.2019.01.23.16.58.21.983933.152911962.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0104.2019.01.23.16.58.21.983933.152911962.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0104.2019.01.23.16.58.21.983933.152911962.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0104.2019.01.23.16.58.21.983933.152911962.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0105.2019.01.23.16.58.21.983933.152911963.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0105.2019.01.23.16.58.21.983933.152911963.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0105.2019.01.23.16.58.21.983933.152911963.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0105.2019.01.23.16.58.21.983933.152911963.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0106.2019.01.23.16.58.21.983933.152911964.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0106.2019.01.23.16.58.21.983933.152911964.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0106.2019.01.23.16.58.21.983933.152911964.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0106.2019.01.23.16.58.21.983933.152911964.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0107.2019.01.23.16.58.21.983933.152911965.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0107.2019.01.23.16.58.21.983933.152911965.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0107.2019.01.23.16.58.21.983933.152911965.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0107.2019.01.23.16.58.21.983933.152911965.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0108.2019.01.23.16.58.21.983933.152911966.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0108.2019.01.23.16.58.21.983933.152911966.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0108.2019.01.23.16.58.21.983933.152911966.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0108.2019.01.23.16.58.21.983933.152911966.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0109.2019.01.23.16.58.21.983933.152911967.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0109.2019.01.23.16.58.21.983933.152911967.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0109.2019.01.23.16.58.21.983933.152911967.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0109.2019.01.23.16.58.21.983933.152911967.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0110.2019.01.23.16.58.21.983933.152911968.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0110.2019.01.23.16.58.21.983933.152911968.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0110.2019.01.23.16.58.21.983933.152911968.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0110.2019.01.23.16.58.21.983933.152911968.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0111.2019.01.23.16.58.21.983933.152911969.IMA b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0111.2019.01.23.16.58.21.983933.152911969.IMA similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0111.2019.01.23.16.58.21.983933.152911969.IMA rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/RADIOMICS_PHANTOM.PT.SPECIALS_A_BRAIN_PET_LM_PIB_01_2_(ADULT).0006.0111.2019.01.23.16.58.21.983933.152911969.IMA diff --git a/Orientation and DICOM2NIfTI/data/phantom_EARL1/Thumbs.db b/Orientation_and_DICOM2NIfTI/data/phantom_EARL1/Thumbs.db similarity index 100% rename from Orientation and DICOM2NIfTI/data/phantom_EARL1/Thumbs.db rename to Orientation_and_DICOM2NIfTI/data/phantom_EARL1/Thumbs.db diff --git a/Orientation and DICOM2NIfTI/data/pmod/avg152T1_PMOD.nii b/Orientation_and_DICOM2NIfTI/data/pmod/avg152T1_PMOD.nii similarity index 100% rename from Orientation and DICOM2NIfTI/data/pmod/avg152T1_PMOD.nii rename to Orientation_and_DICOM2NIfTI/data/pmod/avg152T1_PMOD.nii diff --git a/Orientation and DICOM2NIfTI/images/.ipynb_checkpoints/Coordinate_systems-checkpoint.png b/Orientation_and_DICOM2NIfTI/images/.ipynb_checkpoints/Coordinate_systems-checkpoint.png similarity index 100% rename from Orientation and DICOM2NIfTI/images/.ipynb_checkpoints/Coordinate_systems-checkpoint.png rename to Orientation_and_DICOM2NIfTI/images/.ipynb_checkpoints/Coordinate_systems-checkpoint.png diff --git a/Orientation and DICOM2NIfTI/images/Coordinate_systems.png b/Orientation_and_DICOM2NIfTI/images/Coordinate_systems.png similarity index 100% rename from Orientation and DICOM2NIfTI/images/Coordinate_systems.png rename to Orientation_and_DICOM2NIfTI/images/Coordinate_systems.png diff --git a/Orientation and DICOM2NIfTI/images/Row_and_column_major_order.png b/Orientation_and_DICOM2NIfTI/images/Row_and_column_major_order.png similarity index 100% rename from Orientation and DICOM2NIfTI/images/Row_and_column_major_order.png rename to Orientation_and_DICOM2NIfTI/images/Row_and_column_major_order.png