X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvMidPosition.cxx;h=b4582e2275cb52ae8a59375329b537eda3fcfb11;hb=df1fe7da56a47ca087ca20ff5bb3c5b74abaad01;hp=7d9f772851ac7ff4b18bb33de8b4643b49684e69;hpb=1e034c70105f0926939acaaa27ddb46e904ae8bf;p=clitk.git diff --git a/vv/vvMidPosition.cxx b/vv/vvMidPosition.cxx index 7d9f772..b4582e2 100644 --- a/vv/vvMidPosition.cxx +++ b/vv/vvMidPosition.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html -======================================================================-====*/ +===========================================================================**/ #include #include @@ -64,7 +64,7 @@ void vvMidPosition::run() error_message="Computation of midposition is only supported for 4D image sequences."; else if (!slicer_manager->GetVF()) error_message="A VF is required for midposition computation"; - else if (slicer_manager->GetVF()->GetScalarTypeAsString() != "float") + else if (slicer_manager->GetVF()->GetScalarTypeAsITKString() != "float") error_message="Please use a vector field of type float."; else { VFType::ConstPointer vf = vvImageToITK(slicer_manager->GetVF()); @@ -74,7 +74,7 @@ void vvMidPosition::run() inv_filter->SetInput(avg_vf); inv_filter->Update(); progress++; - if (slicer_manager->GetImage()->GetScalarTypeAsString() == "short") + if (slicer_manager->GetImage()->GetScalarTypeAsITKString() == "short") this->output=WarpRefImage(inv_filter->GetOutput(),slicer_manager->GetImage(),reference_image_index); else { error_message="Unsupported image pixel type."; @@ -108,7 +108,11 @@ vvImage::Pointer WarpRefImage(OutputVFType::Pointer vf,vvImage::Pointer image,in typename FilterType::Pointer warp_filter = FilterType::New(); warp_filter->SetInput(input); +#if ITK_VERSION_MAJOR >= 4 + warp_filter->SetDisplacementField(resampler->GetOutput()); +#else warp_filter->SetDeformationField(resampler->GetOutput()); +#endif warp_filter->SetOutputSpacing(input->GetSpacing()); warp_filter->SetOutputOrigin(input->GetOrigin()); warp_filter->SetOutputSize(input->GetLargestPossibleRegion().GetSize());