[vtkusers] 3D Slicing | vtkImageResliceMapper | No motion of cutplane in one of 3 axes (yaw)
David Gobbi
david.gobbi at gmail.com
Wed Jan 15 18:33:59 EST 2014
On Wed, Jan 15, 2014 at 4:12 PM, Debjit Ghosh <dghosh at chla.usc.edu> wrote:
>
> Knowing the confusion of the usage of axes (sensor, camera or data) is why
> I created a representation of the 3 axes in the attached image and based on
> that roll is in the Y axis, pitch is in Z and yaw is in X.
>
Please spell it out for me. I saw the image, and wasn't sure if the axes
drawn in the image were supposed to be the axes of the sensor, or the axes
of the data set.
Pardon my use of "yaw out". If the plane is centered at the tip of the
> cone, and the plane was to have a yaw motion, it would move like the dial
> of the pendulum from the inside to the outside of the bounding box.
>
Still unclear. I've never seen a pendulum that had a dial. Neither does
"from the inside to the outside" mean anything to me when you are talking
about rotations. Your trying to solve a mathematical problem, so please
use mathematical terminology. Otherwise it's almost guaranteed that that
your explanation will be misunderstood.
So the yaw axis is the x axis. It wasn't clear from your description or
from the figure, but I'm going to guess that you mean the x axis of the
sensor, which is also the normal of your cut plane. Is this correct? Do
you care about the position of the sensor, or only about its orientation?
If you only care about the orientation, then what point (in data coords)
do you use as the pivot point (or fulcrum) for the rotations? Even better,
find some way to indicate the rotations in your diagram.
> Your question is of the sort that is very difficult to understand without
>> some
>> sort of visual aid. Do you have any diagrams that illustrate exactly
>> what
>> you want to achieve? Do you have screenshots to demonstrate what the
>> system is doing right now?
>>
>> David
>>
>>
>> On Wed, Jan 15, 2014 at 12:26 PM, Debjit Ghosh <[hidden email]<http://user/SendEmail.jtp?type=node&node=5725429&i=0>>
>> wrote:
>>
>>
>> > I have been using the vtkImageResliceMapper to slice through a 3D
>> volume
>> > using the following logic (thanks to David Gobbi) where I am able to
>> slice
>> > in 2 out of 3 axes only. When I change the orientation of the slice in
>> the
>> > yaw direction there is no movement of the cut plane. I am not sure what
>> I am
>> > doing incorrectly here or whether this is a limitation of the system.
>> >
>> > Here is the code snippet which implements the slicing using the camera
>> and I
>> > wonder if it has to do with the default_norm that I have set to
>> [0,0,1]:
>> >
>> > matrix_= imageslice->GetMatrix();
>> > matrix_->MultiplyPoint(default_viewup, this->view_up);
>> >
>> > //matrix is a 3x3 rotation matrix which defines the orientation of the
>> > cutplane
>> > matrix->MultiplyPoint(this->default_norm, this->normal);
>> >
>> > double focalPt[] = {0,0,0};
>> > double centerofvol[] = {dimX/2, dimY/2, dimZ/2}; double origin[] =
>> {dimX/2,
>> > dimY/2, 0};
>> >
>> > vtkSmartPointer<vtkPlane> plane = vtkSmartPointer<vtkPlane>::New();
>> > plane->ProjectPoint( centerofvol, focalPt );
>> >
>> > position[0] = focalPt[0] + distfromcam * this->normal[0]; position[1] =
>> > focalPt[1] + distfromcam * this->normal[1]; position[2] = focalPt[2] +
>> > distfromcam * this->normal[2];
>> >
>> > cam->SetPosition(position); //Orientation of the slice
>> plane
>> > cam->SetFocalPoint(focalPt); //Point at which my plane is fixed
>> > cam->SetViewUp(this->view_up);
>> > cam->SetWindowCenter(win_center_x, win_center_y);
>>
>> _______________________________________________
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20140115/c912354f/attachment.html>
More information about the vtkusers
mailing list