天天看點

《itk實用demo》-空間位置變換

空間位置變換
typedef itk::TranslationTransform<double,> TranslationTransformType;
  TranslationTransformType::Pointer transform =
    TranslationTransformType::New();
  TranslationTransformType::OutputVectorType translation;
  translation[] = ;
  translation[] = ;
  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[  ];
  spacing[] = ;
  spacing[] = ;
  resampleFilter->SetOutputSpacing( spacing );

  double origin[  ];
  origin[] = ;
  origin[] = ;
  resampleFilter->SetOutputOrigin( origin );
  */

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

  resampleFilter->Update();