]> Creatis software - clitk.git/blobdiff - vv/vvMidPosition.cxx
Adapt CMakeLists to include it from other projects
[clitk.git] / vv / vvMidPosition.cxx
index 7d9f772851ac7ff4b18bb33de8b4643b49684e69..b4582e2275cb52ae8a59375329b537eda3fcfb11 100644 (file)
@@ -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 <QApplication>
 
 #include <itkWarpImageFilter.h>
@@ -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<VFType>(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<short>(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());