[ITK-users] MutualInformationImageToImageMetric without transformation
Matt McCormick
matt.mccormick at kitware.com
Thu Aug 28 22:39:54 EDT 2014
Hi Jan,
Make sure to call Initialize() [1]. See also the
MeanSquareImageMetric1.cxx file from the Examples/ directory.
Hope this helps,
Matt
[1] http://www.itk.org/Insight/Doxygen/html/classitk_1_1ImageToImageMetric.html#a2bd5955a3bedf31e701aed3ee1d4e473
On Thu, Aug 28, 2014 at 9:24 AM, jan <jan.bergmeier at imes.uni-hannover.de> wrote:
> Hi, I will use this way, because it's the most convenient that's working for
> me.
>
> //Typedefs
> typedef itk::IdentityTransform< double, 2 > TransformType;
> typedef itk::GradientDescentOptimizer OptimizerType;
> typedef itk::LinearInterpolateImageFunction< UChar2DImageType, double >
> InterpolatorType;
> typedef itk::MutualInformationImageToImageMetric< UChar2DImageType,
> UChar2DImageType > MiMetricType;
> typedef itk::ImageRegistrationMethod< UChar2DImageType, UChar2DImageType
>> RegistrationType;
>
> //Create registration components
> TransformType::Pointer transform = TransformType::New();
> OptimizerType::Pointer optimizer = OptimizerType::New();
> InterpolatorType::Pointer interpolator = InterpolatorType::New();
> RegistrationType::Pointer registration = RegistrationType::New();
>
> //Configure transform
> transform->SetIdentity();
>
> //Configure optimizer
> optimizer->SetNumberOfIterations( 1 );
>
> //Configure metric
> MetricType::Pointer metric = MetricType::New();
> metric->SetNumberOfSpatialSamples( 1000 );
>
> //Set up registration
> registration->SetOptimizer( optimizer );
> registration->SetTransform( transform );
> registration->SetInterpolator( interpolator );
> registration->SetMetric( metric );
>
> registration->SetFixedImage( fixedImageIn );
> registration->SetMovingImage( movingImageIn );
> registration->SetInitialTransformParameters( transform->GetParameters()
> );
>
> //Perform registration
> try
> {
> registration->Update();
> }
> catch( itk::ExceptionObject & err )
> {
> std::cout << "ExceptionObject caught !" << std::endl;
> std::cout << err << std::endl;
> }
>
> //Get output
> double bestValue = optimizer->GetValue();
>
> Thank you all for your help,
>
> Jan
>
>
>
> --
> View this message in context: http://itk-insight-users.2283740.n2.nabble.com/MutualInformationImageToImageMetric-without-transformation-tp7586081p7586134.html
> Sent from the ITK Insight Users mailing list archive at Nabble.com.
> _____________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Kitware offers ITK Training Courses, for more information visit:
> http://www.kitware.com/products/protraining.php
>
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-users
More information about the Insight-users
mailing list