[Insight-users] Problem reading 4D Dicom datasets

Antoine DUCHAMPS antoine.duchamps at gmail.com
Tue Apr 21 06:49:32 EDT 2009


Hi Mathieu,

Thanks for responding. I think the problem is not the 4th dimension
ordering in this case, but a problem with voxel ordering of the
individual 3D files. I did the following test: I took the example
Examples/IO/DicomImagesReadWrite.cxx and changed InputDimension to 3.
Then I tried to read just one volume and the resulting image is [896 896
1] instead of [128 128 41]. Do you know if the class  GDCMImageIO can be
used to read 3D datasets?  Is this the expected behaviour?

antoine





Le mardi 21 avril 2009 à 11:56 +0200, Mathieu Malaterre a écrit :
> On Tue, Apr 21, 2009 at 11:07 AM, Antoine DUCHAMPS
> <antoine.duchamps at gmail.com> wrote:
> > Hi all,
> >
> > I'm trying to read a 4D dataset (DWI) in Dicom format by using a
> > modified version of DicomSeriesReadImageWrite2. I just set Dimension = 4
> > and commented the line "nameGenerator->SetUseSeriesDetails( true );"
> > My dataset is organized as a set of 3D files (one volume for each
> > gradient orientation).
> >
> > The problem I have is that I should obtain an image [128 128 41 62] and
> > I get an image [896, 896, 62, 1]. I've printed out the filenames created
> > by nameGenerator and they seem to be correct (they are the file names of
> > all 3D files)
> >
> > I've searched the list but I haven't found the solution :(. Can anybody
> > help?
> 
> Ordering DWI data is IMHO a hard task. DICOM does not defines AFAIK
> the ordering for those dataset. So what you end up with a set of 3D
> volumes but you have no clue which one comes first, which one comes
> last...
> To make things worse, a well known private vendor does not store
> exactly(*) the same Image Orientation (Patient) within the same DWI
> volume, which makes writing conditions even more difficult.
> 
> >From the top of my head, I remember having to use Instance Number to
> define the 4th dimension ordering. One manufacturer was using one
> convention while the other would use the other, but in the end you
> simply order by increasing number of Instance Number. So you simply
> need to order using -for example- the first slice's Instance Number.
> Does it make sense ?
> 
> I have meant to write a couple of example for such task, but I am
> truly missing the time for. If you are looking for a long term
> solution (programatically & generically) please join us on gdcm
> mailing list and I can help you get started.
> 
> Ref:
> http://apps.sourceforge.net/mediawiki/gdcm/index.php?title=General_questions#Is_there_support.3F
> 



More information about the Insight-users mailing list