How to convert dicom image world coordinates into Cartesian coordinates

33 次查看(过去 30 天)
I have coordinates of arteries seed points in world coordinate system how can I convert them to the Cartesian ones, by using the DICOM header information of CTA image.
E.g I have 512x512x299volume of dicom images and Ihave a seedpoint represented in world coordinates say (54.3057 56.3043 78.9999), how could I get the corresponding cartesian coordinate of this world coordinate using header information in Matlab??
  5 个评论
Saman Tariq
Saman Tariq 2019-12-8
Rik Thank you for your help but after subtracting from the ImagePositionPatient tag it still not gives integer values of coordinates.
Rik
Rik 2019-12-8
Are you certain they should be integers?
Contact the person who created those coordinates.

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2019-12-8
I suspect that when you talk about cartesian coordinates, you are referring to row, column, layer coordinates.
Note that typically for images, what you care about is coordinates relative to corner of the volume, rather than absolute coordinates. In such cases, you can typically translate coordinate systems just by knowing the x, y, and z resolution. However, you specifically asked for world coordinates, so you will have to pay attention to the Image Position (0020,0032) and Image Orientation (0020,0037). I have to say, though, that it is very rare to see an imaging scanner with an attached GPS, as would be necessary to work with world coordinates.
  3 个评论
Rik
Rik 2019-12-8
CT is generally the easiest to work with. You only need to worry about the physical dimensions of the voxels. Then you can simply use one corner voxel as the origin, and use the voxel dimensions to translate coordinates in voxel offsets.
Note that the slice thickness sounds like the distance between two slice, but that information is actually encoded in the slice interval (which is an optional tag, so you might have to calculate it from the z position of two slices).
Saman Tariq
Saman Tariq 2019-12-8
@Rik I only wanted to change coordinates my seedpoint (54.3057 56.3043 78.9999) so I don"t know which tag from dicom hearder is used and how it will be done.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 DICOM Format 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by