[vtkusers] Image Orientation computation
sercani
sercanimailgroups at gmail.com
Thu May 6 03:55:12 EDT 2010
06.05.2010 10:33, ABHISHEK GUPTA yazmış:
> Hi sercani,
> I am new to VTK and not using VTKImageViewer2.
> I am using classes VTKImageData, VTKImageTransform and VTKImageReslice.
> Any idea how can i do it using above classes.
> Thanks
> Abhishek
> Any idea how to
>
> On Thu, May 6, 2010 at 12:13 PM, sercani <sercanimailgroups at gmail.com
> <mailto:sercanimailgroups at gmail.com>> wrote:
>
> 06.05.2010 08:12, Abhishek_Gupta yazmış:
>
> Am implementing the MPR functionality using VTK libraries and
> bit confused
> how to calculate the patient orientations in the sagital and
> coronal view
> when the DICOM image was in Axial view. I was able to display the
> orientations from the DICOM file using the formulas provided
> in the
> http://www.dclunie.com/medical-image-faq/html/part2.html site
> by Mr. Clunie.
> Using this i get the orientation of the image of that
> particular DICOM image
> but how should i calculate the orientations for the other
> views except the
> one present in the DICOM file when reconstructed using the VTK.
>
> Hi Abhistek;
> If you are using vtkImageViewer2 for MPR rendering you can find
> their orientations like this:
>
> First find all axial (XY plane) orientations for left, top, right
> , bottom, front and back sides of vtkImageViewer2 and insert them
> into an array or stringlist etc. and do these calculations for
> other views:
>
> enum tagSCREEN
> {
> LEFT=0,
> TOP,
> RIGHT,
> BOTTOM,
> FRONT,
> BACK
> }ESCREEN;
>
> //Sagittal
> StringList getOrientationAnnotationForYZPlane()
> {
> StringList xy=getOrientationAnnotationForXYPlane();//axial
> orientations
>
> StringList list;
> list.insert(LEFT,xy.at <http://xy.at/>(TOP));
> list.insert(TOP,xy.at <http://xy.at/>(BACK));
> list.insert(RIGHT,xy.at <http://xy.at/>(BOTTOM));
> list.insert(BOTTOM,xy.at <http://xy.at/>(FRONT));
> list.insert(FRONT,xy.at <http://xy.at/>(LEFT));
> list.insert(BACK,xy.at <http://xy.at/>(RIGHT));
> return list;
> }
> //Coronal
> StringList getOrientationAnnotationForXZPlane()
> {
> StringList xy=getOrientationAnnotationForXYPlane();//axial
> orientations
>
> StringList list;
> list.insert(LEFT,xy.at <http://xy.at/>(LEFT));
> list.insert(TOP,xy.at <http://xy.at/>(BACK));
> list.insert(RIGHT,xy.at <http://xy.at/>(RIGHT));
> list.insert(BOTTOM,xy.at <http://xy.at/>(FRONT));
> list.insert(FRONT,xy.at <http://xy.at/>(TOP));
> list.insert(BACK,xy.at <http://xy.at/>(BOTTOM));
> return list;
> }
>
> Sercani....
>
>
Just create an instance of vtkImageViewer2 and set its renderwindow and
interactors, then set the viewer->SetSliceOrientation(int orientation);
according to your mpr rendering...for axial rendering orientation should
be 2, sagittal=0, coronal =1;
But of course if you have already implement the mpr rendering using
vtkImageTransform and vtkImageReslice you can set the stringlists
according to your transforms...The ones that i send are for
vtkImageViewer2's transforms, you can just control the values if they
are true, if not you can modify them for your transforms.The ones that i
send were only examples for giving the logic of orientation...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100506/df909b23/attachment.htm>
More information about the vtkusers
mailing list