[Insight-users] Re: Bug 1056

Mathieu Malaterre mathieu.malaterre at kitware.com
Tue Dec 14 18:12:20 EST 2004


Uwe,

	I believe you are righ the tag 0028x0030is really in the form: 
"y_spacing\x_spacing". A lot of dicom viewer only read the first spacing 
assuming the second would be equal.

	If you have a chance could you give GDCM a try to read your dataset.

Thanks
Mathieu

Luis Ibanez wrote:
> 
> Hi Uwe,
> 
> Thanks a lot for your detailed message and for editing
> the bug in the database.
> 
> Following your hints, we just added an extra step to the
> parsing in order to recover the second number in the
> tag 0028x0030.  We are now searching for the separator
> and taking the second part of the string.
> 
> This has been committed to CVS so you can give it a try.
> 
> We are still unclear regarding the order of the spacing.
> That is, whether the first value is suppossed to be the
> spacing in X (PixelSpacing[0]) or the spacing in Y
> (PixelSpacingg[1])
> 
> 
> If you have a chance, please give it a try at the CVS
> version and let us konw what you find.
> 
> 
>    Thanks
> 
> 
> 
>       Luis
> 
> 
> 
> 
> -------------------------
> Dr. Uwe Köhler wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Dear Luis,
>>
>> I tried to post a comment to the bug, but the system forgot most of it:
>> I have images with non-isotropic in-plane resolution and ITK cannot 
>> interpret the pixel spacing. According to the DICOM standard you do 
>> get the ROW spacing first and then the COL spacing.
>> - From the standard:
>> Physical distance in the patient between the center of each pixel, 
>> specified by a numeric pair - adjacent row spacing (delimiter) 
>> adjacent column spacing in mm.
>>
>> I also seem to get rounding errors, however I can live with those. I 
>> just cannot fix the DICOM code
>>   if (len > 0)
>>     {
>>     fval = DICOMFile::ReturnAsFloat(val, 
>> parser->GetDICOMFile()->GetPlatformIsBigEndian());
>>     }
>>
>>   if (group == 0x0028 && element == 0x0030)
>>     {
>>     this->PixelSpacing[0] = this->PixelSpacing[1] = fval;
>>     }
>>   else if (group == 0x0018 && element == 0x0050)
>>     {
>>     this->PixelSpacing[2] = fval;
>>     }
>>
>> since val should have more than one value. Could you fix that?
>>
>> Cheers
>>
>> Uwe
>> - --  |                                                                 |
>> - -+-----------------------------------------------------------------+-
>>  |  Dr. Uwe Köhler              MR - Physics                       | 
>>  |                              German Heart Institute Berlin      |
>>  |                              Augustenburger Platz 1             |
>>  |                              D - 13353 Berlin                   |
>>  |          ////                Germany                            |
>>  |         (@ @)                Phone: +49 172 98 11 598           |
>> - -+-----oOO--(_)--OOo-----------------------------------------------+-
>>  | <URL:http://www.ed.ac.uk/~ukoehler>   <mailto:UKoehler at dhzb.de> |
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v1.2.4 (GNU/Linux)
>>
>> iD8DBQFBubBEzFGNh0avvlkRAi15AKCS83hM6ar99jXFYsuSuqcLWZidPQCeMNvm
>> xIy3SvjpK/vzGHKIfgR46iU=
>> =sBUq
>> -----END PGP SIGNATURE-----
>>
>>
> 
> 
> 
> 
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
> 





More information about the Insight-users mailing list