[Insight-users] Question for Matte Mutual Information Registration
Ran Tao
garfieldtao at gmail.com
Tue Aug 14 19:08:45 EDT 2007
Hi All,
I use affine transform and Matte mutual information metric to do some registrations. After getting the metric minimum and the parameters, I try to use the same parameters, same transformation and Matte mutual information metric to compute the minimum again in a separate main function.
The code as follows.
typedef itk::MattesMutualInformationImageToImageMetric< double, double > MetricType;
MetricType::Pointer metric = MetricType::New();
metric->SetFixedImage ( fixedImage );
metric->SetFixedImageRegion ( fixedImage->GetBufferedRegion() );
metric->SetMovingImage ( movingImage );
metric->SetNumberOfHistogramBins( 24 );
metric->SetUseAllPixels( true );
typedef itk::AffineTransform< double, 3> TransformType;
TransformType::Pointer transform = TransformType::New();
metric->SetTransform( transform);
MetricType::TransformParametersType displacement = transform->GetParameters();
for(int i = 0; i<12; i++)
displacement[i] = best_parameters[i]; // best_parameters is from registration
value = metric->GetValue( displacement);
However, the value is very different from the miminum from the registration. Why is the result different? Is any special operations in registration?
Any hints will be appreciated.
Thanks,
Julia
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20070814/dfc955e4/attachment.html
More information about the Insight-users
mailing list