[Insight-users] Problem with resampling
motes motes
mort.motes at gmail.com
Wed Apr 21 07:24:52 EDT 2010
After running an AffineTransform registration process I am trying to
compute the registered image using the following:
// ....
try {
registration->Update();
}
catch( itk::ExceptionObject & err ) {
std::cerr << "ExceptionObject caught !" << std::endl;
std::cerr << err << std::endl;
return;
}
resampler->SetInput(imageM);
resampler->SetInterpolator( registration->GetInterpolator() );
resampler->SetTransform( registration->GetTransform());
resampler->SetSize( imageF->GetLargestPossibleRegion().GetSize() );
resampler->SetOutputSpacing( imageF->GetSpacing() );
resampler->SetOutputOrigin( imageF->GetOrigin() );
resampler->SetDefaultPixelValue( 0 );
resampler->Update();
CopyImageToImage<typename FixedImageType::Pointer,
FixedImageType>(resampler->GetOutput(), imageR);
display_image<FixedImageType, Volume, short>(imageR);
When I print the parameters after the registration I get:
25 = 1.06962 : [0.990631, 0.0905022, -0.0294116, -0.0802955, 1.00481,
-0.035022, 0.0491173, -0.00658597, 0.910021, -3.12388, 6.25156,
-21.9981]
these I know are the correct parameters and should produce this image:
http://img718.imageshack.us/img718/5899/correct.jpg
after running the above resampler. But instead I get:
http://img203.imageshack.us/img203/8120/wrongd.jpg
Any ideas on what might go wrong in the resampler, it looks like the
rotation is messed up for some reason?
I have checked that the fixed and moving images are correct just
before running the resampler.
More information about the Insight-users
mailing list