-
- // -----------------------------------------------
- // Filter
- // -----------------------------------------------
-#if ITK_VERSION_MAJOR >= 4
- typedef itk::TransformToDisplacementFieldSource<OutputImageType, double> ConvertorType;
-#else
- typedef itk::TransformToDeformationFieldSource<OutputImageType, double> ConvertorType;
-#endif
- ConvertorType::Pointer filter= ConvertorType::New();
-
- //Output image info
- if (m_ArgsInfo.like_given)
- {
- typedef itk::ImageFileReader<OutputImageType> ReaderType;
- ReaderType::Pointer reader2=ReaderType::New();
- reader2->SetFileName(m_ArgsInfo.like_arg);
- reader2->Update();
-
- OutputImageType::Pointer image=reader2->GetOutput();
- filter->SetOutputParametersFromImage(image);
- }
- else
- {
- unsigned int i=0;
- if(m_ArgsInfo.origin_given)
- {
- OutputImageType::PointType origin;
- for(i=0;i<Dimension;i++)
- origin[i]=m_ArgsInfo.origin_arg[i];
- filter->SetOutputOrigin(origin);
- }
- if (m_ArgsInfo.spacing_given)
- {
- OutputImageType::SpacingType spacing;
- for(i=0;i<Dimension;i++)
- spacing[i]=m_ArgsInfo.spacing_arg[i];
- filter->SetOutputSpacing(spacing);
- }
- if (m_ArgsInfo.spacing_given)
- {
- OutputImageType::SizeType size;
- for(i=0;i<Dimension;i++)
- size[i]=m_ArgsInfo.size_arg[i];
- filter->SetOutputSize(size);
- }
+ typedef ConvertBLUTCoeffsToVFFilter<OutputImageType> FilterType;
+ FilterType::Pointer filter = FilterType::New();
+ filter->SetInputFileName(m_InputFileName);
+ filter->SetTransformType(m_ArgsInfo.type_arg);
+ filter->SetVerbose(m_ArgsInfo.verbose_flag);
+
+ if (m_ArgsInfo.like_given) {
+ filter->SetLikeFileName(m_ArgsInfo.like_arg);
+ }
+ else {
+ FilterType::OutputImagePointType origin;
+ FilterType::OutputImageSpacingType spacing;
+ FilterType::OutputImageSizeType size;
+ for (unsigned int i = 0; i < Dimension; i++) {
+ origin[i] = m_ArgsInfo.origin_arg[i];
+ spacing[i] = m_ArgsInfo.spacing_arg[i];
+ size[i] = m_ArgsInfo.size_arg[i];