[vtkusers] How to Highlight the specified area on the slices obtained by VTKImageReslices
WtDMaO
wutongxiaomo at gmail.com
Tue Jun 25 03:04:38 EDT 2019
Actually, I consider this matter as a problem of coordinate transformation.
What I want is to highlight the specified area like lesion on the CT.
This is easy to achieve while the CT is normal like this
<http://vtk.1045678.n5.nabble.com/file/t342766/1P%401%4046%24T__%40HL%7D%25T%25UUYSL.png>
SetElement(0, 0, _resliceMatrix, 1);
SetElement(0, 1, _resliceMatrix, 0);
SetElement(0, 2, _resliceMatrix, 0);
SetElement(1, 0, _resliceMatrix, 0);
SetElement(1, 1, _resliceMatrix, 1);
SetElement(1, 2, _resliceMatrix, 0);
SetElement(2, 0, _resliceMatrix, 0);
SetElement(2, 1, _resliceMatrix, 0);
SetElement(2, 2, _resliceMatrix, 1);
SetElement(3, 0, _resliceMatrix, 44);
SetElement(3, 1, _resliceMatrix, 143);
SetElement(3, 2, _resliceMatrix, 81);
SetElement(3, 3, _resliceMatrix, 1);
However I have to use vtkimagereslice to get some special effect like this,
so I changed the direction of three axis like below
<http://vtk.1045678.n5.nabble.com/file/t342766/Z%28%7E%5DJ%5D%5DH%24_Y69HQZ9XAY7%5B2.png>
SetElement(0, 0, _resliceMatrix, 16 / Math.Sqrt(378));
SetElement(0, 1, _resliceMatrix, -11 / Math.Sqrt(378));
SetElement(0, 2, _resliceMatrix, -1 / Math.Sqrt(378));
SetElement(1, 0, _resliceMatrix, -2 / Math.Sqrt(14));
SetElement(1, 1, _resliceMatrix, -3 / Math.Sqrt(14));
SetElement(1, 2, _resliceMatrix, 1 / Math.Sqrt(14));
SetElement(2, 0, _resliceMatrix, 1 / Math.Sqrt(27));
SetElement(2, 1, _resliceMatrix, 1 / Math.Sqrt(27));
SetElement(2, 2, _resliceMatrix, 5 / Math.Sqrt(27));
SetElement(3, 0, _resliceMatrix, 44);
SetElement(3, 1, _resliceMatrix, 143);
SetElement(3, 2, _resliceMatrix, 81);
SetElement(3, 3, _resliceMatrix, 1);
So the key problem is that I have known the position (x,y,z) of lesion, How
can I get the lesion position in the picture after the rotation and
translation by VTKImageReslice. I have tried to use the _resliceMatrix but
it doesn't work, the new point(x',y',z') I got is wrong .
vtkImageData resliced = imageReslice.GetOutput();
_Image = ImageData2Bitmap(resliced, 1600, -400);
And I've got another situation, after the code above, I found the position I
need acctually is the Drawing Coordinate System.
<http://vtk.1045678.n5.nabble.com/file/t342766/Z%28%7E%5DJ%5D%5DH%24_Y69HQZ9XAY7%5B2.png>
If I highlight the position (0,0), it will highlight the left corner of the
image.
This has bothered me for one week, any help will be appreciated !!
--
Sent from: http://vtk.1045678.n5.nabble.com/VTK-Users-f1224199.html
More information about the vtkusers
mailing list