]> Creatis software - clitk.git/blobdiff - itk/clitkForwardWarpImageFilter.h
Change itkSimpleFastMutexLock to std::mutex
[clitk.git] / itk / clitkForwardWarpImageFilter.h
index a02c9e5937b25ce52a40e17b3a307ce5287db5b4..ec46f0ca8fa97a11590c8a0a0c750b5d4e7a809a 100644 (file)
@@ -1,8 +1,23 @@
+/*=========================================================================
+  Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
+
+  Authors belong to: 
+  - University of LYON              http://www.universite-lyon.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
+  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+  PURPOSE.  See the copyright notices for more information.
+
+  It is distributed under dual licence
+
+  - BSD        See included LICENSE.txt file
+  - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+===========================================================================**/
 #ifndef __clitkForwardWarpImageFilter_h
 #define __clitkForwardWarpImageFilter_h
-
-//clitk include
-#include "clitkIOCommon.h"
+#include "clitkImageCommon.h"
 
 //itk include
 #include "itkImageToImageFilter.h"
 #include "itkImageRegionIterator.h"
 #include "itkImageRegionIteratorWithIndex.h"
 #include "itkNumericTraits.h"
+#if ITK_VERSION_MAJOR <= 4
 #include "itkSimpleFastMutexLock.h"
+#else
+#include <mutex>
+#endif
 
 namespace clitk
 {
@@ -41,7 +60,9 @@ namespace clitk
     //Some other typedefs
     typedef double CoordRepType;
     typedef itk::Image<double, ImageDimension> WeightsImageType;
+#if ITK_VERSION_MAJOR <= 4
     typedef itk::Image<itk::SimpleFastMutexLock, ImageDimension> MutexImageType;
+#endif
 
     /** Point type */
     typedef itk::Point<CoordRepType,itkGetStaticConstMacro(ImageDimension)> PointType;
@@ -56,10 +77,18 @@ namespace clitk
     itkSetMacro( Verbose, bool);
     itkSetMacro( EdgePaddingValue, PixelType );
     itkSetMacro( DeformationField, typename DeformationFieldType::Pointer);
+#if ITK_VERSION_MAJOR <= 4
     void SetNumberOfThreads(unsigned int r )
+#else
+    void SetNumberOfWorkUnits(unsigned int r )
+#endif
     {
       m_NumberOfThreadsIsGiven=true;
+#if ITK_VERSION_MAJOR <= 4
       m_NumberOfThreads=r;
+#else
+      m_NumberOfWorkUnits=r;
+#endif
     }
     itkSetMacro(ThreadSafe, bool);
  
@@ -87,7 +116,11 @@ namespace clitk
   private:
     bool m_Verbose;
     bool m_NumberOfThreadsIsGiven;
+#if ITK_VERSION_MAJOR <= 4
     unsigned int m_NumberOfThreads;
+#else
+    unsigned int m_NumberOfWorkUnits;
+#endif
     PixelType m_EdgePaddingValue;
     typename DeformationFieldType::Pointer m_DeformationField;
     bool m_ThreadSafe;