[ITK] [ITK-users] Extracting image coordinate transform matrix
Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]
zivrafael.yaniv at nih.gov
Tue Aug 1 11:12:53 EDT 2017
Hello Ramana,
Curious what your use case is, as I can’t think of the reason to do the computation the way you want to.
In any case, the code below does what you want:
image_direction = image.GetDirection()
image_spacing = image.GetSpacing()
image_origin = image.GetOrigin()
dim = 3
matrix = [m*s for m,s in zip(image_direction, image_spacing*dim)]
index_2_physical = sitk.AffineTransform(dim)
index_2_physical.SetMatrix(matrix)
index_2_physical.SetTranslation(image_origin)
physical_2_continous_index = index_2_physical.GetInverse()
If you need the indexes as integers you will need to transform the point, round the result (np.rint) and then astype(int):
np.rint(physical_2_continous_index.TransformPoint([-82.76, 33.32, 101.5])).astype(int)
hope this helps
Ziv
On 8/1/17, 8:22 AM, "Ramana C" <rc1515 at ic.ac.uk> wrote:
Hi All,
I am using SimpleITK in Python (but help for any ITK/SimpleITK version would
be appreciated too!).
I am looking for a way to extract (or construct) the 4 by 4 transformation
matrix from an image that lets me transform physical space coordinates to
voxel coordinates of the image grid, and vice-versa.
I know that the image class has methods such as
image.TransformIndexToPhysicalPoint, but I was hoping that it would be
possible to extract the transformation matrix itself.
Any help with this would be greatly appreciated.
-Ramana
--
View this message in context: http://itk-users.7.n7.nabble.com/Extracting-image-coordinate-transform-matrix-tp38537.html
Sent from the ITK - Users mailing list archive at Nabble.com.
_____________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-users
_____________________________________
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php
Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ
Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-users
More information about the Community
mailing list