[vtkusers] loading a vtkImageData correctly

Mark Wyszomierski markww at gmail.com
Thu Mar 8 16:28:49 EST 2007


Hi Mathieu,

Before now I wasn't using vtkImageReslice - just sticking the volume
into the vtkImageData then into the 3d scene. What will the effect of
using the reslice be? Can this be used on every study I come across,
or will it only be used for coronal cases oriented this way?

Thanks,
Mark


On 3/8/07, Mathieu Malaterre <mathieu.malaterre at kitware.com> wrote:
> Hi Mark,
>
>        Can you try passing the IOP from the DICOM reader to vtkImageReslice.
>
> pseudocode:
>
>   float *direction_cosines = reader->GetImageOrientationPatient();
>   vtkMath::Cross(direction_cosines, direction_cosines+3, cross_vect);
>   reslice = vtkImageReslice;
>   reslice->SetResliceAxesDirectionCosines(
>     direction_cosines[0],
>     direction_cosines[1],
>     direction_cosines[2],
>     direction_cosines[3],
>     direction_cosines[4],
>     direction_cosines[5],
>     cross_vect[0],
>     cross_vect[1],
>     cross_vect[2]
>   );
>
> HTH
> -Mathieu
>
> Mark Wyszomierski wrote:
> > Hi Matieu,
> >
> > I tested a bunch of studies, and one is handled unexpectedly - it is a
> > coronal study. The cols/rows are heading to the feet/left
> > respectively. The images move from anterior to posterior.
> >
> > I am directing the output of vtkDICOMImageReader to vtkImageData and
> > then volume rendering it:
> >
> >    vtkImageData = vtkDICOMImageReader->GetOutput() // pseudocode
> >
> > the initial position of the volume is such that it seems the patient's
> > back is toward the camera (I would have expected the front of the
> > patient to be facing the camera). The end effect is that the left and
> > right side of the patient get swapped. Is this normal behavior for
> > this type of ordering? I may just be doing something incorrectly, but
> > it seemed to work fine for my other axial and sagital tests.
> >
> > Thanks,
> > Mark
> >
> >
> > On 3/8/07, Mark Wyszomierski <markww at gmail.com> wrote:
> >> Mathieu,
> >>
> >> So far vtkDICOMImageReader looks good - seems that it handles the
> >> 'inside out' studies correctly. What a life saver!
> >>
> >> Thanks,
> >> Mark
> >>
> >> On 3/8/07, Mathieu Malaterre <mathieu.malaterre at kitware.com> wrote:
> >> > We have also our own implementation in GDCM:
> >> >
> >> >
> >> http://groups.google.com/group/comp.protocols.dicom/browse_frm/thread/962794718131167c/ddf92d03f6fa84b4
> >>
> >> >
> >> > good luck,
> >> > -M
> >> >
> >> > Mark Wyszomierski wrote:
> >> > > Ah I just found a quick example of using vtkDICOMImageReader to
> >> read a
> >> > > series of images to create a volume - this method would be much more
> >> > > preferable than writing my own code to do it (leave it to the
> >> > > experts).
> >> > >
> >> > > I'll give it a try now, thanks again.
> >> > >
> >> > > Mark
> >> > >
> >> > > On 3/8/07, Mark Wyszomierski <markww at gmail.com> wrote:
> >> > >> Hi Mathieu,
> >> > >>
> >> > >> First off - thanks for replying. I took a look at the
> >> > >> vtkDICOMImageReader class - it looks like it only reads a single
> >> image
> >> > >> - is there any class that handles reading an entire series and then
> >> > >> orders them 'correctly' based on IPP + IOP?
> >> > >>
> >> > >> I read through the other links you posted but it will take me a few
> >> > >> more reads to understand the right way to figure out the ordering
> >> > >> using IPP + IOP,
> >> > >>
> >> > >> Thanks,
> >> > >> Mark
> >> > >>
> >> > >> On 3/8/07, Mathieu Malaterre <mathieu.malaterre at kitware.com> wrote:
> >> > >> > Mark Wyszomierski wrote:
> >> > >> > > Hi,
> >> > >> > >
> >> > >> > > I have two axial studies - one scanned from head to foot, the
> >> other
> >> > >> > > scanned from foot to head.
> >> > >> > >
> >> > >> > > What can I do to load each study correctly into a vtkImageData?
> >> > >> > > Previously I was simply loading them in a slice at a time
> >> based on
> >> > >> > > instance number, but this fails miserably for the study which
> >> was
> >> > >> > > scanned head to foot (the volume comes out backwards).
> >> > >> >
> >> > >> >
> >> > >> > Hi Mark,
> >> > >> >
> >> > >> >
> >> > >> >   See my answer to your post in dicom newsgroup. I would also
> >> suggest
> >> > >> > you have a look at what is being done in vtkDICOMImageReader.
> >> This is
> >> > >> > exactly the same idea, you order IPP along the normal (computed
> >> > >> using IOP).
> >> > >> >
> >> > >> > HTH
> >> > >> > -Mathieu
> >> > >> >
> >> > >>
> >> > >
> >> >
> >> >
> >>
> >
>
>



More information about the vtkusers mailing list