Very thankful for all your help!
I want to get a 2d image from a 3d vtkImageData. It’s easy to get tangent plane that is paraller to XY(maybe you can use vtkImageViewer2::SetSliceOrientationToXY() ) , but how could I get arbitrarily oblique image from vtkImageData , not paraller to XY , XZ and YZ.
I get some advice to use vtkImageReslice with this function
SetResliceAxes(vtkMatrix4x4 *matrix)
, I know the forth column of maxtrix represents the origin point , but What dose the first three columns of this matrix mean? How could the first three columns represent the plane normals?
I thoughtI should specify a plane by its origin and normal , and get the image cut by this plane (from the vtkImageData) , by some way like this
vtkPlane *plane = new vtkPlane;
plane->SetNormal(XXX) && plane->SetOrigin(XXX)
vtkImageReslice::SetResliceAxes(plane)
What’s the relation between the matrix from SetResliceAxes and the Origin&Normal from vtkPlane?
A more specific question , I want to achieve such effect
- Set the origin to vtkImageData’s center , and get it’s XY’s , XZ’s , YZ’s tangent plane
- Then rotate axis and get new tangent plane.(eg. Rotate X axis Counterclockwise around Z axis , and now you must have a new XZ plane)
If you have a more effiective solution , please tell me
Very thankful!