FW: [Insight-users] Slice spacing of DICOM series
Andrew Li
andrew.li at synarc.com
Wed Sep 7 14:15:40 EDT 2005
-----Original Message-----
From: Andrew Li
Sent: Wednesday, September 07, 2005 10:07 AM
To: 'Stephen R. Aylward'
Cc: 'Mathieu Malaterre'
Subject: RE: [Insight-users] Slice spacing of DICOM series
Hi, Stephen:
This is an example:
MRI data PD/T2 double echo, 82 slices, 41 slices for each echo.
0008,0060 Modality: MR
0008,0070 Manufacturer: GE MEDICAL SYSTEMS
0008,1030 Study Description: BRAIN
0008,103E Series Description: AXIAL PD/T2
0008,1090 Manufacturer's Model Name: GENESIS_SIGNA
From the first slice of echo 1 (1/82):
0018,0088 Spacing Between Slices: 3
0020,0032 Image Position (Patient): -125\-146.459\-55.4413
0020,0037 Image Orientation (Patient):
1\0\0\0\0.983262\-0.182199
0020,1041 Slice Location: -78.2157440186
From the 2nd slice of echo 1 (3/82):
0018,0088 Spacing Between Slices: 3
0020,0032 Image Position (Patient): -125\-145.366\-49.5417
0020,0037 Image Orientation (Patient):
1\0\0\0\0.983262\-0.182199
0020,1041 Slice Location: -72.3161773682
There are different ways to derive slice-spacing:
1) read from slicing Between Slices Tag: 0018|0088;
2) derive it from Image Position Tag: 0020|0032;
3) derive it from Slice Location Tag: 0020|1041;
In most of cases, no matter which way used, the answer will be the same.
When there is a problem in the header, I believe that any tag could be
wrong including 0018|0088.
The problem for me (working on segmentation here in Synarc) is that
currently the tag: 0018|0088 is under QC but the tag: 0020|0032 is not.
I am going to check whether our QC team are willing to watch the tag:
0020|0032.
On the other hand, it would be helpful if you could add an option for
users to choose which method to use in DICOM series reader class. In the
meantime, I am using SetSpacing() to override the default.
Thank you very much!
-Andrew
CC: Mathieu
-----Original Message-----
From: Stephen R. Aylward [mailto:aylward at unc.edu]
Sent: Wednesday, September 07, 2005 6:32 AM
To: Andrew Li
Cc: Mathieu Malaterre; insight-users at itk.org
Subject: Re: [Insight-users] Slice spacing of DICOM series
Hi Andrew,
Are you saying, for your data, that the slice positions are wrong for
reconstructing the volume and that the slice thickness should be used to
space the slices?
Stephen
Andrew Li wrote:
> Hi, Mathieu:
>
> Our previous ITK lib was built in June. I updated ITK code and built
> the ITK lib on Friday (9/2), but results were the same.
>
> Then, I took a closer look and the following were what I found:
> GDCM function GetZSpacing() is used to read slice spacing and it
is
> correct.
> But at later time, in function GenerateOutputInformation() in
> file: itkImageSeriesReader.txx,
> slice spacing read from GetZspacing() is ignored, and
> slice spacing is actually derived from slice positions
of the first
> slice and of the second.
>
> Unfortunately for us, when slice spacing and slice position are
> inconsistent in the headers, the latter is wrong for most of the time.
>
> For now, it is already good enough for us to just to know how slice
> spacing is derived in ITK package.
> Thank you very much for your help!
>
> -Andrew
>
> -----Original Message-----
> From: Mathieu Malaterre [mailto:mathieu.malaterre at kitware.com]
> Sent: Friday, September 02, 2005 10:11 AM
> To: Andrew Li
> Cc: insight-users at itk.org
> Subject: Re: [Insight-users] Slice spacing of DICOM series
>
> Andrew,
>
> Could you check you are using GDCM. GDCM was not the default
DICOM IO
> factory until very recently.
>
> For more info on the ZSpacing you can check what is being done
in
> gdcm/src/gdcmFile.cxx:File::GetZSpacing()
>
> HTH,
> Mathieu
>
>
>
> Andrew Li wrote:
>
>>Hi,
>>
>>We use itk::ImageSeriesReader to read 3D MRI data set that is stored
>>as a (2D) DICOM series and then check the slice spacing in slice
>>direction as following:
>> ...
>> ReaderType::Pointer reader = ReaderType::New();
>> ...
>> double sliceSpacingInSliceDirection =
>>(reader->GetOutput()->GetSpacing())[2];
>> ...
>>
>>How slice spacing in slice direction is derived in
>>itk::ImageSeriesReader Class? It seems not from the tag: {0x0018,
>>0x0088} (spacing between slices).
>>
>>Please let me know. Thanks.
>>
>>-Andrew
>>
>>--------------------------------------------------------
>>
>>This email message is for the sole use of the intended recipient(s)
>
> and may contain confidential and privileged information.Any
> unauthorized review, use, disclosure or distribution is prohibited. If
> you are not the intended recipient, please contact the sender by reply
> email and destroy all copies of the original message. If you are the
> intended recipient, please be advised that the content of this message
> is subject to access, review and disclosure by the sender's Email
> System Administrator.
>
>>--------------------------------------------------------
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>
>
> --------------------------------------------------------
>
> This email message is for the sole use of the intended recipient(s)
and may contain confidential and privileged information.Any unauthorized
review, use, disclosure or distribution is prohibited. If you are not
the intended recipient, please contact the sender by reply email and
destroy all copies of the original message. If you are the intended
recipient, please be advised that the content of this message is subject
to access, review and disclosure by the sender's Email System
Administrator.
> --------------------------------------------------------
> _______________________________________________
> Insight-users mailing list
> Insight-users at itk.org
> http://www.itk.org/mailman/listinfo/insight-users
--
===========================================================
Dr. Stephen R. Aylward
Associate Professor of Radiology
Adjunct Associate Professor of Computer Science and Surgery
http://caddlab.rad.unc.edu aylward at unc.edu
(919) 966-9695
--------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information.Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. If you are the intended recipient, please be advised that the content of this message is subject to access, review and disclosure by the sender's Email System Administrator.
--------------------------------------------------------
More information about the Insight-users
mailing list