vtkImageReslice의 사용법

vtkImageReslice는 생각보다 사용하기 까다로운 물건 중 하나다. 일단 vtk/itk의 소스코드가 매우 복잡한데 비해 설명은 매우 부실해서 더욱 그렇다. 그럼에도 불구하고 it works!라는 이유로 잘못 사용되는 경우도 많은 것 같다.

먼저 vtkImageReslice의 작동 순서는 다음과 같다.

  1. 출력 이미지의 Extent/Origin/Spacing을 지정한다.
  2. 출력 이미지의 각 voxel마다 (x, y, z) 좌표를 계산한다.
  3. 앞의 (x,y,z)ResliceAxes에 의해 먼저 변형되고, ResliceTransfom에 의해 (x', y', z')로 변형된다. ResliceTransfom만 있으면 충분할 것 같은데 ResliceAxes는 왜 필요한지 잘 모르겠다.
  4. (x', y', z')를 사용하여 입력 이미지에서 Interpolation등의 방법을 통해 값을 구하고, 이 값을 (x, y, z)의 값으로 정한다.

요약하자면, 여기서 transform의 방향은 출력 에서 입력으로 간다는 것이다.

댓글