On the coordinate transformation of vtk and itk

The program I wrote uses itk image to read dicom image, and uses vtk to display it. What transformation should I make to make vtk display correctly? I know to use 0020 0037 tag to correct it. Can anyone tell me the detailed method?


Let’s start with you describing in more detaul what are you getting and what you need to get. Then we can discuss what can be done to fix it.



Hello, I read the dicom image through itk and convert it to vtk for display. I register the itk image and convert the registration result to vtktransform, and then use vtkcheckbordimage to display the registered image. This process involves too many coordinate conversion. I don’t know how to do it correctly.

I want to know the correct conversion method from itk image to vtk image, and the correct conversion method from registration result itktransform to vtktransform

Are you getting wrong results?

Due to the small amount of test data, I tested translateTransform, which is correct, but I am very worried about the rotation

I read the source code of slicer, and found that the coordinate conversion in it is relatively complex, and I didn’t understand it. At present, my program, from itktransform to vtktransform, only needs to map the mobile part, but slicer has made complex transformation, so I doubt the correctness of my program

If you cast doubt on the correctness of ITK or VTK or both you first have to design a test case and observe the results. Then, if you find unexpected results, you share them here and we can start a discussion. The “It’s complex, I don’t understand it, therefore it’s likely wrong” argument alone is not enough to objectively conduct an investigation.