X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkInvertVFGenericFilter.txx;h=2ddd46c5b4d6cc51422efd9fb17e5f6d97a4a0a7;hb=2252420857d1554424d1f2c69ea68547bc759678;hp=b9641fad1f376cf85d7b046f36f95e01958b734b;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/tools/clitkInvertVFGenericFilter.txx b/tools/clitkInvertVFGenericFilter.txx index b9641fa..2ddd46c 100644 --- a/tools/clitkInvertVFGenericFilter.txx +++ b/tools/clitkInvertVFGenericFilter.txx @@ -129,6 +129,19 @@ InvertVFGenericFilter::UpdateWithDimAndPixelType() typedef clitk::InvertVFFilter FilterType; typename FilterType::Pointer filter =FilterType::New(); filter->SetInput(input); + typename FilterType::SpacingType spacing = input->GetSpacing(); + typename FilterType::SizeType size = input->GetLargestPossibleRegion().GetSize(); + if (m_ArgsInfo.like_given) { + itk::ImageIOBase::Pointer header = readImageHeader(m_ArgsInfo.like_arg); + for(unsigned int i=0; iGetDimensions(i); + spacing[i] = header->GetSpacing(i); + } + } + std::cout << spacing << size << std::endl; + filter->SetOutputSpacing(spacing); + filter->SetOutputSize(size); + filter->SetVerbose(m_Verbose); if (m_ArgsInfo.threads_given) filter->SetNumberOfThreads(m_ArgsInfo.threads_arg); if (m_ArgsInfo.pad_given) { @@ -148,7 +161,11 @@ InvertVFGenericFilter::UpdateWithDimAndPixelType() case 1: { // Create the InverseDeformationFieldFilter +#if ITK_VERSION_MAJOR >= 4 + typedef itk::InverseDisplacementFieldImageFilter FilterType; +#else typedef itk::InverseDeformationFieldImageFilter FilterType; +#endif typename FilterType::Pointer filter =FilterType::New(); filter->SetInput(input); filter->SetOutputOrigin(input->GetOrigin());