[Insight-users] Error message when reading dicom images

Dawood Masslawi masslawi at gmail.com
Mon Jan 3 04:58:53 EST 2011


Dear Kourosh,
1. Every DICOM file header has three main components which are file
preamble, DICOM prefix and file meta elements. The preamble component
is for implementation or application specific uses and usually should
not be considered as a part of image reading procedure. The reason is
that some DICOM images (mostly old versions) do not maintain a preamble.
The meta information you have included are the file meta elements and
do not indicate whether your image has a preamble or not (although the
error confirms that it doesn't). I'm not sure if ITK is capable of
recovering a DICOM file with missing preamble but try to read the image
using the GDCM interface directly (examples included in the 
"Insighttoolkit-3.20\Example\IO" directory).
2. I don't think the missing preamble would result in incorrect voxel size.
Best regards,
Dawood Masslawi

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Dear itk users,

I get the following error message when reading some dicom images using itk::ImageFileReader:

WARNING: In ..\..\..\InsightToolkit-3.20.0\Code\IO\itkGDCMImageIO.cxx, line 348
GDCMImageIO (00E88F28): The DICOM file: C:\Users\Kourosh\Research\Data\ConeBeam\MAX.dcm does not have a preamble.

Also, it gives me a wrong pixel size. Previously, I posted a message with subject "Incorrect voxel size usign GetSpacing()" for the same problem. Does anyone have an idea why the image is not correctly read?

Here is part of the code for reading the image:


const unsigned int Dimension = 3;

typedef short int PixelType;

typedef itk::Image< PixelType, Dimension > ImageType;

typedef itk::ImageFileReader< ImageType > ImageReaderType;

// Define the filters

ImageReaderType::Pointer ImageReader = ImageReaderType::New();

ImageReader->SetFileName("C:\\Users\\Kourosh\\Research\\Data\\ConeBeam\\MAX.dcm"); // Set the input filename

ImageReader->Update(); // Read the image

ImageType::Pointer image = ImageReader->GetOutput();


Thanks!
Kourosh



P.S.
When I run DicomImageReadPrintTags to see the tags, I get the following information (I have modified some parts to protect identity):



(0002|0000) Group Length = 214
(0002|0001) File Meta Information Version = AAE=
(0002|0002) Media Storage SOP Class UID = 1.2.840.10008.5.1.4.1.1.2.1
(0002|0003) Media Storage SOP Instance UID = 2.16.840.1.113669.632.10.20100303.160809437.260454.8
(0002|0010) Transfer Syntax UID = 1.2.840.10008.1.2.1
(0002|0012) Implementation Class UID = 2.16.840.1.113669.632.10.99.2
(0002|0013) Implementation Version Name = ROMEXIS 001
(0002|0016) Source Application Entity Title = ROMEXIS_1
(0008|0005) Specific Character Set = ISO_IR 100
(0008|0008) Image Type = ORIGINAL\PRIMARY
(0008|0012) Instance Creation Date = 20100308
(0008|0013) Instance Creation Time = 164732
(0008|0016) SOP Class UID = 1.2.840.10008.5.1.4.1.1.2.1
(0008|0018) SOP Instance UID = 2.16.840.1.113669.632.10.20100303.160809437.260454.8
(0008|0020) Study Date = 20100303
(0008|0021) Series Date = 20100303
(0008|0023) Content Date = 20100303
(0008|002a) Acquisition Datetime = 20100303160809.000000
(0008|0030) Study Time = 160809
(0008|0031) Series Time = 160809
(0008|0033) Content Time = 160809
(0008|0050) Accession Number =
(0008|0060) Modality = CT
(0008|0070) Manufacturer = Planmeca
(0008|0080) Institution Name = Auburn Clinic
(0008|0090) Referring Physician's Name =
(0008|1010) Station Name = 1
(0008|1040) Institutional Department Name = Max Facial Xray Dept
(0008|1090) Manufacturer's Model Name = ProMax
(0008|9205) Pixel Presentation = MONOCHROME
(0008|9206) Volumetric Properties = VOLUME
(0008|9207) Volume Based Calculation Technique = NONE
(0010|0010) Patient's Name = Dixson^Dave (m-43y) 88/12/12^^Dr.^
(0010|0020) Patient ID = 3224
(0010|0030) Patient's Birth Date =
(0010|0040) Patient's Sex =
(0018|0015) Body Part Examined = HEAD
(0018|0050) Slice Thickness = 0.32
(0018|0060) KVP = 84
(0018|1000) Device Serial Number = TDX260454
(0018|1020) Software Version(s) = 1.21.7.0.r
(0018|1150) Exposure Time = 12140
(0018|1151) X-ray Tube Current = 14
(0018|115e) Image Area Dose Product = 874.4517211914062
(0018|5100) Patient Position = HFS
(0018|700a) Detector ID = TDX260454
(0018|9073) Acquisition Duration = Ház?®G(@
(0020|000d) Study Instance UID = 2.16.840.1.113669.632.10.20100308.164732281.0.11
(0020|000e) Series Instance UID = 2.16.840.1.113669.632.10.20100303.160809437.221850
(0020|0010) Study ID =
(0020|0011) Series Number = 22185
(0020|0012) Acquisition Number = 5
(0020|0013) Instance Number = 22185
(0020|0052) Frame of Reference UID = 2.16.840.1.113669.632.10.20100303.160809437.260454.8
(0020|1040) Position Reference Indicator =
(0028|0002) Samples per Pixel = 1
(0028|0004) Photometric Interpretation = MONOCHROME2
(0028|0008) Number of Frames = 250
(0028|0010) Rows = 250
(0028|0011) Columns = 250
(0028|0100) Bits Allocated = 16
(0028|0101) Bits Stored = 12
(0028|0102) High Bit = 11
(0028|0103) Pixel Representation = 0
(0028|0106) Smallest Image Pixel Value = 0
(0028|0107) Largest Image Pixel Value = 4095
(0028|0301) Burned In Annotation = NO
(0028|1050) Window Center = 744.0
(0028|1051) Window Width = 2500.0
(0028|1052) Rescale Intercept = -1000
(0028|1053) Rescale Slope = 1
(0028|2110) Lossy Image Compression = 00
(2050|0020) Presentation LUT Shape = IDENTITY
Patient's Name (0010|0010)  is: Dixson^Dave (m-43y) 88/12/12^^Dr.^
Performing Physician's Name (0008|1050): (No Value Found in File)
PixelType: scalar
Component Type: short


      
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110103/15489541/attachment.htm>


More information about the Insight-users mailing list