Hi all.<div><br></div><div>I am developing a MPR (Multi-Planar Reformat) medical application through VTK. I am working in Java.</div><div><br></div><div>I am using 3 vtkImagePlaneWidget's to display the axial, coronal and sagittal views in a 3D scene.</div>
<div><br></div><div>I am loading DICOM images through custom DICOM decoding code (hence, not using VTK nor ITK image readers), and I am building a vtkImageData input object from my own custom DICOM decoded data.</div><div>
I obviously know all details about the slices I am loading into the vtkImageData data set, including pixel spacing, origin, orientation.</div><div><br></div><div>I've read several posts in this mailing list about this topic, and I have followed the quite-common suggestion of leaving the vtkImageData at (0,0,0) origin. Also, as known, no orientation information can be associated with vtkImageData.</div>
<div>Hence, basically my vtkImageData is a set of slices, each one parallel to the XY plane in the data coordinate system, with appropriate x, y, and z pixel spacing.</div><div><br></div><div>Now, my main issue is orientation. In fact, of course there are several DICOM data sets where the input slices are not axial (i.e., not parallel to the XY plane), hence I need to account for the orientation when displaying my volume in the 3D scene.</div>
<div><br></div><div>My plan would be to define "somewhere" a data-to-world transformation matrix which would allow me to display my volume with the correct orientation in the 3D scene. But my problem is: where to define this transform when working with vtkImagePlaneWidget? Basically, the volume would need to be "oriented" before being provided to the vtkImagePlaneWidget as an input, in my opinion.</div>
<div><br></div><div>I have tried creating a vtkTransform starting from my vtkMatrix4x4 (built from X, Y, Z direction cosines of my data set and from image origin in patient coord system), and then calling "SetResliceTransform()" on the vtkImageReslice object behind my vtkImagePlaneWidget, but this produces strange results: nothing is visible inside my vtkImagePlaneWidget's after this transform. I think I haven't exactly understood what the "SetResliceTranform()" method does, and whether it is appropriate for my purposes...</div>
<div><br></div><div>Do you have any suggestions about how/where I should account for image orientation when working with vtkImagePlaneWidget?</div><div><br></div><div>Thanks in advance,</div><div><br></div><div>Marco</div>
<div><br></div><div><br></div><div><br></div>