Re: [ITK-users] Extracting image coordinate transform matrix

"Yaniv, Ziv Rafael (NIH/NLM/LHC) [C]" <[email protected]>
Newsgroups gmane.comp.lib.itk.user
Message-ID <[email protected]>
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" <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.