Cannot open DICOM file
Afficher commentaires plus anciens
I have DICOM files that come from a Philips MR scanner that I cannot seem to open properly using dicomread or dicomreadVolume. I can open other DICOM files from different scanners with no issue. I have attached an example here of a file that will not open. There is image data there, as I can view this file on my PACS system and it has a larger filesize than a typical single slice image. The entire series of ~9 images is apparently included in ths one file, which makes me believe it is an enhanced DICOM file. Most other MR scanners give me one slice per DICOM file and those open with dicomread no problem.
dicomread does not give an error, but gives an empty matrix. isdicom shows true, and dicominfo successfully opens the header. dicomreadVolume does give an error- Input must have more than one image slice.
Is there another way that would be able to open this image data?
Thanks.
5 commentaires
Rik
le 8 Mai 2020
It looks like there is a lot of data in the private tag (2005,1132). By that count there are 12 images stored in this file. It is not clear to me how this data should be reshaped to form a recognizable volume.
Walter Roberson
le 8 Mai 2020
I checked with several different viewers; they say that there are no images in the file. They can see the headers, but no images.
Marcus Glover
le 8 Mai 2020
Walter Roberson
le 9 Mai 2020
I have not been able to find any images stored in that file. I did find some hidden data, but nothing you could use to create an image out of. For example,
buffer(native2unicode(typecast(info.Private_2005_1132.Item_4.Private_2005_1144.','uint8'),'utf8'),128).'
29×128 char array
' B �← - d , CGEN_ena_IQT_par � CGEN_ena_bidspec_mode '
' CGEN_adaptive_filt_ecg D CGEN_adaptive_filt_delay Bk$�C��% � CGEN_b1rms_averaging_win'
'dow }-@� � CGEN_high_weight_SAR_factors | CGEN_high_weight_range Z CG'
'EN_sar_alert_Wpkg �C��%C� D 4 CGEN_sar_max_Wpkg �>J@�8]A_��Bk CGEN_sar_max_legacy_Wpkg '
'c]� � CGEN_sed_limits � CGEN_pediatric_age_limit � CGEN_hea'
'rt_rate_update_interval � " CGEN_phys_simulation �.n�$Q@�~] � CGEN_simulate_gradient_dist '
' CGEN_phys_use_timestamps � CGEN_sim_nr_rr_intervals 3D f CGEN_sim_rr_in'
'terval_arr A;G�Bf�� d 8 CGEN_sim_nr_resp_intervals �k→�� � CGEN_sim_insp_interval_arr d '
' h CGEN_sim_exp_interval_arr d � CGEN_enlarge_range ԬB�K�Cy�&C7 $→ CGEN_rf_idle_time �'
'k→��/Z@��^A� �→ CGEN_gr_idle_time T→ CGEN_hos_idle_time &→ '
' CGEN_force_par_mode 'C�� D CGEN_boost_mode ��]@%�_A̛�B��C� CGEN_disable_flame_checks ݓ�'
'�Z�_ CGEN_rt_simulation � CGEN_pns_model �!D � CGEN_pn'
's_thresholds (�Cy�(C֭!D � CGEN_pns_filter_taus B��a@��`A�� � CGEN_pns_filter_weights Y '
' � CGEN_pns_logging_enabled � CGEN_pns_question_model � CGEN_pns_quest'
'ion_thresholds C��) CGEN_acoustic_safe_level �� �c@ � CGEN_cuda_sar_model_used '
' $ CGEN_ena_distortion_par � CGEN_coil_ui_selection_mode $D � CGEN_coil_ui_allow_p'
're_exclusion � CGEN_ext_test_mode ݵ� l CGEN_pns_non_cart_extra_factors � '
' CGEN_cem43_pars ,C�%D � � � � � � � � � � � � �'
' � � � � � 3 � � � � � � � � 3 � L B 8 .'
' $ � � � � � � � � � � � � � � � 4 H \ p � � � L ` t �'
' � � � � � � � � � � � � � � � � � � �'
' � l l l l l l l l � l � � � � l �'
' � � � � l X � � � L � x � � @ r � l �'
' .→ `→ �→ �→ �→ (↵ �↵ �↵ (↵ (↵ (↵ (↵ (↵ (↵ x x x x x x (↵ x (↵ x (↵ x � � �'
' � � � � � � � � � � � < � h h h h h h h h 0 t � � h < � < '
' � h t � 0 � � � h 6 � � n < ↵ � � t B � � �↵ � � � H← �← t'
' � < � h � 0 � � \ � � P � � � � � � � � � � � � � � � � � � �'
' � @F\�? �?��?��7@ �B C C @��L@ A �A �@��L@ �A B �@��L'
'@ A �A �@ @@ �? �? �? B 8B 8B↵ף>33�@�G?�Ga> �B �B �B �B �B33�? �? @ D �>��l@ff�?��? '
Oddly, in the same sequence of bytes, some of the text is single byte and some of it is double byte
Walter Roberson
le 12 Mai 2020
The private dicom dictionary name for the above is info.MRBlobDataObjectArray.Item_4.MRBlobData
Réponses (1)
drummer
le 8 Mai 2020
If dicomread didn't show any errors, try this after reading them again:
figure
imshow(yourDicom, 'DisplayRange', []);
I did not open your file, so be careful to load a slice where you know there´s anatomy.
Check if your retrieve from your PACS worked, as Walter Robson mentioned there´s no image in your file.
Good luck
7 commentaires
Marcus Glover
le 8 Mai 2020
drummer
le 11 Mai 2020
And did you try opening such study in another DICOM viewer, such as Horos or RadiAnt?
Rik
le 11 Mai 2020
Is your assumption that those programs would be designed to deal with the hidden data? Walter mentioned trying several viewers, so I don't think this is likely.
drummer
le 12 Mai 2020
No.
By doing that, he could be sure that there´s a flaw in the DICOM node/network and his study is corrupted.
And, as expected, it would not be a MATLAB issue.
In another topic, I´m not sure if Walter showed some private header information, but if those are header info, by owning the vendor´s dictionary is possible to show them all.
Rik
le 12 Mai 2020
Marcus attached a zip file with the dicom file inside it, so that is how Walter and I could comment on the contents of the headers.
An external viewer would have to specifically be equiped with the vendor dictionary, which isn't very likely once you are no longer in the PACS. Most hospitals will not have DICOM viewers with vendor dictionaries outside of their PACS. Reading the contents of the tags is not the issue, the issue is how to extract the image information that should be hidden in there. It is unclear what format those tags are in, and thus what could be done to parse the information into something usefull.
Walter Roberson
le 12 Mai 2020
http://godzilla.kennedykrieger.org/dicomfiles/dicomeread.zip has a philips dictionary with a most (but not all) of the entries used in the file here.
The MATLAB script there to read enhanced images says that this particular image is not enhanced.
I do not find anything using the dictionary that I had not already found and reported above in https://www.mathworks.com/matlabcentral/answers/523943-cannot-open-dicom-file#comment_844097
drummer
le 12 Mai 2020
I´m aware of the issue. That´s why I mentioned 'In another topic'.
Catégories
En savoir plus sur Read and Write Image Data from Files dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!