《itk实用demo》-空间位置变换

版权声明:本文为博主原创文章,转载请注明出处,谢谢 https://blog.csdn.net/rabbitbride/article/details/82423090

空间位置变换

  typedef itk::TranslationTransform<double,2> TranslationTransformType;
  TranslationTransformType::Pointer transform =
    TranslationTransformType::New();
  TranslationTransformType::OutputVectorType translation;
  translation[0] = 10;
  translation[1] = 20;
  transform->Translate(translation);

  typedef itk::ResampleImageFilter<ImageType, ImageType> ResampleImageFilterType;
  ResampleImageFilterType::Pointer resampleFilter = ResampleImageFilterType::New();
  resampleFilter->SetTransform(transform.GetPointer());
  resampleFilter->SetInput(image);

  /*
  // These are the defaults
  double spacing[ 2 ];
  spacing[0] = 1.0;
  spacing[1] = 1.0;
  resampleFilter->SetOutputSpacing( spacing );

  double origin[ 2 ];
  origin[0] = 0.0;
  origin[1] = 0.0;
  resampleFilter->SetOutputOrigin( origin );
  */

  // Without this, the program crashes
  ImageType::SizeType   size = image->GetLargestPossibleRegion().GetSize();
  resampleFilter->SetSize( size );

  resampleFilter->Update();

猜你喜欢

转载自blog.csdn.net/rabbitbride/article/details/82423090