Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No DICOMs found (Bruker 7T Preclinical) #55

Open
araikes opened this issue Oct 20, 2023 · 5 comments
Open

No DICOMs found (Bruker 7T Preclinical) #55

araikes opened this issue Oct 20, 2023 · 5 comments

Comments

@araikes
Copy link

araikes commented Oct 20, 2023

  • mrQA version: pip installed
  • Python version: 3.10
  • Operating System: Centos 7

Description

Attempted to run this on mouse DICOMs from a Bruker 70/20 7-Tesla system running Paravision 360 v3.3 (backend software). Outputs include enhanced DICOMs. It appears to look for DICOMs in the right location but then reports no DICOMs

What I Did

(qctools) [adamraikes@gpu68 app_apoe]$ mrqa -d dicoms -f dicom -o mrqa -n compliance -v
2023-10-20 08:11:59,272 - INFO - Created temp file in mrqa
2023-10-20 08:12:24,233 - INFO - Localizer: Skipping /xdisk/adamraikes/app_apoe/dicoms/20230512_114500_apoemouse_APPCA_C1_VM6979_1_11/1/pdata/1/dicom
2023-10-20 08:12:29,049 - INFO - ACR/Phantom: /xdisk/adamraikes/app_apoe/dicoms/20230512_114500_apoemouse_APPCA_C1_VM6979_1_11/5/pdata/1/dicom
DicomDataset compliance is empty.
Traceback (most recent call last):
  File "/home/u26/adamraikes/.conda/envs/qctools/bin/mrqa", line 8, in <module>
    sys.exit(main())
  File "/home/u26/adamraikes/.conda/envs/qctools/lib/python3.10/site-packages/mrQA/cli.py", line 85, in main
    check_compliance(dataset=dataset,
  File "/home/u26/adamraikes/.conda/envs/qctools/lib/python3.10/site-packages/mrQA/project.py", line 63, in check_compliance
    raise DatasetEmptyException
MRdataset.config.DatasetEmptyException: Expected Sidecar DICOM/JSON files in --data_source. Got 0 DICOM/JSON files.

Here's the contents of that folder:

(qctools) [adamraikes@gpu68 app_apoe]$ ls /xdisk/adamraikes/app_apoe/dicoms/20230512_114500_apoemouse_APPCA_C1_VM6979_1_11/5/pdata/1/dicom
4_CIBS_MultishellDWI_EnIm1.dcm

Just as a sanity check:

(qctools) [adamraikes@gpu68 dicom]$ python
Python 3.10.12 | packaged by conda-forge | (main, Jun 23 2023, 22:40:32) [GCC 12.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pydicom import dcmread
>>> ds = dcmread('4_CIBS_MultishellDWI_EnIm1.dcm')
>>> ds
Dataset.file_meta -------------------------------
(0002, 0000) File Meta Information Group Length  UL: 196
(0002, 0001) File Meta Information Version       OB: b'\x00\x01'
(0002, 0002) Media Storage SOP Class UID         UI: Enhanced MR Image Storage
(0002, 0003) Media Storage SOP Instance UID      UI: 2.16.756.5.5.200.8323328.195705.1683918037.311.3.0
(0002, 0010) Transfer Syntax UID                 UI: Explicit VR Little Endian
(0002, 0012) Implementation Class UID            UI: 1.2.276.0.7230010.3.0.3.6.6
(0002, 0013) Implementation Version Name         SH: 'OFFIS_DCMTK_366'

....
@raamana
Copy link
Contributor

raamana commented Oct 20, 2023

thanks a lot Adam for reporting this in detail - this seems like a clear bug on our part, and I will test it myself and get back to you shortly.

@araikes
Copy link
Author

araikes commented Oct 20, 2023

This is easier to share data if needed.

@sinhaharsh
Copy link
Collaborator

I think the log is very clear that the folder was skipped because it was identified as a phantom.
2023-10-20 08:12:29,049 - INFO - ACR/Phantom: /xdisk/adamraikes/app_apoe/dicoms/20230512_114500_apoemouse_APPCA_C1_VM6979_1_11/5/pdata/1/dicom
We tested on human datasets, and we rely on certain dicom tags to identify them as phantoms. If those tags were not populated, it may misidentify DICOM as a phantom

@araikes
Copy link
Author

araikes commented Oct 20, 2023

More complete tag list (though not all):

Dataset.file_meta -------------------------------
(0002, 0000) File Meta Information Group Length  UL: 196
(0002, 0001) File Meta Information Version       OB: b'\x00\x01'
(0002, 0002) Media Storage SOP Class UID         UI: Enhanced MR Image Storage
(0002, 0003) Media Storage SOP Instance UID      UI: 2.16.756.5.5.200.8323328.195705.1683918037.311.3.0
(0002, 0010) Transfer Syntax UID                 UI: Explicit VR Little Endian
(0002, 0012) Implementation Class UID            UI: 1.2.276.0.7230010.3.0.3.6.6
(0002, 0013) Implementation Version Name         SH: 'OFFIS_DCMTK_366'
-------------------------------------------------
(0008, 0005) Specific Character Set              CS: 'ISO_IR 192'
(0008, 0008) Image Type                          CS: ['ORIGINAL', 'PRIMARY', 'DIFFUSION', 'NONE']
(0008, 0012) Instance Creation Date              DA: '20230512'
(0008, 0013) Instance Creation Time              TM: '152313'
(0008, 0014) Instance Creator UID                UI: 2.16.756.5.5.1020.360.13.23.30
(0008, 0016) SOP Class UID                       UI: Enhanced MR Image Storage
(0008, 0018) SOP Instance UID                    UI: 2.16.756.5.5.200.8323328.195705.1683918037.311.3.0
(0008, 0020) Study Date                          DA: '20230512'
(0008, 0021) Series Date                         DA: '20230512'
(0008, 0023) Content Date                        DA: '20230512'
(0008, 002a) Acquisition DateTime                DT: '20230512121318.002-0700'
(0008, 0030) Study Time                          TM: '114500'
(0008, 0031) Series Time                         TM: '152313'
(0008, 0033) Content Time                        TM: '152313'
(0008, 0050) Accession Number                    SH: ''
(0008, 0060) Modality                            CS: 'MR'
(0008, 0070) Manufacturer                        LO: 'Bruker BioSpin MRI GmbH'
(0008, 0080) Institution Name                    LO: 'University of Arizona - Tucson'
(0008, 0090) Referring Physician's Name          PN: 'bhattrai'
(0008, 0201) Timezone Offset From UTC            SH: '-0700'
(0008, 103e) Series Description                  LO: '4_CIBS_MultishellDWI'
(0008, 1090) Manufacturer's Model Name           LO: 'BioSpec 70/20'
(0008, 9121)  Referenced Raw Data Sequence  1 item(s) ---- 
   (0008, 1115)  Referenced Series Sequence  1 item(s) ---- 
      (0008, 1199)  Referenced SOP Sequence  1 item(s) ---- 
         (0008, 1150) Referenced SOP Class UID            UI: Raw Data Storage
         (0008, 1155) Referenced SOP Instance UID         UI: 2.16.756.5.5.200.8323328.195705.1683917100.7.5
         ---------
      (0020, 000e) Series Instance UID                 UI: 2.16.756.5.5.200.8323328.195705.1683918037.311
      ---------
   (0020, 000d) Study Instance UID                  UI: 2.16.756.5.5.200.8323328.195705.1683917100.7
   ---------
(0008, 9205) Pixel Presentation                  CS: 'MONOCHROME'
(0008, 9206) Volumetric Properties               CS: 'VOLUME'
(0008, 9207) Volume Based Calculation Technique  CS: 'NONE'
(0008, 9208) Complex Image Component             CS: 'MAGNITUDE'
(0008, 9209) Acquisition Contrast                CS: 'DIFFUSION'
(0010, 0010) Patient's Name                      PN: 'apoemouse^^^^'
(0010, 0020) Patient ID                          LO: 'apoemouse'
(0010, 0030) Patient's Birth Date                DA: '20230403'
(0010, 0040) Patient's Sex                       CS: 'O'
(0010, 1030) Patient's Weight                    DS: '0.001'
(0010, 2201) Patient Species Description         LO: 'RODENT'
(0010, 2210) Anatomical Orientation Type         CS: 'QUADRUPED'
(0010, 2292) Patient Breed Description           LO: ''
(0010, 2293)  Patient Breed Code Sequence  0 item(s) ---- 
(0010, 2294)  Breed Registration Sequence  0 item(s) ---- 
(0010, 2297) Responsible Person                  PN: ''
(0010, 2299) Responsible Organization            LO: 'University of Arizona - Tucson'
(0018, 0023) MR Acquisition Type                 CS: '3D'
(0018, 0087) Magnetic Field Strength             DS: '7.05403738128'
(0018, 1000) Device Serial Number                LO: '406491'
(0018, 1020) Software Versions                   LO: ['Acquisition PV-360.3.3', 'ParaVision 360.3.3']
(0018, 1030) Protocol Name                       LO: '4_CIBS_MultishellDWI'
(0018, 5100) Patient Position                    CS: 'HFP'
(0018, 9004) Content Qualification               CS: 'PRODUCT'
(0018, 9005) Pulse Sequence Name                 SH: 'Bruker:DtiEpi'
(0018, 9008) Echo Pulse Sequence                 CS: 'BOTH'
(0018, 9011) Multiple Spin Echo                  CS: 'NO'
(0018, 9012) Multi-planar Excitation             CS: 'NO'
(0018, 9014) Phase Contrast                      CS: 'NO'
(0018, 9017) Steady State Pulse Sequence         CS: 'LONGITUDINAL'
(0018, 9018) Echo Planar Pulse Sequence          CS: 'YES'
(0018, 9024) Saturation Recovery                 CS: 'NO'
(0018, 9025) Spectrally Selected Suppression     CS: 'FAT'
(0018, 9029) Oversampling Phase                  CS: '3D'
(0018, 9032) Geometry of k-Space Traversal       CS: 'RECTILINEAR'
(0018, 9034) Rectilinear Phase Encode Reordering CS: 'LINEAR'
(0018, 9064) k-space Filtering                   CS: 'NONE'
(0018, 9073) Acquisition Duration                FD: 11392.0
(0018, 9093) Number of k-Space Trajectories      US: 1
(0018, 9094) Coverage of k-Space                 CS: 'FULL'
(0018, 9100) Resonant Nucleus                    CS: '1H'
(0018, 9174) Applicable Safety Standard Agency   CS: 'IEC'
(0020, 000d) Study Instance UID                  UI: 2.16.756.5.5.200.8323328.195705.1683917100.7
(0020, 000e) Series Instance UID                 UI: 2.16.756.5.5.200.8323328.195705.1683918037.311
(0020, 0010) Study ID                            SH: 'APPCA_C1_VM6979'
(0020, 0011) Series Number                       IS: '50001'
(0020, 0013) Instance Number                     IS: '1'
(0020, 0052) Frame of Reference UID              UI: 2.16.756.5.5.200.8323328.195705.1683917100.7
(0020, 1040) Position Reference Indicator        LO: ''

@raamana
Copy link
Contributor

raamana commented Oct 20, 2023

Hi @sinhaharsh , I think it is a bug on our part if we are doing "If those tags were not populated, it may misidentify DICOM as a phantom"

we should not filter out any image unless we are definitively sure its to be filtered (clear/direct evidence that it is phantom etc)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants