[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.