- // Create the InverseDeformationFieldFilter
-#if ITK_VERSION_MAJOR >= 4
- typedef itk::InverseDisplacementFieldImageFilter<InputImageType,OutputImageType> FilterType;
+ // Create the InvertVFFilter
+ typedef clitk::InvertVFFilter<InputImageType,OutputImageType> FilterType;
+ typename FilterType::Pointer filter =FilterType::New();
+ if (m_ArgsInfo.like_given) {
+ typedef ConvertBLUTCoeffsToVFFilter<InputImageType> VFFilterType;
+ typename VFFilterType::Pointer vf_filter = VFFilterType::New();
+ vf_filter->SetInputFileName(m_InputFileName);
+ vf_filter->SetLikeFileName(m_ArgsInfo.like_arg);
+ vf_filter->SetVerbose(m_Verbose);
+ vf_filter->Update();
+ filter->SetInput(vf_filter->GetOutput());
+ }
+
+ filter->SetVerbose(m_Verbose);
+ if (m_ArgsInfo.threads_given) {
+#if ITK_VERSION_MAJOR <= 4
+ filter->SetNumberOfThreads(m_ArgsInfo.threads_arg);