[Insight-users] use of transform with itk volume
J. Van Dalen
J.vanDalen" <J.vanDalen@rad.umcn.nl
Wed, 27 Nov 2002 16:02:58 +0100 (CET)
Hi,
I have two itk questions that hopefully one of you can answer...
I try to make a registration using mutual information. Therefore, I want
to make use of some initial transformations given in a vol-file.
I start with vtk, read the dicom files and the initial transforms, for
two images. Then, via a pipeline construction, I arrive at an itk volume.
I try to connect the transform to the itk volume by using the following
code:
spInItk->GetOutput()->GetIndexToPhysicalTransform()->SetParameters(quat);
spInItk->GetOutput()->SetIndexToPhysicalTransform(spInItk->GetOutput()->
GetIndexToPhysicalTransform()->GetInverse());
where spInItk is of type ImageImportType and quat is an array that
contains the initial transformation.
Now, my questions are:
* The second line gives an error: no matching function for call to
`itk::Transform<double, 3, 3>::GetInverse ()'
I do not understand this error since spInItk->GetOutput()->
GetIndexToPhysicalTransform() is an AffineTransform (I see this when
I use the command: spInItk->GetOutput()->Print(cout);), and according
to the documentation, an inverse of an AffineTransform is defined.
* When I have initial tranforms connected to the itk volumes that
I want to fuse (as I show above), will these transforms be used
when I call the ImageRegistrationMethod?
Hope you can help me,
Thanks,
Jorn.