From 40e7f2a400de2eca5ce1c75022c7cf0cf76c57ae Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@cnes.fr>
Date: Tue, 6 Mar 2018 17:19:57 +0100
Subject: [PATCH 1/3] WRG: Fix a bunch of clang warnings, mostly missing
 override

---
 .../AppClassification/app/otbTrainImagesClassifier.cxx        | 2 +-
 Modules/Core/ObjectList/include/otbImageList.h                | 2 +-
 .../MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h   | 4 ++--
 .../OssimPlugins/include/ossim/ossimSarSensorModel.h          | 4 ++--
 .../ApplicationEngine/include/otbWrapperParameterList.h       | 2 +-
 5 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
index a76f81dce7..f26b4b32d4 100644
--- a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
@@ -157,7 +157,7 @@ public:
   }
 
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
   {
     TrainFileNamesHandler fileNames;
     std::vector<std::string> vectorFileList;
diff --git a/Modules/Core/ObjectList/include/otbImageList.h b/Modules/Core/ObjectList/include/otbImageList.h
index 4cb77bddec..fc836cb047 100644
--- a/Modules/Core/ObjectList/include/otbImageList.h
+++ b/Modules/Core/ObjectList/include/otbImageList.h
@@ -68,7 +68,7 @@ public:
     throw (itk::InvalidRequestedRegionError) ITK_OVERRIDE;
   void UpdateOutputData(void) ITK_OVERRIDE;
 
-  void SetRequestedRegion(const itk::DataObject * source);
+  void SetRequestedRegion(const itk::DataObject * source) ITK_OVERRIDE;
   
 protected:
   /** Constructor */
diff --git a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
index c404d25d50..64e574384a 100644
--- a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
+++ b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
@@ -214,7 +214,7 @@ public:
   const InputImageType* GetInput();
 
   /** Does the real work. */
-  virtual void Update();
+  virtual void Update() ITK_OVERRIDE;
 
   /** SimpleParallelTiffWriter Methods */
   virtual void SetFileName(const char* extendedFileName);
@@ -255,7 +255,7 @@ public:
 protected:
   SimpleParallelTiffWriter();
   virtual ~SimpleParallelTiffWriter();
-  void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   SimpleParallelTiffWriter(const SimpleParallelTiffWriter &); //purposely not implemented
diff --git a/Modules/ThirdParty/OssimPlugins/include/ossim/ossimSarSensorModel.h b/Modules/ThirdParty/OssimPlugins/include/ossim/ossimSarSensorModel.h
index 542b29e6f8..c1d0cb7761 100644
--- a/Modules/ThirdParty/OssimPlugins/include/ossim/ossimSarSensorModel.h
+++ b/Modules/ThirdParty/OssimPlugins/include/ossim/ossimSarSensorModel.h
@@ -276,7 +276,7 @@ public:
    bool autovalidateForwardModelFromGCPs(double resTol = 25);
 
    //Pure virtual in base class
-   bool useForward() const;
+   bool useForward() const override;
 
    void optimizeTimeOffsetsFromGcps();
 
@@ -336,7 +336,7 @@ public:
 
    virtual std::ostream& print(std::ostream& out) const override;
 protected:
-   TYPE_DATA;
+   TYPE_DATA
 
    /**
     * Compute range and doppler frequency from an input point, sensor
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterList.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterList.h
index 2c9c699fbe..e54590e42f 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterList.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterList.h
@@ -91,7 +91,7 @@ public:
   void SetNthFileName( std::size_t, const std::string & ) override;
 
   /** */
-  std::size_t SetStrings( const StringVector & );
+  std::size_t SetStrings( const StringVector & ) override;
 
   /** */
   std::size_t GetStrings( StringVector & ) const override;
-- 
GitLab


From 0769470e0f6a079ff826c82d96d55e6fa9284494 Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@cnes.fr>
Date: Wed, 7 Mar 2018 08:13:33 +0100
Subject: [PATCH 2/3] WRG: Fix more missing override warnings

---
 .../app/otbMultiImageSamplingRate.cxx                  |  6 +++---
 .../AppClassification/app/otbSampleExtraction.cxx      |  6 +++---
 .../AppClassification/app/otbSampleSelection.cxx       |  6 +++---
 .../AppClassification/app/otbTrainVectorClassifier.cxx |  6 +++---
 .../app/otbTrainDimensionalityReduction.cxx            |  6 +++---
 .../AppSARUtils/app/otbComputeModulusAndPhase.cxx      |  6 +++---
 .../Filtering/Wavelet/include/otbWaveletImageFilter.h  |  6 +++---
 .../Wavelet/include/otbWaveletInverseImageFilter.h     |  8 ++++----
 ...otbWaveletsBandsListToWaveletsSynopsisImageFilter.h |  8 ++++----
 ...otbWaveletsSynopsisImageToWaveletsBandsListFilter.h | 10 +++++-----
 .../include/otbAutoencoderModel.h                      |  8 ++++----
 .../include/otbImageDimensionalityReductionFilter.h    |  2 +-
 .../include/otbPCAModel.h                              |  6 +++---
 .../include/otbSOMModel.h                              | 10 +++++-----
 .../otbSharkRandomForestsMachineLearningModel.h        |  2 +-
 .../otbSharkRandomForestsMachineLearningModelFactory.h |  4 ++--
 .../include/otbSharkKMeansMachineLearningModel.h       |  2 +-
 .../otbSharkKMeansMachineLearningModelFactory.h        |  4 ++--
 .../Simulation/include/otbProSailParameters.h          |  2 +-
 Modules/Wrappers/SWIG/src/python/itkPyCommand.h        |  4 ++--
 20 files changed, 56 insertions(+), 56 deletions(-)

diff --git a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
index 889e909cc5..cf142f76f6 100644
--- a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
+++ b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
@@ -57,7 +57,7 @@ private:
     m_CalculatorList = RateCalculatorListType::New();
     }
 
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName("MultiImageSamplingRate");
     SetDescription("Compute sampling rate for an input set of images.");
@@ -186,11 +186,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
   }
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
     {
     // Clear state
     m_CalculatorList->Clear();
diff --git a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
index a9c2b07fbd..63615e03cc 100644
--- a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
@@ -53,7 +53,7 @@ public:
 private:
   SampleExtraction() {}
 
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName("SampleExtraction");
     SetDescription("Extracts samples values from an image.");
@@ -119,7 +119,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
     if ( HasValue("vec") )
       {
@@ -149,7 +149,7 @@ private:
       }
   }
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
     {
     ogr::DataSource::Pointer vectors;
     ogr::DataSource::Pointer output;
diff --git a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
index b41f20470f..8faee83496 100644
--- a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
@@ -80,7 +80,7 @@ private:
     m_RateCalculator = RateCalculatorType::New();
     }
 
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName("SampleSelection");
     SetDescription("Selects samples from a training vector data set.");
@@ -227,7 +227,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
  if ( HasValue("vec") )
       {
@@ -257,7 +257,7 @@ private:
       }
   }
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
     {
     // Clear state
     m_RateCalculator->ClearRates();
diff --git a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
index f37eb3020f..9de1efb8b1 100644
--- a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
@@ -54,7 +54,7 @@ public:
   typedef ContingencyTableType::Pointer    ContingencyTablePointerType;
 
 protected:
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName( "TrainVectorClassifier" );
     SetDescription( "Train a classifier based on labeled geometries and a "
@@ -73,12 +73,12 @@ protected:
     Superclass::DoInit();
   }
 
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
     Superclass::DoUpdateParameters();
   }
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
   {
     m_FeaturesInfo.SetClassFieldNames( GetChoiceNames( "cfield" ), GetSelectedItems( "cfield" ) );
 
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
index 1cbc567c56..8d52132dec 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
@@ -68,7 +68,7 @@ public:
   typedef otb::DimensionalityReductionModelFactory<ValueType, ValueType>  ModelFactoryType;
 
 private:
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName("TrainDimensionalityReduction");
     SetDescription("Train a dimensionality reduction model");
@@ -115,11 +115,11 @@ private:
       " value_5 value_6 value_7 value_8 value_9");
   }
 
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
   }
 
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
   {
     std::string shapefile = GetParameterString("io.vd");
 
diff --git a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
index ec91b7e53b..6c949a2b9d 100644
--- a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
+++ b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
@@ -57,7 +57,7 @@ public:
   typedef itk::ComplexToPhaseImageFilter<ComplexFloatImageType, FloatImageType>   PhaseFilterType;
 
 private:
-  void DoInit()
+  void DoInit() ITK_OVERRIDE
   {
     SetName("ComputeModulusAndPhase");
     SetDescription("This application computes the modulus and the phase of a complex SAR image.");
@@ -100,12 +100,12 @@ private:
   }
 
   // DoUpdateParameters() is called as soon as a parameter value change.
-  void DoUpdateParameters()
+  void DoUpdateParameters() ITK_OVERRIDE
   {
   }
 
   // DoExecute() contains the application core.
-  void DoExecute()
+  void DoExecute() ITK_OVERRIDE
   {
     m_Modulus = ModulusFilterType::New();
     m_Phase = PhaseFilterType::New();
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
index d1022824dd..1d4f15234a 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
@@ -92,11 +92,11 @@ protected:
   WaveletImageFilter();
   virtual ~WaveletImageFilter();
 
-  virtual void GenerateInputRequestedRegion();
+  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
 
-  virtual void GenerateData();
+  virtual void GenerateData() ITK_OVERRIDE;
 
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   WaveletImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
index 52030d8444..1b28666526 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
@@ -87,17 +87,17 @@ public:
   itkSetMacro(NumberOfDecompositions,unsigned int);
 
   /** If the filter is modified, the internal filters need to be modified too */
-  virtual void Modified() const;
+  virtual void Modified() const ITK_OVERRIDE;
 
 protected:
   WaveletInverseImageFilter();
   virtual ~WaveletInverseImageFilter();
 
-  virtual void GenerateInputRequestedRegion();
+  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
 
-  virtual void GenerateData();
+  virtual void GenerateData() ITK_OVERRIDE;
 
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   WaveletInverseImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
index 2c3225cf24..ea26fe6226 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
@@ -68,19 +68,19 @@ public:
 
 protected:
   /** Main computation method */
-  virtual void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId);
+  virtual void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
 
   /** GenerateOutputInformation
    * Set the number of bands of the output.
    * Copy information from the first image of the list if existing.
    **/
-  virtual void GenerateOutputInformation(void);
+  virtual void GenerateOutputInformation(void) ITK_OVERRIDE;
 
   /**
    * GenerateInputRequestedRegion
    * Set the requested region of each image in the list.
    */
-  virtual void GenerateInputRequestedRegion(void);
+  virtual void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
 
   /** Constructor */
   WaveletsBandsListToWaveletsSynopsisImageFilter();
@@ -89,7 +89,7 @@ protected:
   virtual ~WaveletsBandsListToWaveletsSynopsisImageFilter();
 
   /**PrintSelf method */
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   WaveletsBandsListToWaveletsSynopsisImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
index 5714fc1cab..a19c09bacb 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
@@ -80,7 +80,7 @@ public:
   itkGetMacro(DecimationRatio,unsigned int);
 
   /** If the filter is modified, the extract list need to be regenerated */
-  virtual void Modified() const;
+  virtual void Modified() const ITK_OVERRIDE;
 
 protected:
   /** Constructor */
@@ -90,16 +90,16 @@ protected:
   virtual ~WaveletsSynopsisImageToWaveletsBandsListFilter();
 
   /**PrintSelf method */
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
   /** Generate the input requested region from the first element in the list. */
-  virtual void GenerateInputRequestedRegion(void);
+  virtual void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
 
   /** Generate the output information by building the output list. */
-  virtual void GenerateOutputInformation(void);
+  virtual void GenerateOutputInformation(void) ITK_OVERRIDE;
 
   /** Main computation method */
-  virtual void GenerateData(void);
+  virtual void GenerateData(void) ITK_OVERRIDE;
 
 private:
   WaveletsSynopsisImageToWaveletsBandsListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
index 14205f0cd8..ee58a9428b 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
@@ -119,8 +119,8 @@ public:
   itkGetMacro(LearningCurveFileName,std::string);
   itkSetMacro(LearningCurveFileName,std::string);
 
-  bool CanReadFile(const std::string & filename);
-  bool CanWriteFile(const std::string & filename);
+  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
 
   void Save(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
   void Load(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
@@ -155,14 +155,14 @@ protected:
 
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const;
+    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
 
   virtual void DoPredictBatch(
     const InputListSampleType *,
     const unsigned int & startIndex,
     const unsigned int & size,
     TargetListSampleType *,
-    ConfidenceListSampleType * quality = ITK_NULLPTR) const;
+    ConfidenceListSampleType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
 
 private:
   /** Internal Network */
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h b/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
index d5538c1700..e3fdf5d8f5 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
@@ -115,7 +115,7 @@ protected:
   ~ImageDimensionalityReductionFilter() ITK_OVERRIDE {}
 
   /** Generate output information */
-  virtual void GenerateOutputInformation();
+  virtual void GenerateOutputInformation() ITK_OVERRIDE; 
 
   /** Threaded generate data */  
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
index dd8f7a6992..064ca263da 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
@@ -80,8 +80,8 @@ public:
   itkSetMacro(WriteEigenvectors, bool);
   itkGetMacro(WriteEigenvectors, bool);
 
-  bool CanReadFile(const std::string & filename);
-  bool CanWriteFile(const std::string & filename);
+  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
 
   void Save(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
   void Load(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
@@ -94,7 +94,7 @@ protected:
  
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const;
+    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
 
   virtual void DoPredictBatch(
     const InputListSampleType *,
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
index 7f6fb2b08e..5aa7130a6a 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
@@ -101,11 +101,11 @@ public:
   itkSetMacro(Seed, unsigned int);
   itkGetMacro(Seed, unsigned int);
 
-  bool CanReadFile(const std::string & filename);
-  bool CanWriteFile(const std::string & filename);
+  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
 
-  void Save(const std::string & filename, const std::string & name="") ;
-  void Load(const std::string & filename, const std::string & name="") ;
+  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
 
   void Train() ITK_OVERRIDE;
 
@@ -118,7 +118,7 @@ private:
 
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const;
+    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
 
   /** Map size (width, height) */
   SizeType m_MapSize;
diff --git a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
index 8d2c0c8123..162aa10255 100644
--- a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
@@ -148,7 +148,7 @@ protected:
   virtual void DoPredictBatch(const InputListSampleType *, const unsigned int & startIndex, const unsigned int & size, TargetListSampleType *, ConfidenceListSampleType * = ITK_NULLPTR) const ITK_OVERRIDE;
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   SharkRandomForestsMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
index 313d9db9a1..7361ee38cc 100644
--- a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  virtual const char* GetITKSourceVersion(void) const;
-  virtual const char* GetDescription(void) const;
+  virtual const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
+  virtual const char* GetDescription(void) const ITK_OVERRIDE;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
index ef74d52f40..a479248e1e 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
@@ -140,7 +140,7 @@ protected:
   DataType NormalizeData(const DataType &data) const;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream &os, itk::Indent indent) const;
+  void PrintSelf(std::ostream &os, itk::Indent indent) const ITK_OVERRIDE;
 
 private:
   SharkKMeansMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
index a072d5d719..3c9ed55da1 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  virtual const char* GetITKSourceVersion(void) const;
-  virtual const char* GetDescription(void) const;
+  virtual const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
+  virtual const char* GetDescription(void) const ITK_OVERRIDE;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
diff --git a/Modules/Radiometry/Simulation/include/otbProSailParameters.h b/Modules/Radiometry/Simulation/include/otbProSailParameters.h
index ea021d2811..c2264c104c 100644
--- a/Modules/Radiometry/Simulation/include/otbProSailParameters.h
+++ b/Modules/Radiometry/Simulation/include/otbProSailParameters.h
@@ -115,7 +115,7 @@ class ITK_EXPORT ProSailParameters : public itk::DataObject
       /** Destructor */
       virtual ~ProSailParameters() {};
       /** PrintSelf method */
-      void PrintSelf(std::ostream& os, itk::Indent indent) const;
+      void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
 
 
    private:
diff --git a/Modules/Wrappers/SWIG/src/python/itkPyCommand.h b/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
index d65c4eea7b..f7f28333ea 100644
--- a/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
+++ b/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
@@ -70,8 +70,8 @@ public:
 
   PyObject * GetCommandCallable();
 
-  void Execute(Object *, const EventObject&);
-  void Execute(const Object *, const EventObject&);
+  void Execute(Object *, const EventObject&) ITK_OVERRIDE;
+  void Execute(const Object *, const EventObject&) ITK_OVERRIDE;
 
 protected:
   PyCommand();
-- 
GitLab


From 756ee5dca5baf01d100d01d51c97ab33d892b334 Mon Sep 17 00:00:00 2001
From: Julien Michel <julien.michel@cnes.fr>
Date: Mon, 12 Mar 2018 10:52:35 +0100
Subject: [PATCH 3/3] STY: Change ITK_OVERRIDE for override in whole code (find
 Modules -type f -exec sed -i 's/ITK_OVERRIDE/override/g' {} +)

---
 .../CurlAdapters/include/otbCurlHelper.h      |  12 +-
 .../include/otbCurlHelperInterface.h          |   2 +-
 .../CurlAdapters/include/otbCurlHelperStub.h  |  12 +-
 .../CurlAdapters/src/otbCurlHelper.cxx        |   6 +-
 .../GdalAdapters/include/otbGeometriesSet.h   |   4 +-
 .../include/otbGeometriesSource.h             |   4 +-
 .../include/otbGeometriesToGeometriesFilter.h |  10 +-
 .../include/otbOGRDataSourceWrapper.h         |   6 +-
 .../include/otbOGRFieldWrapper.txx            |   4 +-
 .../include/otbDEMConvertAdapter.h            |   2 +-
 .../OSSIMAdapters/include/otbDEMHandler.h     |   4 +-
 .../include/otbDateTimeAdapter.h              |   2 +-
 .../include/otbEllipsoidAdapter.h             |   2 +-
 .../include/otbFilterFunctionValues.h         |   4 +-
 .../otbGeometricSarSensorModelAdapter.h       |   2 +-
 .../include/otbMapProjectionAdapter.h         |   2 +-
 .../include/otbPlatformPositionAdapter.h      |   2 +-
 .../include/otbSarSensorModelAdapter.h        |   2 +-
 .../include/otbSensorModelAdapter.h           |   2 +-
 .../app/otbMultivariateAlterationDetector.cxx |   6 +-
 .../otbClassificationMapRegularization.cxx    |   6 +-
 .../app/otbComputeConfusionMatrix.cxx         |   6 +-
 .../app/otbComputeImagesStatistics.cxx        |   6 +-
 .../otbComputeOGRLayersFeaturesStatistics.cxx |   6 +-
 .../otbComputePolylineFeatureFromImage.cxx    |   6 +-
 .../app/otbDSFuzzyModelEstimation.cxx         |  10 +-
 .../app/otbFusionOfClassifications.cxx        |   6 +-
 .../app/otbImageClassifier.cxx                |   8 +-
 .../app/otbKMeansClassification.cxx           |   6 +-
 .../app/otbMultiImageSamplingRate.cxx         |   6 +-
 .../app/otbOGRLayerClassifier.cxx             |   6 +-
 .../app/otbPolygonClassStatistics.cxx         |   6 +-
 .../app/otbPredictRegression.cxx              |   8 +-
 .../app/otbSOMClassification.cxx              |   6 +-
 .../app/otbSampleExtraction.cxx               |   6 +-
 .../app/otbSampleSelection.cxx                |   6 +-
 .../app/otbTrainImagesClassifier.cxx          |   6 +-
 .../app/otbTrainRegression.cxx                |   6 +-
 .../app/otbTrainVectorClassifier.cxx          |   6 +-
 .../app/otbVectorClassifier.cxx               |   8 +-
 .../app/otbVectorDataDSValidation.cxx         |   6 +-
 .../include/otbLearningApplicationBase.h      |   4 +-
 .../include/otbTrainVectorBase.h              |   6 +-
 .../app/otbHomologousPointsExtraction.cxx     |   6 +-
 .../app/otbDimensionalityReduction.cxx        |   6 +-
 .../app/otbImageDimensionalityReduction.cxx   |   8 +-
 .../app/otbTrainDimensionalityReduction.cxx   |   6 +-
 .../app/otbVectorDimensionalityReduction.cxx  |   8 +-
 .../app/otbDomainTransform.cxx                |   8 +-
 .../AppEdge/app/otbEdgeExtraction.cxx         |   6 +-
 .../AppEdge/app/otbLineSegmentDetection.cxx   |   6 +-
 .../AppFiltering/app/otbSmoothing.cxx         |   6 +-
 .../app/otbBundleToPerfectSensor.cxx          |   6 +-
 .../AppFusion/app/otbPansharpening.cxx        |   6 +-
 .../app/otbHyperspectralUnmixing.cxx          |   6 +-
 .../app/otbVertexComponentAnalysis.cxx        |   6 +-
 .../AppImageUtils/app/otbColorMapping.cxx     |   6 +-
 .../AppImageUtils/app/otbCompareImages.cxx    |   6 +-
 .../app/otbConcatenateImages.cxx              |   6 +-
 .../AppImageUtils/app/otbConvert.cxx          |   6 +-
 .../AppImageUtils/app/otbDEMConvert.cxx       |   6 +-
 .../AppImageUtils/app/otbDynamicConvert.cxx   |   4 +-
 .../AppImageUtils/app/otbExtractROI.cxx       |   6 +-
 .../AppImageUtils/app/otbManageNoData.cxx     |   6 +-
 .../app/otbMultiResolutionPyramid.cxx         |   6 +-
 .../AppImageUtils/app/otbPixelValue.cxx       |   6 +-
 .../AppImageUtils/app/otbQuicklook.cxx        |   6 +-
 .../AppImageUtils/app/otbReadImageInfo.cxx    |   6 +-
 .../AppImageUtils/app/otbRescale.cxx          |   6 +-
 .../AppImageUtils/app/otbSplitImage.cxx       |   6 +-
 .../AppImageUtils/app/otbTileFusion.cxx       |   6 +-
 .../AppIndices/app/otbRadiometricIndices.cxx  |   6 +-
 .../Applications/AppKMZ/app/otbKmzExport.cxx  |   6 +-
 .../AppMathParser/app/otbBandMath.cxx         |   6 +-
 .../AppMathParserX/app/otbBandMathX.cxx       |   6 +-
 .../app/otbLocalStatisticExtraction.cxx       |   6 +-
 .../app/otbBinaryMorphologicalOperation.cxx   |   6 +-
 .../otbGrayScaleMorphologicalOperation.cxx    |   6 +-
 .../app/otbMorphologicalClassification.cxx    |   6 +-
 ...tbMorphologicalMultiScaleDecomposition.cxx |   6 +-
 .../app/otbMorphologicalProfilesAnalysis.cxx  |   6 +-
 .../app/otbOpticalCalibration.cxx             |   6 +-
 .../app/otbConvertCartoToGeoPoint.cxx         |   6 +-
 .../app/otbConvertSensorToGeoPoint.cxx        |   6 +-
 .../app/otbGenerateRPCSensorModel.cxx         |   6 +-
 .../app/otbGridBasedImageResampling.cxx       |   6 +-
 .../AppProjection/app/otbImageEnvelope.cxx    |   6 +-
 .../app/otbObtainUTMZoneFromGeoPoint.cxx      |   8 +-
 .../app/otbOrthoRectification.cxx             |   6 +-
 .../app/otbRefineSensorModel.cxx              |   6 +-
 .../app/otbRigidTransformResample.cxx         |   6 +-
 .../AppProjection/app/otbSuperimpose.cxx      |   6 +-
 .../app/otbVectorDataReprojection.cxx         |   6 +-
 .../app/otbSARCalibration.cxx                 |   6 +-
 .../AppSARCalibration/app/otbSARDeburst.cxx   |   6 +-
 .../app/otbSARDecompositions.cxx              |   6 +-
 .../app/otbSARPolarMatrixConvert.cxx          |   6 +-
 .../AppSARPolarSynth/app/otbSARPolarSynth.cxx |   6 +-
 .../app/otbComputeModulusAndPhase.cxx         |   6 +-
 .../AppSARUtils/app/otbDespeckle.cxx          |   6 +-
 .../app/otbConnectedComponentSegmentation.cxx |   6 +-
 .../app/otbHooverCompareSegmentation.cxx      |   6 +-
 .../app/otbLSMSSegmentation.cxx               |  10 +-
 .../app/otbLSMSSmallRegionsMerging.cxx        |   6 +-
 .../app/otbLSMSVectorization.cxx              |   6 +-
 .../app/otbLargeScaleMeanShift.cxx            |   6 +-
 .../app/otbMeanShiftSmoothing.cxx             |   6 +-
 .../AppSegmentation/app/otbSegmentation.cxx   |   6 +-
 .../AppStereo/app/otbBlockMatching.cxx        |   6 +-
 .../app/otbDisparityMapToElevationMap.cxx     |   6 +-
 .../AppStereo/app/otbFineRegistration.cxx     |   6 +-
 .../AppStereo/app/otbGeneratePlyFile.cxx      |   6 +-
 .../AppStereo/app/otbStereoFramework.cxx      |   6 +-
 .../otbStereoRectificationGridGenerator.cxx   |   6 +-
 .../AppTest/app/otbTestApplication.cxx        |   6 +-
 .../app/otbHaralickTextureExtraction.cxx      |   6 +-
 .../app/otbSFSTextureExtraction.cxx           |   6 +-
 .../app/otbRasterization.cxx                  |   6 +-
 .../app/otbConcatenateVectorData.cxx          |   6 +-
 .../AppVectorUtils/app/otbOSMDownloader.cxx   |   6 +-
 .../app/otbVectorDataExtractROI.cxx           |   6 +-
 .../app/otbVectorDataSetField.cxx             |   6 +-
 .../app/otbVectorDataTransform.cxx            |   6 +-
 .../include/otbCommandLineArgumentParser.h    |   6 +-
 .../include/otbChannelSelectorFunctor.h       |   2 +-
 .../Common/include/otbCommandProgressUpdate.h |   4 +-
 .../otbComplexToIntensityImageFilter.h        |   2 +-
 .../otbComplexToVectorImageCastFilter.h       |   4 +-
 .../Common/include/otbDotProductImageFilter.h |   4 +-
 .../Common/include/otbFunctionToImageFilter.h |   6 +-
 .../otbImageAndVectorImageOperationFilter.h   |   6 +-
 .../otbImageRegionAdaptativeSplitter.h        |  10 +-
 ...RegionNonUniformMultidimensionalSplitter.h |   8 +-
 .../otbImageRegionSquareTileSplitter.h        |   8 +-
 .../include/otbImageRegionTileMapSplitter.h   |   8 +-
 ...otbImageToModulusAndDirectionImageFilter.h |   6 +-
 .../otbImaginaryImageToComplexImageFilter.h   |   2 +-
 .../Common/include/otbImportImageFilter.h     |  12 +-
 .../include/otbImportVectorImageFilter.h      |   2 +-
 .../Common/include/otbModelComponentBase.h    |   4 +-
 .../Common/include/otbModelComponentBase.txx  |   2 +-
 .../include/otbQuaternaryFunctorImageFilter.h |   6 +-
 .../Common/include/otbRGBAPixelConverter.h    |  12 +-
 Modules/Core/Common/include/otbRectangle.h    |   4 +-
 .../Common/include/otbStandardFilterWatcher.h |   6 +-
 .../include/otbStandardOneLineFilterWatcher.h |   6 +-
 .../Common/include/otbStandardWriterWatcher.h |  12 +-
 .../otbSubsampledImageRegionConstIterator.h   |   2 +-
 .../include/otbUnaryFunctorImageFilter.h      |   4 +-
 ...naryFunctorNeighborhoodVectorImageFilter.h |   6 +-
 .../otbUnaryFunctorVectorImageFilter.h        |   6 +-
 ...unctorWithIndexWithOutputSizeImageFilter.h |   8 +-
 .../otbVariableLengthVectorConverter.h        |  24 +--
 .../include/otbVectorImageToASImageAdaptor.h  |   2 +-
 .../Core/ImageBase/include/otbExtractROI.h    |   8 +-
 .../ImageBase/include/otbExtractROIBase.h     |  12 +-
 Modules/Core/ImageBase/include/otbImage.h     |   6 +-
 .../include/otbImageFunctionAdaptor.h         |  10 +-
 .../Core/ImageBase/include/otbImageIOBase.h   |   4 +-
 ...otbImageOfVectorsToMonoChannelExtractROI.h |   8 +-
 .../ImageBase/include/otbMetaImageFunction.h  |   6 +-
 .../include/otbMultiChannelExtractROI.h       |   8 +-
 .../include/otbMultiToMonoChannelExtractROI.h |   8 +-
 .../include/otbRemoteSensingRegion.h          |   6 +-
 .../Core/ImageBase/include/otbVectorImage.h   |   6 +-
 .../include/otbBCOInterpolateImageFunction.h  |  18 +-
 .../otbBSplineDecompositionImageFilter.h      |   6 +-
 .../otbBSplineInterpolateImageFunction.h      |   8 +-
 .../otbGenericInterpolateImageFunction.h      |   8 +-
 .../otbProlateInterpolateImageFunction.h      |   4 +-
 ...owedSincInterpolateImageBlackmanFunction.h |   4 +-
 ...ndowedSincInterpolateImageCosineFunction.h |   4 +-
 ...WindowedSincInterpolateImageFunctionBase.h |   4 +-
 ...owedSincInterpolateImageGaussianFunction.h |   4 +-
 ...dowedSincInterpolateImageHammingFunction.h |   4 +-
 ...dowedSincInterpolateImageLanczosFunction.h |   4 +-
 ...indowedSincInterpolateImageWelchFunction.h |   4 +-
 .../include/otbAttributesMapLabelObject.h     |   4 +-
 ...tbAttributesMapLabelObjectWithClassLabel.h |   6 +-
 .../otbAttributesMapOpeningLabelMapFilter.h   |   6 +-
 ...bBandsStatisticsAttributesLabelMapFilter.h |  12 +-
 .../otbImageToLabelMapWithAttributesFilter.h  |   8 +-
 .../otbKMeansAttributesLabelMapFilter.h       |   2 +-
 ...bLabelImageToLabelMapWithAdjacencyFilter.h |  14 +-
 .../otbLabelMapFeaturesFunctorImageFilter.h   |   6 +-
 .../Core/LabelMap/include/otbLabelMapSource.h |   4 +-
 .../otbLabelMapToAttributeImageFilter.h       |   8 +-
 .../include/otbLabelMapToSampleListFilter.h   |   8 +-
 .../include/otbLabelMapWithAdjacency.h        |   6 +-
 ...MapWithClassLabelToClassLabelImageFilter.h |   6 +-
 ...pWithClassLabelToLabeledSampleListFilter.h |   8 +-
 .../otbMinMaxAttributesLabelMapFilter.h       |   6 +-
 .../otbNormalizeAttributesLabelMapFilter.h    |   4 +-
 .../otbShapeAttributesLabelMapFilter.h        |  12 +-
 .../otbStatisticsAttributesLabelMapFilter.h   |   6 +-
 .../otbDefaultImageMetadataInterface.h        |  24 +--
 .../otbDefaultImageMetadataInterfaceFactory.h |   6 +-
 .../otbFormosatImageMetadataInterface.h       |  42 ++--
 ...otbFormosatImageMetadataInterfaceFactory.h |   6 +-
 .../include/otbIkonosImageMetadataInterface.h |  40 ++--
 .../otbIkonosImageMetadataInterfaceFactory.h  |   6 +-
 .../include/otbImageMetadataInterfaceBase.h   |   4 +-
 .../otbImageMetadataInterfaceFactory.h        |   2 +-
 .../otbOpticalDefaultImageMetadataInterface.h |  40 ++--
 ...icalDefaultImageMetadataInterfaceFactory.h |   6 +-
 .../otbOpticalImageMetadataInterface.h        |   6 +-
 .../otbOpticalImageMetadataInterfaceFactory.h |   2 +-
 .../otbPleiadesImageMetadataInterface.h       |  42 ++--
 ...otbPleiadesImageMetadataInterfaceFactory.h |   6 +-
 .../otbQuickBirdImageMetadataInterface.h      |  40 ++--
 ...tbQuickBirdImageMetadataInterfaceFactory.h |   6 +-
 .../otbRadarsat2ImageMetadataInterface.h      |  38 ++--
 ...tbRadarsat2ImageMetadataInterfaceFactory.h |   6 +-
 .../include/otbSarCalibrationLookupData.h     |   4 +-
 .../otbSarDefaultImageMetadataInterface.h     |  52 ++---
 ...bSarDefaultImageMetadataInterfaceFactory.h |   6 +-
 .../include/otbSarImageMetadataInterface.h    |   6 +-
 .../otbSarImageMetadataInterfaceFactory.h     |   2 +-
 .../otbSentinel1ImageMetadataInterface.h      |  36 ++--
 ...tbSentinel1ImageMetadataInterfaceFactory.h |   6 +-
 .../include/otbSpot6ImageMetadataInterface.h  |  42 ++--
 .../otbSpot6ImageMetadataInterfaceFactory.h   |   6 +-
 .../include/otbSpotImageMetadataInterface.h   |  42 ++--
 .../otbSpotImageMetadataInterfaceFactory.h    |   6 +-
 .../otbTerraSarImageMetadataInterface.h       |  42 ++--
 ...otbTerraSarImageMetadataInterfaceFactory.h |   6 +-
 .../otbWorldView2ImageMetadataInterface.h     |  40 ++--
 ...bWorldView2ImageMetadataInterfaceFactory.h |   6 +-
 .../Core/ObjectList/include/otbImageList.h    |  12 +-
 .../ObjectList/include/otbImageListSource.h   |   4 +-
 .../include/otbImageListToImageFilter.h       |   4 +-
 .../otbImageListToImageListApplyFilter.h      |  10 +-
 .../include/otbImageListToImageListFilter.h   |   4 +-
 .../include/otbImageListToSingleImageFilter.h |   6 +-
 .../include/otbImageListToVectorImageFilter.h |  10 +-
 .../include/otbImageToImageListFilter.h       |   4 +-
 .../Core/ObjectList/include/otbObjectList.h   |   4 +-
 .../ObjectList/include/otbObjectListSource.h  |   8 +-
 .../include/otbObjectListSource.txx           |   2 +-
 .../include/otbObjectListToObjectListFilter.h |   6 +-
 .../otbObjectListToObjectListFilter.txx       |   4 +-
 .../otbUnaryFunctorObjectListBooleanFilter.h  |   6 +-
 .../include/otbUnaryFunctorObjectListFilter.h |   6 +-
 .../include/otbVectorImageToImageListFilter.h |  10 +-
 .../include/otbImageToPointSetFilter.h        |   8 +-
 .../include/otbImageToPointSetFilter.txx      |   4 +-
 .../PointSet/include/otbPointSetExtractROI.h  |   6 +-
 .../PointSet/include/otbPointSetFunction.h    |   4 +-
 .../Core/PointSet/include/otbPointSetSource.h |   8 +-
 .../include/otbPointSetToPointSetFilter.h     |   4 +-
 .../include/otbRandomPointSetSource.h         |   4 +-
 .../otbThresholdImageToPointSetFilter.h       |   6 +-
 .../include/otbTransformPointSetFilter.h      |   6 +-
 .../include/otbDrawLineSpatialObjectFilter.h  |   6 +-
 .../otbDrawLineSpatialObjectListFilter.h      |   6 +-
 .../otbImageToLineSpatialObjectListFilter.h   |   4 +-
 .../include/otbLineSpatialObject.h            |  18 +-
 .../include/otbLineSpatialObjectList.h        |   2 +-
 ...otbLineSpatialObjectListToPointSetFilter.h |   4 +-
 .../include/otbSpatialObjectSource.h          |   4 +-
 .../otbSpatialObjectToImageDrawingFilter.h    |   8 +-
 ...umberOfDivisionsStrippedStreamingManager.h |   4 +-
 ...tbNumberOfDivisionsTiledStreamingManager.h |   4 +-
 ...otbNumberOfLinesStrippedStreamingManager.h |   4 +-
 .../otbPersistentFilterStreamingDecorator.h   |   8 +-
 .../include/otbPersistentImageFilter.h        |   4 +-
 .../otbPipelineMemoryPrintCalculator.h        |   4 +-
 .../otbRAMDrivenAdaptativeStreamingManager.h  |   4 +-
 .../otbRAMDrivenStrippedStreamingManager.h    |   4 +-
 .../otbRAMDrivenTiledStreamingManager.h       |   4 +-
 .../include/otbStreamingImageVirtualWriter.h  |  10 +-
 .../Streaming/include/otbStreamingManager.h   |   2 +-
 .../otbTileDimensionTiledStreamingManager.h   |   4 +-
 .../Transform/include/otbCompositeTransform.h |   4 +-
 .../Transform/include/otbForwardSensorModel.h |   6 +-
 .../include/otbGenericMapProjection.h         |   6 +-
 .../Transform/include/otbGenericRSTransform.h |  14 +-
 .../include/otbGeocentricTransform.h          |   4 +-
 .../otbImageToGenericRSOutputParameters.h     |   2 +-
 .../include/otbInverseLogPolarTransform.h     |  18 +-
 .../Transform/include/otbInverseSensorModel.h |   6 +-
 .../Transform/include/otbLogPolarTransform.h  |  18 +-
 .../Transform/include/otbSensorModelBase.h    |   4 +-
 .../include/otbStreamingWarpImageFilter.h     |  10 +-
 Modules/Core/Transform/include/otbTransform.h |  38 ++--
 .../Core/VectorDataBase/include/otbDataNode.h |   4 +-
 .../include/otbDataNodeFunctionBase.h         |   6 +-
 .../include/otbDataNodeImageFunction.h        |   6 +-
 .../include/otbDataNodeVectorDataFunction.h   |   6 +-
 .../otbPolyLineParametricPathWithValue.h      |   6 +-
 .../Core/VectorDataBase/include/otbPolygon.h  |  10 +-
 .../VectorDataBase/include/otbVectorData.h    |   6 +-
 .../include/otbVectorDataIOBase.h             |   4 +-
 .../include/otbVectorDataProperties.h         |   4 +-
 .../include/otbVectorDataSource.h             |   4 +-
 .../include/otbCloudDetectionFilter.h         |   6 +-
 .../include/otbCloudEstimatorFilter.h         |   6 +-
 .../otbDescriptorsListSampleGenerator.h       |  26 +--
 .../include/otbFlusserMomentsIFFactory.h      |   4 +-
 .../otbFourierMellinDescriptorsIFFactory.h    |   4 +-
 .../include/otbHaralickTexturesIFFactory.h    |   4 +-
 .../otbLabeledSampleLocalizationGenerator.h   |   6 +-
 .../include/otbLocalHistogramIFFactory.h      |   4 +-
 .../include/otbObjectDetectionClassifier.h    |  26 +--
 .../include/otbRadiometricMomentsIFFactory.h  |   4 +-
 .../otbStandardMetaImageFunctionBuilder.h     |   4 +-
 .../include/otbBreakAngularPathListFilter.h   |   6 +-
 .../include/otbGenericRoadExtractionFilter.h  |   6 +-
 .../include/otbImageToPathListAlignFilter.h   |   8 +-
 .../include/otbLikelihoodPathListFilter.h     |   6 +-
 .../include/otbLinkPathListFilter.h           |   6 +-
 ...otbModulusAndDirectionImageToImageFilter.h |   6 +-
 .../otbNeighborhoodScalarProductFilter.h      |   6 +-
 .../otbNonMaxRemovalByDirectionFilter.h       |   6 +-
 .../include/otbParallelLinePathListFilter.h   |   6 +-
 .../otbRemoveIsolatedByDirectionFilter.h      |   6 +-
 .../include/otbRemoveWrongDirectionFilter.h   |   6 +-
 .../include/otbRoadExtractionFilter.h         |   6 +-
 .../otbVectorDataToRoadDescriptionFilter.h    |   6 +-
 .../otbUrbanAreaDetectionImageFilter.h        |   4 +-
 .../Corner/include/otbHarrisImageFilter.h     |   6 +-
 .../include/otbHarrisImageToPointSetFilter.h  |   6 +-
 ...tialObjectListToRightAnglePointSetFilter.h |   8 +-
 ...tbVectorDataToRightAngleVectorDataFilter.h |   6 +-
 .../include/otbKeyPointDensityImageFilter.h   |   6 +-
 .../otbPointSetDensityEpanechnikovFunction.h  |   6 +-
 .../include/otbPointSetDensityFunction.h      |   6 +-
 .../otbPointSetDensityGaussianFunction.h      |   6 +-
 .../include/otbPointSetToDensityImageFilter.h |  10 +-
 ...ForwardFourierMellinTransformImageFilter.h |  10 +-
 ...otbFourierMellinDescriptorsImageFunction.h |  10 +-
 .../include/otbHessianToScalarImageFilter.h   |   2 +-
 ...OfOrientedGradientCovariantImageFunction.h |  10 +-
 .../otbImageToHessianDeterminantImageFilter.h |   6 +-
 .../include/otbImageToSIFTKeyPointSetFilter.h |   6 +-
 .../include/otbImageToSURFKeyPointSetFilter.h |   6 +-
 .../include/otbKeyPointSetsMatchingFilter.h   |   6 +-
 .../Feature/Descriptors/include/otbLandmark.h |   4 +-
 .../include/otbSiftFastImageFilter.h          |   6 +-
 .../otbAssociativeSymmetricalSumImageFilter.h |   2 +-
 ...symmetricFusionOfLineDetectorImageFilter.h |   6 +-
 .../Edge/include/otbEdgeDensityImageFilter.h  |   6 +-
 .../Edge/include/otbEdgeDetectorImageFilter.h |   6 +-
 .../include/otbExtractSegmentsImageFilter.h   |   6 +-
 .../Feature/Edge/include/otbFillGapsFilter.h  |   6 +-
 .../otbHorizontalSobelVectorImageFilter.h     |   2 +-
 .../otbHoughTransform2DLinesImageFilter.h     |  12 +-
 .../otbLineCorrelationDetectorImageFilter.h   |   6 +-
 .../include/otbLineDetectorImageFilterBase.h  |  10 +-
 .../include/otbLineRatioDetectorImageFilter.h |   6 +-
 .../Edge/include/otbLineSegmentDetector.h     |   8 +-
 .../Edge/include/otbLocalHoughFilter.h        |   6 +-
 .../otbPersistentVectorizationImageFilter.h   |  10 +-
 ...tbPixelSuppressionByDirectionImageFilter.h |   8 +-
 .../Edge/include/otbSobelVectorImageFilter.h  |   2 +-
 .../include/otbStreamingLineSegmentDetector.h |   6 +-
 .../include/otbTouziEdgeDetectorImageFilter.h |  10 +-
 .../otbVerticalSobelVectorImageFilter.h       |   2 +-
 .../include/otbComplexMomentPathFunction.h    |   6 +-
 .../include/otbComplexMomentsImageFunction.h  |  10 +-
 .../include/otbFlusserMomentsImageFunction.h  |  10 +-
 .../Moments/include/otbFlusserPathFunction.h  |   6 +-
 .../include/otbGeometricMomentPathFunction.h  |   4 +-
 .../include/otbHuMomentsImageFunction.h       |  10 +-
 .../Moments/include/otbHuPathFunction.h       |   6 +-
 .../otbRadiometricMomentsImageFilter.h        |   8 +-
 .../otbRadiometricMomentsImageFunction.h      |  10 +-
 .../include/otbRealMomentPathFunction.h       |   4 +-
 .../include/otbRealMomentsImageFunction.h     |  10 +-
 .../include/otbAddCarvingPathFilter.h         |  10 +-
 .../include/otbImageToCarvingPathFilter.h     |   8 +-
 .../include/otbRemoveCarvingPathFilter.h      |   8 +-
 .../otbGreyLevelCooccurrenceIndexedList.h     |   4 +-
 .../otbHaralickTexturesImageFunction.h        |  10 +-
 .../include/otbSFSTexturesImageFilter.h       |  12 +-
 .../otbScalarImageToAdvancedTexturesFilter.h  |  10 +-
 ...tbScalarImageToHigherOrderTexturesFilter.h |   8 +-
 .../otbScalarImageToPanTexTextureFilter.h     |   6 +-
 .../include/otbScalarImageToTexturesFilter.h  |  10 +-
 .../include/otbTextureImageFunction.h         |  10 +-
 ...ctorNeighborhoodJoinHistogramImageFilter.h |   8 +-
 .../include/otbCBAMIChangeDetector.h          |   2 +-
 .../include/otbCorrelationChangeDetector.h    |   2 +-
 .../include/otbJoinHistogramMIImageFilter.h   |   2 +-
 .../otbKullbackLeiblerDistanceImageFilter.h   |   2 +-
 .../otbKullbackLeiblerProfileImageFilter.h    |   2 +-
 ...backLeiblerSupervizedDistanceImageFilter.h |   4 +-
 .../include/otbLHMIChangeDetector.h           |   2 +-
 .../include/otbMeanDifferenceImageFilter.h    |   2 +-
 .../include/otbMeanRatioImageFilter.h         |   2 +-
 ...ultivariateAlterationDetectorImageFilter.h |   6 +-
 .../include/otbReliefColormapFunctor.h        |   4 +-
 .../otbScalarToRainbowRGBPixelFunctor.h       |   4 +-
 .../include/otbConvolutionImageFilter.h       |   8 +-
 .../include/otbGaborFilterGenerator.h         |   6 +-
 .../otbOverlapSaveConvolutionImageFilter.h    |   8 +-
 .../include/otbDEMCaracteristicsExtractor.h   |   6 +-
 .../DEM/include/otbDEMToImageGenerator.h      |  10 +-
 .../otbAngularProjectionBinaryImageFilter.h   |   6 +-
 .../include/otbAngularProjectionImageFilter.h |   6 +-
 .../otbAngularProjectionSetImageFilter.h      |   4 +-
 .../otbEstimateInnerProductPCAImageFilter.h   |  10 +-
 .../include/otbFastICAImageFilter.h           |   6 +-
 ...astICAInternalOptimizerVectorImageFilter.h |  10 +-
 .../include/otbInnerProductPCAImageFilter.h   |   8 +-
 .../otbLocalActivityVectorImageFilter.h       |   2 +-
 .../include/otbMNFImageFilter.h               |   8 +-
 ...bMaximumAutocorrelationFactorImageFilter.h |   6 +-
 .../include/otbNAPCAImageFilter.h             |   4 +-
 .../otbNormalizeInnerProductPCAImageFilter.h  |  10 +-
 .../include/otbPCAImageFilter.h               |   8 +-
 .../otbSparseWvltToAngleMapperListFilter.h    |   8 +-
 .../include/otbAmplitudeFunctor.h             |  12 +-
 .../include/otbBinaryFunctorImageFilter.h     |   4 +-
 .../otbBinaryFunctorNeighborhoodImageFilter.h |   6 +-
 ...naryFunctorNeighborhoodVectorImageFilter.h |   6 +-
 .../include/otbBinaryImageDensityFunction.h   |  10 +-
 ...naryImageMinimalBoundingRegionCalculator.h |   6 +-
 .../otbBinaryImageToDensityImageFilter.h      |  10 +-
 .../include/otbBoxAndWhiskerImageFilter.h     |   8 +-
 .../include/otbChangeInformationImageFilter.h |   4 +-
 .../include/otbChangeLabelImageFilter.h       |   6 +-
 .../include/otbChangeNoDataValueFilter.h      |   4 +-
 .../include/otbClampVectorImageFilter.h       |   8 +-
 .../otbConcatenateScalarValueImageFilter.h    |   6 +-
 .../include/otbConcatenateVectorImageFilter.h |  10 +-
 ...bEuclideanDistanceMetricWithMissingValue.h |   6 +-
 ...lideanDistanceMetricWithMissingValuePow2.h |   6 +-
 .../otbFlexibleDistanceWithMissingValue.h     |   6 +-
 ...otbFunctionWithNeighborhoodToImageFilter.h |   8 +-
 .../include/otbGridResampleImageFilter.h      |  16 +-
 .../include/otbHillShadingFilter.h            |   2 +-
 .../include/otbImageToNoDataMaskFilter.h      |   4 +-
 .../include/otbImageToVectorImageCastFilter.h |   6 +-
 .../otbLocalGradientVectorImageFilter.h       |   2 +-
 .../include/otbLog10ThresholdedImageFilter.h  |   2 +-
 .../include/otbMatrixImageFilter.h            |   8 +-
 .../include/otbMultiplyByScalarImageFilter.h  |   2 +-
 .../otbNRIBandImagesToOneNComplexBandsImage.h |  10 +-
 .../otbOneRIBandImageToOneComplexBandImage.h  |   8 +-
 .../include/otbPerBandVectorImageFilter.h     |  10 +-
 .../include/otbPhaseFunctor.h                 |  12 +-
 .../include/otbPrintableImageFilter.h         |   6 +-
 ...ealAndImaginaryImageToComplexImageFilter.h |   2 +-
 .../otbRealImageToComplexImageFilter.h        |   2 +-
 .../include/otbShiftScaleImageAdaptor.h       |   2 +-
 .../include/otbShiftScaleVectorImageFilter.h  |   8 +-
 .../otbSpectralAngleDistanceImageFilter.h     |   8 +-
 .../include/otbSqrtSpectralAngleFunctor.h     |   4 +-
 ...tbStreamingInnerProductVectorImageFilter.h |  18 +-
 ...treamingMatrixTransposeMatrixImageFilter.h |  20 +-
 .../include/otbStreamingResampleImageFilter.h |  10 +-
 .../include/otbStreamingShrinkImageFilter.h   |  34 +--
 .../include/otbTernaryFunctorImageFilter.h    |   4 +-
 .../include/otbThresholdVectorImageFilter.h   |   8 +-
 .../include/otbTileImageFilter.h              |  12 +-
 .../otbTwoNRIBandsImageToNComplexBandsImage.h |  10 +-
 .../otbUnaryFunctorNeighborhoodImageFilter.h  |   6 +-
 ...FunctorNeighborhoodWithOffsetImageFilter.h |   8 +-
 .../otbUnaryFunctorWithIndexImageFilter.h     |   6 +-
 ...tbUnaryImageFunctorWithVectorImageFilter.h |   8 +-
 .../otbVectorImageTo3DScalarImageFilter.h     |  10 +-
 .../otbVectorImageToAmplitudeImageFilter.h    |   4 +-
 .../otbVectorRescaleIntensityImageFilter.h    |  10 +-
 .../ImageNoise/include/otbFrostImageFilter.h  |   8 +-
 .../include/otbGammaMAPImageFilter.h          |   8 +-
 .../ImageNoise/include/otbKuanImageFilter.h   |   8 +-
 .../ImageNoise/include/otbLeeImageFilter.h    |   8 +-
 .../include/otbBandMathImageFilter.h          |  10 +-
 .../include/otbMaskMuParserFilter.h           |  10 +-
 .../include/otbMaskMuParserFunctor.h          |   2 +-
 .../Filtering/MathParser/include/otbParser.h  |   4 +-
 ...tbParserConditionDataNodeFeatureFunction.h |   6 +-
 .../Filtering/MathParser/src/otbParser.cxx    |   4 +-
 .../include/otbBandMathXImageFilter.h         |  14 +-
 .../MathParserX/include/otbParserX.h          |   4 +-
 .../MathParserX/include/otbParserXPlugins.h   | 198 +++++++++---------
 .../Filtering/MathParserX/src/otbParserX.cxx  |   4 +-
 .../otbMorphologicalPyramidAnalysisFilter.h   |  10 +-
 .../otbMorphologicalPyramidMRToMSConverter.h  |  12 +-
 .../otbMorphologicalPyramidResampler.h        |  12 +-
 ...tbMorphologicalPyramidSegmentationFilter.h |   8 +-
 .../otbMorphologicalPyramidSegmenter.h        |   8 +-
 .../otbMorphologicalPyramidSynthesisFilter.h  |   8 +-
 .../Path/include/otbCompacityPathFunction.h   |   6 +-
 .../Path/include/otbDrawPathFilter.h          |   6 +-
 .../Path/include/otbDrawPathListFilter.h      |   6 +-
 .../otbImageFittingPolygonListFilter.h        |   6 +-
 .../Path/include/otbImageToEdgePathFilter.h   |   8 +-
 .../Path/include/otbImageToPathFilter.h       |   4 +-
 .../Path/include/otbImageToPathListFilter.h   |   4 +-
 .../Path/include/otbOrientationPathFunction.h |   6 +-
 .../Filtering/Path/include/otbPathFunction.h  |   4 +-
 .../Path/include/otbPathListSource.h          |   2 +-
 .../include/otbPathListToHistogramGenerator.h |   8 +-
 .../include/otbPathListToPathListFilter.h     |   2 +-
 .../Path/include/otbPolyLineImageIterator.h   |   2 +-
 ...tbRegionImageToRectangularPathListFilter.h |   8 +-
 .../include/otbVectorizationPathListFilter.h  |   6 +-
 ...rToPolarisationDegreeAndPowerImageFilter.h |   2 +-
 ...MuellerToReciprocalCovarianceImageFilter.h |   2 +-
 ...MultiChannelsPolarimetricSynthesisFilter.h |  10 +-
 .../Polarimetry/include/otbPolarimetricData.h |   4 +-
 .../otbReciprocalBarnesDecompImageFilter.h    |   2 +-
 ...lCoherencyToReciprocalMuellerImageFilter.h |   2 +-
 ...alCovarianceToCoherencyDegreeImageFilter.h |   2 +-
 ...varianceToReciprocalCoherencyImageFilter.h |   2 +-
 .../include/otbReciprocalHAlphaImageFilter.h  |   2 +-
 .../otbReciprocalHuynenDecompImageFilter.h    |   2 +-
 ...oReciprocalCircularCovarianceImageFilter.h |   2 +-
 .../otbReciprocalPauliDecompImageFilter.h     |   2 +-
 .../include/otbSinclairImageFilter.h          |   6 +-
 .../otbSinclairReciprocalImageFilter.h        |   6 +-
 .../include/otbEckert4MapProjection.h         |   2 +-
 .../otbGCPsToRPCSensorModelImageFilter.h      |   8 +-
 .../include/otbGenericRSResampleImageFilter.h |  10 +-
 .../otbGenericRSResampleImageFilter.txx       |   2 +-
 .../include/otbGeographicalDistance.h         |   8 +-
 .../include/otbGeometriesProjectionFilter.h   |  12 +-
 .../include/otbGroundSpacingImageFunction.h   |  10 +-
 .../otbImageToEnvelopeVectorDataFilter.h      |   8 +-
 .../otbImportGeoInformationImageFilter.h      |  10 +-
 .../include/otbLambert2EtenduProjection.h     |   2 +-
 .../include/otbLambert93Projection.h          |   2 +-
 .../otbLambertConformalConicMapProjection.h   |   2 +-
 .../otbLeastSquareAffineTransformEstimator.h  |   4 +-
 .../include/otbMollweidMapProjection.h        |   2 +-
 .../include/otbOrthoRectificationFilter.h     |   8 +-
 .../otbPhysicalToRPCSensorModelImageFilter.h  |   8 +-
 .../otbProjectiveProjectionImageFilter.h      |   6 +-
 .../Projection/include/otbROIdataConversion.h |  10 +-
 .../Projection/include/otbRationalTransform.h |  10 +-
 .../include/otbSVY21MapProjection.h           |   2 +-
 .../include/otbSinusoidalMapProjection.h      |   2 +-
 .../Projection/include/otbTileMapTransform.h  |   4 +-
 .../include/otbTransMercatorMapProjection.h   |   2 +-
 .../Projection/include/otbUtmMapProjection.h  |   2 +-
 .../otbVectorDataIntoImageProjectionFilter.h  |   4 +-
 .../include/otbVectorDataProjectionFilter.h   |  14 +-
 .../include/otbVectorDataTransformFilter.h    |  12 +-
 .../otbMeanShiftSmoothingImageFilter.h        |  16 +-
 .../include/otbConcatenateSampleListFilter.h  |   6 +-
 ...bContinuousMinimumMaximumImageCalculator.h |   4 +-
 ...otbGaussianAdditiveNoiseSampleListFilter.h |   6 +-
 .../include/otbHistogramStatisticsFunction.h  |   6 +-
 .../include/otbListSampleGenerator.h          |  10 +-
 .../Statistics/include/otbListSampleSource.h  |   6 +-
 .../otbListSampleToBalancedListSampleFilter.h |   8 +-
 .../otbListSampleToHistogramListGenerator.h   |   8 +-
 .../include/otbListSampleToListSampleFilter.h |   4 +-
 ...pleToVariableDimensionHistogramGenerator.h |   8 +-
 .../include/otbLocalHistogramImageFunction.h  |  10 +-
 .../include/otbNormalizeVectorImageFilter.h   |   4 +-
 .../Statistics/include/otbPatternSampler.h    |   4 +-
 .../Statistics/include/otbPeriodicSampler.h   |   4 +-
 .../Statistics/include/otbRandomSampler.h     |   4 +-
 .../Statistics/include/otbSamplerBase.h       |   2 +-
 .../include/otbShiftScaleSampleListFilter.h   |   6 +-
 .../include/otbStreamingCompareImageFilter.h  |  20 +-
 .../otbStreamingHistogramVectorImageFilter.h  |  18 +-
 .../include/otbStreamingMinMaxImageFilter.h   |  18 +-
 .../otbStreamingMinMaxVectorImageFilter.h     |  18 +-
 .../otbStreamingStatisticsImageFilter.h       |  18 +-
 ...reamingStatisticsMapFromLabelImageFilter.h |  20 +-
 .../otbStreamingStatisticsVectorImageFilter.h |  18 +-
 .../include/otbVarianceImageFilter.h          |   8 +-
 .../otbVectorImageToIntensityImageFilter.h    |   6 +-
 .../otbVectorImageToMatrixImageFilter.h       |  18 +-
 .../include/otbConcatenateVectorDataFilter.h  |   6 +-
 .../otbDBOverlapDataNodeFeatureFunction.h     |   6 +-
 ...sWithNeighborhoodDataNodeFeatureFunction.h |   6 +-
 .../otbSpectralAngleDataNodeFeatureFunction.h |   6 +-
 .../include/otbVectorDataAdapter.h            |  10 +-
 .../include/otbVectorDataExtractROI.h         |   6 +-
 .../otbVectorDataToRandomLineGenerator.h      |   6 +-
 ...ectorDataToSpecificDescriptionFilterBase.h |   4 +-
 .../include/otbVectorDataToVectorDataFilter.h |   8 +-
 .../Wavelet/include/otbSubsampleImageFilter.h |  14 +-
 .../Wavelet/include/otbWaveletFilterBank.h    |  34 +--
 .../Wavelet/include/otbWaveletGenerator.h     |   2 +-
 .../include/otbWaveletHighPassOperator.h      |   4 +-
 .../Wavelet/include/otbWaveletImageFilter.h   |   6 +-
 .../include/otbWaveletInverseImageFilter.h    |   8 +-
 .../include/otbWaveletLowPassOperator.h       |   4 +-
 .../Wavelet/include/otbWaveletOperatorBase.h  |   6 +-
 .../otbWaveletPacketDecompositionCosts.h      |   2 +-
 .../include/otbWaveletPacketTransform.h       |  10 +-
 .../Wavelet/include/otbWaveletTransform.h     |  10 +-
 ...tsBandsListToWaveletsSynopsisImageFilter.h |   8 +-
 ...tsSynopsisImageToWaveletsBandsListFilter.h |  10 +-
 .../Fusion/Fuzzy/include/otbFuzzyVariable.h   |   4 +-
 ...otbNeighborhoodMajorityVotingImageFilter.h |   6 +-
 .../include/otbBayesianFusionFilter.h         |   6 +-
 .../otbLmvmPanSharpeningFusionImageFilter.h   |   6 +-
 ...bSimpleRcsPanSharpeningFusionImageFilter.h |   6 +-
 .../include/otbLocalRxDetectorFilter.h        |  10 +-
 .../otbLocalRxDetectorNonThreadFilter.h       |   8 +-
 .../otbEigenvalueLikelihoodMaximisation.h     |   4 +-
 .../include/otbVcaImageFilter.h               |  12 +-
 .../include/otbVirtualDimensionality.h        |   4 +-
 .../include/otbISRAUnmixingImageFilter.h      |   4 +-
 .../Unmixing/include/otbMDMDNMFImageFilter.h  |  10 +-
 .../include/otbNCLSUnmixingImageFilter.h      |   4 +-
 .../include/otbSparseUnmixingImageFilter.h    |   4 +-
 .../otbUnConstrainedLeastSquareImageFilter.h  |   4 +-
 .../IO/Carto/include/otbCoordinateToName.h    |   4 +-
 .../otbImageToOSMVectorDataGenerator.h        |   4 +-
 .../Carto/include/otbMapFileProductWriter.h   |   6 +-
 .../include/otbOSMDataToVectorDataGenerator.h |   4 +-
 .../IO/Carto/include/otbPlaceNameToLonLat.h   |   4 +-
 Modules/IO/Carto/include/otbWorldFile.h       |   2 +-
 .../include/otbExtendedFilenameHelper.h       |   2 +-
 .../otbExtendedFilenameToReaderOptions.h      |   4 +-
 .../otbExtendedFilenameToWriterOptions.h      |   4 +-
 Modules/IO/IOBSQ/include/otbBSQImageIO.h      |  26 +--
 .../IO/IOBSQ/include/otbBSQImageIOFactory.h   |   6 +-
 .../IO/IOGDAL/include/otbGDALDatasetWrapper.h |   2 +-
 Modules/IO/IOGDAL/include/otbGDALImageIO.h    |  26 +--
 .../IO/IOGDAL/include/otbGDALImageIOFactory.h |   6 +-
 .../IOGDAL/include/otbGDALOverviewsBuilder.h  |   6 +-
 Modules/IO/IOGDAL/include/otbOGRIOHelper.h    |   2 +-
 .../IO/IOGDAL/include/otbOGRVectorDataIO.h    |  12 +-
 .../include/otbOGRVectorDataIOFactory.h       |   6 +-
 Modules/IO/IOKML/include/otbKMLVectorDataIO.h |  12 +-
 .../IOKML/include/otbKMLVectorDataIOFactory.h |   6 +-
 Modules/IO/IOLUM/include/otbLUMImageIO.h      |  26 +--
 .../IO/IOLUM/include/otbLUMImageIOFactory.h   |   6 +-
 Modules/IO/IOMSTAR/include/otbMSTARImageIO.h  |  26 +--
 .../IOMSTAR/include/otbMSTARImageIOFactory.h  |   6 +-
 Modules/IO/IOONERA/include/otbONERAImageIO.h  |  26 +--
 .../IOONERA/include/otbONERAImageIOFactory.h  |   6 +-
 Modules/IO/IORAD/include/otbRADImageIO.h      |  26 +--
 .../IO/IORAD/include/otbRADImageIOFactory.h   |   6 +-
 .../IO/IOTileMap/include/otbTileMapImageIO.h  |  30 +--
 .../include/otbTileMapImageIOFactory.h        |   6 +-
 .../include/otbTileMapImageIOHelper.h         |   2 +-
 .../include/otbStatisticsXMLFileReader.h      |   6 +-
 .../include/otbStatisticsXMLFileWriter.h      |   4 +-
 .../IO/ImageIO/include/otbImageFileReader.h   |  10 +-
 .../IO/ImageIO/include/otbImageFileWriter.h   |   8 +-
 .../IO/ImageIO/include/otbImageIOFactory.h    |   2 +-
 .../include/otbImageSeriesFileReader.h        |  10 +-
 .../include/otbImageSeriesFileReaderBase.h    |  10 +-
 .../otbScalarBufferToImageFileWriter.h        |   8 +-
 .../KMZWriter/include/otbKmzProductWriter.h   |   6 +-
 .../include/otbDifferenceImageFilter.h        |  12 +-
 Modules/IO/TestKernel/include/otbTestHelper.h |   2 +-
 .../include/otbVectorDataFileReader.h         |   8 +-
 .../include/otbVectorDataFileWriter.h         |   8 +-
 .../include/otbVectorDataIOFactory.h          |   2 +-
 .../otbConfusionMatrixToMassOfBelief.h        |   6 +-
 .../otbDSFusionOfClassifiersImageFilter.h     |  10 +-
 .../include/otbJointMassOfBeliefFilter.h      |  10 +-
 .../DempsterShafer/include/otbMassOfBelief.h  |   4 +-
 .../include/otbStandardDSCostFunction.h       |  10 +-
 ...bVectorDataToDSValidatedVectorDataFilter.h |   6 +-
 .../include/otbAutoencoderModel.h             |  16 +-
 .../include/otbAutoencoderModelFactory.h      |   6 +-
 .../otbDimensionalityReductionModelFactory.h  |   2 +-
 .../otbImageDimensionalityReductionFilter.h   |  10 +-
 .../include/otbPCAModel.h                     |  16 +-
 .../include/otbPCAModelFactory.h              |   6 +-
 .../include/otbSOMModel.h                     |  14 +-
 .../include/otbSOMModelFactory.h              |   6 +-
 .../LearningBase/include/otbDecisionTree.h    |   4 +-
 .../include/otbGaussianModelComponent.h       |  10 +-
 .../include/otbImageClassificationFilter.h    |   8 +-
 .../otbKMeansImageClassificationFilter.h      |   8 +-
 .../include/otbMachineLearningModel.h         |   4 +-
 .../otbMachineLearningModelFactoryBase.h      |   2 +-
 .../LearningBase/include/otbSEMClassifier.h   |   8 +-
 .../Learning/Markov/include/otbMRFEnergy.h    |   4 +-
 .../Markov/include/otbMRFEnergyEdgeFidelity.h |   4 +-
 .../otbMRFEnergyFisherClassification.h        |   6 +-
 .../Markov/include/otbMRFEnergyGaussian.h     |   4 +-
 .../otbMRFEnergyGaussianClassification.h      |   6 +-
 .../Markov/include/otbMRFEnergyPotts.h        |   4 +-
 .../Learning/Markov/include/otbMRFOptimizer.h |   2 +-
 .../Markov/include/otbMRFOptimizerICM.h       |   4 +-
 .../include/otbMRFOptimizerMetropolis.h       |   4 +-
 .../Learning/Markov/include/otbMRFSampler.h   |   2 +-
 .../Markov/include/otbMRFSamplerMAP.h         |   4 +-
 .../Markov/include/otbMRFSamplerRandom.h      |   4 +-
 .../Markov/include/otbMRFSamplerRandomMAP.h   |   6 +-
 .../include/otbMarkovRandomFieldFilter.h      |  12 +-
 Modules/Learning/SOM/include/otbPeriodicSOM.h |  14 +-
 Modules/Learning/SOM/include/otbSOM.h         |  10 +-
 .../SOM/include/otbSOMActivationBuilder.h     |   6 +-
 .../Learning/SOM/include/otbSOMClassifier.h   |   6 +-
 .../include/otbSOMImageClassificationFilter.h |   8 +-
 Modules/Learning/SOM/include/otbSOMMap.h      |   4 +-
 .../SOM/include/otbSOMWithMissingValue.h      |  14 +-
 .../SOM/include/otbSOMbasedImageFilter.h      |   4 +-
 .../include/otbImageSampleExtractorFilter.h   |  14 +-
 .../otbOGRDataToClassStatisticsFilter.h       |  14 +-
 .../otbOGRDataToSamplePositionFilter.h        |  16 +-
 .../include/otbPersistentSamplingFilterBase.h |  10 +-
 .../include/otbSamplingRateCalculator.h       |   4 +-
 .../include/otbSamplingRateCalculatorList.h   |   2 +-
 .../include/otbBoostMachineLearningModel.h    |  16 +-
 .../otbBoostMachineLearningModelFactory.h     |   6 +-
 .../include/otbConfusionMatrixCalculator.h    |   4 +-
 .../include/otbConfusionMatrixMeasurements.h  |   2 +-
 .../Supervised/include/otbCvRTreesWrapper.h   |   2 +-
 .../otbDecisionTreeMachineLearningModel.h     |  16 +-
 ...bDecisionTreeMachineLearningModelFactory.h |   6 +-
 .../otbExhaustiveExponentialOptimizer.h       |   6 +-
 ...bGradientBoostedTreeMachineLearningModel.h |  16 +-
 ...ntBoostedTreeMachineLearningModelFactory.h |   6 +-
 ...otbKNearestNeighborsMachineLearningModel.h |  16 +-
 ...restNeighborsMachineLearningModelFactory.h |   6 +-
 .../include/otbLabelMapClassifier.h           |   6 +-
 .../include/otbLibSVMMachineLearningModel.h   |  16 +-
 .../otbLibSVMMachineLearningModelFactory.h    |   6 +-
 .../include/otbMachineLearningModelFactory.h  |   2 +-
 .../otbNeuralNetworkMachineLearningModel.h    |  16 +-
 ...NeuralNetworkMachineLearningModelFactory.h |   6 +-
 .../otbNormalBayesMachineLearningModel.h      |  16 +-
 ...tbNormalBayesMachineLearningModelFactory.h |   6 +-
 .../otbRandomForestsMachineLearningModel.h    |  16 +-
 ...RandomForestsMachineLearningModelFactory.h |   6 +-
 .../otbSVMCrossValidationCostFunction.h       |   8 +-
 .../include/otbSVMMachineLearningModel.h      |  16 +-
 .../otbSVMMachineLearningModelFactory.h       |   6 +-
 .../Supervised/include/otbSVMMarginSampler.h  |   6 +-
 ...tbSharkRandomForestsMachineLearningModel.h |  16 +-
 ...RandomForestsMachineLearningModelFactory.h |   4 +-
 .../otbExhaustiveExponentialOptimizerTest.cxx |   8 +-
 .../include/otbContingencyTable.h             |   4 +-
 .../include/otbContingencyTableCalculator.h   |   4 +-
 .../otbSharkKMeansMachineLearningModel.h      |  16 +-
 ...tbSharkKMeansMachineLearningModelFactory.h |   4 +-
 .../include/otbSimpleParallelTiffWriter.h     |   4 +-
 .../include/otbImageListToRCC8GraphFilter.h   |   4 +-
 ...bImageMultiSegmentationToRCC8GraphFilter.h |   6 +-
 .../include/otbImageToImageRCC8Calculator.h   |   6 +-
 .../include/otbPolygonListToRCC8GraphFilter.h |   6 +-
 .../otbPolygonToPolygonRCC8Calculator.h       |   4 +-
 Modules/OBIA/RCC8/include/otbRCC8Edge.h       |   4 +-
 Modules/OBIA/RCC8/include/otbRCC8Graph.h      |   4 +-
 .../RCC8/include/otbRCC8GraphFileReader.h     |   6 +-
 .../RCC8/include/otbRCC8GraphFileWriter.h     |   8 +-
 .../OBIA/RCC8/include/otbRCC8GraphSource.h    |   4 +-
 Modules/OBIA/RCC8/include/otbRCC8VertexBase.h |   4 +-
 .../RCC8/include/otbRCC8VertexWithCompacity.h |   8 +-
 .../include/otbBuiltUpIndicesFunctor.h        |  12 +-
 .../include/otbGAndRIndexImageFilter.h        |   4 +-
 .../Indices/include/otbLandsatTMIndices.h     | 114 +++++-----
 .../otbMultiChannelGAndRIndexImageFilter.h    |   6 +-
 ...bMultiChannelRAndBAndNIRIndexImageFilter.h |   6 +-
 ...bMultiChannelRAndGAndNIRIndexImageFilter.h |   6 +-
 .../otbMultiChannelRAndNIRIndexImageFilter.h  |   6 +-
 .../include/otbNDVIDataNodeFeatureFunction.h  |   6 +-
 .../include/otbRAndBAndNIRIndexImageFilter.h  |   4 +-
 .../include/otbRAndGAndNIRIndexImageFilter.h  |   4 +-
 .../include/otbRAndNIRIndexImageFilter.h      |   4 +-
 .../Indices/include/otbSoilIndicesFunctor.h   |  24 +--
 .../include/otbVegetationIndicesFunctor.h     | 108 +++++-----
 .../Indices/include/otbWaterIndicesFunctor.h  |  22 +-
 .../otbWaterSqrtSpectralAngleImageFilter.h    |   2 +-
 .../otbLandsatTMSpectralRuleBasedClassifier.h |   4 +-
 .../include/otbAeronetData.h                  |   4 +-
 .../include/otbAeronetFileReader.h            |   6 +-
 .../otbAtmosphericCorrectionParameters.h      |   4 +-
 .../include/otbAtmosphericRadiativeTerms.h    |   8 +-
 .../otbImageMetadataCorrectionParameters.h    |   4 +-
 .../include/otbImageToRadianceImageFilter.h   |   4 +-
 .../otbImageToReflectanceImageFilter.h        |   4 +-
 .../include/otbRadianceToImageImageFilter.h   |   4 +-
 .../otbRadianceToReflectanceImageFilter.h     |   4 +-
 .../otbReflectanceToImageImageFilter.h        |   4 +-
 .../otbReflectanceToRadianceImageFilter.h     |   4 +-
 ...flectanceToSurfaceReflectanceImageFilter.h |   8 +-
 .../include/otbSpectralSensitivityReader.h    |   6 +-
 ...aceAdjacencyEffectCorrectionSchemeFilter.h |   8 +-
 .../include/otbWavelengthSpectralBands.h      |   4 +-
 .../include/otbSarBrightnessFunction.h        |  12 +-
 .../include/otbSarBrightnessToImageFilter.h   |   6 +-
 .../include/otbSarDeburstImageFilter.h        |   8 +-
 .../include/otbSarParametricMapFunction.h     |  10 +-
 .../otbSarRadiometricCalibrationFunction.h    |  12 +-
 ...tbSarRadiometricCalibrationToImageFilter.h |   6 +-
 .../otbTerraSarBrightnessImageFilter.h        |   4 +-
 .../include/otbAtmosphericEffects.h           |   2 +-
 .../include/otbImageSimulationMethod.h        |   6 +-
 .../otbLabelMapToSimulatedImageFilter.h       |  10 +-
 .../include/otbLabelToProSailParameters.h     |   4 +-
 .../otbLabelToSimulationParametersBase.h      |   2 +-
 .../Simulation/include/otbLeafParameters.h    |   4 +-
 .../Simulation/include/otbProSailParameters.h |   2 +-
 .../Simulation/include/otbProspectModel.h     |  12 +-
 .../include/otbReduceSpectralResponse.h       |   4 +-
 ...bReduceSpectralResponseClassifierRAndNIR.h |   4 +-
 .../Simulation/include/otbSatelliteRSR.h      |   4 +-
 .../include/otbSimulationStep1Base.h          |   2 +-
 .../include/otbSimulationStep2Base.h          |   2 +-
 .../include/otbSpatialisationFilter.h         |   8 +-
 .../Simulation/include/otbSpectralResponse.h  |   4 +-
 ...otbSurfaceReflectanceToReflectanceFilter.h |   6 +-
 .../include/otbDisparityMapEstimationMethod.h |   6 +-
 .../include/otbDisparityMapMedianFilter.h     |  10 +-
 .../include/otbDisparityMapTo3DFilter.h       |  12 +-
 .../include/otbDisparityMapToDEMFilter.h      |  14 +-
 .../include/otbDisparityTranslateFilter.h     |  10 +-
 .../include/otbFineRegistrationImageFilter.h  |   8 +-
 .../include/otbMultiDisparityMapTo3DFilter.h  |  10 +-
 .../include/otbNCCRegistrationFilter.h        |   8 +-
 .../include/otbNCCRegistrationFunction.h      |  14 +-
 .../otbPixelWiseBlockMatchingImageFilter.h    |  14 +-
 .../include/otbSubPixelDisparityImageFilter.h |  14 +-
 ...nesInterpolateDisplacementFieldGenerator.h |   6 +-
 ...olateTransformDisplacementFieldGenerator.h |   8 +-
 ...earInterpolateDisplacementFieldGenerator.h |   6 +-
 ...earInterpolateDisplacementFieldGenerator.h |   6 +-
 ...tbNearestPointDisplacementFieldGenerator.h |   6 +-
 ...arestTransformDisplacementFieldGenerator.h |   6 +-
 .../otbPointSetToDisplacementFieldGenerator.h |   6 +-
 ...ithTransformToDisplacementFieldGenerator.h |   4 +-
 .../include/otbAdhesionCorrectionFilter.h     |   8 +-
 .../include/otbBijectionCoherencyFilter.h     |   8 +-
 .../Stereo/include/otbLineOfSightOptimizer.h  |   2 +-
 .../Stereo/include/otbMulti3DMapToDEMFilter.h |  14 +-
 ...otbStereoSensorModelToElevationMapFilter.h |  10 +-
 ...ereorectificationDisplacementFieldSource.h |  10 +-
 .../otbLabelObjectOpeningMuParserFilter.h     |  12 +-
 ...ponentSegmentationOBIAToVectorDataFilter.h |   6 +-
 .../otbLabelImageRegionMergingFilter.h        |  10 +-
 .../otbLabelImageRegionPruningFilter.h        |  10 +-
 .../otbLabelImageToOGRDataSourceFilter.h      |   8 +-
 .../include/otbLabelImageToVectorDataFilter.h |   6 +-
 .../include/otbLabelMapToVectorDataFilter.h   |   6 +-
 .../otbOGRDataSourceToLabelImageFilter.h      |   8 +-
 .../otbPersistentImageToOGRLayerFilter.h      |  12 +-
 .../otbPersistentImageToVectorDataFilter.h    |  12 +-
 .../include/otbRasterizeVectorDataFilter.h    |   8 +-
 .../include/otbVectorDataToLabelImageFilter.h |   8 +-
 .../include/otbVectorDataToLabelMapFilter.h   |   8 +-
 ...VectorDataToLabelMapWithAttributesFilter.h |   8 +-
 .../include/otbLabelToBoundaryImageFilter.h   |   2 +-
 ...tbLabelizeConfidenceConnectedImageFilter.h |   6 +-
 ...otbLabelizeConnectedThresholdImageFilter.h |   6 +-
 .../include/otbLabelizeImageFilterBase.h      |   6 +-
 ...LabelizeNeighborhoodConnectedImageFilter.h |   6 +-
 ...hiftConnectedComponentSegmentationFilter.h |   6 +-
 .../include/otbMeanShiftSegmentationFilter.h  |   4 +-
 .../Metrics/include/otbHooverInstanceFilter.h |  12 +-
 .../Metrics/include/otbHooverMatrixFilter.h   |   6 +-
 .../otbClosingOpeningMorphologicalFilter.h    |   6 +-
 .../otbConvexOrConcaveClassificationFilter.h  |   8 +-
 ...odesicMorphologyDecompositionImageFilter.h |   6 +-
 ...phologyIterativeDecompositionImageFilter.h |  12 +-
 .../otbGeodesicMorphologyLevelingFilter.h     |   6 +-
 .../include/otbImageToProfileFilter.h         |  10 +-
 .../otbMorphologicalClosingProfileFilter.h    |   6 +-
 .../otbMorphologicalOpeningProfileFilter.h    |   6 +-
 ...bMorphologicalProfilesSegmentationFilter.h |   4 +-
 ...ScaleConvexOrConcaveClassificationFilter.h |   6 +-
 .../otbOpeningClosingMorphologicalFilter.h    |   6 +-
 ...ivativeToMultiScaleCharacteristicsFilter.h |  10 +-
 .../otbProfileToProfileDerivativeFilter.h     |  10 +-
 .../otbOGRLayerStreamStitchingFilter.h        |   4 +-
 ...reamingImageToOGRLayerSegmentationFilter.h |   6 +-
 .../include/otbWatershedSegmentationFilter.h  |   4 +-
 .../ITK/include/itkImageRegionSplitter.h      |   8 +-
 .../itkTransformToDisplacementFieldSource.h   |  16 +-
 .../ITK/include/itkUnaryFunctorImageFilter.h  |   6 +-
 .../Ice/include/otbFragmentShader.h           |   2 +-
 .../Ice/include/otbFragmentShaderRegistry.h   |   2 +-
 .../Visualization/Ice/include/otbGlActor.h    |   2 +-
 .../Ice/include/otbGlImageActor.h             |  22 +-
 .../Visualization/Ice/include/otbGlROIActor.h |  10 +-
 .../Ice/include/otbGlVectorActor.h            |  14 +-
 Modules/Visualization/Ice/include/otbGlView.h |   2 +-
 .../Ice/include/otbImageSettings.h            |   2 +-
 .../Ice/include/otbStandardShader.h           |   8 +-
 .../Ice/include/otbViewSettings.h             |   2 +-
 .../IceViewer/include/otbIceViewer.h          |   2 +-
 .../Mapla/include/mvdMaplaApplication.h       |   4 +-
 .../Mapla/include/mvdMaplaMainWindow.h        |  12 +-
 .../Monteverdi/include/mvdApplication.h       |   4 +-
 .../Monteverdi/include/mvdMainWindow.h        |  14 +-
 .../Monteverdi/include/mvdPreferencesDialog.h |   2 +-
 .../include/mvdAbstractImageModel.h           |   4 +-
 .../include/mvdAbstractLayerModel.h           |   4 +-
 .../MonteverdiCore/include/mvdAbstractModel.h |   2 +-
 .../include/mvdAbstractWorker.h               |   2 +-
 .../include/mvdApplicationsBrowser.h          |   2 +-
 .../include/mvdBackgroundTask.h               |   2 +-
 .../include/mvdHistogramModel.h               |   8 +-
 .../include/mvdI18nCoreApplication.h          |   2 +-
 .../MonteverdiCore/include/mvdImageImporter.h |   6 +-
 .../MonteverdiCore/include/mvdMyClass.h       |   2 +-
 .../include/mvdOverviewBuilder.h              |   8 +-
 .../include/mvdProcessObjectObserver.h        |   6 +-
 .../include/mvdQuicklookModel.h               |   4 +-
 .../include/mvdStackedLayerModel.h            |   2 +-
 .../MonteverdiCore/include/mvdSystemError.h   |   2 +-
 .../include/mvdVectorImageModel.h             |  24 +--
 .../include/mvdVectorImageSettings.h          |   2 +-
 .../MonteverdiGui/include/mvdAboutDialog.h    |   2 +-
 .../mvdAbstractDragAndDropEventFilter.h       |   4 +-
 .../include/mvdAbstractImageViewManipulator.h |   2 +-
 .../include/mvdAbstractImageViewRenderer.h    |   2 +-
 .../include/mvdAbstractModelController.h      |   2 +-
 .../include/mvdApplicationLauncher.h          |   2 +-
 .../include/mvdApplicationsToolBox.h          |   2 +-
 .../mvdApplicationsToolBoxController.h        |  10 +-
 .../include/mvdColorBandDynamicsWidget.h      |   2 +-
 .../include/mvdColorDynamicsController.h      |  10 +-
 .../include/mvdColorDynamicsWidget.h          |   2 +-
 .../include/mvdColorSetupController.h         |  10 +-
 .../include/mvdColorSetupWidget.h             |   2 +-
 .../include/mvdDoubleValidator.h              |   4 +-
 .../MonteverdiGui/include/mvdDropLineEdit.h   |   8 +-
 .../mvdFilenameDragAndDropEventFilter.h       |  10 +-
 .../include/mvdHistogramController.h          |  10 +-
 .../include/mvdHistogramPlotPicker.h          |   6 +-
 .../include/mvdHistogramWidget.h              |   2 +-
 .../include/mvdI18nApplication.h              |   4 +-
 .../MonteverdiGui/include/mvdI18nMainWindow.h |   4 +-
 .../include/mvdImageViewManipulator.h         |  54 ++---
 .../include/mvdImageViewRenderer.h            |  52 ++---
 .../include/mvdImageViewWidget.h              |  24 +--
 .../include/mvdImportImagesDialog.h           |   2 +-
 .../include/mvdImportSubDatasetDialog.h       |   2 +-
 .../MonteverdiGui/include/mvdKeymapDialog.h   |   2 +-
 .../include/mvdLayerStackController.h         |  10 +-
 .../include/mvdLayerStackItemModel.h          |  32 +--
 .../include/mvdLayerStackWidget.h             |   4 +-
 .../include/mvdMultiResolutionPyramidWidget.h |   2 +-
 .../include/mvdOTBApplicationsModel.h         |   4 +-
 .../include/mvdPixelDescriptionWidget.h       |   2 +-
 .../include/mvdProjectionBarWidget.h          |   2 +-
 .../MonteverdiGui/include/mvdQtWidgetView.h   |   4 +-
 .../include/mvdQuicklookViewManipulator.h     |  20 +-
 .../include/mvdQuicklookViewRenderer.h        |  14 +-
 .../include/mvdSearchableTreeWidget.h         |   2 +-
 .../MonteverdiGui/include/mvdShaderWidget.h   |   4 +-
 .../include/mvdStatusBarWidget.h              |   2 +-
 .../include/mvdTaskProgressDialog.h           |   2 +-
 .../MonteverdiGui/include/mvdTreeWidget.h     |  18 +-
 .../MonteverdiGui/include/mvdTreeWidgetItem.h |   4 +-
 .../mvdTreeWidgetItemDragAndDropEventFilter.h |  10 +-
 .../ApplicationEngine/include/otbLogger.h     |   2 +-
 .../otbWrapperAddProcessToWatchEvent.h        |   8 +-
 .../include/otbWrapperApplication.h           |   2 +-
 .../include/otbWrapperApplicationFactory.h    |  10 +-
 .../otbWrapperApplicationFactoryBase.h        |   2 +-
 .../include/otbWrapperApplicationRegistry.h   |   2 +-
 .../include/otbWrapperChoiceParameter.h       |   6 +-
 .../otbWrapperComplexInputImageParameter.h    |   6 +-
 .../otbWrapperComplexOutputImageParameter.h   |   6 +-
 .../include/otbWrapperCompositeApplication.h  |   2 +-
 .../include/otbWrapperDirectoryParameter.h    |   8 +-
 .../include/otbWrapperDocExampleStructure.h   |   2 +-
 .../include/otbWrapperEmptyParameter.h        |   6 +-
 .../otbWrapperInputFilenameParameter.h        |   6 +-
 .../include/otbWrapperInputImageParameter.h   |   6 +-
 .../otbWrapperInputProcessXMLParameter.h      |   4 +-
 .../otbWrapperInputVectorDataParameter.h      |   6 +-
 .../include/otbWrapperListViewParameter.h     |   6 +-
 .../include/otbWrapperNumericalParameter.h    |   8 +-
 .../otbWrapperOutputFilenameParameter.h       |   6 +-
 .../include/otbWrapperOutputImageParameter.h  |   6 +-
 .../otbWrapperOutputProcessXMLParameter.h     |   6 +-
 .../otbWrapperOutputVectorDataParameter.h     |   4 +-
 .../include/otbWrapperParameter.h             |   2 +-
 .../include/otbWrapperParameterGroup.h        |   4 +-
 .../include/otbWrapperProxyParameter.h        |   2 +-
 .../include/otbWrapperRAMParameter.h          |  10 +-
 .../include/otbWrapperRadiusParameter.h       |   4 +-
 .../include/otbWrapperStringParameter.h       |   6 +-
 .../include/otbWrapperCommandLineLauncher.h   |   2 +-
 .../include/otbWrapperCommandLineParser.h     |   2 +-
 .../QtWidget/include/itkQtProgressBar.h       |   2 +-
 .../QtWidget/include/otbQtApplication.h       |   2 +-
 .../include/otbQtFileSelectionWidget.h        |   2 +-
 .../QtWidget/include/otbQtLogOutput.h         |  12 +-
 .../include/otbQtStringSelectionWidget.h      |   2 +-
 .../otbWrapperQtWidgetChoiceParameter.h       |   6 +-
 ...rapperQtWidgetComplexInputImageParameter.h |   6 +-
 ...apperQtWidgetComplexOutputImageParameter.h |   6 +-
 .../otbWrapperQtWidgetDirectoryParameter.h    |   6 +-
 .../otbWrapperQtWidgetEmptyParameter.h        |   6 +-
 .../otbWrapperQtWidgetFloatParameter.h        |   6 +-
 ...otbWrapperQtWidgetInputFilenameParameter.h |   6 +-
 .../otbWrapperQtWidgetInputImageParameter.h   |   6 +-
 ...bWrapperQtWidgetInputProcessXMLParameter.h |   6 +-
 ...bWrapperQtWidgetInputVectorDataParameter.h |   6 +-
 .../include/otbWrapperQtWidgetIntParameter.h  |   6 +-
 .../otbWrapperQtWidgetListEditItemModel.h     |  24 +--
 .../otbWrapperQtWidgetListViewParameter.h     |   6 +-
 .../include/otbWrapperQtWidgetModel.h         |   6 +-
 ...tbWrapperQtWidgetOutputFilenameParameter.h |   6 +-
 .../otbWrapperQtWidgetOutputImageParameter.h  |   6 +-
 ...WrapperQtWidgetOutputProcessXMLParameter.h |   6 +-
 ...WrapperQtWidgetOutputVectorDataParameter.h |   6 +-
 .../include/otbWrapperQtWidgetParameterBase.h |   2 +-
 .../otbWrapperQtWidgetParameterFactory.h      |   2 +-
 .../otbWrapperQtWidgetParameterGroup.h        |   8 +-
 .../otbWrapperQtWidgetParameterLabel.h        |   2 +-
 .../otbWrapperQtWidgetProgressReport.h        |   2 +-
 .../include/otbWrapperQtWidgetRAMParameter.h  |   6 +-
 .../otbWrapperQtWidgetSimpleProgressReport.h  |   2 +-
 .../otbWrapperQtWidgetStringParameter.h       |   6 +-
 .../QtWidget/include/otbWrapperQtWidgetView.h |   2 +-
 .../otbWrapperQtWidgetParameterFactory.cxx    |   8 +-
 .../Wrappers/SWIG/src/python/itkPyCommand.h   |   4 +-
 1008 files changed, 3869 insertions(+), 3869 deletions(-)

diff --git a/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h b/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
index 1ee320daeb..fa00e3615b 100644
--- a/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
+++ b/Modules/Adapters/CurlAdapters/include/otbCurlHelper.h
@@ -48,19 +48,19 @@ public:
   itkTypeMacro(CurlHelper, CurlHelperInterface);
   itkNewMacro(Self);
 
-  bool TestUrlAvailability(const std::string& url) const ITK_OVERRIDE;
+  bool TestUrlAvailability(const std::string& url) const override;
 
   bool IsCurlReturnHttpError(const std::string& url) const;
 
-  int RetrieveFile(const std::ostringstream& urlStream, std::string filename) const ITK_OVERRIDE;
+  int RetrieveFile(const std::ostringstream& urlStream, std::string filename) const override;
 
-  int RetrieveFile(const std::string& urlString, std::string filename) const ITK_OVERRIDE;
+  int RetrieveFile(const std::string& urlString, std::string filename) const override;
 
-  int RetrieveUrlInMemory(const std::string& urlString, std::string& output) const ITK_OVERRIDE;
+  int RetrieveUrlInMemory(const std::string& urlString, std::string& output) const override;
 
   int RetrieveFileMulti(const std::vector<std::string>& listURLs,
                         const std::vector<std::string>& listFiles,
-                        int maxConnect) const ITK_OVERRIDE;
+                        int maxConnect) const override;
 
   itkGetMacro(Timeout,long int);
 
@@ -71,7 +71,7 @@ protected:
     m_Browser("Mozilla/5.0 (Windows; U; Windows NT 6.0; en-GB; rv:1.8.1.11) "
               "Gecko/20071127 Firefox/2.0.0.11"),
     m_Timeout(10) {}
-  ~CurlHelper() ITK_OVERRIDE {}
+  ~CurlHelper() override {}
 
 private:
   CurlHelper(const Self &);  //purposely not implemented
diff --git a/Modules/Adapters/CurlAdapters/include/otbCurlHelperInterface.h b/Modules/Adapters/CurlAdapters/include/otbCurlHelperInterface.h
index 8fed05b3d2..a5cb6a56a0 100644
--- a/Modules/Adapters/CurlAdapters/include/otbCurlHelperInterface.h
+++ b/Modules/Adapters/CurlAdapters/include/otbCurlHelperInterface.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   CurlHelperInterface() {}
-  ~CurlHelperInterface() ITK_OVERRIDE {}
+  ~CurlHelperInterface() override {}
 
 private:
   CurlHelperInterface(const Self &);  //purposely not implemented
diff --git a/Modules/Adapters/CurlAdapters/include/otbCurlHelperStub.h b/Modules/Adapters/CurlAdapters/include/otbCurlHelperStub.h
index 58d56edaad..5393b36ff5 100644
--- a/Modules/Adapters/CurlAdapters/include/otbCurlHelperStub.h
+++ b/Modules/Adapters/CurlAdapters/include/otbCurlHelperStub.h
@@ -47,20 +47,20 @@ public:
   
   itkNewMacro(Self);
 
-  bool TestUrlAvailability(const std::string& url) const ITK_OVERRIDE;
+  bool TestUrlAvailability(const std::string& url) const override;
   
-  int RetrieveUrlInMemory(const std::string& urlString, std::string& output) const ITK_OVERRIDE;
+  int RetrieveUrlInMemory(const std::string& urlString, std::string& output) const override;
   
-  int RetrieveFile(const std::ostringstream& urlStream, std::string filename) const ITK_OVERRIDE;
+  int RetrieveFile(const std::ostringstream& urlStream, std::string filename) const override;
   
-  int RetrieveFile(const std::string& urlString, std::string filename) const ITK_OVERRIDE;
+  int RetrieveFile(const std::string& urlString, std::string filename) const override;
 
   int RetrieveFileMulti(const std::vector<std::string>& listURLs,
                         const std::vector<std::string>& listFiles,
-                        int maxConnect) const ITK_OVERRIDE;
+                        int maxConnect) const override;
 protected:
   CurlHelperStub() {}
-  ~CurlHelperStub() ITK_OVERRIDE {}
+  ~CurlHelperStub() override {}
 
 private:
   CurlHelperStub(const Self &);  //purposely not implemented
diff --git a/Modules/Adapters/CurlAdapters/src/otbCurlHelper.cxx b/Modules/Adapters/CurlAdapters/src/otbCurlHelper.cxx
index a9021f5efd..39bd3f0706 100644
--- a/Modules/Adapters/CurlAdapters/src/otbCurlHelper.cxx
+++ b/Modules/Adapters/CurlAdapters/src/otbCurlHelper.cxx
@@ -94,7 +94,7 @@ protected:
       }
   }
 
-  ~CurlResource() ITK_OVERRIDE
+  ~CurlResource() override
   {
     curl_easy_cleanup(m_Curl);
   }
@@ -140,7 +140,7 @@ protected:
       }
   }
 
-  ~CurlMultiResource() ITK_OVERRIDE
+  ~CurlMultiResource() override
   {
     curl_multi_cleanup(m_Curl);
   }
@@ -187,7 +187,7 @@ public:
 protected:
   CurlFileDescriptorResource(){}
 
-  ~CurlFileDescriptorResource() ITK_OVERRIDE
+  ~CurlFileDescriptorResource() override
   {
     fclose(m_File);
   }
diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesSet.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesSet.h
index 14e9f815ca..9306c6575b 100644
--- a/Modules/Adapters/GdalAdapters/include/otbGeometriesSet.h
+++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesSet.h
@@ -159,10 +159,10 @@ protected:
   GeometriesSet(ogr::Layer layer);
 
   /** Destructor. */
-  ~GeometriesSet() ITK_OVERRIDE;
+  ~GeometriesSet() override;
 
   /** Prints self to stream. */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 private:
   typedef boost::variant<ogr::DataSource::Pointer, ogr::Layer> AnyGeometriesSetType;
   AnyGeometriesSetType m_GeometriesSet;
diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
index 7361aa0c23..5b8c862671 100644
--- a/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
+++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesSource.h
@@ -119,7 +119,7 @@ public:
    * initializing them.
    * \post <tt>GetOutput() != NULL</tt>
    */
-  void PrepareOutputs() ITK_OVERRIDE;
+  void PrepareOutputs() override;
 
 protected:
   /** Default constructor.
@@ -129,7 +129,7 @@ protected:
   /** Destructor.
    * Does nothing.
    */
-  ~GeometriesSource() ITK_OVERRIDE;
+  ~GeometriesSource() override;
 
   /** Ensures that the output geometries are allocated before processing.
    * If the output hasn't been set, at this point, the default output geometries
diff --git a/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h b/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h
index 5f3ce22675..26089652fb 100644
--- a/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h
+++ b/Modules/Adapters/GdalAdapters/include/otbGeometriesToGeometriesFilter.h
@@ -91,13 +91,13 @@ protected:
   /** Destructor.
    * Does nothing.
    */
-  ~GeometriesToGeometriesFilter() ITK_OVERRIDE;
+  ~GeometriesToGeometriesFilter() override;
 
   /** Processes the input to fill the output.
    * This is the main processing function. It either works \em in-place or by
    * \em copying the transformed input \c Feature s into the output.
    */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   /** \e In-place processing function.
@@ -364,7 +364,7 @@ protected:
   /** Default constructor. */
   DefaultGeometriesToGeometriesFilter();
   /** Destructor. */
-  ~DefaultGeometriesToGeometriesFilter() ITK_OVERRIDE;
+  ~DefaultGeometriesToGeometriesFilter() override;
 
   /**
    * Hook that actually filters an OGR \c Layer.
@@ -376,7 +376,7 @@ protected:
    * \note When <tt>source == destination</tt>, it means this is an \em in-place
    * filter.
    */
-  void DoProcessLayer(ogr::Layer const& source, ogr::Layer & destination) const ITK_OVERRIDE;
+  void DoProcessLayer(ogr::Layer const& source, ogr::Layer & destination) const override;
   /**
    * Hook used to define the fields of the new layer.
    * \param[in] source  source \c Layer -- for reference
@@ -385,7 +385,7 @@ protected:
    * Just forwards the fields definition to the \c FieldTransformationPolicy
    * inherited from the \c TransformationFunctorDispatcherType.
    */
-  void DoDefineNewLayerFields(ogr::Layer const& source, ogr::Layer & dest) const ITK_OVERRIDE
+  void DoDefineNewLayerFields(ogr::Layer const& source, ogr::Layer & dest) const override
     {
     this->DefineFields(source, dest);
     }
diff --git a/Modules/Adapters/GdalAdapters/include/otbOGRDataSourceWrapper.h b/Modules/Adapters/GdalAdapters/include/otbOGRDataSourceWrapper.h
index bf6d799fd5..eb6daff5f0 100644
--- a/Modules/Adapters/GdalAdapters/include/otbOGRDataSourceWrapper.h
+++ b/Modules/Adapters/GdalAdapters/include/otbOGRDataSourceWrapper.h
@@ -291,7 +291,7 @@ public:
    * meta information of another data source and use the same underlying \c
    * GDALDataset.
    */
-  void Graft(const itk::DataObject *data) ITK_OVERRIDE;
+  void Graft(const itk::DataObject *data) override;
 
   /**
    * Resets current data source with the one in parameter.
@@ -515,12 +515,12 @@ protected:
   /** Destructor.
    * \post The \c GDALDataset owned is released (if not null).
    */
-  ~DataSource() ITK_OVERRIDE;
+  ~DataSource() override;
 
   static Pointer OpenDataSource(std::string const& datasourceName, Modes::type mode);
 
   /** Prints self into stream. */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /**
diff --git a/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx b/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx
index d83540cac5..d3468a20ec 100644
--- a/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx
+++ b/Modules/Adapters/GdalAdapters/include/otbOGRFieldWrapper.txx
@@ -132,7 +132,7 @@ template
  * <tt> = T</tt>)
  *
  * \internal
- * This ITK_OVERRIDE is required because of the particular nature of the
+ * This override is required because of the particular nature of the
  * <tt>char**</tt> type chosen by OGR API, plus the fact this is the only
  * const-correct getter...
  * \since OTB v 3.14.0
@@ -262,7 +262,7 @@ template
  * <tt> = T</tt>)
  *
  * \internal
- * This ITK_OVERRIDE is required because of the particular nature of the
+ * This override is required because of the particular nature of the
  * <tt>char**</tt> type chosen by OGR API.
  * \since OTB v 3.14.0
  */
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbDEMConvertAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbDEMConvertAdapter.h
index 3e12cbe3b5..109f67dba7 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbDEMConvertAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbDEMConvertAdapter.h
@@ -49,7 +49,7 @@ public:
 
 protected:
   DEMConvertAdapter();
-  ~DEMConvertAdapter() ITK_OVERRIDE;
+  ~DEMConvertAdapter() override;
 
 private:
   DEMConvertAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h b/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
index dc7a552e2a..498b0374d2 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbDEMHandler.h
@@ -169,9 +169,9 @@ public:
 
 protected:
   DEMHandler();
-  ~DEMHandler() ITK_OVERRIDE {}
+  ~DEMHandler() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   // Ossim does not allow retrieving the geoid file path
   // We therefore must keep it on our side
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbDateTimeAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbDateTimeAdapter.h
index 0d4101c1f9..5a0a3d4855 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbDateTimeAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbDateTimeAdapter.h
@@ -85,7 +85,7 @@ public:
 
 protected:
   DateTimeAdapter();
-  ~DateTimeAdapter() ITK_OVERRIDE;
+  ~DateTimeAdapter() override;
 
 private:
   DateTimeAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbEllipsoidAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbEllipsoidAdapter.h
index 539d8b0e8b..d6a6de8e30 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbEllipsoidAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbEllipsoidAdapter.h
@@ -67,7 +67,7 @@ public:
 
 protected:
   EllipsoidAdapter();
-  ~EllipsoidAdapter() ITK_OVERRIDE;
+  ~EllipsoidAdapter() override;
 
 private:
   EllipsoidAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbFilterFunctionValues.h b/Modules/Adapters/OSSIMAdapters/include/otbFilterFunctionValues.h
index 065197b830..2e835d0cde 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbFilterFunctionValues.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbFilterFunctionValues.h
@@ -103,10 +103,10 @@ protected:
   /** Constructor */
   FilterFunctionValues();
   /** Destructor */
-  ~FilterFunctionValues() ITK_OVERRIDE {}
+  ~FilterFunctionValues() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FilterFunctionValues(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbGeometricSarSensorModelAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbGeometricSarSensorModelAdapter.h
index 690deb7b91..02173165dc 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbGeometricSarSensorModelAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbGeometricSarSensorModelAdapter.h
@@ -78,7 +78,7 @@ public:
 
 protected:
   GeometricSarSensorModelAdapter();
-  ~GeometricSarSensorModelAdapter() ITK_OVERRIDE;
+  ~GeometricSarSensorModelAdapter() override;
 
 private:
   GeometricSarSensorModelAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbMapProjectionAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbMapProjectionAdapter.h
index 7ba5ffe592..ed71e227f0 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbMapProjectionAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbMapProjectionAdapter.h
@@ -89,7 +89,7 @@ public:
 
 protected:
   MapProjectionAdapter();
-  ~MapProjectionAdapter() ITK_OVERRIDE;
+  ~MapProjectionAdapter() override;
 
 private:
   MapProjectionAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbPlatformPositionAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbPlatformPositionAdapter.h
index 2f74ac90a8..ea770482aa 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbPlatformPositionAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbPlatformPositionAdapter.h
@@ -78,7 +78,7 @@ public:
 
 protected:
   PlatformPositionAdapter();
-  ~PlatformPositionAdapter() ITK_OVERRIDE;
+  ~PlatformPositionAdapter() override;
 
 private:
   PlatformPositionAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
index 8a713883b6..48e05c8941 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbSarSensorModelAdapter.h
@@ -106,7 +106,7 @@ public:
   
 protected:
   SarSensorModelAdapter();
-  virtual ~SarSensorModelAdapter() ITK_OVERRIDE;
+  virtual ~SarSensorModelAdapter() override;
 
 private:
   SarSensorModelAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h b/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h
index d6099e9a73..fe55f03488 100644
--- a/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h
+++ b/Modules/Adapters/OSSIMAdapters/include/otbSensorModelAdapter.h
@@ -111,7 +111,7 @@ public:
 
 protected:
   SensorModelAdapter();
-  ~SensorModelAdapter() ITK_OVERRIDE;
+  ~SensorModelAdapter() override;
 
 private:
   SensorModelAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx b/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
index 668930e922..b2ec075b68 100644
--- a/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
+++ b/Modules/Applications/AppChangeDetection/app/otbMultivariateAlterationDetector.cxx
@@ -43,7 +43,7 @@ public:
   itkTypeMacro(MultivariateAlterationDetector, otb::Wrapper::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("MultivariateAlterationDetector");
     SetDescription("Change detection by Multivariate Alteration Detector (MAD) algorithm");
@@ -110,11 +110,11 @@ private:
   SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     typedef otb::MultivariateAlterationDetectorImageFilter<
         FloatVectorImageType,
diff --git a/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx b/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
index c5b0262be4..1e89016af7 100644
--- a/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
+++ b/Modules/Applications/AppClassification/app/otbClassificationMapRegularization.cxx
@@ -57,7 +57,7 @@ public:
 
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ClassificationMapRegularization");
     SetDescription("Filters the input labeled image using Majority Voting in a ball shaped neighbordhood.");
@@ -125,12 +125,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Majority Voting
     m_NeighMajVotingFilter = NeighborhoodMajorityVotingFilterType::New();
diff --git a/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx b/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
index 4bee3df4fe..d009f21f0a 100644
--- a/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeConfusionMatrix.cxx
@@ -103,7 +103,7 @@ private:
   };
 
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
   SetName("ComputeConfusionMatrix");
   SetDescription("Computes the confusion matrix of a classification");
@@ -183,7 +183,7 @@ private:
   SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("ref.vector.in") )
       {
@@ -363,7 +363,7 @@ private:
     return sid;
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     StreamingInitializationData sid = InitStreamingData();
 
diff --git a/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx b/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
index 0956eb7a00..055bc703e8 100644
--- a/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeImagesStatistics.cxx
@@ -45,7 +45,7 @@ public:
   itkTypeMacro(ComputeImagesStatistics, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ComputeImagesStatistics");
     SetDocName("Compute Images second order statistics");
@@ -85,12 +85,12 @@ private:
    SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     //Statistics estimator
     typedef otb::StreamingStatisticsVectorImageFilter<FloatVectorImageType> StreamingStatisticsVImageFilterType;
diff --git a/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx b/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
index 5f108a9a13..0774475d1d 100644
--- a/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputeOGRLayersFeaturesStatistics.cxx
@@ -46,7 +46,7 @@ public:
 ;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ComputeOGRLayersFeaturesStatistics");
     SetDescription("Compute statistics of the features in a set of OGR Layers");
@@ -75,7 +75,7 @@ private:
   SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("inshp") )
       {
@@ -117,7 +117,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
       clock_t tic = clock();
 
diff --git a/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx b/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
index 1e098e7846..1c9c715bed 100644
--- a/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
+++ b/Modules/Applications/AppClassification/app/otbComputePolylineFeatureFromImage.cxx
@@ -76,7 +76,7 @@ public:
 ;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ComputePolylineFeatureFromImage");
     SetDescription("This application compute for each studied polyline, contained in the input VectorData, the chosen descriptors.");
@@ -116,12 +116,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Vector Data into Image projection
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx b/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
index e6343bf4b9..9b62f4be45 100644
--- a/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
+++ b/Modules/Applications/AppClassification/app/otbDSFuzzyModelEstimation.cxx
@@ -51,12 +51,12 @@ typedef itk::AmoebaOptimizer         OptimizerType;
 typedef   const OptimizerType   *    OptimizerPointer;
 
 
-void Execute(itk::Object *caller, const itk::EventObject & event) ITK_OVERRIDE
+void Execute(itk::Object *caller, const itk::EventObject & event) override
 {
   Execute( (const itk::Object *)caller, event);
 }
 
-void Execute(const itk::Object * object, const itk::EventObject & event) ITK_OVERRIDE
+void Execute(const itk::Object * object, const itk::EventObject & event) override
 {
   OptimizerPointer optimizer =
       dynamic_cast< OptimizerPointer >( object );
@@ -115,7 +115,7 @@ public:
   itkTypeMacro(DSFuzzyModelEstimation, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DSFuzzyModelEstimation");
     SetDescription("Estimate feature fuzzy model parameters using 2 vector data (ground truth samples and wrong samples).");
@@ -184,7 +184,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
 
@@ -194,7 +194,7 @@ private:
 
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     //Instantiate
diff --git a/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx b/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
index b31ae21c16..4fa71c70e5 100644
--- a/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
+++ b/Modules/Applications/AppClassification/app/otbFusionOfClassifications.cxx
@@ -93,7 +93,7 @@ public:
   itkTypeMacro(FusionOfClassifications, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("FusionOfClassifications");
     SetDescription("Fuses several classifications maps of the same image on the basis of class labels.");
@@ -173,7 +173,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
@@ -285,7 +285,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Clear any previous filter
     m_Filters.clear();
diff --git a/Modules/Applications/AppClassification/app/otbImageClassifier.cxx b/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
index 1f94d27143..59f3cd2936 100644
--- a/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbImageClassifier.cxx
@@ -67,13 +67,13 @@ public:
 
 protected:
 
-  ~ImageClassifier() ITK_OVERRIDE
+  ~ImageClassifier() override
     {
     MachineLearningModelFactoryType::CleanFactories();
     }
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ImageClassifier");
     SetDescription("Performs a classification of the input image according to a model file.");
@@ -141,12 +141,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Load input image
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
index a5067bf9cd..54d5f81700 100644
--- a/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbKMeansClassification.cxx
@@ -395,7 +395,7 @@ public:
   itkTypeMacro(Self, Superclass);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("KMeansClassification");
     SetDescription("Unsupervised KMeans image classification");
@@ -449,11 +449,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     if (IsParameterEnabled("vm") && HasValue("vm")) Superclass::ConnectKMClassificationMask();
 
diff --git a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
index cf142f76f6..37d97e2701 100644
--- a/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
+++ b/Modules/Applications/AppClassification/app/otbMultiImageSamplingRate.cxx
@@ -57,7 +57,7 @@ private:
     m_CalculatorList = RateCalculatorListType::New();
     }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("MultiImageSamplingRate");
     SetDescription("Compute sampling rate for an input set of images.");
@@ -186,11 +186,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     // Clear state
     m_CalculatorList->Clear();
diff --git a/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx b/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
index eb58a7e0ac..ca5d597fff 100644
--- a/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbOGRLayerClassifier.cxx
@@ -55,7 +55,7 @@ public:
 ;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("OGRLayerClassifier");
     SetDescription("Classify an OGR layer based on a machine learning model and a list of features to consider.");
@@ -94,7 +94,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("inshp") )
       {
@@ -135,7 +135,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
       
     #ifdef OTB_USE_LIBSVM 
diff --git a/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx b/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
index 4a35145462..3fa23e056d 100644
--- a/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
+++ b/Modules/Applications/AppClassification/app/otbPolygonClassStatistics.cxx
@@ -67,7 +67,7 @@ private:
    
     }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("PolygonClassStatistics");
     SetDescription("Computes statistics on a training polygon set.");
@@ -127,7 +127,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
      if ( HasValue("vec") )
       {
@@ -173,7 +173,7 @@ private:
        }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
   otb::ogr::DataSource::Pointer vectors = 
     otb::ogr::DataSource::New(this->GetParameterString("vec"));
diff --git a/Modules/Applications/AppClassification/app/otbPredictRegression.cxx b/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
index 8a4401679f..0c8dce2d86 100644
--- a/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
+++ b/Modules/Applications/AppClassification/app/otbPredictRegression.cxx
@@ -107,13 +107,13 @@ public:
 
 protected:
 
-  ~PredictRegression() ITK_OVERRIDE
+  ~PredictRegression() override
     {
     MachineLearningModelFactoryType::CleanFactories();
     }
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("PredictRegression");
     SetDescription("Performs a prediction of the input image according to a regression model file.");
@@ -182,12 +182,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Load input image
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppClassification/app/otbSOMClassification.cxx b/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
index 86572e90ad..1b0b7ffcc7 100644
--- a/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
+++ b/Modules/Applications/AppClassification/app/otbSOMClassification.cxx
@@ -76,7 +76,7 @@ private:
     m_Classifier = ClassificationFilterType::New();
     }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SOMClassification");
     SetDescription("SOM image classification.");
@@ -178,12 +178,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // initiating random number generation
     itk::Statistics::MersenneTwisterRandomVariateGenerator::Pointer
diff --git a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
index 63615e03cc..908bff1929 100644
--- a/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleExtraction.cxx
@@ -53,7 +53,7 @@ public:
 private:
   SampleExtraction() {}
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SampleExtraction");
     SetDescription("Extracts samples values from an image.");
@@ -119,7 +119,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("vec") )
       {
@@ -149,7 +149,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     ogr::DataSource::Pointer vectors;
     ogr::DataSource::Pointer output;
diff --git a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
index 8faee83496..4c3ecca0f0 100644
--- a/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
+++ b/Modules/Applications/AppClassification/app/otbSampleSelection.cxx
@@ -80,7 +80,7 @@ private:
     m_RateCalculator = RateCalculatorType::New();
     }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SampleSelection");
     SetDescription("Selects samples from a training vector data set.");
@@ -227,7 +227,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
  if ( HasValue("vec") )
       {
@@ -257,7 +257,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     // Clear state
     m_RateCalculator->ClearRates();
diff --git a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
index f26b4b32d4..b8cca0f946 100644
--- a/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainImagesClassifier.cxx
@@ -35,7 +35,7 @@ public:
   itkNewMacro( Self )
   itkTypeMacro( Self, Superclass )
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "TrainImagesClassifier" );
     SetDescription( "Train a classifier from multiple pairs of images and training vector data." );
@@ -86,7 +86,7 @@ public:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if( HasValue( "io.vd" ) && IsParameterEnabled( "io.vd" ))
       {
@@ -157,7 +157,7 @@ public:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     TrainFileNamesHandler fileNames;
     std::vector<std::string> vectorFileList;
diff --git a/Modules/Applications/AppClassification/app/otbTrainRegression.cxx b/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
index 690d03da1d..ef92edc57e 100644
--- a/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainRegression.cxx
@@ -98,7 +98,7 @@ protected:
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
   SetName("TrainRegression");
   SetDescription(
@@ -198,7 +198,7 @@ void DoInit() ITK_OVERRIDE
   SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   if (HasValue("io.csv") && IsParameterEnabled("io.csv"))
     {
@@ -279,7 +279,7 @@ void ParseCSVPredictors(std::string path, ListSampleType* outputList)
   ifs.close();
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   GetLogger()->Debug("Entering DoExecute\n");
   //Create training and validation for list samples and label list samples
diff --git a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
index 9de1efb8b1..9bf094e6bd 100644
--- a/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbTrainVectorClassifier.cxx
@@ -54,7 +54,7 @@ public:
   typedef ContingencyTableType::Pointer    ContingencyTablePointerType;
 
 protected:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "TrainVectorClassifier" );
     SetDescription( "Train a classifier based on labeled geometries and a "
@@ -73,12 +73,12 @@ protected:
     Superclass::DoInit();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     Superclass::DoUpdateParameters();
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_FeaturesInfo.SetClassFieldNames( GetChoiceNames( "cfield" ), GetSelectedItems( "cfield" ) );
 
diff --git a/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx b/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
index b8ecd88713..f20a4aeac3 100644
--- a/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
+++ b/Modules/Applications/AppClassification/app/otbVectorClassifier.cxx
@@ -80,13 +80,13 @@ public:
   typedef itk::Statistics::ListSample<InputSampleType>            ListSampleType;
   typedef otb::Statistics::ShiftScaleSampleListFilter<ListSampleType, ListSampleType> ShiftScaleFilterType;
 
-  ~VectorClassifier() ITK_OVERRIDE
+  ~VectorClassifier() override
     {
     MachineLearningModelFactoryType::CleanFactories();
     }
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorClassifier");
     SetDescription("Performs a classification of the input vector data according to a model file.");
@@ -163,7 +163,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("in") )
     {
@@ -197,7 +197,7 @@ private:
     }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     clock_t tic = clock();
 
diff --git a/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx b/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
index 11e75421ae..ab80a98740 100644
--- a/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
+++ b/Modules/Applications/AppClassification/app/otbVectorDataDSValidation.cxx
@@ -58,7 +58,7 @@ public:
   itkTypeMacro(VectorDataDSValidation, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorDataDSValidation");
     SetDescription("Vector data validation based on the fusion of features using Dempster-Shafer evidence theory framework.");
@@ -106,7 +106,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
 
@@ -116,7 +116,7 @@ private:
 
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     //Read the vector data
diff --git a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
index e71be64021..72e87a389c 100644
--- a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
+++ b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
@@ -121,7 +121,7 @@ public:
 protected:
   LearningApplicationBase();
 
-  ~LearningApplicationBase() ITK_OVERRIDE;
+  ~LearningApplicationBase() override;
 
   /** Generic method to train and save the machine learning model. This method
    * uses specific train methods depending on the chosen model.*/
@@ -135,7 +135,7 @@ protected:
     std::string modelPath);
 
   /** Init method that creates all the parameters for machine learning models */
-  void DoInit() ITK_OVERRIDE;
+  void DoInit() override;
 
   /** Flag to switch between classification and regression mode.
    * False by default, child classes may change it in their constructor */
diff --git a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
index 9bcf6df386..300b1b5879 100644
--- a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
@@ -180,9 +180,9 @@ protected:
   TargetListSampleType::Pointer m_PredictedList;
   FeaturesInfo m_FeaturesInfo;
 
-  void DoInit() ITK_OVERRIDE;
-  void DoUpdateParameters() ITK_OVERRIDE;
-  void DoExecute() ITK_OVERRIDE;
+  void DoInit() override;
+  void DoUpdateParameters() override;
+  void DoExecute() override;
 
 };
 
diff --git a/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx b/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
index 073e53727f..fa79cd7334 100644
--- a/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
+++ b/Modules/Applications/AppDescriptors/app/otbHomologousPointsExtraction.cxx
@@ -80,7 +80,7 @@ public:
   itkTypeMacro(HomologousPointsExtraction, otb::Wrapper::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("HomologousPointsExtraction");
     SetDocName("Homologous points extraction");
@@ -202,7 +202,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
 
   }
@@ -326,7 +326,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     OGRMultiLineString mls;
 
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
index 686b78bb4c..7db943d308 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbDimensionalityReduction.cxx
@@ -89,7 +89,7 @@ public:
 ;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DimensionalityReduction");
     SetDescription("Perform Dimension reduction of the input image.");
@@ -184,7 +184,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
               if (HasValue("in"))
               {
@@ -232,7 +232,7 @@ private:
               }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     // Get Parameters
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbImageDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbImageDimensionalityReduction.cxx
index c221302c03..1df2c463fc 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbImageDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbImageDimensionalityReduction.cxx
@@ -116,13 +116,13 @@ public:
 
 protected:
 
-  ~ImageDimensionalityReduction() ITK_OVERRIDE
+  ~ImageDimensionalityReduction() override
   {
     DimensionalityReductionModelFactoryType::CleanFactories();
   }
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DimensionalityReduction");
     SetDescription("Performs dimensionality reduction of the input image "
@@ -182,12 +182,12 @@ private:
     SetDocExampleParameterValue("out", "ReducedImageQB1.tif");
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Load input image
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
index 8d52132dec..34390791ab 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbTrainDimensionalityReduction.cxx
@@ -68,7 +68,7 @@ public:
   typedef otb::DimensionalityReductionModelFactory<ValueType, ValueType>  ModelFactoryType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("TrainDimensionalityReduction");
     SetDescription("Train a dimensionality reduction model");
@@ -115,11 +115,11 @@ private:
       " value_5 value_6 value_7 value_8 value_9");
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     std::string shapefile = GetParameterString("io.vd");
 
diff --git a/Modules/Applications/AppDimensionalityReduction/app/otbVectorDimensionalityReduction.cxx b/Modules/Applications/AppDimensionalityReduction/app/otbVectorDimensionalityReduction.cxx
index 132e13875c..24e7ba98ff 100644
--- a/Modules/Applications/AppDimensionalityReduction/app/otbVectorDimensionalityReduction.cxx
+++ b/Modules/Applications/AppDimensionalityReduction/app/otbVectorDimensionalityReduction.cxx
@@ -75,13 +75,13 @@ public:
     ListSampleType, ListSampleType>                       ShiftScaleFilterType;
 
 protected:
-  ~VectorDimensionalityReduction() ITK_OVERRIDE
+  ~VectorDimensionalityReduction() override
     {
     DimensionalityReductionModelFactoryType::CleanFactories();
     }
 
 private:  
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
     {
     SetName("VectorDimensionalityReduction");
     SetDescription("Performs dimensionality reduction of the input vector data "
@@ -163,7 +163,7 @@ private:
     //SetOfficialDocLink(); 
     }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
     {
     if ( HasValue("in") )
       {
@@ -188,7 +188,7 @@ private:
       }
     }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     clock_t tic = clock();
 
diff --git a/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx b/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
index c853f4863b..e312f58d9c 100644
--- a/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
+++ b/Modules/Applications/AppDomainTransform/app/otbDomainTransform.cxx
@@ -81,7 +81,7 @@ public:
 private:
   DomainTransform() {}
 
-  ~DomainTransform() ITK_OVERRIDE
+  ~DomainTransform() override
     {
     }
 
@@ -99,7 +99,7 @@ private:
     #endif
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DomainTransform");
     SetDescription("Domain Transform application for wavelet and fourier");
@@ -173,12 +173,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
     {
 
     }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     int dir = GetParameterInt("direction");
     int mode = GetParameterInt("mode");
diff --git a/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx b/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
index a608338dde..cbadc412bb 100644
--- a/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
+++ b/Modules/Applications/AppEdge/app/otbEdgeExtraction.cxx
@@ -61,7 +61,7 @@ itkTypeMacro(EdgeExtraction, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName("EdgeExtraction");
 SetDescription(
@@ -142,12 +142,12 @@ SetDocExampleParameterValue("out", "Edges.tif");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx b/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
index 45bc66c51d..c0eef79ebc 100644
--- a/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
+++ b/Modules/Applications/AppEdge/app/otbLineSegmentDetection.cxx
@@ -53,7 +53,7 @@ public:
   itkTypeMacro(LineSegmentDetection, otb::Wrapper::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("LineSegmentDetection");
     SetDescription("Detect line segments in raster");
@@ -100,11 +100,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     typedef otb::VectorImageToAmplitudeImageFilter<FloatVectorImageType, FloatImageType>
       VectorImageToAmplitudeImageFilterType;
diff --git a/Modules/Applications/AppFiltering/app/otbSmoothing.cxx b/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
index a31dc93388..44309b82d7 100644
--- a/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
+++ b/Modules/Applications/AppFiltering/app/otbSmoothing.cxx
@@ -55,7 +55,7 @@ public:
   itkTypeMacro(Smoothing, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "Smoothing" );
     SetDescription( "Apply a smoothing filter to an image" );
@@ -136,12 +136,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     GetLogger()->Debug("Entering DoExecute\n");
 
diff --git a/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx b/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
index bd52a805c5..40a439e340 100644
--- a/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
+++ b/Modules/Applications/AppFusion/app/otbBundleToPerfectSensor.cxx
@@ -42,7 +42,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("BundleToPerfectSensor");
     SetDescription("Perform P+XS pansharpening");
@@ -85,12 +85,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     UpdateInternalParameters("superimpose");
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     ExecuteInternal("superimpose");
 
diff --git a/Modules/Applications/AppFusion/app/otbPansharpening.cxx b/Modules/Applications/AppFusion/app/otbPansharpening.cxx
index 15fa33cc7e..fce89cc116 100644
--- a/Modules/Applications/AppFusion/app/otbPansharpening.cxx
+++ b/Modules/Applications/AppFusion/app/otbPansharpening.cxx
@@ -73,7 +73,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Pansharpening");
     SetDescription("Perform P+XS pansharpening");
@@ -138,12 +138,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType* panchroV = GetParameterImage("inp");
     if ( panchroV->GetNumberOfComponentsPerPixel() != 1 )
diff --git a/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx b/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
index 8d510460a6..790c79357b 100644
--- a/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
+++ b/Modules/Applications/AppHyperspectral/app/otbHyperspectralUnmixing.cxx
@@ -88,7 +88,7 @@ public:
   itkTypeMacro(HyperspectralUnmixing, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("HyperspectralUnmixing");
     SetDescription("Estimate abundance maps from an hyperspectral image and a set of endmembers.");
@@ -154,12 +154,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_ProcessObjects.clear();
 
diff --git a/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx b/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
index c3b04df6a9..3a9e09d4eb 100644
--- a/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
+++ b/Modules/Applications/AppHyperspectral/app/otbVertexComponentAnalysis.cxx
@@ -47,7 +47,7 @@ public:
   itkTypeMacro(VertexComponentAnalysis, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VertexComponentAnalysis");
     SetDescription("Given a set of mixed spectral vectors, estimate"
@@ -99,12 +99,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     DoubleVectorImageType::Pointer inputImage = GetParameterDoubleVectorImage("in");
     DoubleVectorImageType::Pointer endmembersImage;
diff --git a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
index ad8c68b614..ceaadf550f 100644
--- a/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbColorMapping.cxx
@@ -248,7 +248,7 @@ public:
     <FloatImageType, LabelImageType>                   CasterToLabelImageType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ColorMapping");
     SetDescription("Maps an input label image to 8-bits RGB using look-up tables.");
@@ -397,7 +397,7 @@ private:
     SetOfficialDocLink();
  }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Make sure the operation color->label is not called with methods continuous or image.
     // These methods are not implemented for this operation yet.
@@ -411,7 +411,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     if(GetParameterInt("op")==0)
     {
diff --git a/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx b/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
index 2d0d54c83c..e8a4ddae50 100644
--- a/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbCompareImages.cxx
@@ -49,7 +49,7 @@ public:
   typedef otb::StreamingCompareImageFilter<FloatImageType> StreamingCompareImageFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("CompareImages");
     SetDescription("Estimator between 2 images.");
@@ -134,7 +134,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Set channel interval
     if( HasValue("ref.in") )
@@ -169,7 +169,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Init filters
     m_ExtractRefFilter = ExtractROIMonoFilterType::New();
diff --git a/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx b/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
index 185872b828..7e3459d154 100644
--- a/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbConcatenateImages.cxx
@@ -54,7 +54,7 @@ public:
   typedef ObjectList<ExtractROIFilterType>                                      ExtractROIFilterListType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ConcatenateImages");
     SetDescription("Concatenate a list of images of the same size into a single multi-channel one.");
@@ -91,7 +91,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
 
@@ -101,7 +101,7 @@ private:
     m_ExtractorList = ExtractROIFilterListType::New();
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input image list
     FloatVectorImageListType::Pointer inList = this->GetParameterImageList("il");
diff --git a/Modules/Applications/AppImageUtils/app/otbConvert.cxx b/Modules/Applications/AppImageUtils/app/otbConvert.cxx
index 621d48adb3..5b87b57147 100644
--- a/Modules/Applications/AppImageUtils/app/otbConvert.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbConvert.cxx
@@ -85,7 +85,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Convert");
     SetDescription("Convert an image to a different format, optionally rescaling the data"
@@ -192,7 +192,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Read information
     if ( HasValue("in") )
@@ -482,7 +482,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     switch ( this->GetParameterOutputImagePixelType("out") )
       {
diff --git a/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx b/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
index 3e79f0ad67..cee406ad9f 100644
--- a/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbDEMConvert.cxx
@@ -45,7 +45,7 @@ public:
   itkTypeMacro(DEMConvert, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DEMConvert");
     SetDescription("Converts a geo-referenced DEM image into a general raster file compatible with OTB DEM handling.");
@@ -75,7 +75,7 @@ private:
     SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // nothing to update
 }
@@ -85,7 +85,7 @@ void DoUpdateParameters() ITK_OVERRIDE
 *  (.ras, .geom and . omd)
 */
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   // Load input image
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx b/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx
index fa8b76c501..d61430287c 100644
--- a/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbDynamicConvert.cxx
@@ -85,7 +85,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DynamicConvert");
     SetDescription("Change the pixel type and rescale the image's dynamic");
@@ -212,7 +212,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Read information
     if ( HasValue("in") )
diff --git a/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx b/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
index bd6a8d1583..78a32dd969 100644
--- a/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbExtractROI.cxx
@@ -63,7 +63,7 @@ public:
 
 private:
   void 
-  DoInit() ITK_OVERRIDE
+  DoInit() override
   {
     SetName("ExtractROI");
     SetDescription("Extract a ROI defined by the user.");
@@ -247,7 +247,7 @@ private:
   }
 
   void 
-  DoUpdateParameters() ITK_OVERRIDE
+  DoUpdateParameters() override
   {
     if ( HasValue("in") )
       {
@@ -674,7 +674,7 @@ private:
   }
 
   void 
-  DoExecute() ITK_OVERRIDE
+  DoExecute() override
   {
     ImageType* inImage = GetParameterImage("in");
     inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx b/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
index 439ba05590..3554436f73 100644
--- a/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbManageNoData.cxx
@@ -58,7 +58,7 @@ public:
   typedef otb::ChangeInformationImageFilter<FloatVectorImageType> ChangeInfoFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ManageNoData");
     SetDescription("Manage No-Data");
@@ -125,13 +125,13 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
 
- void DoExecute() ITK_OVERRIDE
+ void DoExecute() override
   {
     FloatVectorImageType::Pointer inputPtr = this->GetParameterImage("in");
     
diff --git a/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx b/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
index d94f67b260..5d394a3dc0 100644
--- a/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbMultiResolutionPyramid.cxx
@@ -58,7 +58,7 @@ public:
                                  FloatVectorImageType>              ShrinkFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("MultiResolutionPyramid");
     SetDescription("Build a multi-resolution pyramid of the image.");
@@ -114,14 +114,14 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
 
     // Reinitialize the internal process used
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Initializing the process
     m_SmoothingFilter =  SmoothingVectorImageFilterType::New();
diff --git a/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx b/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
index 1bca9241ea..78ecfa8165 100644
--- a/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbPixelValue.cxx
@@ -48,7 +48,7 @@ public:
   itkTypeMacro(PixelValue, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("PixelValue");
     SetDescription("Get the value of a pixel.");
@@ -120,7 +120,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if ( HasValue("in") )
       {
@@ -206,7 +206,7 @@ private:
     return box;
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     std::string mode = GetParameterString( "mode" );
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
index dd7134c620..37edda3ea8 100644
--- a/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbQuicklook.cxx
@@ -53,7 +53,7 @@ public:
         <ExtractROIFilterType::OutputImageType, ExtractROIFilterType::OutputImageType> ShrinkImageFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Quicklook");
     SetDescription("Generates a subsampled version of an image extract");
@@ -121,7 +121,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Update the sizes only if the user does not defined a size
     if ( HasValue("in") )
@@ -198,7 +198,7 @@ bool CropRegionOfInterest()
     return false;
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     InputImageType::Pointer inImage = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
index 74bb9c42da..a272e7ed2b 100644
--- a/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbReadImageInfo.cxx
@@ -48,7 +48,7 @@ public:
   itkTypeMacro(ReadImageInfo, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ReadImageInfo");
     SetDescription("Get information about the image");
@@ -250,12 +250,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     std::ostringstream ossOutput;
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppImageUtils/app/otbRescale.cxx b/Modules/Applications/AppImageUtils/app/otbRescale.cxx
index f5c08c80a2..a94e8440ac 100644
--- a/Modules/Applications/AppImageUtils/app/otbRescale.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbRescale.cxx
@@ -49,7 +49,7 @@ public:
   typedef otb::VectorRescaleIntensityImageFilter<FloatVectorImageType> RescaleImageFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Rescale");
     SetDescription("Rescale the image between two given values.");
@@ -90,12 +90,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx b/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
index e23eaa57eb..fba6fb7580 100644
--- a/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbSplitImage.cxx
@@ -49,7 +49,7 @@ public:
                                             FloatVectorImageType::InternalPixelType> FilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SplitImage");
     SetDescription("Split a N multiband image into N images.");
@@ -83,12 +83,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input image
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx b/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
index 5dd80bc10e..fd53f599b9 100644
--- a/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
+++ b/Modules/Applications/AppImageUtils/app/otbTileFusion.cxx
@@ -45,7 +45,7 @@ public:
   typedef otb::TileImageFilter<FloatVectorImageType> TileFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("TileFusion");
     SetDescription("Fusion of an image made of several tile files.");
@@ -80,12 +80,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to be done
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input image list
     FloatVectorImageListType::Pointer tileList = this->GetParameterImageList("il");
diff --git a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
index 7204d68c7e..c9e5bdcb56 100644
--- a/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
+++ b/Modules/Applications/AppIndices/app/otbRadiometricIndices.cxx
@@ -129,7 +129,7 @@ public:
 
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("RadiometricIndices");
     SetDescription("Compute radiometric indices.");
@@ -438,7 +438,7 @@ private:
       }
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     //Nothing to do here
   }
@@ -488,7 +488,7 @@ private:
     otbAppLogINFO(<< m_Map[GetSelectedItems("list")[idx]].item << " added.");\
     }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     int nbChan = GetParameterImage("in")->GetNumberOfComponentsPerPixel();
diff --git a/Modules/Applications/AppKMZ/app/otbKmzExport.cxx b/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
index efda73d3c9..6d00a5e411 100644
--- a/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
+++ b/Modules/Applications/AppKMZ/app/otbKmzExport.cxx
@@ -45,7 +45,7 @@ public:
   itkTypeMacro(KmzExport, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("KmzExport");
     SetDescription("Export the input image in a KMZ product.");
@@ -91,12 +91,12 @@ private:
   }
 
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
- void DoExecute() ITK_OVERRIDE
+ void DoExecute() override
   {
     typedef otb::KmzProductWriter<FloatVectorImageType> KmzProductWriterType;
 
diff --git a/Modules/Applications/AppMathParser/app/otbBandMath.cxx b/Modules/Applications/AppMathParser/app/otbBandMath.cxx
index 37a9054ec9..2503d924eb 100644
--- a/Modules/Applications/AppMathParser/app/otbBandMath.cxx
+++ b/Modules/Applications/AppMathParser/app/otbBandMath.cxx
@@ -53,7 +53,7 @@ public:
 
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "BandMath" );
 
@@ -132,7 +132,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Check if the expression is correctly set
     if (HasValue("il"))
@@ -203,7 +203,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input image list
     FloatVectorImageListType::Pointer inList = GetParameterImageList("il");
diff --git a/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx b/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
index 90a7f245a6..8e65868a7e 100644
--- a/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
+++ b/Modules/Applications/AppMathParserX/app/otbBandMathX.cxx
@@ -55,7 +55,7 @@ public:
 
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "BandMathX" );
 
@@ -251,7 +251,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // check if input context should be used
     bool useContext = this->ContextCheck();
@@ -345,7 +345,7 @@ private:
       }
     }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input image list
     FloatVectorImageListType::Pointer inList = GetParameterImageList("il");
diff --git a/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx b/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
index f04bb70a5a..095da8b17f 100644
--- a/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
+++ b/Modules/Applications/AppMoments/app/otbLocalStatisticExtraction.cxx
@@ -53,7 +53,7 @@ itkTypeMacro(LocalStatisticExtraction, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName("LocalStatisticExtraction");
 SetDescription("Computes local statistical moments on every pixel in the selected channel of the input image");
@@ -95,12 +95,12 @@ SetDocExampleParameterValue("out", "Statistics.tif");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx b/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
index c4a59616b6..dada95c498 100644
--- a/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
+++ b/Modules/Applications/AppMorphology/app/otbBinaryMorphologicalOperation.cxx
@@ -74,7 +74,7 @@ itkTypeMacro(BinaryMorphologicalOperation, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName( "BinaryMorphologicalOperation" );
 SetDescription( "Performs morphological operations on an input image channel" );
@@ -183,12 +183,12 @@ SetDocExampleParameterValue("filter", "erode");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx b/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
index e35aad5d0c..1e9a059f6e 100644
--- a/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
+++ b/Modules/Applications/AppMorphology/app/otbGrayScaleMorphologicalOperation.cxx
@@ -74,7 +74,7 @@ itkTypeMacro(GrayScaleMorphologicalOperation, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName("GrayScaleMorphologicalOperation");
 SetDescription("Performs morphological operations on a grayscale input image");
@@ -142,12 +142,12 @@ SetDocExampleParameterValue("filter", "erode");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
index a117a2f178..bd47a89c76 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalClassification.cxx
@@ -70,7 +70,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "MorphologicalClassification" );
     SetDescription( "Performs morphological convex, concave and flat "
@@ -153,12 +153,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer inImage = GetParameterImage( "in" );
 
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
index fc27fd88fa..052e8d9be3 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalMultiScaleDecomposition.cxx
@@ -65,7 +65,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "MorphologicalMultiScaleDecomposition" );
     SetDescription( "Perform a geodesic morphology based image analysis on an input image channel" );
@@ -155,12 +155,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer inImage = GetParameterImage( "in" );
     int nBComp = inImage->GetNumberOfComponentsPerPixel();
diff --git a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
index c314b8d6ac..a7bc15c56b 100644
--- a/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
+++ b/Modules/Applications/AppMorphology/app/otbMorphologicalProfilesAnalysis.cxx
@@ -71,7 +71,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName( "MorphologicalProfilesAnalysis" );
     SetDescription( "Performs morphological profiles analysis on an input image channel." );
@@ -173,12 +173,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     FloatVectorImageType::Pointer inImage = GetParameterImage( "in" );
diff --git a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
index 829c4f3052..c8ce25bd28 100644
--- a/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
+++ b/Modules/Applications/AppOpticalCalibration/app/otbOpticalCalibration.cxx
@@ -124,7 +124,7 @@ private:
   std::string m_inImageName;
   bool m_currentEnabledStateOfFluxParam;
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("OpticalCalibration");
     SetDescription("Perform optical calibration TOA/TOC (Top Of Atmosphere/Top Of Canopy). Supported sensors: QuickBird, Ikonos, WorldView2, Formosat, Spot5, Pleiades, Spot6, Spot7. For other sensors the application also allows providing calibration parameters manually.");
@@ -359,7 +359,7 @@ private:
     m_currentEnabledStateOfFluxParam=false;
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     std::ostringstream ossOutput;
     //ossOutput << std::endl << "--DoUpdateParameters--" << std::endl;
@@ -563,7 +563,7 @@ private:
 
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     //Main filters instantiations
     m_ImageToRadianceFilter                = ImageToRadianceImageFilterType::New();
diff --git a/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
index dfecb742ea..f34e799f51 100644
--- a/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbConvertCartoToGeoPoint.cxx
@@ -50,7 +50,7 @@ public:
   typedef otb::GenericRSTransform<>        TransformType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ConvertCartoToGeoPoint");
     SetDescription("Convert cartographic coordinates to geographic ones.");
@@ -93,11 +93,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the projectionRef
     std::string inputProjRef = MapProjectionParametersHandler::GetProjectionRefFromChoice(this, "mapproj");
diff --git a/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
index 384c892f14..6e2b876cbe 100644
--- a/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbConvertSensorToGeoPoint.cxx
@@ -49,7 +49,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ConvertSensorToGeoPoint");
     SetDescription("Sensor to geographic coordinates conversion.");
@@ -101,11 +101,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get input Image
     FloatVectorImageType::Pointer inImage = GetParameterImage("in");
diff --git a/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx b/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
index 1e3691514c..c4b4b58d7d 100644
--- a/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
+++ b/Modules/Applications/AppProjection/app/otbGenerateRPCSensorModel.cxx
@@ -57,7 +57,7 @@ public:
   itkTypeMacro(GenerateRPCSensorModel, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("GenerateRPCSensorModel");
     SetDescription("Generate a RPC sensor model from a list of Ground Control Points.");
@@ -108,12 +108,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     OGRMultiLineString mls;
 
diff --git a/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx b/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
index 72c9073a53..4a556f78b0 100644
--- a/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
+++ b/Modules/Applications/AppProjection/app/otbGridBasedImageResampling.cxx
@@ -104,7 +104,7 @@ private:
     m_DisplacementFieldCaster = DisplacementFieldCastFilterType::New();
   }
 
- void DoInit() ITK_OVERRIDE
+ void DoInit() override
   {
     SetName("GridBasedImageResampling");
     SetDescription("Resamples an image according to a resampling grid");
@@ -188,12 +188,12 @@ private:
     SetOfficialDocLink();
   }
 
- void DoUpdateParameters() ITK_OVERRIDE
+ void DoUpdateParameters() override
   {
     // Nothing to do here
   }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
     {
       // Get the input image
       FloatVectorImageType* inImage = GetParameterImage("io.in");
diff --git a/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx b/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
index cda6b1fc64..d276558e6f 100644
--- a/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
+++ b/Modules/Applications/AppProjection/app/otbImageEnvelope.cxx
@@ -49,7 +49,7 @@ public:
       <FloatVectorImageType, VectorDataType>          EnvelopeFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ImageEnvelope");
     SetDescription("Extracts an image envelope.");
@@ -93,12 +93,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to be done
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer input = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
index 37d0ec7b74..24608c0530 100644
--- a/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
+++ b/Modules/Applications/AppProjection/app/otbObtainUTMZoneFromGeoPoint.cxx
@@ -47,11 +47,11 @@ private:
   {
   }
 
-  ~ObtainUTMZoneFromGeoPoint() ITK_OVERRIDE
+  ~ObtainUTMZoneFromGeoPoint() override
   {
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ObtainUTMZoneFromGeoPoint");
     SetDescription("UTM zone determination from a geographic point.");
@@ -84,12 +84,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     int utmZone = otb::Utils::GetZoneFromGeoPoint(GetParameterFloat("lon"),
                                                   GetParameterFloat("lat"));
diff --git a/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx b/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
index 3c91403e47..fdc3308889 100644
--- a/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
+++ b/Modules/Applications/AppProjection/app/otbOrthoRectification.cxx
@@ -87,7 +87,7 @@ public:
   typedef otb::BCOInterpolateImageFunction<FloatVectorImageType>   BCOInterpolationType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("OrthoRectification");
     std::ostringstream oss;
@@ -237,7 +237,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if (HasValue("io.in"))
       {
@@ -601,7 +601,7 @@ private:
       } // if (HasValue("io.in"))
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     // Get the input image
     FloatVectorImageType* inImage = GetParameterImage("io.in");
diff --git a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
index e5829eb164..653a4b77b8 100644
--- a/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
+++ b/Modules/Applications/AppProjection/app/otbRefineSensorModel.cxx
@@ -56,7 +56,7 @@ public:
   itkTypeMacro(RefineSensorModel, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("RefineSensorModel");
     SetDescription("Perform least-square fit of a sensor model to a set of tie points");
@@ -105,12 +105,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     OGRMultiLineString mls;
 
diff --git a/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx b/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
index 7b6da7d245..e137a17eb8 100644
--- a/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
+++ b/Modules/Applications/AppProjection/app/otbRigidTransformResample.cxx
@@ -80,7 +80,7 @@ public:
 
 private:
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("RigidTransformResample");
     SetDescription("Resample an image with a rigid transform");
@@ -176,12 +176,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType* inputImage = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppProjection/app/otbSuperimpose.cxx b/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
index 1d1018e8fc..2c576c146d 100644
--- a/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
+++ b/Modules/Applications/AppProjection/app/otbSuperimpose.cxx
@@ -81,7 +81,7 @@ public:
      FloatVectorImageType>                                        BasicResamplerType;
   
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Superimpose");
     SetDescription("Using available image metadata, project one image onto another one");
@@ -159,7 +159,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if(!HasUserValue("mode") && HasValue("inr") && HasValue("inm") && otb::PleiadesPToXSAffineTransformCalculator::CanCompute(GetParameterImage("inr"),GetParameterImage("inm")))
       {
@@ -169,7 +169,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the inputs
     FloatVectorImageType* refImage = GetParameterImage("inr");
diff --git a/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx b/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
index fe9e070a8b..9d82850935 100644
--- a/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
+++ b/Modules/Applications/AppProjection/app/otbVectorDataReprojection.cxx
@@ -60,7 +60,7 @@ public:
 ;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorDataReprojection");
     std::ostringstream oss;
@@ -117,12 +117,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
 
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     GetLogger()->Debug("Entering DoExecute\n");
 
diff --git a/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx b/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
index 7516787741..f43ab24301 100644
--- a/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
+++ b/Modules/Applications/AppSARCalibration/app/otbSARCalibration.cxx
@@ -45,7 +45,7 @@ public:
                                                       FloatImageType>     CalibrationFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SARCalibration");
     SetDescription("Perform radiometric calibration of SAR images. Following sensors are supported: TerraSAR-X, Sentinel1 and Radarsat-2.Both Single Look Complex(SLC) and detected products are supported as input.\n");
@@ -91,12 +91,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
 
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input complex image
     ComplexFloatImageType*  floatComplexImage = GetParameterComplexFloatImage("in");
diff --git a/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx b/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
index 01e09464a3..e86f601529 100644
--- a/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
+++ b/Modules/Applications/AppSARCalibration/app/otbSARDeburst.cxx
@@ -44,7 +44,7 @@ public:
   typedef otb::SarDeburstImageFilter<FloatVectorImageType>     DeburstFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SARDeburst");
     SetDescription("This application performs deburst of Sentinel1 IW SLC images by removing redundant lines.\n");
@@ -88,10 +88,10 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {}
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input complex image
     FloatVectorImageType*  in = GetParameterImage("in");
diff --git a/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx b/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
index 796d3f4e26..2a6ccbcf08 100644
--- a/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
+++ b/Modules/Applications/AppSARDecompositions/app/otbSARDecompositions.cxx
@@ -84,7 +84,7 @@ public:
   itkTypeMacro(SARDecompositions, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SARDecompositions");
     SetDescription("From one-band complex images (each one related to an element of the Sinclair matrix), returns the selected decomposition.");
@@ -160,12 +160,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 	  
 	bool inhv = HasUserValue("inhv");
diff --git a/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx b/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
index 657643541d..c6a4122b0b 100644
--- a/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
+++ b/Modules/Applications/AppSARPolarMatrixConvert/app/otbSARPolarMatrixConvert.cxx
@@ -184,7 +184,7 @@ public:
   itkTypeMacro(SARPolarMatrixConvert, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SARPolarMatrixConvert");
     SetDescription("This applications allows converting classical polarimetric matrices to each other.");
@@ -356,7 +356,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     
     int convType = GetParameterInt("conv");
@@ -440,7 +440,7 @@ private:
     
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 
     //****************************************
diff --git a/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx b/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
index 3db956847e..8fb514d814 100644
--- a/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
+++ b/Modules/Applications/AppSARPolarSynth/app/otbSARPolarSynth.cxx
@@ -44,7 +44,7 @@ public:
   itkTypeMacro(SARPolarSynth, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("SARPolarSynth");
     SetDescription("Gives, for each pixel, the power that would have been received by a SAR system with a basis different from the classical (H,V) one (polarimetric synthetis).");
@@ -154,12 +154,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
 	
 	m_MCPSFilter = MCPSFilterType::New();
diff --git a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
index 6c949a2b9d..d6f580b773 100644
--- a/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
+++ b/Modules/Applications/AppSARUtils/app/otbComputeModulusAndPhase.cxx
@@ -57,7 +57,7 @@ public:
   typedef itk::ComplexToPhaseImageFilter<ComplexFloatImageType, FloatImageType>   PhaseFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ComputeModulusAndPhase");
     SetDescription("This application computes the modulus and the phase of a complex SAR image.");
@@ -100,12 +100,12 @@ private:
   }
 
   // DoUpdateParameters() is called as soon as a parameter value change.
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
   // DoExecute() contains the application core.
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_Modulus = ModulusFilterType::New();
     m_Phase = PhaseFilterType::New();
diff --git a/Modules/Applications/AppSARUtils/app/otbDespeckle.cxx b/Modules/Applications/AppSARUtils/app/otbDespeckle.cxx
index f469402397..e1fd6c8333 100644
--- a/Modules/Applications/AppSARUtils/app/otbDespeckle.cxx
+++ b/Modules/Applications/AppSARUtils/app/otbDespeckle.cxx
@@ -54,7 +54,7 @@ public:
   itkTypeMacro(Despeckle, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Despeckle");
     SetDescription("Perform speckle noise reduction on SAR image.");
@@ -167,12 +167,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType* inVImage = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
index b9bc876f11..fa1acfa4d9 100644
--- a/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbConnectedComponentSegmentation.cxx
@@ -69,7 +69,7 @@ public:
         <VectorDataType, VectorDataType>                     VectorDataProjectionFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ConnectedComponentSegmentation");
     SetDescription("Connected component segmentation and object based image filtering of the input image according to user-defined criterions.");
@@ -124,12 +124,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     InputVectorImageType::Pointer inputImage = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
index 48dd57c2ad..936795067d 100644
--- a/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbHooverCompareSegmentation.cxx
@@ -130,7 +130,7 @@ public:
         <FloatPixelType, Int16PixelType> >          HooverColorFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("HooverCompareSegmentation");
     SetDescription("Compare two segmentations with Hoover metrics");
@@ -202,12 +202,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     UInt32ImageType::Pointer inputGT = GetParameterUInt32Image("ingt");
     UInt32ImageType::Pointer inputMS = GetParameterUInt32Image("inms");
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
index 93694cc420..d1389c4355 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSSegmentation.cxx
@@ -90,7 +90,7 @@ public:
 
   LSMSSegmentation(): m_FinalReader(),m_ImportGeoInformationFilter(),m_FilesToRemoveAfterExecute(),m_TmpDirCleanup(false){}
 
-  ~LSMSSegmentation() ITK_OVERRIDE{}
+  ~LSMSSegmentation() override{}
 
 private:
   LabelImageReaderType::Pointer m_FinalReader;
@@ -214,7 +214,7 @@ private:
     return vrtfname;
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("LSMSSegmentation");
     SetDescription("This application performs the second step of the exact Large-Scale Mean-Shift segmentation workflow (LSMS) [1].");
@@ -320,11 +320,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_FilesToRemoveAfterExecute.clear();
 
@@ -719,7 +719,7 @@ private:
       SetParameterOutputImage("out",m_ImportGeoInformationFilter->GetOutput());
   }
 
-  void AfterExecuteAndWriteOutputs() ITK_OVERRIDE
+  void AfterExecuteAndWriteOutputs() override
   {
     // Release input files
     m_FinalReader = ITK_NULLPTR;
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
index 14c8354a14..afda10be1c 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSSmallRegionsMerging.cxx
@@ -73,7 +73,7 @@ public:
 private:
   ChangeLabelImageFilterType::Pointer m_ChangeLabelFilter;
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("LSMSSmallRegionsMerging");
     SetDescription("This application performs the third (optional) step of the exact Large-Scale Mean-Shift segmentation workflow [1].");
@@ -144,11 +144,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     clock_t tic = clock();
 
diff --git a/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx b/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
index 166b87141d..9881309a6b 100644
--- a/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLSMSVectorization.cxx
@@ -66,7 +66,7 @@ public:
   itkTypeMacro(Vectorization, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("LSMSVectorization");
     SetDescription("This application performs the fourth step of the exact Large-Scale Mean-Shift segmentation workflow [1].");
@@ -124,11 +124,11 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     clock_t tic = clock();
 
diff --git a/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx b/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
index 27f8da8377..e0527c5bc1 100644
--- a/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbLargeScaleMeanShift.cxx
@@ -50,7 +50,7 @@ public:
   itkTypeMacro(LargeScaleMeanShift, otb::CompositeApplication);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
     {
     SetName("LargeScaleMeanShift");
     SetDescription("Large-scale segmentation using MeanShift");
@@ -153,10 +153,10 @@ private:
     SetOfficialDocLink();
     }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {}
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     bool isVector(GetParameterString("mode") == "vector");
     std::string outPath(isVector ?
diff --git a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
index 8f63bf13ef..937fc864cd 100644
--- a/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbMeanShiftSmoothing.cxx
@@ -46,7 +46,7 @@ public:
   itkTypeMacro(MeanShiftSmoothing, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("MeanShiftSmoothing");
     SetDescription("This application smooths an image using the MeanShift algorithm.");
@@ -176,10 +176,10 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {}
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType* input = GetParameterImage("in");
 
diff --git a/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx b/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
index 5b3bfd2361..cd8fccf97c 100644
--- a/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
+++ b/Modules/Applications/AppSegmentation/app/otbSegmentation.cxx
@@ -137,7 +137,7 @@ public:
   itkTypeMacro(Segmentation, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("Segmentation");
     SetDescription("Performs segmentation of an image, and output either a raster or a vector file. In vector mode, large input datasets are supported.");
@@ -348,7 +348,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here : all parameters are independent
   }
@@ -457,7 +457,7 @@ private:
     return streamingVectorizedFilter->GetStreamSize();
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Switch on segmentation mode
     const std::string segModeType = GetParameterString("mode");
diff --git a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
index 2ec8f7e63a..328065b7ea 100644
--- a/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
+++ b/Modules/Applications/AppStereo/app/otbBlockMatching.cxx
@@ -124,7 +124,7 @@ private:
     m_VMedianFilter   = MedianFilterType::New();
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("BlockMatching");
     SetDescription("Performs block-matching to estimate pixel-wise disparities"
@@ -425,7 +425,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if(IsParameterEnabled("mask.variancet") || IsParameterEnabled("mask.nodata"))
       {
@@ -458,7 +458,7 @@ private:
       }
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatImageType::Pointer leftImage = GetParameterFloatImage("io.inleft");
     FloatImageType::Pointer rightImage = GetParameterFloatImage("io.inright");
diff --git a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
index 25e4b96189..551ad0f1e4 100644
--- a/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
+++ b/Modules/Applications/AppStereo/app/otbDisparityMapToElevationMap.cxx
@@ -62,7 +62,7 @@ private:
     m_DispToElev = DisparityToElevationFilterType::New();
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("DisparityMapToElevationMap");
     SetDescription("Projects a disparity map into a regular elevation map.");
@@ -163,12 +163,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer inputDisp     = this->GetParameterImage("io.in");
     FloatVectorImageType::Pointer sensorLeft    = this->GetParameterImage("io.left");
diff --git a/Modules/Applications/AppStereo/app/otbFineRegistration.cxx b/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
index a7fed89a0e..64bf6ca0e4 100644
--- a/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
+++ b/Modules/Applications/AppStereo/app/otbFineRegistration.cxx
@@ -114,7 +114,7 @@ public:
   typedef otb::ImageFileReader<VectorImageType>         InternalReaderType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("FineRegistration");
     SetDescription("Estimate disparity map between two images.");
@@ -266,12 +266,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     FloatVectorImageType::Pointer refImage = GetParameterImage("ref"); // fixed
     FloatVectorImageType::Pointer secImage = GetParameterImage("sec"); // moved
diff --git a/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx b/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
index 928b1da3e6..4f1fce4ee2 100644
--- a/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
+++ b/Modules/Applications/AppStereo/app/otbGeneratePlyFile.cxx
@@ -52,7 +52,7 @@ public:
 private:
   GeneratePlyFile(){}
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("GeneratePlyFile");
     SetDescription("Generate a 3D Ply file from a DEM and a color image.");
@@ -115,13 +115,13 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Update the UTM zone params
     MapProjectionParametersHandler::InitializeUTMParameters(this, "incolor", "map");
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     std::string outfname = GetParameterString("out");
 
diff --git a/Modules/Applications/AppStereo/app/otbStereoFramework.cxx b/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
index 279c09ad2f..1737d04e29 100644
--- a/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
+++ b/Modules/Applications/AppStereo/app/otbStereoFramework.cxx
@@ -311,7 +311,7 @@ private:
   }
 
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     // TODO : implement this application as a CompositeApplication...
     SetName("StereoFramework");
@@ -584,7 +584,7 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     if( HasValue("input.il") )
       {
@@ -650,7 +650,7 @@ private:
   }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Setup the DSM Handler
     otb::Wrapper::ElevationParametersHandler::SetupDEMHandlerFromElevationParameters(this, "elev");
diff --git a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
index 616594a6bb..c95a08e1d4 100644
--- a/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
+++ b/Modules/Applications/AppStereo/app/otbStereoRectificationGridGenerator.cxx
@@ -99,7 +99,7 @@ private:
     m_StatisticsFilter            = StatisticsFilterType::New();
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("StereoRectificationGridGenerator");
     SetDescription("Generates two deformation fields to resample in epipolar "
@@ -249,12 +249,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_DisplacementFieldSource->SetLeftImage(GetParameterImage("io.inleft"));
     m_DisplacementFieldSource->SetRightImage(GetParameterImage("io.inright"));
diff --git a/Modules/Applications/AppTest/app/otbTestApplication.cxx b/Modules/Applications/AppTest/app/otbTestApplication.cxx
index a2e9ee940d..5746409209 100644
--- a/Modules/Applications/AppTest/app/otbTestApplication.cxx
+++ b/Modules/Applications/AppTest/app/otbTestApplication.cxx
@@ -42,7 +42,7 @@ public:
   itkTypeMacro(TestApplication, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("TestApplication");
     SetDescription("This application helps developers to test parameters types");
@@ -112,10 +112,10 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {}
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     if( HasValue("il") && IsParameterEnabled("il") )
       {
diff --git a/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx b/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
index 43e6b0b0e1..fdf5f44e7c 100644
--- a/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
+++ b/Modules/Applications/AppTextures/app/otbHaralickTextureExtraction.cxx
@@ -67,7 +67,7 @@ itkTypeMacro(HaralickTextureExtraction, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName("HaralickTextureExtraction");
 SetDescription("Computes Haralick textural features on the selected channel of the input image");
@@ -192,12 +192,12 @@ SetDocExampleParameterValue("out", "HaralickTextures.tif");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx b/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
index 94fcc42905..13ade82049 100644
--- a/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
+++ b/Modules/Applications/AppTextures/app/otbSFSTextureExtraction.cxx
@@ -56,7 +56,7 @@ itkTypeMacro(SFSTextureExtraction, otb::Application);
 
 private:
 
-void DoInit() ITK_OVERRIDE
+void DoInit() override
 {
 SetName("SFSTextureExtraction");
 SetDescription("Computes Structural Feature Set textures on every pixel of the "
@@ -129,12 +129,12 @@ SetDocExampleParameterValue("out", "SFSTextures.tif");
 SetOfficialDocLink();
 }
 
-void DoUpdateParameters() ITK_OVERRIDE
+void DoUpdateParameters() override
 {
   // Nothing to do here : all parameters are independent
 }
 
-void DoExecute() ITK_OVERRIDE
+void DoExecute() override
 {
   FloatVectorImageType::Pointer inImage = GetParameterImage("in");
   inImage->UpdateOutputInformation();
diff --git a/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx b/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
index 748d8f27be..7d784ae306 100644
--- a/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
+++ b/Modules/Applications/AppVectorDataTranslation/app/otbRasterization.cxx
@@ -60,7 +60,7 @@ public:
   typedef otb::OGRDataSourceToLabelImageFilter<FloatImageType> OGRDataSourceToMapFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
     {
     SetName("Rasterization");
     SetDescription("Rasterize a vector dataset.");
@@ -144,13 +144,13 @@ private:
     SetOfficialDocLink();
     }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
     {
     // Nothing to do
     }
 
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
     {
     otb::ogr::DataSource::Pointer ogrDS;
     UInt8ImageType::Pointer referenceImage;
diff --git a/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx b/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
index 92b972eafc..d8b51471a3 100644
--- a/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbConcatenateVectorData.cxx
@@ -47,7 +47,7 @@ public:
   typedef otb::ConcatenateVectorDataFilter<VectorDataType>  ConcatenateFilterType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("ConcatenateVectorData");
     SetDescription("Concatenate vector data files");
@@ -81,12 +81,12 @@ private:
   }
 
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the input VectorData list
     VectorDataListType* vectorDataList = GetParameterVectorDataList("vd");
diff --git a/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx b/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
index d55626ed0b..e1f9a53600 100644
--- a/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbOSMDownloader.cxx
@@ -50,7 +50,7 @@ public:
   typedef otb::OSMDataToVectorDataGenerator  VectorDataProviderType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("OSMDownloader");
     SetDescription("Download vector data from OSM and store it to file");
@@ -113,7 +113,7 @@ private:
   }
 
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // CASE:  when the -print option is not required and the User
     // does not set the option OSMKey or the option Output or does not
@@ -130,7 +130,7 @@ private:
       }
   }
 
- void DoExecute() ITK_OVERRIDE
+ void DoExecute() override
   {
     typedef otb::ImageToEnvelopeVectorDataFilter<FloatVectorImageType, VectorDataType>
       EnvelopeFilterType;
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
index 1b4e8c8bf7..de6f6f9db7 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataExtractROI.cxx
@@ -65,7 +65,7 @@ public:
   typedef otb::RemoteSensingRegion<double>                RemoteSensingRegionType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorDataExtractROI");
     SetDescription("Perform an extract ROI on the input vector data according to the input image extent");
@@ -106,12 +106,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do here for the parameters : all are independent
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the inputs
     VectorDataType*        vd      = GetParameterVectorData("io.vd");
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
index 696a48a7f2..21d09e16ce 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataSetField.cxx
@@ -43,7 +43,7 @@ public:
   itkTypeMacro(VectorDataSetField, otb::Application);
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorDataSetField");
     SetDescription("Set a field in vector data.");
@@ -76,12 +76,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // Nothing to do (for now)
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     m_InputData = GetParameterVectorData("in");
 
diff --git a/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx b/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
index be16319089..ba4614d77b 100644
--- a/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
+++ b/Modules/Applications/AppVectorUtils/app/otbVectorDataTransform.cxx
@@ -54,7 +54,7 @@ public:
   typedef itk::CenteredSimilarity2DTransform<double>       TransformType;
 
 private:
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
     SetName("VectorDataTransform");
     SetDescription("Apply a transform to each vertex of the input VectorData");
@@ -129,12 +129,12 @@ private:
     SetOfficialDocLink();
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
     // nothing to update
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
     // Get the support image
     FloatVectorImageType*  inImage = GetParameterImage("in");
diff --git a/Modules/Core/CommandLineParser/include/otbCommandLineArgumentParser.h b/Modules/Core/CommandLineParser/include/otbCommandLineArgumentParser.h
index ba7fc9601f..0132979d2f 100644
--- a/Modules/Core/CommandLineParser/include/otbCommandLineArgumentParser.h
+++ b/Modules/Core/CommandLineParser/include/otbCommandLineArgumentParser.h
@@ -140,7 +140,7 @@ public:
 //  const char *GetOptionParameter(const char *option, unsigned int number = 0);
   int GetNumberOfParameters(const std::string& option);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 #define otbGetParameterMacro(name, type)                                                 \
   virtual type GetParameter ## name (const std::string& option, unsigned int number = 0) const     \
@@ -170,7 +170,7 @@ public:
 
 protected:
   CommandLineArgumentParseResult();
-  ~CommandLineArgumentParseResult() ITK_OVERRIDE;
+  ~CommandLineArgumentParseResult() override;
 
 private:
   template<typename TypeValeur>
@@ -254,7 +254,7 @@ public:
 
 protected:
   CommandLineArgumentParser();
-  ~CommandLineArgumentParser() ITK_OVERRIDE;
+  ~CommandLineArgumentParser() override;
 
 private:
 
diff --git a/Modules/Core/Common/include/otbChannelSelectorFunctor.h b/Modules/Core/Common/include/otbChannelSelectorFunctor.h
index d1cf2304d9..f758fb7b2a 100644
--- a/Modules/Core/Common/include/otbChannelSelectorFunctor.h
+++ b/Modules/Core/Common/include/otbChannelSelectorFunctor.h
@@ -248,7 +248,7 @@ protected:
   }
 
   /** Destructor */
-  ~ChannelSelectorFunctor() ITK_OVERRIDE {}
+  ~ChannelSelectorFunctor() override {}
 
 private:
 
diff --git a/Modules/Core/Common/include/otbCommandProgressUpdate.h b/Modules/Core/Common/include/otbCommandProgressUpdate.h
index c9e553703b..14e61cb810 100644
--- a/Modules/Core/Common/include/otbCommandProgressUpdate.h
+++ b/Modules/Core/Common/include/otbCommandProgressUpdate.h
@@ -48,9 +48,9 @@ protected:
 public:
   typedef   const TFilter * FilterPointer;
 
-  void Execute(itk::Object *caller, const itk::EventObject& event) ITK_OVERRIDE;
+  void Execute(itk::Object *caller, const itk::EventObject& event) override;
 
-  void Execute(const itk::Object * object, const itk::EventObject& event) ITK_OVERRIDE;
+  void Execute(const itk::Object * object, const itk::EventObject& event) override;
 };
 
 } // end namespace otb
diff --git a/Modules/Core/Common/include/otbComplexToIntensityImageFilter.h b/Modules/Core/Common/include/otbComplexToIntensityImageFilter.h
index e98900b9c3..a3faddf351 100644
--- a/Modules/Core/Common/include/otbComplexToIntensityImageFilter.h
+++ b/Modules/Core/Common/include/otbComplexToIntensityImageFilter.h
@@ -99,7 +99,7 @@ public:
 
 protected:
   ComplexToIntensityImageFilter() {}
-  ~ComplexToIntensityImageFilter() ITK_OVERRIDE {}
+  ~ComplexToIntensityImageFilter() override {}
 
 private:
   ComplexToIntensityImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbComplexToVectorImageCastFilter.h b/Modules/Core/Common/include/otbComplexToVectorImageCastFilter.h
index 377f537ee0..85598ccecb 100644
--- a/Modules/Core/Common/include/otbComplexToVectorImageCastFilter.h
+++ b/Modules/Core/Common/include/otbComplexToVectorImageCastFilter.h
@@ -140,7 +140,7 @@ public:
 
 protected:
   ComplexToVectorImageCastFilter() {}
-  ~ComplexToVectorImageCastFilter() ITK_OVERRIDE {}
+  ~ComplexToVectorImageCastFilter() override {}
 
   template<class T>
   bool PixelIsSingle(const T& /*dummy*/)
@@ -154,7 +154,7 @@ protected:
               return false;
   }
 
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
               Superclass::GenerateOutputInformation();
               InputPixelType dummy;
diff --git a/Modules/Core/Common/include/otbDotProductImageFilter.h b/Modules/Core/Common/include/otbDotProductImageFilter.h
index 49dc8e5df1..1112606aca 100644
--- a/Modules/Core/Common/include/otbDotProductImageFilter.h
+++ b/Modules/Core/Common/include/otbDotProductImageFilter.h
@@ -140,9 +140,9 @@ public:
 protected:
   DotProductImageFilter();
 
-  ~DotProductImageFilter() ITK_OVERRIDE {}
+  ~DotProductImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   DotProductImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbFunctionToImageFilter.h b/Modules/Core/Common/include/otbFunctionToImageFilter.h
index a126c9c3d1..29098833a9 100644
--- a/Modules/Core/Common/include/otbFunctionToImageFilter.h
+++ b/Modules/Core/Common/include/otbFunctionToImageFilter.h
@@ -108,11 +108,11 @@ public:
 
 protected:
   FunctionToImageFilter();
-  ~FunctionToImageFilter() ITK_OVERRIDE {}
+  ~FunctionToImageFilter() override {}
 
   /** Validate the presence of all three inputs. If one or more inputs
    * are missing, throw an exception. */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** SpatialFunctionImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -125,7 +125,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   FunctionToImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImageAndVectorImageOperationFilter.h b/Modules/Core/Common/include/otbImageAndVectorImageOperationFilter.h
index d5e32b6564..060b01ba29 100644
--- a/Modules/Core/Common/include/otbImageAndVectorImageOperationFilter.h
+++ b/Modules/Core/Common/include/otbImageAndVectorImageOperationFilter.h
@@ -163,7 +163,7 @@ public:
 
   /** Set the input images of this process object.  */
   using Superclass::SetInput;
-  void SetInput(const InputImageType *input) ITK_OVERRIDE;
+  void SetInput(const InputImageType *input) override;
   void SetVectorInput(const VectorInputImageType *input);
 
   /** Get the input images of this process object.  */
@@ -215,12 +215,12 @@ public:
 
 protected:
   ImageAndVectorImageOperationFilter();
-  ~ImageAndVectorImageOperationFilter() ITK_OVERRIDE;
+  ~ImageAndVectorImageOperationFilter() override;
 
   /** This is a source, so it must set the spacing, size, and largest possible
    * region for the output image that it will produce.
    * \sa ProcessObject::GenerateOutputInformation() */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   ImageAndVectorImageOperationFilter(const ImageAndVectorImageOperationFilter &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.h b/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.h
index 3d65acecdc..91bdde5214 100644
--- a/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.h
+++ b/Modules/Core/Common/include/otbImageRegionAdaptativeSplitter.h
@@ -123,16 +123,16 @@ public:
    * necessary.
    */
   unsigned int GetNumberOfSplits(const RegionType& region,
-                                         unsigned int requestedNumber) ITK_OVERRIDE;
+                                         unsigned int requestedNumber) override;
 
   /** Calling this method will set the image region and the requested
    * number of splits, and call the EstimateSplitMap() method if
    * necessary. */
   RegionType GetSplit(unsigned int i, unsigned int numberOfPieces,
-                              const RegionType& region) ITK_OVERRIDE;
+                              const RegionType& region) override;
 
   /** Make the Modified() method update the IsUpToDate flag */
-  void Modified() const ITK_OVERRIDE
+  void Modified() const override
   {
     // Call superclass implementation
     Superclass::Modified();
@@ -149,8 +149,8 @@ protected:
                                     m_IsUpToDate(false)
                                       {}
 
-  ~ImageRegionAdaptativeSplitter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageRegionAdaptativeSplitter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** This methods actually estimate the split map and stores it in a
diff --git a/Modules/Core/Common/include/otbImageRegionNonUniformMultidimensionalSplitter.h b/Modules/Core/Common/include/otbImageRegionNonUniformMultidimensionalSplitter.h
index 497122f769..dfd3132fb6 100644
--- a/Modules/Core/Common/include/otbImageRegionNonUniformMultidimensionalSplitter.h
+++ b/Modules/Core/Common/include/otbImageRegionNonUniformMultidimensionalSplitter.h
@@ -97,18 +97,18 @@ public:
    * method returns a number less than or equal to the requested number
    * of pieces.  */
   unsigned int GetNumberOfSplits(const RegionType& region,
-                                         unsigned int requestedNumber) ITK_OVERRIDE;
+                                         unsigned int requestedNumber) override;
 
   /** Get a region definition that represents the ith piece a specified region.
    * The "numberOfPieces" specified should be less than or equal to what
    * GetNumberOfSplits() returns. */
   RegionType GetSplit(unsigned int i, unsigned int numberOfPieces,
-                              const RegionType& region) ITK_OVERRIDE;
+                              const RegionType& region) override;
 
 protected:
   ImageRegionNonUniformMultidimensionalSplitter() {}
-  ~ImageRegionNonUniformMultidimensionalSplitter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageRegionNonUniformMultidimensionalSplitter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageRegionNonUniformMultidimensionalSplitter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImageRegionSquareTileSplitter.h b/Modules/Core/Common/include/otbImageRegionSquareTileSplitter.h
index 3665210b5d..a26e4f8269 100644
--- a/Modules/Core/Common/include/otbImageRegionSquareTileSplitter.h
+++ b/Modules/Core/Common/include/otbImageRegionSquareTileSplitter.h
@@ -113,13 +113,13 @@ public:
    *  a certain dimensions, then some splits will not be possible.
    */
   unsigned int GetNumberOfSplits(const RegionType& region,
-                                         unsigned int requestedNumber) ITK_OVERRIDE;
+                                         unsigned int requestedNumber) override;
 
   /** Get a region definition that represents the ith piece a specified region.
    * The "numberOfPieces" specified should be less than or equal to what
    * GetNumberOfSplits() returns. */
   RegionType GetSplit(unsigned int i, unsigned int numberOfPieces,
-                              const RegionType& region) ITK_OVERRIDE;
+                              const RegionType& region) override;
 
   itkGetMacro(TileSizeAlignment, unsigned int);
   itkSetMacro(TileSizeAlignment, unsigned int);
@@ -128,8 +128,8 @@ public:
 
 protected:
   ImageRegionSquareTileSplitter() : m_SplitsPerDimension(0U), m_TileDimension(0), m_TileSizeAlignment(16) {}
-  ~ImageRegionSquareTileSplitter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageRegionSquareTileSplitter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageRegionSquareTileSplitter(const ImageRegionSquareTileSplitter &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImageRegionTileMapSplitter.h b/Modules/Core/Common/include/otbImageRegionTileMapSplitter.h
index d8dd4dc0bc..091ff9e88f 100644
--- a/Modules/Core/Common/include/otbImageRegionTileMapSplitter.h
+++ b/Modules/Core/Common/include/otbImageRegionTileMapSplitter.h
@@ -114,18 +114,18 @@ public:
        * method returns a number less than or equal to the requested number
    * of pieces. */
   unsigned int GetNumberOfSplits(const RegionType& region,
-                                         unsigned int requestedNumber) ITK_OVERRIDE;
+                                         unsigned int requestedNumber) override;
 
   /** Get a region definition that represents the ith piece a specified region.
        * The "numberOfPieces" specified should be less than or equal to what
    * GetNumberOfSplits() returns. */
   RegionType GetSplit(unsigned int i, unsigned int numberOfPieces,
-                              const RegionType& region) ITK_OVERRIDE;
+                              const RegionType& region) override;
 
 protected:
   ImageRegionTileMapSplitter() : m_AlignStep(256){}
-  ~ImageRegionTileMapSplitter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageRegionTileMapSplitter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageRegionTileMapSplitter(const ImageRegionTileMapSplitter &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImageToModulusAndDirectionImageFilter.h b/Modules/Core/Common/include/otbImageToModulusAndDirectionImageFilter.h
index f6cc79abff..32192a6833 100644
--- a/Modules/Core/Common/include/otbImageToModulusAndDirectionImageFilter.h
+++ b/Modules/Core/Common/include/otbImageToModulusAndDirectionImageFilter.h
@@ -86,12 +86,12 @@ public:
   /** Return the output image direction */
   OutputImageDirectionType * GetOutputDirection();
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 protected:
   ImageToModulusAndDirectionImageFilter();
-  ~ImageToModulusAndDirectionImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageToModulusAndDirectionImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToModulusAndDirectionImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImaginaryImageToComplexImageFilter.h b/Modules/Core/Common/include/otbImaginaryImageToComplexImageFilter.h
index 9ee44c5a2d..26e99427a9 100644
--- a/Modules/Core/Common/include/otbImaginaryImageToComplexImageFilter.h
+++ b/Modules/Core/Common/include/otbImaginaryImageToComplexImageFilter.h
@@ -92,7 +92,7 @@ public:
 
 protected:
   ImaginaryImageToComplexImageFilter() {}
-  ~ImaginaryImageToComplexImageFilter() ITK_OVERRIDE {}
+  ~ImaginaryImageToComplexImageFilter() override {}
 
 private:
   ImaginaryImageToComplexImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImportImageFilter.h b/Modules/Core/Common/include/otbImportImageFilter.h
index 9f21873c3c..4965422f06 100644
--- a/Modules/Core/Common/include/otbImportImageFilter.h
+++ b/Modules/Core/Common/include/otbImportImageFilter.h
@@ -143,26 +143,26 @@ public:
 
 protected:
   ImportImageFilter();
-  ~ImportImageFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImportImageFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** This filter does not actually "produce" any data, rather it "wraps"
    * the user supplied data into an itk::Image.  */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** This is a source, so it must set the spacing, size, and largest possible
    * region for the output image that it will produce.
    * \sa ProcessObject::GenerateOutputInformation() */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** This filter can only produce the amount of data that it is given,
-   * so we must ITK_OVERRIDE ProcessObject::EnlargeOutputRequestedRegion()
+   * so we must override ProcessObject::EnlargeOutputRequestedRegion()
    * (The default implementation of a source produces the amount of
    * data requested.  This source, however, can only produce what it is
    * given.)
    *
    * \sa ProcessObject::EnlargeOutputRequestedRegion() */
-  void EnlargeOutputRequestedRegion(itk::DataObject *output) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject *output) override;
 
 private:
   ImportImageFilter(const ImportImageFilter &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbImportVectorImageFilter.h b/Modules/Core/Common/include/otbImportVectorImageFilter.h
index c7db035c25..b333f99ac9 100644
--- a/Modules/Core/Common/include/otbImportVectorImageFilter.h
+++ b/Modules/Core/Common/include/otbImportVectorImageFilter.h
@@ -160,7 +160,7 @@ protected:
   virtual void GenerateOutputInformation();
 
   /** This filter can only produce the amount of data that it is given,
-   * so we must ITK_OVERRIDE ProcessObject::EnlargeOutputRequestedRegion()
+   * so we must override ProcessObject::EnlargeOutputRequestedRegion()
    * (The default implementation of a source produces the amount of
    * data requested.  This source, however, can only produce what it is
    * given.)
diff --git a/Modules/Core/Common/include/otbModelComponentBase.h b/Modules/Core/Common/include/otbModelComponentBase.h
index 1bb6180576..758c887ac9 100644
--- a/Modules/Core/Common/include/otbModelComponentBase.h
+++ b/Modules/Core/Common/include/otbModelComponentBase.h
@@ -130,8 +130,8 @@ public:
 
 protected:
   ModelComponentBase();
-  ~ModelComponentBase() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ModelComponentBase() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   virtual void GenerateData();
 
diff --git a/Modules/Core/Common/include/otbModelComponentBase.txx b/Modules/Core/Common/include/otbModelComponentBase.txx
index ff48935796..74bf396ded 100644
--- a/Modules/Core/Common/include/otbModelComponentBase.txx
+++ b/Modules/Core/Common/include/otbModelComponentBase.txx
@@ -188,7 +188,7 @@ void
 ModelComponentBase<TSample>
 ::GenerateData()
 {
-  /** subclasses should ITK_OVERRIDE this function to perform
+  /** subclasses should override this function to perform
    *  parameter estimation. But it allows switching m_SampleModified
    *  when necessary.
    */
diff --git a/Modules/Core/Common/include/otbQuaternaryFunctorImageFilter.h b/Modules/Core/Common/include/otbQuaternaryFunctorImageFilter.h
index cf3a1d8b27..0373dbf769 100644
--- a/Modules/Core/Common/include/otbQuaternaryFunctorImageFilter.h
+++ b/Modules/Core/Common/include/otbQuaternaryFunctorImageFilter.h
@@ -142,11 +142,11 @@ public:
 
 protected:
   QuaternaryFunctorImageFilter();
-  ~QuaternaryFunctorImageFilter() ITK_OVERRIDE {}
+  ~QuaternaryFunctorImageFilter() override {}
 
   /** Validate the presence of all three inputs. If one or more inputs
    * are missing, throw an exception. */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** QuaternaryFunctorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -159,7 +159,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   QuaternaryFunctorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbRGBAPixelConverter.h b/Modules/Core/Common/include/otbRGBAPixelConverter.h
index 8384c3c815..45741fb683 100644
--- a/Modules/Core/Common/include/otbRGBAPixelConverter.h
+++ b/Modules/Core/Common/include/otbRGBAPixelConverter.h
@@ -66,8 +66,8 @@ public:
 
 protected:
   RGBAPixelConverter(){}
-  ~RGBAPixelConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~RGBAPixelConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
@@ -103,8 +103,8 @@ public:
 
 protected:
   RGBAPixelConverter(){}
-  ~RGBAPixelConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~RGBAPixelConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
@@ -140,8 +140,8 @@ public:
 
 protected:
   RGBAPixelConverter(){}
-  ~RGBAPixelConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~RGBAPixelConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Common/include/otbRectangle.h b/Modules/Core/Common/include/otbRectangle.h
index b5da22fd45..17a90c6c29 100644
--- a/Modules/Core/Common/include/otbRectangle.h
+++ b/Modules/Core/Common/include/otbRectangle.h
@@ -100,10 +100,10 @@ protected:
     };
 
   /** Destructor */
-  ~Rectangle() ITK_OVERRIDE {}
+  ~Rectangle() override {}
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** */
   virtual double ComputeEuclideanDistanceMetricToSegment(VertexType q1, VertexType q2, VertexType p) const;
diff --git a/Modules/Core/Common/include/otbStandardFilterWatcher.h b/Modules/Core/Common/include/otbStandardFilterWatcher.h
index 2e4670bc86..f9216d5077 100644
--- a/Modules/Core/Common/include/otbStandardFilterWatcher.h
+++ b/Modules/Core/Common/include/otbStandardFilterWatcher.h
@@ -83,13 +83,13 @@ public:
 protected:
 
   /** Callback method to show the ProgressEvent */
-  void ShowProgress() ITK_OVERRIDE;
+  void ShowProgress() override;
 
   /** Callback method to show the StartEvent */
-  void StartFilter() ITK_OVERRIDE;
+  void StartFilter() override;
 
   /** Callback method to show the EndEvent */
-  void EndFilter() ITK_OVERRIDE;
+  void EndFilter() override;
 
 private:
 
diff --git a/Modules/Core/Common/include/otbStandardOneLineFilterWatcher.h b/Modules/Core/Common/include/otbStandardOneLineFilterWatcher.h
index 0f7ba0fe6a..9ee3992b0b 100644
--- a/Modules/Core/Common/include/otbStandardOneLineFilterWatcher.h
+++ b/Modules/Core/Common/include/otbStandardOneLineFilterWatcher.h
@@ -77,13 +77,13 @@ public:
 protected:
 
   /** Callback method to show the ProgressEvent */
-  void ShowProgress() ITK_OVERRIDE;
+  void ShowProgress() override;
 
   /** Callback method to show the StartEvent */
-  void StartFilter() ITK_OVERRIDE;
+  void StartFilter() override;
 
   /** Callback method to show the EndEvent */
-  void EndFilter() ITK_OVERRIDE;
+  void EndFilter() override;
 
 private:
 
diff --git a/Modules/Core/Common/include/otbStandardWriterWatcher.h b/Modules/Core/Common/include/otbStandardWriterWatcher.h
index b66b199792..ab3936d9b7 100644
--- a/Modules/Core/Common/include/otbStandardWriterWatcher.h
+++ b/Modules/Core/Common/include/otbStandardWriterWatcher.h
@@ -87,22 +87,22 @@ public:
 protected:
 
   /** Callback method to show the ProgressEvent */
-  void ShowWriterProgress() ITK_OVERRIDE;
+  void ShowWriterProgress() override;
 
   /** Callback method to show the StartEvent */
-  void StartWriter() ITK_OVERRIDE;
+  void StartWriter() override;
 
   /** Callback method to show the EndEvent */
-  void EndWriter() ITK_OVERRIDE;
+  void EndWriter() override;
 
   /** Callback method to show the ProgressEvent */
-  void ShowFilterProgress() ITK_OVERRIDE;
+  void ShowFilterProgress() override;
 
   /** Callback method to show the StartEvent */
-  void StartFilter() ITK_OVERRIDE {}
+  void StartFilter() override {}
 
   /** Callback method to show the EndEvent */
-  void EndFilter() ITK_OVERRIDE {}
+  void EndFilter() override {}
 
   /** This is the method invoked by ShowFilterProgress() and ShowWriterProgress() */
   virtual void ShowProgress();
diff --git a/Modules/Core/Common/include/otbSubsampledImageRegionConstIterator.h b/Modules/Core/Common/include/otbSubsampledImageRegionConstIterator.h
index 8301929fd1..1b80e8f8cf 100644
--- a/Modules/Core/Common/include/otbSubsampledImageRegionConstIterator.h
+++ b/Modules/Core/Common/include/otbSubsampledImageRegionConstIterator.h
@@ -166,7 +166,7 @@ public:
   /** Set the index.
    * It is moved to the next available (usable) index.
    * \sa GetIndex */
-  void SetIndex(const IndexType& ind) ITK_OVERRIDE;
+  void SetIndex(const IndexType& ind) override;
 
   /** Get the Index. */
   IndexType GetIndex() const
diff --git a/Modules/Core/Common/include/otbUnaryFunctorImageFilter.h b/Modules/Core/Common/include/otbUnaryFunctorImageFilter.h
index 2217de58ba..bfffcd8ad2 100644
--- a/Modules/Core/Common/include/otbUnaryFunctorImageFilter.h
+++ b/Modules/Core/Common/include/otbUnaryFunctorImageFilter.h
@@ -58,7 +58,7 @@ public:
 
 protected:
   UnaryFunctorImageFilter() {};
-  ~UnaryFunctorImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorImageFilter() override {}
 
   /** UnaryFunctorImageFilter can produce an image which has a different number of bands
    * than its input image.  As such, UnaryFunctorImageFilter
@@ -68,7 +68,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
     typename Superclass::OutputImagePointer outputPtr = this->GetOutput();
diff --git a/Modules/Core/Common/include/otbUnaryFunctorNeighborhoodVectorImageFilter.h b/Modules/Core/Common/include/otbUnaryFunctorNeighborhoodVectorImageFilter.h
index e38717f813..bdd7dfbf72 100644
--- a/Modules/Core/Common/include/otbUnaryFunctorNeighborhoodVectorImageFilter.h
+++ b/Modules/Core/Common/include/otbUnaryFunctorNeighborhoodVectorImageFilter.h
@@ -108,7 +108,7 @@ public:
 
 protected:
   UnaryFunctorNeighborhoodVectorImageFilter();
-  ~UnaryFunctorNeighborhoodVectorImageFilter() ITK_OVERRIDE { }
+  ~UnaryFunctorNeighborhoodVectorImageFilter() override { }
 
   /** UnaryFunctorNeighborhoodVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -121,13 +121,13 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /**
    * Since the number of components per pixel depends on the radius range, one must reimplement
    * this method to set the proper number of component on the filter output.
    */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   RadiusType m_Radius;
 
diff --git a/Modules/Core/Common/include/otbUnaryFunctorVectorImageFilter.h b/Modules/Core/Common/include/otbUnaryFunctorVectorImageFilter.h
index b83b659424..cd24feafdf 100644
--- a/Modules/Core/Common/include/otbUnaryFunctorVectorImageFilter.h
+++ b/Modules/Core/Common/include/otbUnaryFunctorVectorImageFilter.h
@@ -93,7 +93,7 @@ public:
 
 protected:
   UnaryFunctorVectorImageFilter();
-  ~UnaryFunctorVectorImageFilter() ITK_OVERRIDE { }
+  ~UnaryFunctorVectorImageFilter() override { }
 
   /** UnaryFunctorVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -106,13 +106,13 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /**
    * Since the number of components per pixel depends on the radius range, one must reimplement
    * this method to set the proper number of component on the filter output.
    */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 private:
   UnaryFunctorVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Common/include/otbUnaryFunctorWithIndexWithOutputSizeImageFilter.h b/Modules/Core/Common/include/otbUnaryFunctorWithIndexWithOutputSizeImageFilter.h
index edd0854c39..ddaeca2e00 100644
--- a/Modules/Core/Common/include/otbUnaryFunctorWithIndexWithOutputSizeImageFilter.h
+++ b/Modules/Core/Common/include/otbUnaryFunctorWithIndexWithOutputSizeImageFilter.h
@@ -111,7 +111,7 @@ protected:
   /**
    * Destructor
    */
-  ~UnaryFunctorWithIndexWithOutputSizeImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorWithIndexWithOutputSizeImageFilter() override {}
 
   /** UnaryFunctorWithIndexWithOutputSizeImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -123,12 +123,12 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * Pad the input requested region by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** UnaryFunctorWithIndexWithOutputSizeImageFilter can produce an image which has a different number of bands
    * than its input image.  As such, UnaryFunctorImageFilter
@@ -138,7 +138,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
     typename Superclass::OutputImagePointer outputPtr = this->GetOutput();
diff --git a/Modules/Core/Common/include/otbVariableLengthVectorConverter.h b/Modules/Core/Common/include/otbVariableLengthVectorConverter.h
index 365df014e7..79c0c9718c 100644
--- a/Modules/Core/Common/include/otbVariableLengthVectorConverter.h
+++ b/Modules/Core/Common/include/otbVariableLengthVectorConverter.h
@@ -73,8 +73,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Attempt to use inexistant implementation of the converter!"
@@ -116,8 +116,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Attempt to use inexistant implementation of the converter!"
@@ -157,8 +157,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Converter: std::vector<std::vector<RealType>>  => VariableLengthVector<RealType>"
@@ -198,8 +198,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Converter: std::vector<std::vector<std::complex<RealType>>>  => VariableLengthVector<RealType>"
@@ -239,8 +239,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Converter: itk::FixedArray<RealType, VArrayDimension>  => VariableLengthVector<RealType>"
@@ -279,8 +279,8 @@ public:
 
 protected:
   VariableLengthVectorConverter(){}
-  ~VariableLengthVectorConverter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~VariableLengthVectorConverter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << "Converter: itk::Statistics::Histogram<RealType, VMeasurementVectorSize, TFrequencyContainer>  => VariableLengthVector<RealType>"
diff --git a/Modules/Core/Common/include/otbVectorImageToASImageAdaptor.h b/Modules/Core/Common/include/otbVectorImageToASImageAdaptor.h
index 36844c6136..9fa9bb3bc4 100644
--- a/Modules/Core/Common/include/otbVectorImageToASImageAdaptor.h
+++ b/Modules/Core/Common/include/otbVectorImageToASImageAdaptor.h
@@ -66,7 +66,7 @@ public:
 
 protected:
   VectorImageToASImageAdaptor() {}
-  ~VectorImageToASImageAdaptor() ITK_OVERRIDE {}
+  ~VectorImageToASImageAdaptor() override {}
 
 private:
   VectorImageToASImageAdaptor(const Self &); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbExtractROI.h b/Modules/Core/ImageBase/include/otbExtractROI.h
index 52f45375d6..e094ef471a 100644
--- a/Modules/Core/ImageBase/include/otbExtractROI.h
+++ b/Modules/Core/ImageBase/include/otbExtractROI.h
@@ -80,17 +80,17 @@ public:
                       OutputImageType::ImageDimension);
 
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 protected:
   ExtractROI();
-  ~ExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ExtractROI
    *
    * \sa ExtractROIBase::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   ExtractROI(const Self &); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbExtractROIBase.h b/Modules/Core/ImageBase/include/otbExtractROIBase.h
index 6fbe6ed294..07906dfe07 100644
--- a/Modules/Core/ImageBase/include/otbExtractROIBase.h
+++ b/Modules/Core/ImageBase/include/otbExtractROIBase.h
@@ -108,10 +108,10 @@ public:
 
 protected:
   ExtractROIBase();
-  ~ExtractROIBase() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ExtractROIBase() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** ExtractROIBase can produce an image which is a different
    * resolution than its input image.  As such, ExtractROIBase
@@ -121,7 +121,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** This function calls the actual region copier to do the mapping from
    * output image space to input image space.  It uses a
@@ -134,7 +134,7 @@ protected:
    *
    * \sa ImageToImageFilter::CallCopyRegion() */
   void CallCopyOutputRegionToInputRegion(InputImageRegionType& destRegion,
-                                                 const OutputImageRegionType& srcRegion) ITK_OVERRIDE;
+                                                 const OutputImageRegionType& srcRegion) override;
 
   /** ExtractROIBase can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData()
@@ -149,7 +149,7 @@ protected:
 //  ATTENTION bizarre
 
   void ThreadedGenerateData(const OutputImageRegionType& /*outputRegionForThread*/,
-                            itk::ThreadIdType /*threadId*/) ITK_OVERRIDE
+                            itk::ThreadIdType /*threadId*/) override
 
   {
 
diff --git a/Modules/Core/ImageBase/include/otbImage.h b/Modules/Core/ImageBase/include/otbImage.h
index 3bec599c72..109a557143 100644
--- a/Modules/Core/ImageBase/include/otbImage.h
+++ b/Modules/Core/ImageBase/include/otbImage.h
@@ -245,14 +245,14 @@ public:
 
   virtual void SetImageKeywordList(const ImageKeywordlistType& kwl);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 /// Copy metadata from a DataObject
-  void CopyInformation(const itk::DataObject *) ITK_OVERRIDE;
+  void CopyInformation(const itk::DataObject *) override;
 
 protected:
   Image();
-  ~Image() ITK_OVERRIDE {}
+  ~Image() override {}
 
 private:
   Image(const Self &) = delete;
diff --git a/Modules/Core/ImageBase/include/otbImageFunctionAdaptor.h b/Modules/Core/ImageBase/include/otbImageFunctionAdaptor.h
index 82ae1aa084..2daa2aaefa 100644
--- a/Modules/Core/ImageBase/include/otbImageFunctionAdaptor.h
+++ b/Modules/Core/ImageBase/include/otbImageFunctionAdaptor.h
@@ -88,17 +88,17 @@ class ITK_EXPORT ImageFunctionAdaptor :
   itkStaticConstMacro(ImageDimension, unsigned int, InputImageType::ImageDimension);
 
   // Evalulate the function at specified index //
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   // Evaluate the function at non-integer positions //
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -111,8 +111,8 @@ class ITK_EXPORT ImageFunctionAdaptor :
 
 protected:
   ImageFunctionAdaptor();
-  ~ImageFunctionAdaptor() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageFunctionAdaptor() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageFunctionAdaptor(const Self &);  //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbImageIOBase.h b/Modules/Core/ImageBase/include/otbImageIOBase.h
index e1c1d84111..6a7bf4e12d 100644
--- a/Modules/Core/ImageBase/include/otbImageIOBase.h
+++ b/Modules/Core/ImageBase/include/otbImageIOBase.h
@@ -429,8 +429,8 @@ public:
 
 protected:
   ImageIOBase();
-  ~ImageIOBase() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageIOBase() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Used internally to keep track of the type of the pixel. */
   IOPixelType m_PixelType;
diff --git a/Modules/Core/ImageBase/include/otbImageOfVectorsToMonoChannelExtractROI.h b/Modules/Core/ImageBase/include/otbImageOfVectorsToMonoChannelExtractROI.h
index 21910ccb70..40c2f86725 100644
--- a/Modules/Core/ImageBase/include/otbImageOfVectorsToMonoChannelExtractROI.h
+++ b/Modules/Core/ImageBase/include/otbImageOfVectorsToMonoChannelExtractROI.h
@@ -86,8 +86,8 @@ public:
 
 protected:
   ImageOfVectorsToMonoChannelExtractROI();
-  ~ImageOfVectorsToMonoChannelExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageOfVectorsToMonoChannelExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ExtractImageFilter can produce an image which is a different
    * resolution than its input image.  As such, ExtractImageFilter
@@ -97,13 +97,13 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** ExtractImageFilter can be implemented as a multithreaded filter.
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   ImageOfVectorsToMonoChannelExtractROI(const Self &); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbMetaImageFunction.h b/Modules/Core/ImageBase/include/otbMetaImageFunction.h
index 79f863b989..d8eba8a50a 100644
--- a/Modules/Core/ImageBase/include/otbMetaImageFunction.h
+++ b/Modules/Core/ImageBase/include/otbMetaImageFunction.h
@@ -75,7 +75,7 @@ public:
   typedef std::vector<FunctionPointerType>            FunctionContainerType;
 
   /** Evaluate the function at the given location */
-  OutputType Evaluate(const PointType & point) const ITK_OVERRIDE;
+  OutputType Evaluate(const PointType & point) const override;
 
   /** Add a new function to the functions vector */
   void AddFunction(FunctionType * function);
@@ -100,10 +100,10 @@ protected:
   MetaImageFunction();
 
   /** Destructor */
-  ~MetaImageFunction() ITK_OVERRIDE;
+  ~MetaImageFunction() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   MetaImageFunction(const Self& ); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbMultiChannelExtractROI.h b/Modules/Core/ImageBase/include/otbMultiChannelExtractROI.h
index a087a12399..cf17b63d3c 100644
--- a/Modules/Core/ImageBase/include/otbMultiChannelExtractROI.h
+++ b/Modules/Core/ImageBase/include/otbMultiChannelExtractROI.h
@@ -115,8 +115,8 @@ public:
 
 protected:
   MultiChannelExtractROI();
-  ~MultiChannelExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MultiChannelExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** MultiChannelExtractROI can produce an image which is a different
    * resolution than its input image.  As such, MultiChannelExtractROI
@@ -126,7 +126,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Reinitialize channels vector for multiple Update.*/
   void ChannelsReInitialization();
@@ -137,7 +137,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   MultiChannelExtractROI(const Self &); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbMultiToMonoChannelExtractROI.h b/Modules/Core/ImageBase/include/otbMultiToMonoChannelExtractROI.h
index 2724bcf8e6..4733af5450 100644
--- a/Modules/Core/ImageBase/include/otbMultiToMonoChannelExtractROI.h
+++ b/Modules/Core/ImageBase/include/otbMultiToMonoChannelExtractROI.h
@@ -93,8 +93,8 @@ public:
 
 protected:
   MultiToMonoChannelExtractROI();
-  ~MultiToMonoChannelExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MultiToMonoChannelExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ExtractImageFilter can produce an image which is a different
    * resolution than its input image.  As such, ExtractImageFilter
@@ -104,13 +104,13 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** ExtractImageFilter can be implemented as a multithreaded filter.
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   MultiToMonoChannelExtractROI(const Self &); //purposely not implemented
diff --git a/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h b/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
index 82eb5eebd4..3c000d43bb 100644
--- a/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
+++ b/Modules/Core/ImageBase/include/otbRemoteSensingRegion.h
@@ -81,7 +81,7 @@ public:
   /** ImageRegion typedef needed by the GetImageRegion() method */
   typedef itk::ImageRegion<2> ImageRegionType;
 
-  typename Superclass::RegionType GetRegionType() const ITK_OVERRIDE
+  typename Superclass::RegionType GetRegionType() const override
   {return Superclass::ITK_STRUCTURED_REGION; }
 
   /** Constructor. RemoteSensingRegion is a lightweight object that is not reference
@@ -106,7 +106,7 @@ public:
 
   /** Destructor. RemoteSensingRegion is a lightweight object that is not reference
    * counted, so the destructor is public. */
-  ~RemoteSensingRegion() ITK_OVERRIDE{}
+  ~RemoteSensingRegion() override{}
 
   /** operator=. RemoteSensingRegion is a lightweight object that is not reference
    * counted, so operator= is public. */
@@ -334,7 +334,7 @@ public:
 
 protected:
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     os << std::setprecision(15);
     os << indent << "RemoteSensingRegion" << std::endl;
diff --git a/Modules/Core/ImageBase/include/otbVectorImage.h b/Modules/Core/ImageBase/include/otbVectorImage.h
index 2fa39e599a..dcb2ec2377 100644
--- a/Modules/Core/ImageBase/include/otbVectorImage.h
+++ b/Modules/Core/ImageBase/include/otbVectorImage.h
@@ -164,9 +164,9 @@ public:
   virtual void SetImageKeywordList(const ImageKeywordlistType& kwl);
 
   /// Copy metadata from a DataObject
-  void CopyInformation(const itk::DataObject *) ITK_OVERRIDE;
+  void CopyInformation(const itk::DataObject *) override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Return the Pixel Accessor object */
 //   AccessorType GetPixelAccessor( void )
@@ -194,7 +194,7 @@ public:
 
 protected:
   VectorImage();
-  ~VectorImage() ITK_OVERRIDE {}
+  ~VectorImage() override {}
 
 private:
   VectorImage(const Self &); //purposely not implemented
diff --git a/Modules/Core/Interpolation/include/otbBCOInterpolateImageFunction.h b/Modules/Core/Interpolation/include/otbBCOInterpolateImageFunction.h
index 460414ab79..6acb8b23ac 100644
--- a/Modules/Core/Interpolation/include/otbBCOInterpolateImageFunction.h
+++ b/Modules/Core/Interpolation/include/otbBCOInterpolateImageFunction.h
@@ -109,12 +109,12 @@ public:
    *
    * ImageFunction::IsInsideBuffer() can be used to check bounds before
    * calling the method. */
-  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const ITK_OVERRIDE = 0;
+  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const override = 0;
 
 protected:
   BCOInterpolateImageFunctionBase() : m_Radius(2), m_WinSize(5), m_Alpha(-0.5) {};
-  ~BCOInterpolateImageFunctionBase() ITK_OVERRIDE {};
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BCOInterpolateImageFunctionBase() override {};
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Compute the BCO coefficients. */
   virtual CoefContainerType EvaluateCoef( const ContinuousIndexValueType & indexValue ) const;
   
@@ -157,12 +157,12 @@ public:
   typedef typename Superclass::ContinuousIndexType   ContinuousIndexType;
   typedef typename Superclass::CoefContainerType     CoefContainerType;
 
-  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const ITK_OVERRIDE;
+  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const override;
 
 protected:
   BCOInterpolateImageFunction() {};
-  ~BCOInterpolateImageFunction() ITK_OVERRIDE {};
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BCOInterpolateImageFunction() override {};
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BCOInterpolateImageFunction( const Self& ); //purposely not implemented
@@ -196,12 +196,12 @@ public:
   typedef typename Superclass::ContinuousIndexType   ContinuousIndexType;
   typedef typename Superclass::CoefContainerType     CoefContainerType;
 
-  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const ITK_OVERRIDE;
+  OutputType EvaluateAtContinuousIndex( const ContinuousIndexType & index ) const override;
 
 protected:
   BCOInterpolateImageFunction() {};
-  ~BCOInterpolateImageFunction() ITK_OVERRIDE {};
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BCOInterpolateImageFunction() override {};
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BCOInterpolateImageFunction( const Self& ); //purposely not implemented
diff --git a/Modules/Core/Interpolation/include/otbBSplineDecompositionImageFilter.h b/Modules/Core/Interpolation/include/otbBSplineDecompositionImageFilter.h
index d4199249b6..627b18af54 100644
--- a/Modules/Core/Interpolation/include/otbBSplineDecompositionImageFilter.h
+++ b/Modules/Core/Interpolation/include/otbBSplineDecompositionImageFilter.h
@@ -77,10 +77,10 @@ public:
 
 protected:
   BSplineDecompositionImageFilter();
-  ~BSplineDecompositionImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BSplineDecompositionImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** These are needed by the smoothing spline routine. */
   std::vector<double> m_Scratch;             // temp storage for processing of Coefficients
diff --git a/Modules/Core/Interpolation/include/otbBSplineInterpolateImageFunction.h b/Modules/Core/Interpolation/include/otbBSplineInterpolateImageFunction.h
index c5161bcdaa..fb653f3beb 100644
--- a/Modules/Core/Interpolation/include/otbBSplineInterpolateImageFunction.h
+++ b/Modules/Core/Interpolation/include/otbBSplineInterpolateImageFunction.h
@@ -108,7 +108,7 @@ public:
    * ImageFunction::IsInsideBuffer() can be used to check bounds before
    * calling the method. */
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& index) const ITK_OVERRIDE;
+    const ContinuousIndexType& index) const override;
 
   /** Derivative typedef support */
   typedef itk::CovariantVector<OutputType,
@@ -131,7 +131,7 @@ public:
   itkGetMacro(SplineOrder, int);
 
   /** Set the input image.  This must be set by the user. */
-  void SetInputImage(const TImageType * inputData) ITK_OVERRIDE;
+  void SetInputImage(const TImageType * inputData) override;
 
   /** Update coefficients filter. Coefficient filter are computed over the buffered
    region of the input image. */
@@ -139,9 +139,9 @@ public:
 
 protected:
   BSplineInterpolateImageFunction();
-  ~BSplineInterpolateImageFunction() ITK_OVERRIDE {}
+  ~BSplineInterpolateImageFunction() override {}
   void operator =(const Self&);  //purposely not implemented
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   // These are needed by the smoothing spline routine.
   std::vector<CoefficientDataType> m_Scratch;           // temp storage for processing of Coefficients
diff --git a/Modules/Core/Interpolation/include/otbGenericInterpolateImageFunction.h b/Modules/Core/Interpolation/include/otbGenericInterpolateImageFunction.h
index a993e857e1..1119453b2b 100644
--- a/Modules/Core/Interpolation/include/otbGenericInterpolateImageFunction.h
+++ b/Modules/Core/Interpolation/include/otbGenericInterpolateImageFunction.h
@@ -86,7 +86,7 @@ public:
    *
    * ImageFunction::IsInsideBuffer() can be used to check bounds before
    * calling the method. */
-  OutputType EvaluateAtContinuousIndex(const ContinuousIndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtContinuousIndex(const ContinuousIndexType& index) const override;
 
   /** Set/Get the window radius*/
   virtual void SetRadius(unsigned int rad);
@@ -115,12 +115,12 @@ public:
 
 protected:
   GenericInterpolateImageFunction();
-  ~GenericInterpolateImageFunction() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~GenericInterpolateImageFunction() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Call the superclass implementation and set the TablesHaveBeenGenerated
    * flag to false */
-  void Modified(void) const ITK_OVERRIDE;
+  void Modified(void) const override;
 
   /** Delete tables.*/
   virtual void ResetOffsetTable();
diff --git a/Modules/Core/Interpolation/include/otbProlateInterpolateImageFunction.h b/Modules/Core/Interpolation/include/otbProlateInterpolateImageFunction.h
index 6942e57988..1a057edfce 100644
--- a/Modules/Core/Interpolation/include/otbProlateInterpolateImageFunction.h
+++ b/Modules/Core/Interpolation/include/otbProlateInterpolateImageFunction.h
@@ -313,8 +313,8 @@ public:
 
 protected:
   ProlateInterpolateImageFunction();
-  ~ProlateInterpolateImageFunction() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ProlateInterpolateImageFunction() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ProlateInterpolateImageFunction(const Self &); //purposely not implemented
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageBlackmanFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageBlackmanFunction.h
index 7bd3a88546..36d1d72264 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageBlackmanFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageBlackmanFunction.h
@@ -134,8 +134,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageBlackmanFunction() {};
-  ~WindowedSincInterpolateImageBlackmanFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageBlackmanFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageCosineFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageCosineFunction.h
index 34d2a79699..94cae64c24 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageCosineFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageCosineFunction.h
@@ -127,8 +127,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageCosineFunction() {};
-  ~WindowedSincInterpolateImageCosineFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageCosineFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageFunctionBase.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageFunctionBase.h
index 34be4a944d..57703395ba 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageFunctionBase.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageFunctionBase.h
@@ -179,8 +179,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageFunctionBase();
-  ~WindowedSincInterpolateImageFunctionBase() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~WindowedSincInterpolateImageFunctionBase() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   WindowedSincInterpolateImageFunctionBase(const Self &); //purposely not implemented
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageGaussianFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageGaussianFunction.h
index fde1fabcc2..ce0358ded4 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageGaussianFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageGaussianFunction.h
@@ -127,8 +127,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageGaussianFunction() {};
-  ~WindowedSincInterpolateImageGaussianFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageGaussianFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageHammingFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageHammingFunction.h
index d2371c037b..31fca5a236 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageHammingFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageHammingFunction.h
@@ -128,8 +128,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageHammingFunction() {};
-  ~WindowedSincInterpolateImageHammingFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageHammingFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageLanczosFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageLanczosFunction.h
index 33c51bb957..38da528f66 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageLanczosFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageLanczosFunction.h
@@ -138,8 +138,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageLanczosFunction() {};
-  ~WindowedSincInterpolateImageLanczosFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageLanczosFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageWelchFunction.h b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageWelchFunction.h
index fc1d52b85f..24245cea27 100644
--- a/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageWelchFunction.h
+++ b/Modules/Core/Interpolation/include/otbWindowedSincInterpolateImageWelchFunction.h
@@ -127,8 +127,8 @@ public:
 
 protected:
   WindowedSincInterpolateImageWelchFunction() {};
-  ~WindowedSincInterpolateImageWelchFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~WindowedSincInterpolateImageWelchFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h b/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
index 342c288105..4918ff363d 100644
--- a/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
+++ b/Modules/Core/LabelMap/include/otbAttributesMapLabelObject.h
@@ -306,10 +306,10 @@ protected:
   /** Constructor */
   AttributesMapLabelObject() : m_Attributes(), m_Polygon(PolygonType::New()) {}
   /** Destructor */
-  ~AttributesMapLabelObject() ITK_OVERRIDE {}
+  ~AttributesMapLabelObject() override {}
 
   /** The printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << indent << "Attributes: " << std::endl;
diff --git a/Modules/Core/LabelMap/include/otbAttributesMapLabelObjectWithClassLabel.h b/Modules/Core/LabelMap/include/otbAttributesMapLabelObjectWithClassLabel.h
index 9573d6218a..f9d822cdd6 100644
--- a/Modules/Core/LabelMap/include/otbAttributesMapLabelObjectWithClassLabel.h
+++ b/Modules/Core/LabelMap/include/otbAttributesMapLabelObjectWithClassLabel.h
@@ -105,7 +105,7 @@ public:
     m_HasClassLabel = false;
   }
 
-  void CopyAttributesFrom( const LabelObjectType * lo ) ITK_OVERRIDE
+  void CopyAttributesFrom( const LabelObjectType * lo ) override
     {
     Superclass::CopyAttributesFrom( lo );
 
@@ -125,10 +125,10 @@ protected:
   AttributesMapLabelObjectWithClassLabel() : m_ClassLabel(itk::NumericTraits<ClassLabelType>::Zero), m_HasClassLabel(false)
     {}
   /** Destructor */
-  ~AttributesMapLabelObjectWithClassLabel() ITK_OVERRIDE {}
+  ~AttributesMapLabelObjectWithClassLabel() override {}
 
   /** The printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
     {
       Superclass::PrintSelf( os, indent );
       if(m_HasClassLabel)
diff --git a/Modules/Core/LabelMap/include/otbAttributesMapOpeningLabelMapFilter.h b/Modules/Core/LabelMap/include/otbAttributesMapOpeningLabelMapFilter.h
index 1e10e1783a..c8a138ffec 100644
--- a/Modules/Core/LabelMap/include/otbAttributesMapOpeningLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbAttributesMapOpeningLabelMapFilter.h
@@ -71,16 +71,16 @@ public:
 
   AttributeAccessorType & GetAccessor();
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 
 protected:
   /** Constructor */
   AttributesMapOpeningLabelMapFilter();
   /** Destructor */
-  ~AttributesMapOpeningLabelMapFilter() ITK_OVERRIDE;
+  ~AttributesMapOpeningLabelMapFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h
index 2083db54d9..89ffbe2326 100644
--- a/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbBandsStatisticsAttributesLabelMapFilter.h
@@ -191,19 +191,19 @@ protected:
   /** Constructor */
   BandsStatisticsAttributesLabelMapFilter();
   /** Destructor */
-  ~BandsStatisticsAttributesLabelMapFilter() ITK_OVERRIDE {}
+  ~BandsStatisticsAttributesLabelMapFilter() override {}
 
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void EnlargeOutputRequestedRegion(itk::DataObject *) ITK_OVERRIDE{};
+  void EnlargeOutputRequestedRegion(itk::DataObject *) override{};
 
   /** Before threaded data generation */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BandsStatisticsAttributesLabelMapFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbImageToLabelMapWithAttributesFilter.h b/Modules/Core/LabelMap/include/otbImageToLabelMapWithAttributesFilter.h
index e18b9ac7d1..985e57cb96 100644
--- a/Modules/Core/LabelMap/include/otbImageToLabelMapWithAttributesFilter.h
+++ b/Modules/Core/LabelMap/include/otbImageToLabelMapWithAttributesFilter.h
@@ -75,21 +75,21 @@ public:
   typedef BandsStatisticsAttributesLabelMapFilter<LabelMapType, InputImageType>   BandStatisticsLabelMapFilterType;
 
   using Superclass::SetInput;
-  void SetInput( const InputImageType *image) ITK_OVERRIDE;
+  void SetInput( const InputImageType *image) override;
   virtual void SetLabeledImage( const LabeledImageType * image);
   const InputImageType * GetInput(void);
   const LabeledImageType * GetLabeledImage();
   virtual LabelMapType* GetOutput();
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 protected:
   /** Constructor */
   ImageToLabelMapWithAttributesFilter();
   /** Destructor */
-  ~ImageToLabelMapWithAttributesFilter() ITK_OVERRIDE{};
+  ~ImageToLabelMapWithAttributesFilter() override{};
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 
 private:
diff --git a/Modules/Core/LabelMap/include/otbKMeansAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbKMeansAttributesLabelMapFilter.h
index 49125da9f7..d65e2b3c04 100644
--- a/Modules/Core/LabelMap/include/otbKMeansAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbKMeansAttributesLabelMapFilter.h
@@ -123,7 +123,7 @@ public:
 
 protected:
   KMeansAttributesLabelMapFilter();
-  ~KMeansAttributesLabelMapFilter() ITK_OVERRIDE {};
+  ~KMeansAttributesLabelMapFilter() override {};
 
 
 private:
diff --git a/Modules/Core/LabelMap/include/otbLabelImageToLabelMapWithAdjacencyFilter.h b/Modules/Core/LabelMap/include/otbLabelImageToLabelMapWithAdjacencyFilter.h
index 7612335023..2e3c61d5c8 100644
--- a/Modules/Core/LabelMap/include/otbLabelImageToLabelMapWithAdjacencyFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelImageToLabelMapWithAdjacencyFilter.h
@@ -91,9 +91,9 @@ protected:
   /** Constructor */
   LabelImageToLabelMapWithAdjacencyFilter();
   /** Destructor */
-  ~LabelImageToLabelMapWithAdjacencyFilter() ITK_OVERRIDE {};
+  ~LabelImageToLabelMapWithAdjacencyFilter() override {};
   /** Printself */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   // class to store a RLE
   class RLE
@@ -121,16 +121,16 @@ protected:
   /** LabelImageToLabelMapWithAdjacencyFilter needs the entire input be
    * available. Thus, it needs to provide an implementation of
    * GenerateInputRequestedRegion(). */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** LabelImageToLabelMapWithAdjacencyFilter will produce the entire output. */
-  void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)) override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** Add a new adjacency */
   void AddAdjacency(LabelType label1, LabelType label2, itk::ThreadIdType threadId);
diff --git a/Modules/Core/LabelMap/include/otbLabelMapFeaturesFunctorImageFilter.h b/Modules/Core/LabelMap/include/otbLabelMapFeaturesFunctorImageFilter.h
index 2ae6625d77..56083fc5c7 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapFeaturesFunctorImageFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapFeaturesFunctorImageFilter.h
@@ -97,17 +97,17 @@ protected:
   LabelMapFeaturesFunctorImageFilter() : m_Functor() {}
 
   /** Destructor */
-  ~LabelMapFeaturesFunctorImageFilter() ITK_OVERRIDE {}
+  ~LabelMapFeaturesFunctorImageFilter() override {}
 
   /** Threaded generate data */
-  void ThreadedProcessLabelObject(LabelObjectType * labelObject) ITK_OVERRIDE
+  void ThreadedProcessLabelObject(LabelObjectType * labelObject) override
   {
     // Call the functor
     m_Functor(labelObject);
   }
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     // Call superclass implementation
     Superclass::PrintSelf(os, indent);
diff --git a/Modules/Core/LabelMap/include/otbLabelMapSource.h b/Modules/Core/LabelMap/include/otbLabelMapSource.h
index 489dd06e92..a03be1bd83 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapSource.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapSource.h
@@ -64,9 +64,9 @@ public:
 
 protected:
   LabelMapSource();
-  ~LabelMapSource() ITK_OVERRIDE;
+  ~LabelMapSource() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Ensure that the output vector data are cleared before processing */
   virtual void  AllocateOutputs();
diff --git a/Modules/Core/LabelMap/include/otbLabelMapToAttributeImageFilter.h b/Modules/Core/LabelMap/include/otbLabelMapToAttributeImageFilter.h
index 202b7e3792..50dcc9f616 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapToAttributeImageFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapToAttributeImageFilter.h
@@ -102,13 +102,13 @@ public:
 
 protected:
   LabelMapToAttributeImageFilter();
-  ~LabelMapToAttributeImageFilter() ITK_OVERRIDE {};
+  ~LabelMapToAttributeImageFilter() override {};
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
+  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
 
 private:
   /** Background pixel value */
diff --git a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
index 3485f79944..55040a6e5e 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapToSampleListFilter.h
@@ -96,15 +96,15 @@ public:
 
 protected:
   LabelMapToSampleListFilter();
-  ~LabelMapToSampleListFilter() ITK_OVERRIDE;
+  ~LabelMapToSampleListFilter() override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Make Output */
-  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LabelMapToSampleListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbLabelMapWithAdjacency.h b/Modules/Core/LabelMap/include/otbLabelMapWithAdjacency.h
index b1d9301980..3400aec812 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapWithAdjacency.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapWithAdjacency.h
@@ -218,16 +218,16 @@ protected:
   /** Constructor */
   LabelMapWithAdjacency(){}
   /** Destructor */
-  ~LabelMapWithAdjacency() ITK_OVERRIDE{}
+  ~LabelMapWithAdjacency() override{}
   /** Printself */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
 
   /** Re-implement CopyInformation to pass the adjancency graph
    * through */
-  void CopyInformation(const itk::DataObject * data) ITK_OVERRIDE
+  void CopyInformation(const itk::DataObject * data) override
   {
     // Call superclass implementation
     Superclass::CopyInformation(data);
diff --git a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToClassLabelImageFilter.h b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToClassLabelImageFilter.h
index 5f67ba3d95..ccc3a6dd45 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToClassLabelImageFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToClassLabelImageFilter.h
@@ -75,11 +75,11 @@ public:
 
 protected:
   LabelMapWithClassLabelToClassLabelImageFilter();
-  ~LabelMapWithClassLabelToClassLabelImageFilter() ITK_OVERRIDE {};
+  ~LabelMapWithClassLabelToClassLabelImageFilter() override {};
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
+  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
 
 private:
   LabelMapWithClassLabelToClassLabelImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
index bf7f6859da..cd4bc3086e 100644
--- a/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
+++ b/Modules/Core/LabelMap/include/otbLabelMapWithClassLabelToLabeledSampleListFilter.h
@@ -100,14 +100,14 @@ public:
 
 protected:
   LabelMapWithClassLabelToLabeledSampleListFilter();
-  ~LabelMapWithClassLabelToLabeledSampleListFilter() ITK_OVERRIDE;
+  ~LabelMapWithClassLabelToLabeledSampleListFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Make Output */
-  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 private:
diff --git a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
index 9a9f3251d1..96ae25ce4c 100644
--- a/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbMinMaxAttributesLabelMapFilter.h
@@ -89,14 +89,14 @@ public:
   AttributesMapObjectType* GetMaximumOutput();
   const AttributesMapObjectType* GetMaximumOutput() const;
 
-  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointerType MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 protected:
   MinMaxAttributesLabelMapFilter();
-  ~MinMaxAttributesLabelMapFilter() ITK_OVERRIDE {};
+  ~MinMaxAttributesLabelMapFilter() override {};
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   MinMaxAttributesLabelMapFilter(const Self&); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbNormalizeAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbNormalizeAttributesLabelMapFilter.h
index a3c01d3dbc..afc376eabe 100644
--- a/Modules/Core/LabelMap/include/otbNormalizeAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbNormalizeAttributesLabelMapFilter.h
@@ -143,10 +143,10 @@ protected:
   NormalizeAttributesLabelMapFilter(){}
 
   /** Destructor */
-  ~NormalizeAttributesLabelMapFilter() ITK_OVERRIDE{}
+  ~NormalizeAttributesLabelMapFilter() override{}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   NormalizeAttributesLabelMapFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
index eb2dfbc8fb..083b4b7c1f 100644
--- a/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbShapeAttributesLabelMapFilter.h
@@ -288,19 +288,19 @@ protected:
   ShapeAttributesLabelMapFilter(){}
 
   /** Destructor */
-  ~ShapeAttributesLabelMapFilter() ITK_OVERRIDE{}
+  ~ShapeAttributesLabelMapFilter() override{}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
   /** Things to to before threaded data generation */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void EnlargeOutputRequestedRegion(itk::DataObject *) ITK_OVERRIDE{};
+  void EnlargeOutputRequestedRegion(itk::DataObject *) override{};
 
 private:
   ShapeAttributesLabelMapFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h b/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
index c0c2d1ed6c..3f2826b789 100644
--- a/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
+++ b/Modules/Core/LabelMap/include/otbStatisticsAttributesLabelMapFilter.h
@@ -195,13 +195,13 @@ protected:
   StatisticsAttributesLabelMapFilter();
 
   /** Destructor */
-  ~StatisticsAttributesLabelMapFilter() ITK_OVERRIDE;
+  ~StatisticsAttributesLabelMapFilter() override;
 
   /** Before threaded data generation */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StatisticsAttributesLabelMapFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbDefaultImageMetadataInterface.h b/Modules/Core/Metadata/include/otbDefaultImageMetadataInterface.h
index 6faccb6d41..f81e74966a 100644
--- a/Modules/Core/Metadata/include/otbDefaultImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbDefaultImageMetadataInterface.h
@@ -75,49 +75,49 @@ public:
   }
 
   /** Get the imaging acquisition day from the ossim metadata */
-  int GetDay() const ITK_OVERRIDE
+  int GetDay() const override
   {
     itkExceptionMacro("GetDay not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition month from the ossim metadata */
-  int GetMonth() const ITK_OVERRIDE
+  int GetMonth() const override
   {
     itkExceptionMacro("GetMonth not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition year from the ossim metadata */
-  int GetYear() const ITK_OVERRIDE
+  int GetYear() const override
   {
     itkExceptionMacro("GetYear not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition hour from the ossim metadata */
-  int GetHour() const ITK_OVERRIDE
+  int GetHour() const override
   {
     itkExceptionMacro("GetHour not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition minute from the ossim metadata */
-  int GetMinute() const ITK_OVERRIDE
+  int GetMinute() const override
   {
     itkExceptionMacro("GetMinute not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production day from the ossim metadata */
-  int GetProductionDay() const ITK_OVERRIDE
+  int GetProductionDay() const override
   {
     itkExceptionMacro("GetProductionDay not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production month from the ossim metadata */
-  int GetProductionMonth() const ITK_OVERRIDE
+  int GetProductionMonth() const override
   {
     itkExceptionMacro("GetProductionMonth not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production year from the ossim metadata */
-  int GetProductionYear() const ITK_OVERRIDE
+  int GetProductionYear() const override
   {
     itkExceptionMacro("GetProductionYear not implemented in DefaultImageMetadataInterface, no captor type found");
   }
@@ -147,13 +147,13 @@ public:
   }
 
   /** Get the enhanced band names */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE
+  std::vector<std::string> GetEnhancedBandNames() const override
   {
     itkExceptionMacro("GetEnhancedBandNames not implemented in DefaultImageMetadataInterface, no captor type found");
   }
 
 
-  bool CanRead() const ITK_OVERRIDE
+  bool CanRead() const override
   {
     // This class is the default one, it has to be able to call every metadata
     return true;
@@ -166,7 +166,7 @@ public:
    *         When one spectral band is available : the only band is given to the R, G and B channel.
    *
    */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE
+  std::vector<unsigned int> GetDefaultDisplay() const override
   {
     unsigned int i = 0;
     std::vector<unsigned int> rgb(3);
@@ -193,7 +193,7 @@ public:
 
 protected:
   DefaultImageMetadataInterface(){};
-  ~DefaultImageMetadataInterface() ITK_OVERRIDE {}
+  ~DefaultImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbDefaultImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbDefaultImageMetadataInterfaceFactory.h
index aa0a851a2b..0f19d38b83 100644
--- a/Modules/Core/Metadata/include/otbDefaultImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbDefaultImageMetadataInterfaceFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self>        ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -60,7 +60,7 @@ public:
 
 protected:
   DefaultImageMetadataInterfaceFactory();
-  ~DefaultImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~DefaultImageMetadataInterfaceFactory() override;
 
 private:
   DefaultImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
index df122554b5..271d3d8d81 100644
--- a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterface.h
@@ -54,55 +54,55 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
   /** Get Instrument */
   std::string GetInstrument() const;
 
   /** Get the enhanced band names (here nothing because the metadata did not provide band names) */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE
+  std::vector<std::string> GetEnhancedBandNames() const override
   {
     return this->Superclass::GetBandName();
   }
@@ -114,21 +114,21 @@ public:
    * in most cases, this method won't change the value, but for SPOT data, the bands are set up as
    *  2 1 0 3 in the tiff file, this method which is overloaded for SPOT enables to retrieve the
    *  proper band. */
-  unsigned int BandIndexToWavelengthPosition(unsigned int i) const ITK_OVERRIDE;
+  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
    * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
 protected:
   FormosatImageMetadataInterface();
-  ~FormosatImageMetadataInterface() ITK_OVERRIDE {}
+  ~FormosatImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterfaceFactory.h
index dcd95d08c6..372212d77d 100644
--- a/Modules/Core/Metadata/include/otbFormosatImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbFormosatImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   FormosatImageMetadataInterfaceFactory();
-  ~FormosatImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~FormosatImageMetadataInterfaceFactory() override;
 
 private:
   FormosatImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbIkonosImageMetadataInterface.h b/Modules/Core/Metadata/include/otbIkonosImageMetadataInterface.h
index f4f2ccbf45..6d39a3eafd 100644
--- a/Modules/Core/Metadata/include/otbIkonosImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbIkonosImageMetadataInterface.h
@@ -54,66 +54,66 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : "Acquisition Date/Time" metadata variable */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : "Acquisition Date/Time" metadata variable */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : "Acquisition Date/Time" metadata variable */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : "Acquisition Date/Time" metadata variable */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : "Acquisition Date/Time" metadata variable */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : "Creation Date" metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : "Creation Date" metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : "Creation Date" metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the enhanced band names of Ikonos data*/
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE;
+  std::vector<std::string> GetEnhancedBandNames() const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
      * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
 protected:
   IkonosImageMetadataInterface();
-  ~IkonosImageMetadataInterface() ITK_OVERRIDE {}
+  ~IkonosImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbIkonosImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbIkonosImageMetadataInterfaceFactory.h
index a0118eb5a0..b19c1e4d3a 100644
--- a/Modules/Core/Metadata/include/otbIkonosImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbIkonosImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>       ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   IkonosImageMetadataInterfaceFactory();
-  ~IkonosImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~IkonosImageMetadataInterfaceFactory() override;
 
 private:
   IkonosImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbImageMetadataInterfaceBase.h b/Modules/Core/Metadata/include/otbImageMetadataInterfaceBase.h
index 0d4c891042..218cbe12ae 100644
--- a/Modules/Core/Metadata/include/otbImageMetadataInterfaceBase.h
+++ b/Modules/Core/Metadata/include/otbImageMetadataInterfaceBase.h
@@ -214,9 +214,9 @@ public:
 
 protected:
   ImageMetadataInterfaceBase();
-  ~ImageMetadataInterfaceBase() ITK_OVERRIDE {}
+  ~ImageMetadataInterfaceBase() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   MetaDataDictionaryType m_MetaDataDictionary;
 
diff --git a/Modules/Core/Metadata/include/otbImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbImageMetadataInterfaceFactory.h
index c20f95b535..0b1f1fd78e 100644
--- a/Modules/Core/Metadata/include/otbImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbImageMetadataInterfaceFactory.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   ImageMetadataInterfaceFactory();
-  ~ImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~ImageMetadataInterfaceFactory() override;
 
 private:
   ImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterface.h b/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterface.h
index da26a6f015..dcd33a7426 100644
--- a/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterface.h
@@ -57,103 +57,103 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE
+  VariableLengthVectorType GetPhysicalBias() const override
   {
     itkExceptionMacro("GetPhysicalBias not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE
+  VariableLengthVectorType GetPhysicalGain() const override
   {
     itkExceptionMacro("GetPhysicalGain not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE
+  VariableLengthVectorType GetSolarIrradiance() const override
   {
     itkExceptionMacro("GetSolarIrradiance not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition day from the ossim metadata */
-  int GetDay() const ITK_OVERRIDE
+  int GetDay() const override
   {
     itkExceptionMacro("GetDay not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition month from the ossim metadata */
-  int GetMonth() const ITK_OVERRIDE
+  int GetMonth() const override
   {
     itkExceptionMacro("GetMonth not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition year from the ossim metadata */
-  int GetYear() const ITK_OVERRIDE
+  int GetYear() const override
   {
     itkExceptionMacro("GetYear not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition hour from the ossim metadata */
-  int GetHour() const ITK_OVERRIDE
+  int GetHour() const override
   {
     itkExceptionMacro("GetHour not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition minute from the ossim metadata */
-  int GetMinute() const ITK_OVERRIDE
+  int GetMinute() const override
   {
     itkExceptionMacro("GetMinute not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production day from the ossim metadata */
-  int GetProductionDay() const ITK_OVERRIDE
+  int GetProductionDay() const override
   {
     itkExceptionMacro("GetProductionDay not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production month from the ossim metadata */
-  int GetProductionMonth() const ITK_OVERRIDE
+  int GetProductionMonth() const override
   {
     itkExceptionMacro("GetProductionMonth not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production year from the ossim metadata */
-  int GetProductionYear() const ITK_OVERRIDE
+  int GetProductionYear() const override
   {
     itkExceptionMacro("GetProductionYear not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE
+  double GetSatElevation() const override
   {
     itkExceptionMacro("GetSatElevation not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE
+  double GetSatAzimuth() const override
   {
     itkExceptionMacro("GetSatElevation not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE
+  VariableLengthVectorType GetFirstWavelengths() const override
   {
     itkExceptionMacro("GetFirstWavelengths not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE
+  VariableLengthVectorType GetLastWavelengths() const override
   {
     itkExceptionMacro("GetLastWavelengths not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the enhanced band names (here nothing because the sensor is not identify) */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE
+  std::vector<std::string> GetEnhancedBandNames() const override
   {
     std::vector<std::string> nothing;
     return nothing;
   }
 
-  bool CanRead() const ITK_OVERRIDE
+  bool CanRead() const override
   {
     // This class is the default one, it has to be able to call every metadata
     return false;
@@ -161,7 +161,7 @@ public:
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE
+  std::vector<unsigned int> GetDefaultDisplay() const override
       {
     std::vector<unsigned int> rgb(3);
     rgb[0] = 0;
@@ -172,14 +172,14 @@ public:
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
    * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override
   {
     itkExceptionMacro("GetSpectralSensitivity not implemented in OpticalDefaultImageMetadataInterface, no captor type found");
   }
 
 protected:
   OpticalDefaultImageMetadataInterface(){};
-  ~OpticalDefaultImageMetadataInterface() ITK_OVERRIDE {}
+  ~OpticalDefaultImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterfaceFactory.h
index 0d8db3ce03..e4226adf6b 100644
--- a/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbOpticalDefaultImageMetadataInterfaceFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self>               ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -60,7 +60,7 @@ public:
 
 protected:
   OpticalDefaultImageMetadataInterfaceFactory();
-  ~OpticalDefaultImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~OpticalDefaultImageMetadataInterfaceFactory() override;
 
 private:
   OpticalDefaultImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbOpticalImageMetadataInterface.h b/Modules/Core/Metadata/include/otbOpticalImageMetadataInterface.h
index 210534ce3d..8a94830980 100644
--- a/Modules/Core/Metadata/include/otbOpticalImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbOpticalImageMetadataInterface.h
@@ -86,7 +86,7 @@ public:
   virtual VariableLengthVectorType GetLastWavelengths() const = 0;
 
   /** Get the enhanced band names */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE = 0;
+  std::vector<std::string> GetEnhancedBandNames() const override = 0;
 
   /** This method is to handle the permutation of the spectral band by some image provider
    * in most cases, this method won't change the value, but for SPOT data, the bands are set up as
@@ -99,9 +99,9 @@ public:
   virtual WavelengthSpectralBandVectorType GetSpectralSensitivity ()  const = 0;
 protected:
   OpticalImageMetadataInterface();
-  ~OpticalImageMetadataInterface() ITK_OVERRIDE {}
+  ~OpticalImageMetadataInterface() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Core/Metadata/include/otbOpticalImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbOpticalImageMetadataInterfaceFactory.h
index 314f0b7edf..a543c766e0 100644
--- a/Modules/Core/Metadata/include/otbOpticalImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbOpticalImageMetadataInterfaceFactory.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   OpticalImageMetadataInterfaceFactory();
-  ~OpticalImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~OpticalImageMetadataInterfaceFactory() override;
 
 private:
   OpticalImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
index ddc9bc114f..65412134ca 100644
--- a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterface.h
@@ -54,49 +54,49 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
   /** Get Instrument */
   std::string GetInstrument() const;
@@ -108,25 +108,25 @@ public:
    * in most cases, this method won't change the value, but for SPOT data, the bands are set up as
    *  2 1 0 3 in the tiff file, this method which is overloaded for SPOT enables to retrieve the
    *  proper band. */
-  unsigned int BandIndexToWavelengthPosition(unsigned int i) const ITK_OVERRIDE;
+  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the enhanced band names of the Pleiades data */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE;
+  std::vector<std::string> GetEnhancedBandNames() const override;
 
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
      * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
 protected:
   PleiadesImageMetadataInterface();
-  ~PleiadesImageMetadataInterface() ITK_OVERRIDE {}
+  ~PleiadesImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterfaceFactory.h
index 8384183d18..a1a9578445 100644
--- a/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbPleiadesImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   PleiadesImageMetadataInterfaceFactory();
-  ~PleiadesImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~PleiadesImageMetadataInterfaceFactory() override;
 
 private:
   PleiadesImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterface.h b/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterface.h
index b8bd98555d..836056c5f1 100644
--- a/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterface.h
@@ -54,65 +54,65 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : TLCTime metadata value */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : TLCTime metadata value */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : TLCTime metadata value */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : TLCTime metadata value */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : TLCTime metadata value */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : generationTime metadata value */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : generationTime metadata value */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : generationTime metadata value */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
   /** Get the enhanced band names of QuickBird data */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE;
+  std::vector<std::string> GetEnhancedBandNames() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
      * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 protected:
   QuickBirdImageMetadataInterface();
-  ~QuickBirdImageMetadataInterface() ITK_OVERRIDE {}
+  ~QuickBirdImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterfaceFactory.h
index 8f6eb08cba..bd00c02bf7 100644
--- a/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbQuickBirdImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>          ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   QuickBirdImageMetadataInterfaceFactory();
-  ~QuickBirdImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~QuickBirdImageMetadataInterfaceFactory() override;
 
 private:
   QuickBirdImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
index 2d720a1644..2c4d231fb3 100644
--- a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterface.h
@@ -58,40 +58,40 @@ public:
 
   /*ImageMetadataInterfaceBase pure virtuals */
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** check sensor ID */
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
-  UIntVectorType GetDefaultDisplay() const ITK_OVERRIDE;
+  UIntVectorType GetDefaultDisplay() const override;
 
   /*SarImageMetadataInterface pure virutals rituals */
-  double GetPRF() const ITK_OVERRIDE;
+  double GetPRF() const override;
 
-  double GetRSF() const ITK_OVERRIDE;
+  double GetRSF() const override;
 
-  double GetRadarFrequency() const ITK_OVERRIDE;
+  double GetRadarFrequency() const override;
 
-  double GetCenterIncidenceAngle() const ITK_OVERRIDE;
+  double GetCenterIncidenceAngle() const override;
 
   /*get lookup data for calculating backscatter */
-  void CreateCalibrationLookupData(const short type) ITK_OVERRIDE;
+  void CreateCalibrationLookupData(const short type) override;
 
 
 protected:
@@ -99,7 +99,7 @@ protected:
   Radarsat2ImageMetadataInterface();
 
   /* class desctructor */
-  ~Radarsat2ImageMetadataInterface() ITK_OVERRIDE {}
+  ~Radarsat2ImageMetadataInterface() override {}
 
 private:
   Radarsat2ImageMetadataInterface(const Self &); //purposely not implemented
@@ -147,7 +147,7 @@ public:
 
   }
 
-  ~Radarsat2CalibrationLookupData() ITK_OVERRIDE
+  ~Radarsat2CalibrationLookupData() override
   {
 
   }
@@ -159,7 +159,7 @@ public:
     m_Gains = gains;
   }
 
-  double GetValue(const IndexValueType x, const IndexValueType itkNotUsed(y)) const ITK_OVERRIDE
+  double GetValue(const IndexValueType x, const IndexValueType itkNotUsed(y)) const override
   {
     double lutVal = 1.0;
 
@@ -175,7 +175,7 @@ public:
     return lutVal;
   }
 
-  void PrintSelf(std::ostream & os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream & os, itk::Indent indent) const override
   {
     os << indent << " offset:'" << m_Offset << "'" << std::endl;
     os <<  " referenceNoiseLevel.gain: " << std::endl;
diff --git a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterfaceFactory.h
index ca77603d2e..df837f6e6e 100644
--- a/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbRadarsat2ImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   Radarsat2ImageMetadataInterfaceFactory();
-  ~Radarsat2ImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~Radarsat2ImageMetadataInterfaceFactory() override;
 
 private:
   Radarsat2ImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbSarCalibrationLookupData.h b/Modules/Core/Metadata/include/otbSarCalibrationLookupData.h
index 98669c7205..04328dfaff 100644
--- a/Modules/Core/Metadata/include/otbSarCalibrationLookupData.h
+++ b/Modules/Core/Metadata/include/otbSarCalibrationLookupData.h
@@ -59,7 +59,7 @@ class OTBMetadata_EXPORT SarCalibrationLookupData : public itk::LightObject {
   {
   }
 
-  ~SarCalibrationLookupData() ITK_OVERRIDE
+  ~SarCalibrationLookupData() override
   {
   }
 
@@ -75,7 +75,7 @@ class OTBMetadata_EXPORT SarCalibrationLookupData : public itk::LightObject {
 
   itkGetMacro(Type, short);
 
-  void PrintSelf(std::ostream & os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream & os, itk::Indent indent) const override
   {
     os << indent << " lookup table type:'" << m_Type << "'" << std::endl;
     Superclass::PrintSelf(os, indent);
diff --git a/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterface.h
index c842d4fcad..0782320bfd 100644
--- a/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterface.h
@@ -61,134 +61,134 @@ public:
   typedef double                                     RealType;
   typedef PointSetType::PointType                    PointType;
 
-  RealType GetRadiometricCalibrationScale() const ITK_OVERRIDE
+  RealType GetRadiometricCalibrationScale() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationScale() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  PointSetPointer GetRadiometricCalibrationAntennaPatternNewGain() const ITK_OVERRIDE
+  PointSetPointer GetRadiometricCalibrationAntennaPatternNewGain() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationAntennaPatternNewGain() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  PointSetPointer GetRadiometricCalibrationAntennaPatternOldGain() const ITK_OVERRIDE
+  PointSetPointer GetRadiometricCalibrationAntennaPatternOldGain() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationAntennaPatternOldGain() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  PointSetPointer GetRadiometricCalibrationIncidenceAngle() const ITK_OVERRIDE
+  PointSetPointer GetRadiometricCalibrationIncidenceAngle() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationIncidenceAngle() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  PointSetPointer GetRadiometricCalibrationRangeSpreadLoss() const ITK_OVERRIDE
+  PointSetPointer GetRadiometricCalibrationRangeSpreadLoss() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationRangeSpreadLoss() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  PointSetPointer GetRadiometricCalibrationNoise() const ITK_OVERRIDE
+  PointSetPointer GetRadiometricCalibrationNoise() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationNoise() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  IndexType GetRadiometricCalibrationAntennaPatternNewGainPolynomialDegree() const ITK_OVERRIDE
+  IndexType GetRadiometricCalibrationAntennaPatternNewGainPolynomialDegree() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationAntennaPatternNewGainPolynomialDegree() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  IndexType GetRadiometricCalibrationAntennaPatternOldGainPolynomialDegree() const ITK_OVERRIDE
+  IndexType GetRadiometricCalibrationAntennaPatternOldGainPolynomialDegree() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationAntennaPatternOldGainPolynomialDegree() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  IndexType GetRadiometricCalibrationIncidenceAnglePolynomialDegree() const ITK_OVERRIDE
+  IndexType GetRadiometricCalibrationIncidenceAnglePolynomialDegree() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationIncidenceAnglePolynomialDegree() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  IndexType GetRadiometricCalibrationRangeSpreadLossPolynomialDegree() const ITK_OVERRIDE
+  IndexType GetRadiometricCalibrationRangeSpreadLossPolynomialDegree() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationRangeSpreadLossPolynomialDegree() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  IndexType GetRadiometricCalibrationNoisePolynomialDegree() const ITK_OVERRIDE
+  IndexType GetRadiometricCalibrationNoisePolynomialDegree() const override
   {
     itkExceptionMacro("GetRadiometricCalibrationNoisePolynomialDegree() not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition day from the ossim metadata */
-  int GetDay() const ITK_OVERRIDE
+  int GetDay() const override
   {
     itkExceptionMacro("GetDay not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition month from the ossim metadata */
-  int GetMonth() const ITK_OVERRIDE
+  int GetMonth() const override
   {
     itkExceptionMacro("GetMonth not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition year from the ossim metadata */
-  int GetYear() const ITK_OVERRIDE
+  int GetYear() const override
   {
     itkExceptionMacro("GetYear not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition hour from the ossim metadata */
-  int GetHour() const ITK_OVERRIDE
+  int GetHour() const override
   {
     itkExceptionMacro("GetHour not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging acquisition minute from the ossim metadata */
-  int GetMinute() const ITK_OVERRIDE
+  int GetMinute() const override
   {
     itkExceptionMacro("GetMinute not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production day from the ossim metadata */
-  int GetProductionDay() const ITK_OVERRIDE
+  int GetProductionDay() const override
   {
     itkExceptionMacro("GetProductionDay not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production month from the ossim metadata */
-  int GetProductionMonth() const ITK_OVERRIDE
+  int GetProductionMonth() const override
   {
     itkExceptionMacro("GetProductionMonth not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the imaging production year from the ossim metadata */
-  int GetProductionYear() const ITK_OVERRIDE
+  int GetProductionYear() const override
   {
     itkExceptionMacro("GetProductionYear not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the PRF */
-  double GetPRF() const ITK_OVERRIDE
+  double GetPRF() const override
   {
     itkExceptionMacro("GetPRF not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the RSF */
-  double GetRSF() const ITK_OVERRIDE
+  double GetRSF() const override
   {
     itkExceptionMacro("GetRSF not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the radar frequency */
-  double GetRadarFrequency() const ITK_OVERRIDE
+  double GetRadarFrequency() const override
   {
     itkExceptionMacro("GetRadarFrequency not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
   /** Get the center incidence angle */
-  double GetCenterIncidenceAngle() const ITK_OVERRIDE
+  double GetCenterIncidenceAngle() const override
   {
     itkExceptionMacro("GetCenterIncidenceAngle not implemented in SarDefaultImageMetadataInterface, no captor type found");
   }
 
-  bool CanRead() const ITK_OVERRIDE
+  bool CanRead() const override
   {
     // This class is the default one, it has to be able to call every metadata
     return false;
@@ -196,7 +196,7 @@ public:
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-    UIntVectorType GetDefaultDisplay() const ITK_OVERRIDE
+    UIntVectorType GetDefaultDisplay() const override
   {
     UIntVectorType rgb(3);
     rgb[0] = 0;
@@ -207,7 +207,7 @@ public:
 
 protected:
   SarDefaultImageMetadataInterface(){};
-  ~SarDefaultImageMetadataInterface() ITK_OVERRIDE {}
+  ~SarDefaultImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterfaceFactory.h
index 957a9867e9..3d30545b75 100644
--- a/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbSarDefaultImageMetadataInterfaceFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self>           ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -60,7 +60,7 @@ public:
 
 protected:
   SarDefaultImageMetadataInterfaceFactory();
-  ~SarDefaultImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~SarDefaultImageMetadataInterfaceFactory() override;
 
 private:
   SarDefaultImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbSarImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSarImageMetadataInterface.h
index 32fc7e3cfc..efd60bd15e 100644
--- a/Modules/Core/Metadata/include/otbSarImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSarImageMetadataInterface.h
@@ -104,7 +104,7 @@ public:
   virtual const std::string GetAcquisitionMode() const;
 
   /** Get the enhanced band names (No enhanced band name support for SAR) */
-  StringVectorType GetEnhancedBandNames() const ITK_OVERRIDE
+  StringVectorType GetEnhancedBandNames() const override
   {
     StringVectorType nothing;
     return nothing;
@@ -112,12 +112,12 @@ public:
 
 protected:
   SarImageMetadataInterface();
-  ~SarImageMetadataInterface() ITK_OVERRIDE {}
+  ~SarImageMetadataInterface() override {}
 
   PointSetPointer GetConstantValuePointSet(const RealType& value) const;
   IndexType GetConstantPolynomialDegree() const;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   LookupDataPointerType m_SarLut;
 
diff --git a/Modules/Core/Metadata/include/otbSarImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbSarImageMetadataInterfaceFactory.h
index 9e1c180395..b9cd10bc28 100644
--- a/Modules/Core/Metadata/include/otbSarImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbSarImageMetadataInterfaceFactory.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   SarImageMetadataInterfaceFactory();
-  ~SarImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~SarImageMetadataInterfaceFactory() override;
 
 private:
   SarImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterface.h
index ebefb70553..c863639858 100644
--- a/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterface.h
@@ -59,40 +59,40 @@ public:
   typedef Superclass::LookupDataPointerType LookupDataPointerType;
 
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** check sensor ID */
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
-  UIntVectorType GetDefaultDisplay() const ITK_OVERRIDE;
+  UIntVectorType GetDefaultDisplay() const override;
 
   /*SarImageMetadataInterface pure virutals rituals */
-  double GetPRF() const ITK_OVERRIDE;
+  double GetPRF() const override;
 
-  double GetRSF() const ITK_OVERRIDE;
+  double GetRSF() const override;
 
-  double GetRadarFrequency() const ITK_OVERRIDE;
+  double GetRadarFrequency() const override;
 
-  double GetCenterIncidenceAngle() const ITK_OVERRIDE;
+  double GetCenterIncidenceAngle() const override;
 
   /*get lookup data for calculating backscatter */
-  void CreateCalibrationLookupData(const short type) ITK_OVERRIDE;
+  void CreateCalibrationLookupData(const short type) override;
 
 protected:
 
@@ -100,7 +100,7 @@ protected:
   Sentinel1ImageMetadataInterface();
 
   /* class dtor */
-  ~Sentinel1ImageMetadataInterface() ITK_OVERRIDE {}
+  ~Sentinel1ImageMetadataInterface() override {}
 
 private:
 
@@ -159,7 +159,7 @@ public:
   {
   }
 
-  ~Sentinel1CalibrationLookupData() ITK_OVERRIDE
+  ~Sentinel1CalibrationLookupData() override
   {
   }
 
@@ -176,7 +176,7 @@ public:
     lineTimeInterval = (lt - ft) / ((lines - 1) * 1.0);
   }
 
-  double GetValue(const IndexValueType x, const IndexValueType y) const ITK_OVERRIDE
+  double GetValue(const IndexValueType x, const IndexValueType y) const override
   {
     const int calVecIdx = GetVectorIndex(y);
     assert(calVecIdx>=0 && calVecIdx < count-1);
diff --git a/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterfaceFactory.h
index cfdfea8dcd..fafe69dd8f 100644
--- a/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbSentinel1ImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   Sentinel1ImageMetadataInterfaceFactory();
-  ~Sentinel1ImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~Sentinel1ImageMetadataInterfaceFactory() override;
 
 private:
   Sentinel1ImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
index f3af38e7a9..a63b9fa362 100644
--- a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterface.h
@@ -54,49 +54,49 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
   /** Get Instrument */
   std::string GetInstrument() const;
@@ -108,25 +108,25 @@ public:
    * in most cases, this method won't change the value, but for SPOT data, the bands are set up as
    *  2 1 0 3 in the tiff file, this method which is overloaded for SPOT enables to retrieve the
    *  proper band. */
-  unsigned int BandIndexToWavelengthPosition(unsigned int i) const ITK_OVERRIDE;
+  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the enhanced band names of the Spot6 data */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE;
+  std::vector<std::string> GetEnhancedBandNames() const override;
 
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
      * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
 protected:
   Spot6ImageMetadataInterface();
-  ~Spot6ImageMetadataInterface() ITK_OVERRIDE {}
+  ~Spot6ImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterfaceFactory.h
index 139181d54e..83e9ee40ec 100644
--- a/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbSpot6ImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   Spot6ImageMetadataInterfaceFactory();
-  ~Spot6ImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~Spot6ImageMetadataInterfaceFactory() override;
 
 private:
   Spot6ImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h b/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
index 7ccdb45d60..3f855595ee 100644
--- a/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbSpotImageMetadataInterface.h
@@ -54,52 +54,52 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : IMAGING_DATE metadata variable */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : DATASET_PRODUCTION_DATE metadata variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
   /** Get the enhanced band names (here nothing because the metadata did not provide band names) */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE
+  std::vector<std::string> GetEnhancedBandNames() const override
   {
     return this->Superclass::GetBandName();
   }
@@ -114,21 +114,21 @@ public:
    * in most cases, this method won't change the value, but for SPOT data, the bands are set up as
    *  2 1 0 3 in the tiff file, this method which is overloaded for SPOT enables to retrieve the
    *  proper band. */
-  unsigned int BandIndexToWavelengthPosition(unsigned int i) const ITK_OVERRIDE;
+  unsigned int BandIndexToWavelengthPosition(unsigned int i) const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
      * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
 protected:
   SpotImageMetadataInterface();
-  ~SpotImageMetadataInterface() ITK_OVERRIDE {}
+  ~SpotImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbSpotImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbSpotImageMetadataInterfaceFactory.h
index 8b4af6d83d..8516b694b5 100644
--- a/Modules/Core/Metadata/include/otbSpotImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbSpotImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   SpotImageMetadataInterfaceFactory();
-  ~SpotImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~SpotImageMetadataInterfaceFactory() override;
 
 private:
   SpotImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterface.h b/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterface.h
index 17d8a7fde5..321623631f 100644
--- a/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterface.h
@@ -67,28 +67,28 @@ public:
   typedef double                                RealType;
 
   /** Get the imaging start acquisition day from the ossim metadata */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging start acquisition month from the ossim metadata */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging start acquisition year from the ossim metadata */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging start acquisition hour from the ossim metadata */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging start acquisition minute from the ossim metadata */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : generationTime variable */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : generationTime variable */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : generationTime variable */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the calibration.calFactor : generationTime variable */
   double GetCalibrationFactor() const;
@@ -115,13 +115,13 @@ public:
   DoubleVectorType GetNoiseReferencePointList() const;
 
   /** Get the radar frequency */
-  double GetRadarFrequency() const ITK_OVERRIDE;
+  double GetRadarFrequency() const override;
 
   /** Get the PRF */
-  double GetPRF() const ITK_OVERRIDE;
+  double GetPRF() const override;
 
   /** Get the RSF */
-  double GetRSF() const ITK_OVERRIDE;
+  double GetRSF() const override;
 
   /** Get the number of corner incidence angles */
   unsigned int GetNumberOfCornerIncidenceAngles() const;
@@ -130,7 +130,7 @@ public:
   double GetMeanIncidenceAngles() const;
 
   /** Get the center incidence angle */
-  double GetCenterIncidenceAngle() const ITK_OVERRIDE;
+  double GetCenterIncidenceAngle() const override;
 
   /** Get the center index */
   IndexType GetCenterIncidenceAngleIndex() const;
@@ -142,26 +142,26 @@ public:
   IndexVectorType GetCornersIncidenceAnglesIndex() const;
 
   /** Get the constant calibration factor */
-  RealType   GetRadiometricCalibrationScale() const ITK_OVERRIDE;
+  RealType   GetRadiometricCalibrationScale() const override;
 
-  PointSetPointer GetRadiometricCalibrationNoise() const ITK_OVERRIDE;
-  IndexType GetRadiometricCalibrationNoisePolynomialDegree() const ITK_OVERRIDE;
+  PointSetPointer GetRadiometricCalibrationNoise() const override;
+  IndexType GetRadiometricCalibrationNoisePolynomialDegree() const override;
 
   //PointSetPointer GetRadiometricCalibrationAntennaPatternOldGain() const;
-  PointSetPointer GetRadiometricCalibrationIncidenceAngle() const ITK_OVERRIDE;
-  IndexType GetRadiometricCalibrationIncidenceAnglePolynomialDegree() const ITK_OVERRIDE;
+  PointSetPointer GetRadiometricCalibrationIncidenceAngle() const override;
+  IndexType GetRadiometricCalibrationIncidenceAnglePolynomialDegree() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
 protected:
   TerraSarImageMetadataInterface();
-  ~TerraSarImageMetadataInterface() ITK_OVERRIDE {}
+  ~TerraSarImageMetadataInterface() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Evaluate polynom with Horner scheme*/
 
   inline double Horner(std::vector<double>& coefficients, const double tauMinusTauRef) const;
diff --git a/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterfaceFactory.h
index 2bd3f8b7f4..3d68e5b6de 100644
--- a/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbTerraSarImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>     ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   TerraSarImageMetadataInterfaceFactory();
-  ~TerraSarImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~TerraSarImageMetadataInterfaceFactory() override;
 
 private:
   TerraSarImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterface.h b/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterface.h
index 0bcc79936a..3d21958848 100644
--- a/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterface.h
+++ b/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterface.h
@@ -54,66 +54,66 @@ public:
   typedef Superclass::ImageKeywordlistType     ImageKeywordlistType;
 
   /** Get the radiometric bias from the ossim metadata */
-  VariableLengthVectorType GetPhysicalBias() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalBias() const override;
 
   /** Get the radiometric gain from the ossim metadata */
-  VariableLengthVectorType GetPhysicalGain() const ITK_OVERRIDE;
+  VariableLengthVectorType GetPhysicalGain() const override;
 
   /** Get the solar irradiance from the ossim metadata */
-  VariableLengthVectorType GetSolarIrradiance() const ITK_OVERRIDE;
+  VariableLengthVectorType GetSolarIrradiance() const override;
 
   /** Get the imaging acquisition day from the ossim metadata : TLCTime metadata value */
-  int GetDay() const ITK_OVERRIDE;
+  int GetDay() const override;
 
   /** Get the imaging acquisition month from the ossim metadata : TLCTime metadata value */
-  int GetMonth() const ITK_OVERRIDE;
+  int GetMonth() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : TLCTime metadata value */
-  int GetYear() const ITK_OVERRIDE;
+  int GetYear() const override;
 
   /** Get the imaging acquisition hour from the ossim metadata : TLCTime metadata value */
-  int GetHour() const ITK_OVERRIDE;
+  int GetHour() const override;
 
   /** Get the imaging acquisition year from the ossim metadata : TLCTime metadata value */
-  int GetMinute() const ITK_OVERRIDE;
+  int GetMinute() const override;
 
   /** Get the imaging production day from the ossim metadata : generationTime metadata value */
-  int GetProductionDay() const ITK_OVERRIDE;
+  int GetProductionDay() const override;
 
   /** Get the imaging production month from the ossim metadata : generationTime metadata value */
-  int GetProductionMonth() const ITK_OVERRIDE;
+  int GetProductionMonth() const override;
 
   /** Get the imaging production year from the ossim metadata : generationTime metadata value */
-  int GetProductionYear() const ITK_OVERRIDE;
+  int GetProductionYear() const override;
 
   /** Get the sat elevation from the ossim metadata */
-  double GetSatElevation() const ITK_OVERRIDE;
+  double GetSatElevation() const override;
 
   /** Get the sat azimuth from the ossim metadata */
-  double GetSatAzimuth() const ITK_OVERRIDE;
+  double GetSatAzimuth() const override;
 
   /** Get the first wavelength for the spectral band definition */
-  VariableLengthVectorType GetFirstWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetFirstWavelengths() const override;
 
   /** Get the last wavelength for the spectral band definition */
-  VariableLengthVectorType GetLastWavelengths() const ITK_OVERRIDE;
+  VariableLengthVectorType GetLastWavelengths() const override;
 
-  bool CanRead() const ITK_OVERRIDE;
+  bool CanRead() const override;
 
   /** Get the 3 spectral band numbers corresponding to the default display for visualization,
    *  in the order R, G, B */
-  std::vector<unsigned int> GetDefaultDisplay() const ITK_OVERRIDE;
+  std::vector<unsigned int> GetDefaultDisplay() const override;
 
   /** Vector that contains the filter function value in 6S format (step of 0.0025 micro m).
    * There values a computed by 6S. */
-  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const ITK_OVERRIDE;
+  WavelengthSpectralBandVectorType GetSpectralSensitivity()  const override;
 
   /** Get the enhanced band names from band names collected by ossim */
-  std::vector<std::string> GetEnhancedBandNames() const ITK_OVERRIDE;
+  std::vector<std::string> GetEnhancedBandNames() const override;
 
 protected:
   WorldView2ImageMetadataInterface();
-  ~WorldView2ImageMetadataInterface() ITK_OVERRIDE {}
+  ~WorldView2ImageMetadataInterface() override {}
 
 private:
 
diff --git a/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterfaceFactory.h b/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterfaceFactory.h
index 597306f622..b48d21fa40 100644
--- a/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterfaceFactory.h
+++ b/Modules/Core/Metadata/include/otbWorldView2ImageMetadataInterfaceFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self>           ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -60,7 +60,7 @@ public:
 
 protected:
   WorldView2ImageMetadataInterfaceFactory();
-  ~WorldView2ImageMetadataInterfaceFactory() ITK_OVERRIDE;
+  ~WorldView2ImageMetadataInterfaceFactory() override;
 
 private:
   WorldView2ImageMetadataInterfaceFactory(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageList.h b/Modules/Core/ObjectList/include/otbImageList.h
index fc836cb047..cc7d167bcb 100644
--- a/Modules/Core/ObjectList/include/otbImageList.h
+++ b/Modules/Core/ObjectList/include/otbImageList.h
@@ -63,20 +63,20 @@ public:
   /**
    * Update images in the list.
    */
-  void UpdateOutputInformation(void) ITK_OVERRIDE;
+  void UpdateOutputInformation(void) override;
   void PropagateRequestedRegion(void)
-    throw (itk::InvalidRequestedRegionError) ITK_OVERRIDE;
-  void UpdateOutputData(void) ITK_OVERRIDE;
+    throw (itk::InvalidRequestedRegionError) override;
+  void UpdateOutputData(void) override;
 
-  void SetRequestedRegion(const itk::DataObject * source) ITK_OVERRIDE;
+  void SetRequestedRegion(const itk::DataObject * source) override;
   
 protected:
   /** Constructor */
   ImageList() {};
   /** Destructor */
-  ~ImageList() ITK_OVERRIDE {}
+  ~ImageList() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/ObjectList/include/otbImageListSource.h b/Modules/Core/ObjectList/include/otbImageListSource.h
index d37f072185..1ebbd143ef 100644
--- a/Modules/Core/ObjectList/include/otbImageListSource.h
+++ b/Modules/Core/ObjectList/include/otbImageListSource.h
@@ -65,9 +65,9 @@ protected:
   /** Constructor */
   ImageListSource();
   /** Destructor */
-  ~ImageListSource() ITK_OVERRIDE {}
+  ~ImageListSource() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListSource(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageListToImageFilter.h b/Modules/Core/ObjectList/include/otbImageListToImageFilter.h
index a322ca085a..67c27465b6 100644
--- a/Modules/Core/ObjectList/include/otbImageListToImageFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageListToImageFilter.h
@@ -75,9 +75,9 @@ protected:
   /** Constructor */
   ImageListToImageFilter();
   /** Destructor */
-  ~ImageListToImageFilter() ITK_OVERRIDE {}
+  ~ImageListToImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListToImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageListToImageListApplyFilter.h b/Modules/Core/ObjectList/include/otbImageListToImageListApplyFilter.h
index 9501d33078..9865945dc4 100644
--- a/Modules/Core/ObjectList/include/otbImageListToImageListApplyFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageListToImageListApplyFilter.h
@@ -81,20 +81,20 @@ public:
 
   /** Generate output information for the ImageList and for each image
       in the list. */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Generate input requested region for each image in the list. */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 protected:
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   ImageListToImageListApplyFilter();
   /** Destructor */
-  ~ImageListToImageListApplyFilter() ITK_OVERRIDE {}
+  ~ImageListToImageListApplyFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListToImageListApplyFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageListToImageListFilter.h b/Modules/Core/ObjectList/include/otbImageListToImageListFilter.h
index cde7284b19..1a48386220 100644
--- a/Modules/Core/ObjectList/include/otbImageListToImageListFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageListToImageListFilter.h
@@ -73,9 +73,9 @@ protected:
   /** Constructor */
   ImageListToImageListFilter();
   /** Destructor */
-  ~ImageListToImageListFilter() ITK_OVERRIDE {}
+  ~ImageListToImageListFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListToImageListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageListToSingleImageFilter.h b/Modules/Core/ObjectList/include/otbImageListToSingleImageFilter.h
index 164bb2d9bd..d290e9e849 100644
--- a/Modules/Core/ObjectList/include/otbImageListToSingleImageFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageListToSingleImageFilter.h
@@ -73,13 +73,13 @@ protected:
   /** Constructor */
   ImageListToSingleImageFilter();
   /** Destructor */
-  ~ImageListToSingleImageFilter() ITK_OVERRIDE {}
+  ~ImageListToSingleImageFilter() override {}
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Core/ObjectList/include/otbImageListToVectorImageFilter.h b/Modules/Core/ObjectList/include/otbImageListToVectorImageFilter.h
index 7149869c74..ac84491ee5 100644
--- a/Modules/Core/ObjectList/include/otbImageListToVectorImageFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageListToVectorImageFilter.h
@@ -67,26 +67,26 @@ public:
 protected:
 
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** GenerateOutputInformation
    * Set the number of bands of the output.
    * Copy information from the first image of the list if existing.
    **/
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /**
    * GenerateInputRequestedRegion
    * Set the requested region of each image in the list.
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Constructor */
   ImageListToVectorImageFilter() {};
   /** Destructor */
-  ~ImageListToVectorImageFilter() ITK_OVERRIDE {}
+  ~ImageListToVectorImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListToVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbImageToImageListFilter.h b/Modules/Core/ObjectList/include/otbImageToImageListFilter.h
index 26047d998e..1978e6966f 100644
--- a/Modules/Core/ObjectList/include/otbImageToImageListFilter.h
+++ b/Modules/Core/ObjectList/include/otbImageToImageListFilter.h
@@ -71,9 +71,9 @@ protected:
   /** Constructor */
   ImageToImageListFilter();
   /** Destructor */
-  ~ImageToImageListFilter() ITK_OVERRIDE {}
+  ~ImageToImageListFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToImageListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbObjectList.h b/Modules/Core/ObjectList/include/otbObjectList.h
index b9db494bec..6df4f167c8 100644
--- a/Modules/Core/ObjectList/include/otbObjectList.h
+++ b/Modules/Core/ObjectList/include/otbObjectList.h
@@ -600,9 +600,9 @@ protected:
   /** Constructor */
   ObjectList();
   /** Destructor */
-  ~ObjectList() ITK_OVERRIDE {}
+  ~ObjectList() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ObjectList(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbObjectListSource.h b/Modules/Core/ObjectList/include/otbObjectListSource.h
index 183c90c93d..586bd3535a 100644
--- a/Modules/Core/ObjectList/include/otbObjectListSource.h
+++ b/Modules/Core/ObjectList/include/otbObjectListSource.h
@@ -79,7 +79,7 @@ public:
    * SmartPointer to a DataObject. If a subclass of ImageSource has
    * multiple outputs of different types, then that class must provide
    * an implementation of MakeOutput(). */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Graft the specified DataObject onto this ProcessObject's output.
@@ -173,9 +173,9 @@ protected:
   /** Constructor */
   ObjectListSource();
   /** Destructor */
-  ~ObjectListSource() ITK_OVERRIDE {}
+  ~ObjectListSource() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Ensure that the output lists are cleared before processing */
   virtual void  AllocateOutputs();
@@ -190,7 +190,7 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   ObjectListSource(const Self &); //purposely not implemented
diff --git a/Modules/Core/ObjectList/include/otbObjectListSource.txx b/Modules/Core/ObjectList/include/otbObjectListSource.txx
index 20163671fe..10bf6116a7 100644
--- a/Modules/Core/ObjectList/include/otbObjectListSource.txx
+++ b/Modules/Core/ObjectList/include/otbObjectListSource.txx
@@ -145,7 +145,7 @@ void
 ObjectListSource<TOutputList>
 ::GenerateData(void)
 {
-  itkExceptionMacro("subclass should ITK_OVERRIDE this method!!!");
+  itkExceptionMacro("subclass should override this method!!!");
 }
 
 /**
diff --git a/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.h b/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.h
index 28ee8ea75e..1b8bfec0ec 100644
--- a/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.h
+++ b/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.h
@@ -77,11 +77,11 @@ protected:
   /** Constructor */
   ObjectListToObjectListFilter();
   /** Destructor */
-  ~ObjectListToObjectListFilter() ITK_OVERRIDE {}
+  ~ObjectListToObjectListFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Multi-threading implementation */
 
diff --git a/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.txx b/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.txx
index 471131c726..2104ebf4ea 100644
--- a/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.txx
+++ b/Modules/Core/ObjectList/include/otbObjectListToObjectListFilter.txx
@@ -134,12 +134,12 @@ ObjectListToObjectListFilter<TInputList, TOutputList>
 ::ThreadedGenerateData(unsigned int /*startIndex*/, unsigned int /*stopIndex*/, itk::ThreadIdType /*threadId*/)
 {
   // The following code is equivalent to:
-  // itkExceptionMacro("subclass should ITK_OVERRIDE this method!!!");
+  // itkExceptionMacro("subclass should override this method!!!");
   // The ExceptionMacro is not used because gcc warns that a
   // 'noreturn' function does return
   std::ostringstream message;
   message << "itk::ERROR: " << this->GetNameOfClass()
-          << "(" << this << "): " << "Subclass should ITK_OVERRIDE this method!!!";
+          << "(" << this << "): " << "Subclass should override this method!!!";
   itk::ExceptionObject e_(__FILE__, __LINE__, message.str().c_str(), ITK_LOCATION);
   throw e_;
 
diff --git a/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListBooleanFilter.h b/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListBooleanFilter.h
index 46985fc3bd..8f6fa80b67 100644
--- a/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListBooleanFilter.h
+++ b/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListBooleanFilter.h
@@ -93,15 +93,15 @@ public:
 
 protected:
   UnaryFunctorObjectListBooleanFilter();
-  ~UnaryFunctorObjectListBooleanFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorObjectListBooleanFilter() override {}
 
   /** Multi-threading implementation */
 
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** startIndex and stopIndex represent the indices of the Objects to
   examine in thread threadId */
-  void ThreadedGenerateData(unsigned int startIndex, unsigned int stopIndex, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(unsigned int startIndex, unsigned int stopIndex, itk::ThreadIdType threadId) override;
 
   /** Internal structure used for passing image data into the threading library */
   struct ThreadStruct
diff --git a/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListFilter.h b/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListFilter.h
index 3b8a023dce..bf101d6181 100644
--- a/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListFilter.h
+++ b/Modules/Core/ObjectList/include/otbUnaryFunctorObjectListFilter.h
@@ -94,15 +94,15 @@ public:
 
 protected:
   UnaryFunctorObjectListFilter();
-  ~UnaryFunctorObjectListFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorObjectListFilter() override {}
 
   /** Multi-threading implementation */
 
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** startIndex and stopIndex represent the indices of the Objects to
   examine in thread threadId */
-  void ThreadedGenerateData(unsigned int startIndex, unsigned int stopIndex, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(unsigned int startIndex, unsigned int stopIndex, itk::ThreadIdType threadId) override;
 
   /** End Multi-threading implementation */
 
diff --git a/Modules/Core/ObjectList/include/otbVectorImageToImageListFilter.h b/Modules/Core/ObjectList/include/otbVectorImageToImageListFilter.h
index fe62ef5cc5..dc864f192c 100644
--- a/Modules/Core/ObjectList/include/otbVectorImageToImageListFilter.h
+++ b/Modules/Core/ObjectList/include/otbVectorImageToImageListFilter.h
@@ -67,22 +67,22 @@ public:
   typedef typename OutputImageType::Pointer       OutputImagePointerType;
 
   /** Generate the input requested region from the first element in the list. */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Generate the output information by building the output list. */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 protected:
 
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Constructor */
   VectorImageToImageListFilter() {};
   /** Destructor */
-  ~VectorImageToImageListFilter() ITK_OVERRIDE {}
+  ~VectorImageToImageListFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorImageToImageListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbImageToPointSetFilter.h b/Modules/Core/PointSet/include/otbImageToPointSetFilter.h
index f200163aef..c14ed78b77 100644
--- a/Modules/Core/PointSet/include/otbImageToPointSetFilter.h
+++ b/Modules/Core/PointSet/include/otbImageToPointSetFilter.h
@@ -79,14 +79,14 @@ public:
   const InputImageType * GetInput();
 
   /** Prepare the output */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 protected:
   ImageToPointSetFilter();
-  ~ImageToPointSetFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageToPointSetFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Multi-threading implementation */
 
diff --git a/Modules/Core/PointSet/include/otbImageToPointSetFilter.txx b/Modules/Core/PointSet/include/otbImageToPointSetFilter.txx
index 405aa2a2b2..91e3d755f6 100644
--- a/Modules/Core/PointSet/include/otbImageToPointSetFilter.txx
+++ b/Modules/Core/PointSet/include/otbImageToPointSetFilter.txx
@@ -259,12 +259,12 @@ ImageToPointSetFilter<TInputImage, TOutputPointSet>
 ::ThreadedGenerateData(const InputImageRegionType&, itk::ThreadIdType)
 {
   // The following code is equivalent to:
-  // itkExceptionMacro("subclass should ITK_OVERRIDE this method!!!");
+  // itkExceptionMacro("subclass should override this method!!!");
   // The ExceptionMacro is not used because gcc warns that a
   // 'noreturn' function does return
   std::ostringstream message;
   message << "itk::ERROR: " << this->GetNameOfClass()
-          << "(" << this << "): " << "Subclass should ITK_OVERRIDE this method!!!";
+          << "(" << this << "): " << "Subclass should override this method!!!";
   itk::ExceptionObject e_(__FILE__, __LINE__, message.str().c_str(), ITK_LOCATION);
   throw e_;
 
diff --git a/Modules/Core/PointSet/include/otbPointSetExtractROI.h b/Modules/Core/PointSet/include/otbPointSetExtractROI.h
index 76e3c757c0..158bfae6f7 100644
--- a/Modules/Core/PointSet/include/otbPointSetExtractROI.h
+++ b/Modules/Core/PointSet/include/otbPointSetExtractROI.h
@@ -78,11 +78,11 @@ public:
 
 protected:
   PointSetExtractROI();
-  ~PointSetExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PointSetExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Generate Requested Data */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   PointSetExtractROI(const PointSetExtractROI &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbPointSetFunction.h b/Modules/Core/PointSet/include/otbPointSetFunction.h
index a13340f283..785753bac2 100644
--- a/Modules/Core/PointSet/include/otbPointSetFunction.h
+++ b/Modules/Core/PointSet/include/otbPointSetFunction.h
@@ -71,9 +71,9 @@ public:
 
 protected:
   PointSetFunction();
-  ~PointSetFunction() ITK_OVERRIDE {}
+  ~PointSetFunction() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbPointSetSource.h b/Modules/Core/PointSet/include/otbPointSetSource.h
index 8a545d4bbe..601c8b65db 100644
--- a/Modules/Core/PointSet/include/otbPointSetSource.h
+++ b/Modules/Core/PointSet/include/otbPointSetSource.h
@@ -125,18 +125,18 @@ public:
    * SmartPointer to a DataObject. If a subclass of MeshSource has
    * multiple outputs of different types, then that class must provide
    * an implementation of MakeOutput(). */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 protected:
   PointSetSource();
-  ~PointSetSource() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PointSetSource() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Requested region of Point Set is specified as i of N unstructured regions.
    * Since all DataObjects should be able to set the requested region in
    * unstructured form, just copy output->RequestedRegion all inputs. */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 private:
   PointSetSource(const Self &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbPointSetToPointSetFilter.h b/Modules/Core/PointSet/include/otbPointSetToPointSetFilter.h
index f208cb6140..bbe2091f4b 100644
--- a/Modules/Core/PointSet/include/otbPointSetToPointSetFilter.h
+++ b/Modules/Core/PointSet/include/otbPointSetToPointSetFilter.h
@@ -73,8 +73,8 @@ public:
 
 protected:
   PointSetToPointSetFilter();
-  ~PointSetToPointSetFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PointSetToPointSetFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetToPointSetFilter(const PointSetToPointSetFilter &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbRandomPointSetSource.h b/Modules/Core/PointSet/include/otbRandomPointSetSource.h
index 34f3ad64f2..e84e807a0a 100644
--- a/Modules/Core/PointSet/include/otbRandomPointSetSource.h
+++ b/Modules/Core/PointSet/include/otbRandomPointSetSource.h
@@ -87,9 +87,9 @@ public:
 
 protected:
   RandomPointSetSource();
-  ~RandomPointSetSource() ITK_OVERRIDE {}
+  ~RandomPointSetSource() override {}
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   RandomPointSetSource(const Self &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbThresholdImageToPointSetFilter.h b/Modules/Core/PointSet/include/otbThresholdImageToPointSetFilter.h
index 0115bbef31..b3a7fca707 100644
--- a/Modules/Core/PointSet/include/otbThresholdImageToPointSetFilter.h
+++ b/Modules/Core/PointSet/include/otbThresholdImageToPointSetFilter.h
@@ -84,11 +84,11 @@ public:
 
 protected:
   ThresholdImageToPointSetFilter();
-  ~ThresholdImageToPointSetFilter() ITK_OVERRIDE {}
+  ~ThresholdImageToPointSetFilter() override {}
 
-  void ThreadedGenerateData(const InputImageRegionType& inputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const InputImageRegionType& inputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ThresholdImageToPointSetFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/PointSet/include/otbTransformPointSetFilter.h b/Modules/Core/PointSet/include/otbTransformPointSetFilter.h
index 16f9c5e920..06867c5a98 100644
--- a/Modules/Core/PointSet/include/otbTransformPointSetFilter.h
+++ b/Modules/Core/PointSet/include/otbTransformPointSetFilter.h
@@ -75,11 +75,11 @@ public:
 
 protected:
   TransformPointSetFilter();
-  ~TransformPointSetFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~TransformPointSetFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Generate Requested Data */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Transform to apply to all the PointSet points. */
   typename TransformType::Pointer m_Transform;
diff --git a/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectFilter.h b/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectFilter.h
index 6001dec77a..fd49d3ec5e 100644
--- a/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectFilter.h
+++ b/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectFilter.h
@@ -101,10 +101,10 @@ public:
 
 protected:
   DrawLineSpatialObjectFilter();
-  ~DrawLineSpatialObjectFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DrawLineSpatialObjectFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   DrawLineSpatialObjectFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectListFilter.h b/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectListFilter.h
index 74e752e043..72a6854b6e 100644
--- a/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectListFilter.h
+++ b/Modules/Core/SpatialObjects/include/otbDrawLineSpatialObjectListFilter.h
@@ -92,10 +92,10 @@ public:
 
 protected:
   DrawLineSpatialObjectListFilter();
-  ~DrawLineSpatialObjectListFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DrawLineSpatialObjectListFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * compute the intersection of the segment to draw with the region
diff --git a/Modules/Core/SpatialObjects/include/otbImageToLineSpatialObjectListFilter.h b/Modules/Core/SpatialObjects/include/otbImageToLineSpatialObjectListFilter.h
index 673ada59a9..f4af3ce59b 100644
--- a/Modules/Core/SpatialObjects/include/otbImageToLineSpatialObjectListFilter.h
+++ b/Modules/Core/SpatialObjects/include/otbImageToLineSpatialObjectListFilter.h
@@ -85,8 +85,8 @@ public:
 
 protected:
   ImageToLineSpatialObjectListFilter();
-  ~ImageToLineSpatialObjectListFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageToLineSpatialObjectListFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToLineSpatialObjectListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbLineSpatialObject.h b/Modules/Core/SpatialObjects/include/otbLineSpatialObject.h
index a4adf2d054..536f2b305b 100644
--- a/Modules/Core/SpatialObjects/include/otbLineSpatialObject.h
+++ b/Modules/Core/SpatialObjects/include/otbLineSpatialObject.h
@@ -74,19 +74,19 @@ public:
   void SetPoints(PointListType& newPoints);
 
   /** Return a point in the list given the index */
-  const SpatialObjectPointType* GetPoint(IdentifierType id) const ITK_OVERRIDE
+  const SpatialObjectPointType* GetPoint(IdentifierType id) const override
   {
     return &(m_Points[id]);
   }
 
   /** Return a point in the list given the index */
-  SpatialObjectPointType* GetPoint(IdentifierType id) ITK_OVERRIDE
+  SpatialObjectPointType* GetPoint(IdentifierType id) override
   {
     return &(m_Points[id]);
   }
 
   /** Return the number of points in the list */
-  SizeValueType GetNumberOfPoints(void) const ITK_OVERRIDE
+  SizeValueType GetNumberOfPoints(void) const override
   {
     return m_Points.size();
   }
@@ -94,18 +94,18 @@ public:
   /** Returns true if the line is evaluable at the requested point,
    *  false otherwise. */
   bool IsEvaluableAt(const PointType& point,
-                     unsigned int depth = 0, char * name = ITK_NULLPTR) const ITK_OVERRIDE;
+                     unsigned int depth = 0, char * name = ITK_NULLPTR) const override;
 
   /** Returns the value of the line at that point.
    * Currently this function returns a binary value,
    * but it might want to return a degree of membership
    * in case of fuzzy Lines. */
   bool ValueAt(const PointType& point, double& value,
-               unsigned int depth = 0, char * name = ITK_NULLPTR) const ITK_OVERRIDE;
+               unsigned int depth = 0, char * name = ITK_NULLPTR) const override;
 
   /** Returns true if the point is inside the line, false otherwise. */
   bool IsInside(const PointType& point,
-                unsigned int depth, char * name) const ITK_OVERRIDE;
+                unsigned int depth, char * name) const override;
 
   /** Test whether a point is inside or outside the object
    *  For computational speed purposes, it is faster if the method does not
@@ -113,15 +113,15 @@ public:
   virtual bool IsInside(const PointType& point) const;
 
   /** Compute the boundaries of the line.*/
-  bool ComputeLocalBoundingBox() const ITK_OVERRIDE;
+  bool ComputeLocalBoundingBox() const override;
 
 protected:
   /** Constructor */
   LineSpatialObject();
   /** Destructor */
-  ~LineSpatialObject() ITK_OVERRIDE;
+  ~LineSpatialObject() override;
   /** Method to print the object. */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LineSpatialObject(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbLineSpatialObjectList.h b/Modules/Core/SpatialObjects/include/otbLineSpatialObjectList.h
index 794b1efdc6..c1ab636cb3 100644
--- a/Modules/Core/SpatialObjects/include/otbLineSpatialObjectList.h
+++ b/Modules/Core/SpatialObjects/include/otbLineSpatialObjectList.h
@@ -58,7 +58,7 @@ public:
 
 protected:
   LineSpatialObjectList() {};
-  ~LineSpatialObjectList() ITK_OVERRIDE {}
+  ~LineSpatialObjectList() override {}
 
 private:
   LineSpatialObjectList(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbLineSpatialObjectListToPointSetFilter.h b/Modules/Core/SpatialObjects/include/otbLineSpatialObjectListToPointSetFilter.h
index 9d15dcf219..9da17bfef6 100644
--- a/Modules/Core/SpatialObjects/include/otbLineSpatialObjectListToPointSetFilter.h
+++ b/Modules/Core/SpatialObjects/include/otbLineSpatialObjectListToPointSetFilter.h
@@ -74,8 +74,8 @@ public:
 
 protected:
   LineSpatialObjectListToPointSetFilter();
-  ~LineSpatialObjectListToPointSetFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LineSpatialObjectListToPointSetFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LineSpatialObjectListToPointSetFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbSpatialObjectSource.h b/Modules/Core/SpatialObjects/include/otbSpatialObjectSource.h
index 05a5439464..fadfaff42a 100644
--- a/Modules/Core/SpatialObjects/include/otbSpatialObjectSource.h
+++ b/Modules/Core/SpatialObjects/include/otbSpatialObjectSource.h
@@ -67,9 +67,9 @@ protected:
   /** Constructor */
   SpatialObjectSource();
   /** Destructor */
-  ~SpatialObjectSource() ITK_OVERRIDE {}
+  ~SpatialObjectSource() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SpatialObjectSource(const Self &); //purposely not implemented
diff --git a/Modules/Core/SpatialObjects/include/otbSpatialObjectToImageDrawingFilter.h b/Modules/Core/SpatialObjects/include/otbSpatialObjectToImageDrawingFilter.h
index aa10112f6e..26326dc30c 100644
--- a/Modules/Core/SpatialObjects/include/otbSpatialObjectToImageDrawingFilter.h
+++ b/Modules/Core/SpatialObjects/include/otbSpatialObjectToImageDrawingFilter.h
@@ -140,10 +140,10 @@ public:
 
 protected:
   SpatialObjectToImageDrawingFilter();
-  ~SpatialObjectToImageDrawingFilter() ITK_OVERRIDE;
+  ~SpatialObjectToImageDrawingFilter() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE; // do nothing
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateOutputInformation() override; // do nothing
+  void GenerateData() override;
 
   SizeType     m_Size;
   double       m_Spacing[OutputImageDimension];
@@ -153,7 +153,7 @@ protected:
   ValueType    m_OutsideValue;
   bool         m_UseObjectValue;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SpatialObjectToImageDrawingFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Streaming/include/otbNumberOfDivisionsStrippedStreamingManager.h b/Modules/Core/Streaming/include/otbNumberOfDivisionsStrippedStreamingManager.h
index e1045bcdc1..10283c7db8 100644
--- a/Modules/Core/Streaming/include/otbNumberOfDivisionsStrippedStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbNumberOfDivisionsStrippedStreamingManager.h
@@ -68,11 +68,11 @@ public:
   itkGetMacro(NumberOfDivisions, unsigned int);
 
   /** Actually computes the stream divisions given a DataObject and its region to write */
-  void PrepareStreaming(itk::DataObject * /*input*/, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * /*input*/, const RegionType &region) override;
 
 protected:
   NumberOfDivisionsStrippedStreamingManager();
-  ~NumberOfDivisionsStrippedStreamingManager() ITK_OVERRIDE;
+  ~NumberOfDivisionsStrippedStreamingManager() override;
 
   /** The splitter type used to generate the different strips */
   typedef itk::ImageRegionSplitterSlowDimension SplitterType;
diff --git a/Modules/Core/Streaming/include/otbNumberOfDivisionsTiledStreamingManager.h b/Modules/Core/Streaming/include/otbNumberOfDivisionsTiledStreamingManager.h
index 0b72ca8f92..270dc471e7 100644
--- a/Modules/Core/Streaming/include/otbNumberOfDivisionsTiledStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbNumberOfDivisionsTiledStreamingManager.h
@@ -67,11 +67,11 @@ public:
   itkGetMacro(NumberOfDivisions, unsigned int);
 
   /** Actually computes the stream divisions given a DataObject and its region to write */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
 protected:
   NumberOfDivisionsTiledStreamingManager();
-  ~NumberOfDivisionsTiledStreamingManager() ITK_OVERRIDE;
+  ~NumberOfDivisionsTiledStreamingManager() override;
 
   /** The number of lines per strip desired by the user.
    *  This may be different than the one computed by the Splitter */
diff --git a/Modules/Core/Streaming/include/otbNumberOfLinesStrippedStreamingManager.h b/Modules/Core/Streaming/include/otbNumberOfLinesStrippedStreamingManager.h
index a6b5c1bf2d..6426c858b6 100644
--- a/Modules/Core/Streaming/include/otbNumberOfLinesStrippedStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbNumberOfLinesStrippedStreamingManager.h
@@ -69,11 +69,11 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * /*input*/, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * /*input*/, const RegionType &region) override;
 
 protected:
   NumberOfLinesStrippedStreamingManager();
-  ~NumberOfLinesStrippedStreamingManager() ITK_OVERRIDE;
+  ~NumberOfLinesStrippedStreamingManager() override;
 
   /** The splitter type used to generate the different strips */
   typedef itk::ImageRegionSplitter<itkGetStaticConstMacro(ImageDimension)> SplitterType;
diff --git a/Modules/Core/Streaming/include/otbPersistentFilterStreamingDecorator.h b/Modules/Core/Streaming/include/otbPersistentFilterStreamingDecorator.h
index 47c08879e6..692848d833 100644
--- a/Modules/Core/Streaming/include/otbPersistentFilterStreamingDecorator.h
+++ b/Modules/Core/Streaming/include/otbPersistentFilterStreamingDecorator.h
@@ -73,17 +73,17 @@ public:
   itkGetConstObjectMacro(Filter, FilterType);
   itkGetObjectMacro(Streamer, StreamerType);
 
-  void Update(void) ITK_OVERRIDE;
+  void Update(void) override;
 
 protected:
   /** Constructor */
   PersistentFilterStreamingDecorator();
   /** Destructor */
-  ~PersistentFilterStreamingDecorator() ITK_OVERRIDE {}
+  ~PersistentFilterStreamingDecorator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /// Object responsible for streaming
   StreamerPointerType m_Streamer;
diff --git a/Modules/Core/Streaming/include/otbPersistentImageFilter.h b/Modules/Core/Streaming/include/otbPersistentImageFilter.h
index 69267fd730..f40159b95e 100644
--- a/Modules/Core/Streaming/include/otbPersistentImageFilter.h
+++ b/Modules/Core/Streaming/include/otbPersistentImageFilter.h
@@ -73,9 +73,9 @@ protected:
   /** Constructor */
   PersistentImageFilter() {}
   /** Destructor */
-  ~PersistentImageFilter() ITK_OVERRIDE {}
+  ~PersistentImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Core/Streaming/include/otbPipelineMemoryPrintCalculator.h b/Modules/Core/Streaming/include/otbPipelineMemoryPrintCalculator.h
index 41fe7808e9..19c6507142 100644
--- a/Modules/Core/Streaming/include/otbPipelineMemoryPrintCalculator.h
+++ b/Modules/Core/Streaming/include/otbPipelineMemoryPrintCalculator.h
@@ -128,10 +128,10 @@ protected:
   PipelineMemoryPrintCalculator();
 
   /** Destructor */
-  ~PipelineMemoryPrintCalculator() ITK_OVERRIDE;
+  ~PipelineMemoryPrintCalculator() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Recursive method to evaluate memory print in bytes */
   MemoryPrintType EvaluateProcessObjectPrintRecursive(ProcessObjectType * process);
diff --git a/Modules/Core/Streaming/include/otbRAMDrivenAdaptativeStreamingManager.h b/Modules/Core/Streaming/include/otbRAMDrivenAdaptativeStreamingManager.h
index 2fd4796803..2ddeccf215 100644
--- a/Modules/Core/Streaming/include/otbRAMDrivenAdaptativeStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbRAMDrivenAdaptativeStreamingManager.h
@@ -83,11 +83,11 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
 protected:
   RAMDrivenAdaptativeStreamingManager();
-  ~RAMDrivenAdaptativeStreamingManager() ITK_OVERRIDE;
+  ~RAMDrivenAdaptativeStreamingManager() override;
 
   /** The number of MegaBytes of RAM available */
   unsigned int m_AvailableRAMInMB;
diff --git a/Modules/Core/Streaming/include/otbRAMDrivenStrippedStreamingManager.h b/Modules/Core/Streaming/include/otbRAMDrivenStrippedStreamingManager.h
index 1fc33b9ac1..332c2610d2 100644
--- a/Modules/Core/Streaming/include/otbRAMDrivenStrippedStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbRAMDrivenStrippedStreamingManager.h
@@ -78,11 +78,11 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
 protected:
   RAMDrivenStrippedStreamingManager();
-  ~RAMDrivenStrippedStreamingManager() ITK_OVERRIDE;
+  ~RAMDrivenStrippedStreamingManager() override;
 
   /** The splitter type used to generate the different strips */
   typedef itk::ImageRegionSplitter<itkGetStaticConstMacro(ImageDimension)> SplitterType;
diff --git a/Modules/Core/Streaming/include/otbRAMDrivenTiledStreamingManager.h b/Modules/Core/Streaming/include/otbRAMDrivenTiledStreamingManager.h
index 6ea176b708..d5b40a858c 100644
--- a/Modules/Core/Streaming/include/otbRAMDrivenTiledStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbRAMDrivenTiledStreamingManager.h
@@ -77,11 +77,11 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
 protected:
   RAMDrivenTiledStreamingManager();
-  ~RAMDrivenTiledStreamingManager() ITK_OVERRIDE;
+  ~RAMDrivenTiledStreamingManager() override;
 
   /** The number of MegaBytes of RAM available */
   unsigned int m_AvailableRAMInMB;
diff --git a/Modules/Core/Streaming/include/otbStreamingImageVirtualWriter.h b/Modules/Core/Streaming/include/otbStreamingImageVirtualWriter.h
index feff1c60c5..998ba4c287 100644
--- a/Modules/Core/Streaming/include/otbStreamingImageVirtualWriter.h
+++ b/Modules/Core/Streaming/include/otbStreamingImageVirtualWriter.h
@@ -140,18 +140,18 @@ public:
 
   /** Override Update() from ProcessObject
    *  This filter does not produce an output */
-  void Update() ITK_OVERRIDE;
+  void Update() override;
 
 protected:
   StreamingImageVirtualWriter();
 
-  ~StreamingImageVirtualWriter() ITK_OVERRIDE;
+  ~StreamingImageVirtualWriter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 private:
   StreamingImageVirtualWriter(const StreamingImageVirtualWriter &); //purposely not implemented
diff --git a/Modules/Core/Streaming/include/otbStreamingManager.h b/Modules/Core/Streaming/include/otbStreamingManager.h
index 2095e48e8f..e5a853309a 100644
--- a/Modules/Core/Streaming/include/otbStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbStreamingManager.h
@@ -90,7 +90,7 @@ public:
 
 protected:
   StreamingManager();
-  ~StreamingManager() ITK_OVERRIDE;
+  ~StreamingManager() override;
 
   virtual unsigned int EstimateOptimalNumberOfDivisions(itk::DataObject * input, const RegionType &region,
                                                         MemoryPrintType availableRAMInMB,
diff --git a/Modules/Core/Streaming/include/otbTileDimensionTiledStreamingManager.h b/Modules/Core/Streaming/include/otbTileDimensionTiledStreamingManager.h
index 0bb3ee36dd..a4286febb0 100644
--- a/Modules/Core/Streaming/include/otbTileDimensionTiledStreamingManager.h
+++ b/Modules/Core/Streaming/include/otbTileDimensionTiledStreamingManager.h
@@ -72,11 +72,11 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
 protected:
   TileDimensionTiledStreamingManager();
-  ~TileDimensionTiledStreamingManager() ITK_OVERRIDE;
+  ~TileDimensionTiledStreamingManager() override;
 
   /** The number of lines per strip desired by the user.
    *  This may be different than the one computed by the Splitter */
diff --git a/Modules/Core/Transform/include/otbCompositeTransform.h b/Modules/Core/Transform/include/otbCompositeTransform.h
index 3a5e8a643e..f638c97233 100644
--- a/Modules/Core/Transform/include/otbCompositeTransform.h
+++ b/Modules/Core/Transform/include/otbCompositeTransform.h
@@ -118,7 +118,7 @@ public:
   itkGetConstReferenceMacro(SecondTransform, SecondTransformPointerType);
 
   /**  Method to transform a point. */
-  SecondTransformOutputPointType TransformPoint(const FirstTransformInputPointType&) const ITK_OVERRIDE;
+  SecondTransformOutputPointType TransformPoint(const FirstTransformInputPointType&) const override;
 
   /**  Method to transform a vector. */
   //  virtual OutputVectorType TransformVector(const InputVectorType &) const;
@@ -131,7 +131,7 @@ public:
 
 protected:
   CompositeTransform();
-  ~CompositeTransform() ITK_OVERRIDE;
+  ~CompositeTransform() override;
 
   FirstTransformPointerType  m_FirstTransform;
   SecondTransformPointerType m_SecondTransform;
diff --git a/Modules/Core/Transform/include/otbForwardSensorModel.h b/Modules/Core/Transform/include/otbForwardSensorModel.h
index eb09f6f209..c158426674 100644
--- a/Modules/Core/Transform/include/otbForwardSensorModel.h
+++ b/Modules/Core/Transform/include/otbForwardSensorModel.h
@@ -74,14 +74,14 @@ public:
   itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions);
 
   /** Compute the world coordinates. */
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
 
 protected:
   ForwardSensorModel();
-  ~ForwardSensorModel() ITK_OVERRIDE;
+  ~ForwardSensorModel() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Core/Transform/include/otbGenericMapProjection.h b/Modules/Core/Transform/include/otbGenericMapProjection.h
index d7030760b4..4e6d5f15ff 100644
--- a/Modules/Core/Transform/include/otbGenericMapProjection.h
+++ b/Modules/Core/Transform/include/otbGenericMapProjection.h
@@ -98,7 +98,7 @@ public:
 
   virtual void PrintMap() const;
 
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
 
   virtual bool InstantiateProjection();
 
@@ -111,9 +111,9 @@ public:
 
 protected:
   GenericMapProjection();
-  ~GenericMapProjection() ITK_OVERRIDE;
+  ~GenericMapProjection() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   MapProjectionAdapter::Pointer m_MapProjection;
 
diff --git a/Modules/Core/Transform/include/otbGenericRSTransform.h b/Modules/Core/Transform/include/otbGenericRSTransform.h
index aac8f94684..35f0bc7cde 100644
--- a/Modules/Core/Transform/include/otbGenericRSTransform.h
+++ b/Modules/Core/Transform/include/otbGenericRSTransform.h
@@ -168,31 +168,31 @@ public:
   /** Methods prototypes */
   virtual const TransformType * GetTransform() const;
 
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
 
   virtual void  InstantiateTransform();
   
   // Get inverse methods
   bool GetInverse(Self * inverseTransform) const;
-  InverseTransformBasePointer GetInverseTransform() const ITK_OVERRIDE;
+  InverseTransformBasePointer GetInverseTransform() const override;
 
   // Dummy set parameter method
-  void SetParameters(const typename Superclass::ParametersType &) ITK_OVERRIDE  {}
+  void SetParameters(const typename Superclass::ParametersType &) override  {}
 
   // Dummy ComputeJacobianWithRespectToParameters method
-  void ComputeJacobianWithRespectToParameters(const InputPointType  &, JacobianType& ) const ITK_OVERRIDE {}
+  void ComputeJacobianWithRespectToParameters(const InputPointType  &, JacobianType& ) const override {}
 
 protected:
   GenericRSTransform();
-  ~GenericRSTransform() ITK_OVERRIDE {}
+  ~GenericRSTransform() override {}
 
-  void Modified() const ITK_OVERRIDE
+  void Modified() const override
   {
     this->Superclass::Modified();
     m_TransformUpToDate = false;
   }
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GenericRSTransform(const Self &);    //purposely not implemented
diff --git a/Modules/Core/Transform/include/otbGeocentricTransform.h b/Modules/Core/Transform/include/otbGeocentricTransform.h
index c7874d5413..9d53f04f14 100644
--- a/Modules/Core/Transform/include/otbGeocentricTransform.h
+++ b/Modules/Core/Transform/include/otbGeocentricTransform.h
@@ -66,11 +66,11 @@ public:
   itkStaticConstMacro(SpaceDimension, unsigned int, NInputDimensions);
   itkStaticConstMacro(ParametersDimension, unsigned int, NInputDimensions * (NInputDimensions + 1));
 
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
 
 protected:
   GeocentricTransform();
-  ~GeocentricTransform() ITK_OVERRIDE;
+  ~GeocentricTransform() override;
   EllipsoidAdapter::Pointer m_Ellipsoid;
 
 private:
diff --git a/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h b/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
index 27742733b6..79850a27d9 100644
--- a/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
+++ b/Modules/Core/Transform/include/otbImageToGenericRSOutputParameters.h
@@ -163,7 +163,7 @@ public:
 
 protected:
   ImageToGenericRSOutputParameters();
-  ~ImageToGenericRSOutputParameters() ITK_OVERRIDE {}
+  ~ImageToGenericRSOutputParameters() override {}
 
 private:
   ImageToGenericRSOutputParameters(const Self&); //purposely not implemented
diff --git a/Modules/Core/Transform/include/otbInverseLogPolarTransform.h b/Modules/Core/Transform/include/otbInverseLogPolarTransform.h
index 99b220d91a..14d60db886 100644
--- a/Modules/Core/Transform/include/otbInverseLogPolarTransform.h
+++ b/Modules/Core/Transform/include/otbInverseLogPolarTransform.h
@@ -83,50 +83,50 @@ public:
    * Set the transform parameters through the standard interface.
    * \param parameters The parameters of the transform.
    */
-  void SetParameters(const ParametersType& parameters) ITK_OVERRIDE;
+  void SetParameters(const ParametersType& parameters) override;
   /**
    * Get the transform parameters through the standard interface.
    * \return The parameters of the transform.
    */
-  ParametersType& GetParameters(void) const ITK_OVERRIDE;
+  ParametersType& GetParameters(void) const override;
     /**
    * Set the Fixed Parameters
    * \param param The fixed parameters of the transform.
    */
-  void SetFixedParameters( const ParametersType & param) ITK_OVERRIDE
+  void SetFixedParameters( const ParametersType & param) override
     { this->m_FixedParameters = param; }
   /**
    * Get the Fixed Parameters
    * \return The Fixed parameters of the transform.
    */
-  const ParametersType& GetFixedParameters(void) const ITK_OVERRIDE{return this->m_FixedParameters; }
+  const ParametersType& GetFixedParameters(void) const override{return this->m_FixedParameters; }
   /**
    * Transform a point.
    * \param point The point to transform.
    * \return The transformed point.
    */
    using Superclass::TransformVector;
-   OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+   OutputPointType TransformPoint(const InputPointType& point) const override;
   /**
    * Transform a vector representing a point.
    * \param vector The point to transform.
    * \return The transformed point.
    */
-  OutputVectorType TransformVector(const InputVectorType& vector) const ITK_OVERRIDE;
+  OutputVectorType TransformVector(const InputVectorType& vector) const override;
   /**
    * Transform a vnl vector representing a point.
    * \param vector The point to transform.
    * \return The transformed point.
    */
-  OutputVnlVectorType TransformVector(const InputVnlVectorType& vector) const ITK_OVERRIDE;
+  OutputVnlVectorType TransformVector(const InputVnlVectorType& vector) const override;
 
 protected:
   /** Constructor */
   InverseLogPolarTransform();
   /** Destructor */
-  ~InverseLogPolarTransform() ITK_OVERRIDE;
+  ~InverseLogPolarTransform() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   InverseLogPolarTransform(const Self &); // purposely not implemented
diff --git a/Modules/Core/Transform/include/otbInverseSensorModel.h b/Modules/Core/Transform/include/otbInverseSensorModel.h
index 92461591c5..acb24a2f5e 100644
--- a/Modules/Core/Transform/include/otbInverseSensorModel.h
+++ b/Modules/Core/Transform/include/otbInverseSensorModel.h
@@ -74,16 +74,16 @@ public:
   itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions);
 
   // Transform of geographic point in image sensor index
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
   // Transform of geographic point in image sensor index -- Backward Compatibility
   //  OutputPointType TransformPoint(const InputPointType &point, double height) const;
 
 protected:
   InverseSensorModel();
-  ~InverseSensorModel() ITK_OVERRIDE;
+  ~InverseSensorModel() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Core/Transform/include/otbLogPolarTransform.h b/Modules/Core/Transform/include/otbLogPolarTransform.h
index 19081e97be..110595ffa9 100644
--- a/Modules/Core/Transform/include/otbLogPolarTransform.h
+++ b/Modules/Core/Transform/include/otbLogPolarTransform.h
@@ -84,53 +84,53 @@ public:
    * Set the transform parameters through the standard interface.
    * \param parameters The parameters of the transform.
    */
-  void SetParameters(const ParametersType& parameters) ITK_OVERRIDE;
+  void SetParameters(const ParametersType& parameters) override;
   /**
    * Get the transform parameters through the standard interface.
    * \return The parameters of the transform.
    */
-  ParametersType& GetParameters(void) const ITK_OVERRIDE;
+  ParametersType& GetParameters(void) const override;
 
   /**
    * Set the Fixed Parameters
    * \param param The fixed parameters of the transform.
    */
-  void SetFixedParameters( const ParametersType & param) ITK_OVERRIDE
+  void SetFixedParameters( const ParametersType & param) override
     { this->m_FixedParameters = param; }
 
   /**
    * Get the Fixed Parameters
    * \return The Fixed parameters of the transform.
    */
-  const ParametersType& GetFixedParameters(void) const ITK_OVERRIDE{return this->m_FixedParameters; }
+  const ParametersType& GetFixedParameters(void) const override{return this->m_FixedParameters; }
   /**
    * Transform a point.
    * \param point The point to transform.
    * \return The transformed point.
    */
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
   /**
    * Transform a vector representing a point.
    * \param vector The point to transform.
    * \return The transformed point.
    */
   using Superclass::TransformVector;
-  OutputVectorType TransformVector(const InputVectorType& vector) const ITK_OVERRIDE;
+  OutputVectorType TransformVector(const InputVectorType& vector) const override;
 
   /**
    * Transform a vnl vector representing a point.
    * \param vector The point to transform.
    * \return The transformed point.
    */
-  OutputVnlVectorType TransformVector(const InputVnlVectorType& vector) const ITK_OVERRIDE;
+  OutputVnlVectorType TransformVector(const InputVnlVectorType& vector) const override;
 
 protected:
   /** Constructor */
   LogPolarTransform();
   /** Destructor */
-  ~LogPolarTransform() ITK_OVERRIDE;
+  ~LogPolarTransform() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LogPolarTransform(const Self &); // purposely not implemented
diff --git a/Modules/Core/Transform/include/otbSensorModelBase.h b/Modules/Core/Transform/include/otbSensorModelBase.h
index 07d4e2353f..f2ae212e5d 100644
--- a/Modules/Core/Transform/include/otbSensorModelBase.h
+++ b/Modules/Core/Transform/include/otbSensorModelBase.h
@@ -92,10 +92,10 @@ public:
 
 protected:
   SensorModelBase();
-  ~SensorModelBase() ITK_OVERRIDE;
+  ~SensorModelBase() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ImageKeywordlist */
   ImageKeywordlist m_ImageKeywordlist;
diff --git a/Modules/Core/Transform/include/otbStreamingWarpImageFilter.h b/Modules/Core/Transform/include/otbStreamingWarpImageFilter.h
index 97a32a5701..41b7058b52 100644
--- a/Modules/Core/Transform/include/otbStreamingWarpImageFilter.h
+++ b/Modules/Core/Transform/include/otbStreamingWarpImageFilter.h
@@ -96,22 +96,22 @@ protected:
   /** Constructor */
   StreamingWarpImageFilter();
   /** Destructor */
-  ~StreamingWarpImageFilter() ITK_OVERRIDE {}
+  ~StreamingWarpImageFilter() override {}
   /** PrintSelf */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * This filters requires only a part of the input and of the displacement field to
    * produce its output. As such, we need to overload the GenerateInputRequestedRegion() method.
    */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /**
    * Re-implement the method ThreadedGenerateData to mask area outside the deformation grid
    */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId ) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId ) override;
 
 private:
   StreamingWarpImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Core/Transform/include/otbTransform.h b/Modules/Core/Transform/include/otbTransform.h
index 41e90ac5ec..17dd9e92e0 100644
--- a/Modules/Core/Transform/include/otbTransform.h
+++ b/Modules/Core/Transform/include/otbTransform.h
@@ -58,10 +58,10 @@ public:
   itkStaticConstMacro(OutputSpaceDimension, unsigned int, NOutputDimensions);
 
   /** Get the size of the input space */
-  unsigned int GetInputSpaceDimension(void) const ITK_OVERRIDE { return NInputDimensions; }
+  unsigned int GetInputSpaceDimension(void) const override { return NInputDimensions; }
 
   /** Get the size of the output space */
-  unsigned int GetOutputSpaceDimension(void) const ITK_OVERRIDE { return NOutputDimensions; }
+  unsigned int GetOutputSpaceDimension(void) const override { return NOutputDimensions; }
 
   /** Type of the scalar representing coordinate and vector elements. */
   typedef  TScalarType ScalarType;
@@ -98,12 +98,12 @@ public:
 
   /**  Method to transform a point. */
 
-  OutputPointType TransformPoint(const InputPointType  & ) const ITK_OVERRIDE
+  OutputPointType TransformPoint(const InputPointType  & ) const override
     { return OutputPointType(); }
   
   using Superclass::TransformVector;
   /**  Method to transform a vector. */
-  OutputVectorType    TransformVector(const InputVectorType &) const ITK_OVERRIDE
+  OutputVectorType    TransformVector(const InputVectorType &) const override
   { return OutputVectorType(); }
 
   /**  Method to transform a vnl_vector. */
@@ -113,7 +113,7 @@ public:
   using Superclass::TransformCovariantVector;
   /**  Method to transform a CovariantVector. */
   OutputCovariantVectorType TransformCovariantVector(
-    const InputCovariantVectorType &) const ITK_OVERRIDE
+    const InputCovariantVectorType &) const override
   { return OutputCovariantVectorType(); }
 
 
@@ -124,12 +124,12 @@ public:
    * SetParametersByValue.
    * \sa SetParametersByValue
    */
-    void SetParameters( const ParametersType & ) ITK_OVERRIDE
-    { itkExceptionMacro( << "Subclasses should ITK_OVERRIDE this method (SetParameters)" ) }
+    void SetParameters( const ParametersType & ) override
+    { itkExceptionMacro( << "Subclasses should override this method (SetParameters)" ) }
 
-  void ComputeJacobianWithRespectToParameters(const InputPointType  &, JacobianType& ) const ITK_OVERRIDE
+  void ComputeJacobianWithRespectToParameters(const InputPointType  &, JacobianType& ) const override
   {
-    itkExceptionMacro(<<  "Subclasses should ITK_OVERRIDE this method (ComputeJacobianWithRespectToParameters)" );
+    itkExceptionMacro(<<  "Subclasses should override this method (ComputeJacobianWithRespectToParameters)" );
   }
 
   /** Set the transformation parameters and update internal transformation.
@@ -139,23 +139,23 @@ public:
    * by keeping a reference to the parameters.
    * \sa SetParameters
    */
-  void SetParametersByValue(const ParametersType & p) ITK_OVERRIDE
+  void SetParametersByValue(const ParametersType & p) override
   { this->SetParameters (p); }
 
   /** Get the Transformation Parameters. */
-  const ParametersType & GetParameters(void) const ITK_OVERRIDE
+  const ParametersType & GetParameters(void) const override
   {
     return m_Parameters;
   }
 
   /** Set the fixed parameters and update internal transformation. */
-  void SetFixedParameters( const ParametersType & ) ITK_OVERRIDE
-    { itkExceptionMacro( << "Subclasses should ITK_OVERRIDE this method (SetFixedParameters)" ) }
+  void SetFixedParameters( const ParametersType & ) override
+    { itkExceptionMacro( << "Subclasses should override this method (SetFixedParameters)" ) }
 
   /** Get the Fixed Parameters. */
-  const ParametersType& GetFixedParameters(void) const ITK_OVERRIDE
+  const ParametersType& GetFixedParameters(void) const override
     {
-    itkExceptionMacro( << "Subclasses should ITK_OVERRIDE this method (GetFixedParameters)" );
+    itkExceptionMacro( << "Subclasses should override this method (GetFixedParameters)" );
     // Next line is needed to avoid errors due to:
     // "function must return a value".
     return this->m_FixedParameters;
@@ -190,14 +190,14 @@ public:
    * */
   virtual const JacobianType & GetJacobian(const InputPointType  &) const
     {
-    itkExceptionMacro( << "Subclass should ITK_OVERRIDE this method (GetJacobian)" );
+    itkExceptionMacro( << "Subclass should override this method (GetJacobian)" );
     // Next line is needed to avoid errors due to:
     // "function must return a value" .
     return this->m_Jacobian;
     }
 
   /** Return the number of parameters that completely define the Transfom  */
-  NumberOfParametersType GetNumberOfParameters(void) const ITK_OVERRIDE
+  NumberOfParametersType GetNumberOfParameters(void) const override
   { return this->m_Parameters.Size(); }
 
 protected:
@@ -208,9 +208,9 @@ protected:
     : Superclass::Transform(numberOfParameters)
   {}
 
-  ~Transform() ITK_OVERRIDE {}
+  ~Transform() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
 #if 0
diff --git a/Modules/Core/VectorDataBase/include/otbDataNode.h b/Modules/Core/VectorDataBase/include/otbDataNode.h
index b1669467fc..f3752c8c88 100644
--- a/Modules/Core/VectorDataBase/include/otbDataNode.h
+++ b/Modules/Core/VectorDataBase/include/otbDataNode.h
@@ -290,9 +290,9 @@ protected:
   /** Constructor */
   DataNode();
   /** Destructor */
-  ~DataNode() ITK_OVERRIDE {}
+  ~DataNode() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   OGRGeometry* ConvertDataNodeToOGRGeometry(const DataNode* dataNode);
 
diff --git a/Modules/Core/VectorDataBase/include/otbDataNodeFunctionBase.h b/Modules/Core/VectorDataBase/include/otbDataNodeFunctionBase.h
index b3264ded63..33016b73da 100644
--- a/Modules/Core/VectorDataBase/include/otbDataNodeFunctionBase.h
+++ b/Modules/Core/VectorDataBase/include/otbDataNodeFunctionBase.h
@@ -32,7 +32,7 @@ namespace otb
   * the abstract method Evaluate() maps a DataNode from the input space to a element
   * in the output space.
   *
-  * Subclasses must ITK_OVERRIDE Evaluate().
+  * Subclasses must override Evaluate().
   *
   * This class is template over the input DataNode type and
   * the output (range) type.
@@ -66,11 +66,11 @@ public:
   typedef TOutput    OutputType;
 
   /** Evaluate at the specified input position */
-  OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE = 0;
+  OutputType Evaluate( const DataNodeType& node ) const override = 0;
 
 protected:
   DataNodeFunctionBase(){};
-  ~DataNodeFunctionBase() ITK_OVERRIDE{};
+  ~DataNodeFunctionBase() override{};
 
 private:
   DataNodeFunctionBase(const Self& ); //purposely not implemented
diff --git a/Modules/Core/VectorDataBase/include/otbDataNodeImageFunction.h b/Modules/Core/VectorDataBase/include/otbDataNodeImageFunction.h
index ece3dc41b8..5f389b35b6 100644
--- a/Modules/Core/VectorDataBase/include/otbDataNodeImageFunction.h
+++ b/Modules/Core/VectorDataBase/include/otbDataNodeImageFunction.h
@@ -107,7 +107,7 @@ public:
 
   /** Evaluate the function at specified DataNode position.
    * Subclasses must provide this method. */
-  TOutput Evaluate( const DataNodeType& node ) const ITK_OVERRIDE = 0;
+  TOutput Evaluate( const DataNodeType& node ) const override = 0;
 
   /** Check if an index is inside the image buffer.
    * we take into account the fact that each voxel has its
@@ -186,8 +186,8 @@ public:
 
 protected:
   DataNodeImageFunction();
-  ~DataNodeImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DataNodeImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Const pointer to the input image. */
   InputImageConstPointer  m_Image;
diff --git a/Modules/Core/VectorDataBase/include/otbDataNodeVectorDataFunction.h b/Modules/Core/VectorDataBase/include/otbDataNodeVectorDataFunction.h
index 7adb0b06ad..798dd99dbe 100644
--- a/Modules/Core/VectorDataBase/include/otbDataNodeVectorDataFunction.h
+++ b/Modules/Core/VectorDataBase/include/otbDataNodeVectorDataFunction.h
@@ -88,12 +88,12 @@ public:
 
   /** Evaluate the function at specified DataNode position.
    * Subclasses must provide this method. */
-  TOutput Evaluate( const DataNodeType& node ) const ITK_OVERRIDE = 0;
+  TOutput Evaluate( const DataNodeType& node ) const override = 0;
 
 protected:
   DataNodeVectorDataFunction();
-  ~DataNodeVectorDataFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DataNodeVectorDataFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Const pointer to the input VectorData. */
   VectorDataConstPointerType  m_VectorData;
diff --git a/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h b/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
index a6ff72468a..1a54429a79 100644
--- a/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
+++ b/Modules/Core/VectorDataBase/include/otbPolyLineParametricPathWithValue.h
@@ -117,13 +117,13 @@ protected:
   /** Constructor */
   PolyLineParametricPathWithValue();
   /** Destructor */
-  ~PolyLineParametricPathWithValue() ITK_OVERRIDE {}
+  ~PolyLineParametricPathWithValue() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   virtual void ComputeLength() const;
   virtual void ComputeBoundingRegion() const;
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
   PolyLineParametricPathWithValue(const Self &); //purposely not implemented
diff --git a/Modules/Core/VectorDataBase/include/otbPolygon.h b/Modules/Core/VectorDataBase/include/otbPolygon.h
index a85c8a138a..1d7cd20fae 100644
--- a/Modules/Core/VectorDataBase/include/otbPolygon.h
+++ b/Modules/Core/VectorDataBase/include/otbPolygon.h
@@ -126,9 +126,9 @@ public:
   * Return the polygon length (perimeter).
   * \return The length.
   */
-  double GetLength() const ITK_OVERRIDE;
+  double GetLength() const override;
 
-  void  AddVertex(const ContinuousIndexType& vertex) ITK_OVERRIDE;
+  void  AddVertex(const ContinuousIndexType& vertex) override;
 
 protected:
   /** Constructor */
@@ -140,13 +140,13 @@ protected:
     };
 
   /** Destructor */
-  ~Polygon() ITK_OVERRIDE {}
+  ~Polygon() override {}
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   virtual void ComputeArea() const;
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
   Polygon(const Self &); //purposely not implemented
diff --git a/Modules/Core/VectorDataBase/include/otbVectorData.h b/Modules/Core/VectorDataBase/include/otbVectorData.h
index 0a1b8968e0..75c1f0bee4 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorData.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorData.h
@@ -129,15 +129,15 @@ public:
    * SmartPointers to the same VectorData since separate DataObjects are
    * still maintained. This method is similar to
    * VectorDataSource::GraftOutput(). */
-  void Graft(const itk::DataObject *data) ITK_OVERRIDE;
+  void Graft(const itk::DataObject *data) override;
 
 protected:
   /** Constructor */
   VectorData();
   /** Destructor */
-  ~VectorData() ITK_OVERRIDE {}
+  ~VectorData() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorData(const Self&); //purposely not implemented
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataIOBase.h b/Modules/Core/VectorDataBase/include/otbVectorDataIOBase.h
index de1e241fc2..fac29ae71b 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataIOBase.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataIOBase.h
@@ -153,9 +153,9 @@ public:
 
 protected:
   VectorDataIOBase();
-  ~VectorDataIOBase() ITK_OVERRIDE;
+  ~VectorDataIOBase() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Big or Little Endian, and the type of the file. (May be ignored.) */
   ByteOrder m_ByteOrder;
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataProperties.h b/Modules/Core/VectorDataBase/include/otbVectorDataProperties.h
index f1e8633b23..59f22cca0e 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataProperties.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataProperties.h
@@ -86,9 +86,9 @@ protected:
   /** Constructor */
   VectorDataProperties() : m_VectorDataObject(ITK_NULLPTR) {};
   /** Destructor */
-  ~VectorDataProperties() ITK_OVERRIDE {}
+  ~VectorDataProperties() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   void ProcessNode(InternalTreeNodeType * source);
   bool IsBoundingRegionNull();
diff --git a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
index 7700768b4c..4031a0b466 100644
--- a/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
+++ b/Modules/Core/VectorDataBase/include/otbVectorDataSource.h
@@ -83,9 +83,9 @@ public:
 
 protected:
   VectorDataSource();
-  ~VectorDataSource() ITK_OVERRIDE;
+  ~VectorDataSource() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Ensure that the output vector data are cleared before processing */
   virtual void  AllocateOutputs();
diff --git a/Modules/Detection/CloudDetection/include/otbCloudDetectionFilter.h b/Modules/Detection/CloudDetection/include/otbCloudDetectionFilter.h
index 51f432a1a4..024c296191 100644
--- a/Modules/Detection/CloudDetection/include/otbCloudDetectionFilter.h
+++ b/Modules/Detection/CloudDetection/include/otbCloudDetectionFilter.h
@@ -71,11 +71,11 @@ public:
 protected:
   CloudDetectionFilter();
 
-  ~CloudDetectionFilter() ITK_OVERRIDE {}
+  ~CloudDetectionFilter() override {}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   CloudDetectionFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/CloudDetection/include/otbCloudEstimatorFilter.h b/Modules/Detection/CloudDetection/include/otbCloudEstimatorFilter.h
index 5f0d5eadc7..fc795bbf1f 100644
--- a/Modules/Detection/CloudDetection/include/otbCloudEstimatorFilter.h
+++ b/Modules/Detection/CloudDetection/include/otbCloudEstimatorFilter.h
@@ -73,11 +73,11 @@ public:
 protected:
   CloudEstimatorFilter();
 
-  ~CloudEstimatorFilter() ITK_OVERRIDE {}
+  ~CloudEstimatorFilter() override {}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   CloudEstimatorFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
index a7d582d848..3ab76e6b45 100644
--- a/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
+++ b/Modules/Detection/ObjectDetection/include/otbDescriptorsListSampleGenerator.h
@@ -151,31 +151,31 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Reset(void) override;
+  void Synthetize(void) override;
 
-  void AddInput(itk::DataObject * dataObject) ITK_OVERRIDE
+  void AddInput(itk::DataObject * dataObject) override
   {
     Superclass::AddInput(dataObject);
   }
 
 protected:
   PersistentDescriptorsListSampleGenerator();
-  ~PersistentDescriptorsListSampleGenerator() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentDescriptorsListSampleGenerator() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Multi-thread version GenerateData. */
   void  ThreadedGenerateData(const RegionType& outputRegionForThread,
-                             itk::ThreadIdType threadId) ITK_OVERRIDE;
+                             itk::ThreadIdType threadId) override;
 
 private:
   PersistentDescriptorsListSampleGenerator(const Self &); //purposely not implemented
@@ -303,7 +303,7 @@ public:
       return this->GetFilter()->GetInput();
     }
 
-    void AddInput(itk::DataObject * dataObject) ITK_OVERRIDE
+    void AddInput(itk::DataObject * dataObject) override
       {
         this->GetFilter()->AddInput(dataObject);
       }
@@ -363,7 +363,7 @@ public:
     DescriptorsListSampleGenerator();
 
     /** Destructor */
-    ~DescriptorsListSampleGenerator() ITK_OVERRIDE;
+    ~DescriptorsListSampleGenerator() override;
 
   private:
     DescriptorsListSampleGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbFlusserMomentsIFFactory.h b/Modules/Detection/ObjectDetection/include/otbFlusserMomentsIFFactory.h
index 8aff97fc81..46ff16f5af 100644
--- a/Modules/Detection/ObjectDetection/include/otbFlusserMomentsIFFactory.h
+++ b/Modules/Detection/ObjectDetection/include/otbFlusserMomentsIFFactory.h
@@ -82,8 +82,8 @@ public:
 
 protected:
   FlusserMomentsIFFactory(){}
-  ~FlusserMomentsIFFactory() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FlusserMomentsIFFactory() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FlusserMomentsIFFactory(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbFourierMellinDescriptorsIFFactory.h b/Modules/Detection/ObjectDetection/include/otbFourierMellinDescriptorsIFFactory.h
index 36f7890b0c..4a55751a55 100644
--- a/Modules/Detection/ObjectDetection/include/otbFourierMellinDescriptorsIFFactory.h
+++ b/Modules/Detection/ObjectDetection/include/otbFourierMellinDescriptorsIFFactory.h
@@ -81,8 +81,8 @@ public:
 
 protected:
   FourierMellinDescriptorsIFFactory(){}
-  ~FourierMellinDescriptorsIFFactory() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FourierMellinDescriptorsIFFactory() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FourierMellinDescriptorsIFFactory(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbHaralickTexturesIFFactory.h b/Modules/Detection/ObjectDetection/include/otbHaralickTexturesIFFactory.h
index 570ba05b99..1169695ab1 100644
--- a/Modules/Detection/ObjectDetection/include/otbHaralickTexturesIFFactory.h
+++ b/Modules/Detection/ObjectDetection/include/otbHaralickTexturesIFFactory.h
@@ -83,8 +83,8 @@ public:
 
 protected:
   HaralickTexturesIFFactory(){}
-  ~HaralickTexturesIFFactory() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HaralickTexturesIFFactory() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HaralickTexturesIFFactory(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h b/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
index a0d118d046..75d2d09a9c 100644
--- a/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
+++ b/Modules/Detection/ObjectDetection/include/otbLabeledSampleLocalizationGenerator.h
@@ -116,11 +116,11 @@ public:
 
 protected:
   LabeledSampleLocalizationGenerator();
-  ~LabeledSampleLocalizationGenerator() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabeledSampleLocalizationGenerator() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Triggers the Computation of the sample list */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   PointVectorType RandomPointsGenerator(DataNodeType * node);
 
diff --git a/Modules/Detection/ObjectDetection/include/otbLocalHistogramIFFactory.h b/Modules/Detection/ObjectDetection/include/otbLocalHistogramIFFactory.h
index f52cc96fb7..2ff4b90c98 100644
--- a/Modules/Detection/ObjectDetection/include/otbLocalHistogramIFFactory.h
+++ b/Modules/Detection/ObjectDetection/include/otbLocalHistogramIFFactory.h
@@ -82,8 +82,8 @@ public:
 
 protected:
   LocalHistogramIFFactory(){}
-  ~LocalHistogramIFFactory() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LocalHistogramIFFactory() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LocalHistogramIFFactory(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h b/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
index c051b33997..276062f0f0 100644
--- a/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
+++ b/Modules/Detection/ObjectDetection/include/otbObjectDetectionClassifier.h
@@ -123,7 +123,7 @@ public:
 
   typedef itk::Statistics::ListSample<DescriptorType>        ListSampleType;
 
-  void AddInput(itk::DataObject * dataObject) ITK_OVERRIDE
+  void AddInput(itk::DataObject * dataObject) override
   {
     this->Superclass::AddInput(dataObject);
   }
@@ -161,29 +161,29 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
 protected:
   PersistentObjectDetectionClassifier();
-  ~PersistentObjectDetectionClassifier() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentObjectDetectionClassifier() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Multi-thread version GenerateData. */
   void  ThreadedGenerateData(const RegionType& outputRegionForThread,
-                             itk::ThreadIdType threadId) ITK_OVERRIDE;
+                             itk::ThreadIdType threadId) override;
 
 private:
   PersistentObjectDetectionClassifier(const Self &); //purposely not implemented
@@ -319,7 +319,7 @@ public:
       return this->GetFilter()->GetOutputVectorData();
     }
 
-    void AddInput(itk::DataObject * dataObject) ITK_OVERRIDE
+    void AddInput(itk::DataObject * dataObject) override
     {
       this->GetFilter()->AddInput(dataObject);
     }
@@ -377,7 +377,7 @@ public:
     ObjectDetectionClassifier();
 
     /** Destructor */
-    ~ObjectDetectionClassifier() ITK_OVERRIDE;
+    ~ObjectDetectionClassifier() override;
 
   private:
     ObjectDetectionClassifier(const Self &); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbRadiometricMomentsIFFactory.h b/Modules/Detection/ObjectDetection/include/otbRadiometricMomentsIFFactory.h
index 6d642ec504..9d971e97b2 100644
--- a/Modules/Detection/ObjectDetection/include/otbRadiometricMomentsIFFactory.h
+++ b/Modules/Detection/ObjectDetection/include/otbRadiometricMomentsIFFactory.h
@@ -82,8 +82,8 @@ public:
 
 protected:
   RadiometricMomentsIFFactory(){}
-  ~RadiometricMomentsIFFactory() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~RadiometricMomentsIFFactory() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RadiometricMomentsIFFactory(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/ObjectDetection/include/otbStandardMetaImageFunctionBuilder.h b/Modules/Detection/ObjectDetection/include/otbStandardMetaImageFunctionBuilder.h
index eb747ff5a7..3d03e06d99 100644
--- a/Modules/Detection/ObjectDetection/include/otbStandardMetaImageFunctionBuilder.h
+++ b/Modules/Detection/ObjectDetection/include/otbStandardMetaImageFunctionBuilder.h
@@ -170,8 +170,8 @@ public:
 
 protected:
   StandardMetaImageFunctionBuilder();
-  ~StandardMetaImageFunctionBuilder() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~StandardMetaImageFunctionBuilder() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StandardMetaImageFunctionBuilder(const Self& ); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbBreakAngularPathListFilter.h b/Modules/Detection/RoadExtraction/include/otbBreakAngularPathListFilter.h
index 2b75f86699..6781f42e64 100644
--- a/Modules/Detection/RoadExtraction/include/otbBreakAngularPathListFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbBreakAngularPathListFilter.h
@@ -67,11 +67,11 @@ protected:
   /** Constructor */
   BreakAngularPathListFilter();
   /** Destructor */
-  ~BreakAngularPathListFilter() ITK_OVERRIDE {}
+  ~BreakAngularPathListFilter() override {}
   /** GenerateData method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BreakAngularPathListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbGenericRoadExtractionFilter.h b/Modules/Detection/RoadExtraction/include/otbGenericRoadExtractionFilter.h
index e016246411..e3680973f1 100644
--- a/Modules/Detection/RoadExtraction/include/otbGenericRoadExtractionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbGenericRoadExtractionFilter.h
@@ -189,7 +189,7 @@ protected:
   /** Constructor */
   GenericRoadExtractionFilter();
   /** Destructor */
-  ~GenericRoadExtractionFilter() ITK_OVERRIDE {}
+  ~GenericRoadExtractionFilter() override {}
 
   /** Prepare main computation method
    *  Note : this function isn't called
@@ -197,9 +197,9 @@ protected:
   void BeforeGenerateData(void);
 
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Detection/RoadExtraction/include/otbImageToPathListAlignFilter.h b/Modules/Detection/RoadExtraction/include/otbImageToPathListAlignFilter.h
index 5002375fe4..a6dd5526b4 100644
--- a/Modules/Detection/RoadExtraction/include/otbImageToPathListAlignFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbImageToPathListAlignFilter.h
@@ -121,10 +121,10 @@ public:
 
 protected:
   ImageToPathListAlignFilter();
-  ~ImageToPathListAlignFilter() ITK_OVERRIDE;
+  ~ImageToPathListAlignFilter() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE {}  // do nothing
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateOutputInformation() override {}  // do nothing
+  void GenerateData() override;
   virtual std::vector<double> tab(int n, double p, double m);
   virtual void AngleCalculate(const InputImageType*  InputImageIn);
 
@@ -134,7 +134,7 @@ protected:
   ValueType m_PathValue;
   ValueType m_BackgroundValue;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToPathListAlignFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h b/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
index 85f0a3109d..9d34f04ff7 100644
--- a/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbLikelihoodPathListFilter.h
@@ -85,11 +85,11 @@ protected:
   /** Constructor */
   LikelihoodPathListFilter();
   /** Destructor */
-  ~LikelihoodPathListFilter() ITK_OVERRIDE {}
+  ~LikelihoodPathListFilter() override {}
   /** GenerateData method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LikelihoodPathListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbLinkPathListFilter.h b/Modules/Detection/RoadExtraction/include/otbLinkPathListFilter.h
index 772ec632f3..e5ab1942d4 100644
--- a/Modules/Detection/RoadExtraction/include/otbLinkPathListFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbLinkPathListFilter.h
@@ -84,11 +84,11 @@ protected:
   /** Constructor */
   LinkPathListFilter();
   /** Destructor */
-  ~LinkPathListFilter() ITK_OVERRIDE {}
+  ~LinkPathListFilter() override {}
   /** GenerateData method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * Verify the angular condition to link a path.
diff --git a/Modules/Detection/RoadExtraction/include/otbModulusAndDirectionImageToImageFilter.h b/Modules/Detection/RoadExtraction/include/otbModulusAndDirectionImageToImageFilter.h
index 22f4468f82..83e8345b9b 100644
--- a/Modules/Detection/RoadExtraction/include/otbModulusAndDirectionImageToImageFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbModulusAndDirectionImageToImageFilter.h
@@ -70,15 +70,15 @@ public:
 
   /** Set/Get the image input of this process object.  */
   using Superclass::SetInput;
-  void SetInput(const InputImageType *input) ITK_OVERRIDE;
+  void SetInput(const InputImageType *input) override;
   virtual void SetInputDirection(const InputImageDirectionType *direction);
   const InputImageType * GetInput(void);
   const InputImageDirectionType * GetInputDirection(void);
 
 protected:
   ModulusAndDirectionImageToImageFilter();
-  ~ModulusAndDirectionImageToImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ModulusAndDirectionImageToImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ModulusAndDirectionImageToImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbNeighborhoodScalarProductFilter.h b/Modules/Detection/RoadExtraction/include/otbNeighborhoodScalarProductFilter.h
index 2a7ec8dd62..6e24abebee 100644
--- a/Modules/Detection/RoadExtraction/include/otbNeighborhoodScalarProductFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbNeighborhoodScalarProductFilter.h
@@ -84,9 +84,9 @@ protected:
   /** Constructor */
   NeighborhoodScalarProductFilter();
   /** Destructor */
-  ~NeighborhoodScalarProductFilter() ITK_OVERRIDE {}
+  ~NeighborhoodScalarProductFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** NeighborhoodScalarProductImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
    * which is called for each processing thread. The output image data is
@@ -98,7 +98,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 private:
   NeighborhoodScalarProductFilter(const Self &); //purposely not implemented
   void operator =(const Self&); //purposely not implemented
diff --git a/Modules/Detection/RoadExtraction/include/otbNonMaxRemovalByDirectionFilter.h b/Modules/Detection/RoadExtraction/include/otbNonMaxRemovalByDirectionFilter.h
index e428d28601..fb60b080f3 100644
--- a/Modules/Detection/RoadExtraction/include/otbNonMaxRemovalByDirectionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbNonMaxRemovalByDirectionFilter.h
@@ -136,14 +136,14 @@ protected:
   /** Constructor */
   NonMaxRemovalByDirectionFilter() {};
   /** Destructor */
-  ~NonMaxRemovalByDirectionFilter() ITK_OVERRIDE {}
+  ~NonMaxRemovalByDirectionFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE
+  void GenerateData(void) override
   {
     typename ComputingFilterType::Pointer filter = ComputingFilterType::New();
     filter->SetInput1(this->GetInput());
diff --git a/Modules/Detection/RoadExtraction/include/otbParallelLinePathListFilter.h b/Modules/Detection/RoadExtraction/include/otbParallelLinePathListFilter.h
index d39d37eee1..ff27709602 100644
--- a/Modules/Detection/RoadExtraction/include/otbParallelLinePathListFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbParallelLinePathListFilter.h
@@ -90,11 +90,11 @@ protected:
   /** Constructor */
   ParallelLinePathListFilter();
   /** Destructor */
-  ~ParallelLinePathListFilter() ITK_OVERRIDE {}
+  ~ParallelLinePathListFilter() override {}
   /** GenerateData method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
   * Verify the angular condition to find parallel lines.
diff --git a/Modules/Detection/RoadExtraction/include/otbRemoveIsolatedByDirectionFilter.h b/Modules/Detection/RoadExtraction/include/otbRemoveIsolatedByDirectionFilter.h
index d937c7108d..ca4a40efdd 100644
--- a/Modules/Detection/RoadExtraction/include/otbRemoveIsolatedByDirectionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbRemoveIsolatedByDirectionFilter.h
@@ -109,14 +109,14 @@ protected:
   /** Constructor */
   RemoveIsolatedByDirectionFilter() {};
   /** Destructor */
-  ~RemoveIsolatedByDirectionFilter() ITK_OVERRIDE {}
+  ~RemoveIsolatedByDirectionFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE
+  void GenerateData(void) override
   {
     typename ComputingFilterType::Pointer filter = ComputingFilterType::New();
     filter->SetInput1(this->GetInput());
diff --git a/Modules/Detection/RoadExtraction/include/otbRemoveWrongDirectionFilter.h b/Modules/Detection/RoadExtraction/include/otbRemoveWrongDirectionFilter.h
index 4733c42fa4..8812c85fa2 100644
--- a/Modules/Detection/RoadExtraction/include/otbRemoveWrongDirectionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbRemoveWrongDirectionFilter.h
@@ -104,14 +104,14 @@ protected:
   /** Constructor */
   RemoveWrongDirectionFilter() {};
   /** Destructor */
-  ~RemoveWrongDirectionFilter() ITK_OVERRIDE {}
+  ~RemoveWrongDirectionFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE
+  void GenerateData(void) override
   {
     typename ComputingFilterType::Pointer filter = ComputingFilterType::New();
     filter->SetInput1(this->GetInput());
diff --git a/Modules/Detection/RoadExtraction/include/otbRoadExtractionFilter.h b/Modules/Detection/RoadExtraction/include/otbRoadExtractionFilter.h
index d58dd5166c..79e05822d3 100644
--- a/Modules/Detection/RoadExtraction/include/otbRoadExtractionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbRoadExtractionFilter.h
@@ -141,15 +141,15 @@ protected:
   /** Constructor */
   RoadExtractionFilter();
   /** Destructor */
-  ~RoadExtractionFilter() ITK_OVERRIDE {}
+  ~RoadExtractionFilter() override {}
 
   /** Prepare main computation method */
   void BeforeGenerateData(void);
 
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Detection/RoadExtraction/include/otbVectorDataToRoadDescriptionFilter.h b/Modules/Detection/RoadExtraction/include/otbVectorDataToRoadDescriptionFilter.h
index ab759a79ba..48744453c0 100644
--- a/Modules/Detection/RoadExtraction/include/otbVectorDataToRoadDescriptionFilter.h
+++ b/Modules/Detection/RoadExtraction/include/otbVectorDataToRoadDescriptionFilter.h
@@ -116,11 +116,11 @@ protected:
   /** Constructor */
   VectorDataToRoadDescriptionFilter();
   /** Destructor */
-  ~VectorDataToRoadDescriptionFilter() ITK_OVERRIDE {}
+  ~VectorDataToRoadDescriptionFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Triggers the Computation of the Descriptors */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   VectorDataToRoadDescriptionFilter(const Self &); //purposely not implemented
diff --git a/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h b/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
index a5b50ddf10..f8c133af97 100644
--- a/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
+++ b/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
@@ -232,11 +232,11 @@ public:
   itkSetMacro(SobelUpperThreshold, double);
 
   /** Methods */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 protected:
   UrbanAreaDetectionImageFilter();
-  ~UrbanAreaDetectionImageFilter() ITK_OVERRIDE{}
+  ~UrbanAreaDetectionImageFilter() override{}
 
 private:
   UrbanAreaDetectionImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Corner/include/otbHarrisImageFilter.h b/Modules/Feature/Corner/include/otbHarrisImageFilter.h
index 38aadf4acf..f784a3159a 100644
--- a/Modules/Feature/Corner/include/otbHarrisImageFilter.h
+++ b/Modules/Feature/Corner/include/otbHarrisImageFilter.h
@@ -104,11 +104,11 @@ public:
 
 protected:
   HarrisImageFilter();
-  ~HarrisImageFilter() ITK_OVERRIDE {}
+  ~HarrisImageFilter() override {}
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HarrisImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Feature/Corner/include/otbHarrisImageToPointSetFilter.h b/Modules/Feature/Corner/include/otbHarrisImageToPointSetFilter.h
index 8069c053c0..badc48a0d1 100644
--- a/Modules/Feature/Corner/include/otbHarrisImageToPointSetFilter.h
+++ b/Modules/Feature/Corner/include/otbHarrisImageToPointSetFilter.h
@@ -78,11 +78,11 @@ public:
 
 protected:
   HarrisImageToPointSetFilter();
-  ~HarrisImageToPointSetFilter() ITK_OVERRIDE {}
+  ~HarrisImageToPointSetFilter() override {}
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HarrisImageToPointSetFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Corner/include/otbLineSpatialObjectListToRightAnglePointSetFilter.h b/Modules/Feature/Corner/include/otbLineSpatialObjectListToRightAnglePointSetFilter.h
index 8726c3009f..68c594ec0b 100644
--- a/Modules/Feature/Corner/include/otbLineSpatialObjectListToRightAnglePointSetFilter.h
+++ b/Modules/Feature/Corner/include/otbLineSpatialObjectListToRightAnglePointSetFilter.h
@@ -104,7 +104,7 @@ protected:
    *
    */
 
-  void GenerateOutputInformation() ITK_OVERRIDE{}
+  void GenerateOutputInformation() override{}
 
   /**
    * Constructor.
@@ -113,15 +113,15 @@ protected:
   /**
    * Destructor.
    */
-  ~LineSpatialObjectListToRightAnglePointSetFilter() ITK_OVERRIDE{}
+  ~LineSpatialObjectListToRightAnglePointSetFilter() override{}
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
   /**
    * Angle computation
    */
diff --git a/Modules/Feature/Corner/include/otbVectorDataToRightAngleVectorDataFilter.h b/Modules/Feature/Corner/include/otbVectorDataToRightAngleVectorDataFilter.h
index c034f2315c..a2c985fc20 100644
--- a/Modules/Feature/Corner/include/otbVectorDataToRightAngleVectorDataFilter.h
+++ b/Modules/Feature/Corner/include/otbVectorDataToRightAngleVectorDataFilter.h
@@ -87,11 +87,11 @@ protected:
   /** Constructor.*/
   VectorDataToRightAngleVectorDataFilter();
   /**Destructor.*/
-  ~VectorDataToRightAngleVectorDataFilter() ITK_OVERRIDE{}
+  ~VectorDataToRightAngleVectorDataFilter() override{}
   /** Standard PrintSelf method.*/
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**Main computation method.*/
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
   /**Angle computation.*/
   virtual double ComputeAngleFormedBySegments(LineType * lineDst, LineType * lineSrc);
   /** When we find a right angle, one compute the coordinate of the segments intersection.*/
diff --git a/Modules/Feature/Density/include/otbKeyPointDensityImageFilter.h b/Modules/Feature/Density/include/otbKeyPointDensityImageFilter.h
index ad33f74572..2944414abd 100644
--- a/Modules/Feature/Density/include/otbKeyPointDensityImageFilter.h
+++ b/Modules/Feature/Density/include/otbKeyPointDensityImageFilter.h
@@ -99,16 +99,16 @@ protected:
   /**
    * Destructor.
    */
-  ~KeyPointDensityImageFilter() ITK_OVERRIDE;
+  ~KeyPointDensityImageFilter() override;
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
   //virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId );
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Feature/Density/include/otbPointSetDensityEpanechnikovFunction.h b/Modules/Feature/Density/include/otbPointSetDensityEpanechnikovFunction.h
index ade7a2bace..6abb4fc1c0 100644
--- a/Modules/Feature/Density/include/otbPointSetDensityEpanechnikovFunction.h
+++ b/Modules/Feature/Density/include/otbPointSetDensityEpanechnikovFunction.h
@@ -65,13 +65,13 @@ public:
   itkGetMacro(Radius, unsigned int);
 
   /** Evaluate Method */
-  OutputType Evaluate(const InputType& input) const ITK_OVERRIDE;
+  OutputType Evaluate(const InputType& input) const override;
 
 protected:
   PointSetDensityEpanechnikovFunction() : m_Radius(1) {};
-  ~PointSetDensityEpanechnikovFunction() ITK_OVERRIDE {}
+  ~PointSetDensityEpanechnikovFunction() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetDensityEpanechnikovFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Density/include/otbPointSetDensityFunction.h b/Modules/Feature/Density/include/otbPointSetDensityFunction.h
index 622e28ff19..fc1d0ccff4 100644
--- a/Modules/Feature/Density/include/otbPointSetDensityFunction.h
+++ b/Modules/Feature/Density/include/otbPointSetDensityFunction.h
@@ -64,13 +64,13 @@ public:
   itkGetMacro(Radius, unsigned int);
 
   /** Evaluate Method */
-  OutputType Evaluate(const InputType& input) const ITK_OVERRIDE;
+  OutputType Evaluate(const InputType& input) const override;
 
 protected:
   PointSetDensityFunction() : m_Radius(1) {};
-  ~PointSetDensityFunction() ITK_OVERRIDE {}
+  ~PointSetDensityFunction() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetDensityFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Density/include/otbPointSetDensityGaussianFunction.h b/Modules/Feature/Density/include/otbPointSetDensityGaussianFunction.h
index 56955afdf7..44fadcfc97 100644
--- a/Modules/Feature/Density/include/otbPointSetDensityGaussianFunction.h
+++ b/Modules/Feature/Density/include/otbPointSetDensityGaussianFunction.h
@@ -65,13 +65,13 @@ public:
   itkGetMacro(Radius, unsigned int);
 
   /** Evaluate Method */
-  OutputType Evaluate(const InputType& input) const ITK_OVERRIDE;
+  OutputType Evaluate(const InputType& input) const override;
 
 protected:
   PointSetDensityGaussianFunction() : m_Radius(1) {};
-  ~PointSetDensityGaussianFunction() ITK_OVERRIDE {}
+  ~PointSetDensityGaussianFunction() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetDensityGaussianFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Density/include/otbPointSetToDensityImageFilter.h b/Modules/Feature/Density/include/otbPointSetToDensityImageFilter.h
index a68b729dad..47f61fe050 100644
--- a/Modules/Feature/Density/include/otbPointSetToDensityImageFilter.h
+++ b/Modules/Feature/Density/include/otbPointSetToDensityImageFilter.h
@@ -82,27 +82,27 @@ protected:
   /**
    * Destructor.
    */
-  ~PointSetToDensityImageFilter() ITK_OVERRIDE {}
+  ~PointSetToDensityImageFilter() override {}
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * Call the ImageSource::GenerateData which handle multithreading
    */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /**
    * Main computation method.
    */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
   /**
   * Main computation method.
   */
-  void  GenerateOutputInformation() ITK_OVERRIDE;
+  void  GenerateOutputInformation() override;
 
 private:
 
diff --git a/Modules/Feature/Descriptors/include/otbForwardFourierMellinTransformImageFilter.h b/Modules/Feature/Descriptors/include/otbForwardFourierMellinTransformImageFilter.h
index de10e1cf11..56fa10d27f 100644
--- a/Modules/Feature/Descriptors/include/otbForwardFourierMellinTransformImageFilter.h
+++ b/Modules/Feature/Descriptors/include/otbForwardFourierMellinTransformImageFilter.h
@@ -129,15 +129,15 @@ public:
 
 protected:
   ForwardFourierMellinTransformImageFilter();
-  ~ForwardFourierMellinTransformImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ForwardFourierMellinTransformImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Main Computation Method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   ForwardFourierMellinTransformImageFilter(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Descriptors/include/otbFourierMellinDescriptorsImageFunction.h b/Modules/Feature/Descriptors/include/otbFourierMellinDescriptorsImageFunction.h
index b2e6864a13..9eac6eeebc 100644
--- a/Modules/Feature/Descriptors/include/otbFourierMellinDescriptorsImageFunction.h
+++ b/Modules/Feature/Descriptors/include/otbFourierMellinDescriptorsImageFunction.h
@@ -101,17 +101,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -131,8 +131,8 @@ public:
 
 protected:
   FourierMellinDescriptorsImageFunction();
-  ~FourierMellinDescriptorsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FourierMellinDescriptorsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FourierMellinDescriptorsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Descriptors/include/otbHessianToScalarImageFilter.h b/Modules/Feature/Descriptors/include/otbHessianToScalarImageFilter.h
index 04e0d2bdcd..67a5ca55c6 100644
--- a/Modules/Feature/Descriptors/include/otbHessianToScalarImageFilter.h
+++ b/Modules/Feature/Descriptors/include/otbHessianToScalarImageFilter.h
@@ -107,7 +107,7 @@ public:
   }
 protected:
   HessianToScalarImageFilter() {}
-  ~HessianToScalarImageFilter() ITK_OVERRIDE {}
+  ~HessianToScalarImageFilter() override {}
 
 private:
   HessianToScalarImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Descriptors/include/otbHistogramOfOrientedGradientCovariantImageFunction.h b/Modules/Feature/Descriptors/include/otbHistogramOfOrientedGradientCovariantImageFunction.h
index 6a464dd648..930982a8ab 100644
--- a/Modules/Feature/Descriptors/include/otbHistogramOfOrientedGradientCovariantImageFunction.h
+++ b/Modules/Feature/Descriptors/include/otbHistogramOfOrientedGradientCovariantImageFunction.h
@@ -103,17 +103,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -134,8 +134,8 @@ public:
 
 protected:
   HistogramOfOrientedGradientCovariantImageFunction();
-  ~HistogramOfOrientedGradientCovariantImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HistogramOfOrientedGradientCovariantImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HistogramOfOrientedGradientCovariantImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Descriptors/include/otbImageToHessianDeterminantImageFilter.h b/Modules/Feature/Descriptors/include/otbImageToHessianDeterminantImageFilter.h
index 7466591cdf..009f709194 100644
--- a/Modules/Feature/Descriptors/include/otbImageToHessianDeterminantImageFilter.h
+++ b/Modules/Feature/Descriptors/include/otbImageToHessianDeterminantImageFilter.h
@@ -133,15 +133,15 @@ protected:
   /**
    * Destructor.
    */
-  ~ImageToHessianDeterminantImageFilter() ITK_OVERRIDE;
+  ~ImageToHessianDeterminantImageFilter() override;
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
 
 private:
 
diff --git a/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h b/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h
index deba621934..e554389b15 100644
--- a/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h
+++ b/Modules/Feature/Descriptors/include/otbImageToSIFTKeyPointSetFilter.h
@@ -227,16 +227,16 @@ public:
 
 protected:
   /** Actually process the input */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Constructor */
   ImageToSIFTKeyPointSetFilter();
 
   /** Destructor */
-  ~ImageToSIFTKeyPointSetFilter() ITK_OVERRIDE {}
+  ~ImageToSIFTKeyPointSetFilter() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Initialize input image */
   void InitializeInputImage();
diff --git a/Modules/Feature/Descriptors/include/otbImageToSURFKeyPointSetFilter.h b/Modules/Feature/Descriptors/include/otbImageToSURFKeyPointSetFilter.h
index eec0eef16e..bb8b1f2e6d 100644
--- a/Modules/Feature/Descriptors/include/otbImageToSURFKeyPointSetFilter.h
+++ b/Modules/Feature/Descriptors/include/otbImageToSURFKeyPointSetFilter.h
@@ -134,15 +134,15 @@ protected:
   /**
    * Destructor.
    */
-  ~ImageToSURFKeyPointSetFilter() ITK_OVERRIDE;
+  ~ImageToSURFKeyPointSetFilter() override;
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
 
   /** Check local extremum for 8 neighbors (current)
    *
diff --git a/Modules/Feature/Descriptors/include/otbKeyPointSetsMatchingFilter.h b/Modules/Feature/Descriptors/include/otbKeyPointSetsMatchingFilter.h
index 671c19bc43..bf16d31549 100644
--- a/Modules/Feature/Descriptors/include/otbKeyPointSetsMatchingFilter.h
+++ b/Modules/Feature/Descriptors/include/otbKeyPointSetsMatchingFilter.h
@@ -102,12 +102,12 @@ protected:
   /// Constructor
   KeyPointSetsMatchingFilter();
   /// Destructor
-  ~KeyPointSetsMatchingFilter() ITK_OVERRIDE {}
+  ~KeyPointSetsMatchingFilter() override {}
   /// PrintSelf method
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /// Generate Data
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /**
    * Find the nearest neighbor of data1 in pointset.
diff --git a/Modules/Feature/Descriptors/include/otbLandmark.h b/Modules/Feature/Descriptors/include/otbLandmark.h
index 70573df764..997e5da5e5 100644
--- a/Modules/Feature/Descriptors/include/otbLandmark.h
+++ b/Modules/Feature/Descriptors/include/otbLandmark.h
@@ -72,9 +72,9 @@ protected:
   /// Constructor
   Landmark() {}
   /// Destructor
-  ~Landmark() ITK_OVERRIDE {}
+  ~Landmark() override {}
   /// PrintSelf method
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << indent << "Landmark: P1= " << m_Point1 << " P2= " << m_Point2 << std::endl;
diff --git a/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h b/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h
index 4cbbce49b6..ff1e7ef2b5 100644
--- a/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h
+++ b/Modules/Feature/Descriptors/include/otbSiftFastImageFilter.h
@@ -91,16 +91,16 @@ public:
 
 protected:
   /** Actually process the input */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Constructor */
   SiftFastImageFilter();
 
   /** Destructor */
-  ~SiftFastImageFilter() ITK_OVERRIDE {}
+  ~SiftFastImageFilter() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The number of scales */
diff --git a/Modules/Feature/Edge/include/otbAssociativeSymmetricalSumImageFilter.h b/Modules/Feature/Edge/include/otbAssociativeSymmetricalSumImageFilter.h
index 5e8f72c6f5..b0c011244c 100644
--- a/Modules/Feature/Edge/include/otbAssociativeSymmetricalSumImageFilter.h
+++ b/Modules/Feature/Edge/include/otbAssociativeSymmetricalSumImageFilter.h
@@ -94,7 +94,7 @@ public:
 
 protected:
   AssociativeSymmetricalSumImageFilter() {}
-  ~AssociativeSymmetricalSumImageFilter() ITK_OVERRIDE {}
+  ~AssociativeSymmetricalSumImageFilter() override {}
 
 private:
   AssociativeSymmetricalSumImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbAsymmetricFusionOfLineDetectorImageFilter.h b/Modules/Feature/Edge/include/otbAsymmetricFusionOfLineDetectorImageFilter.h
index 463564db4a..991f9c1b5e 100644
--- a/Modules/Feature/Edge/include/otbAsymmetricFusionOfLineDetectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbAsymmetricFusionOfLineDetectorImageFilter.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   AsymmetricFusionOfLineDetectorImageFilter();
-  ~AsymmetricFusionOfLineDetectorImageFilter() ITK_OVERRIDE {}
+  ~AsymmetricFusionOfLineDetectorImageFilter() override {}
 
   typedef otb::LineRatioDetectorImageFilter<InputImageType, OutputImageType, OutputImageDirectionType,
       InterpolatorType>        LineRatioType;
@@ -90,9 +90,9 @@ protected:
   typedef otb::AssociativeSymmetricalSumImageFilter<InputImageType1, InputImageType2,
       OutputImageType> AssSymSumType;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   AsymmetricFusionOfLineDetectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbEdgeDensityImageFilter.h b/Modules/Feature/Edge/include/otbEdgeDensityImageFilter.h
index 0be9d6a1bc..2b789dfe75 100644
--- a/Modules/Feature/Edge/include/otbEdgeDensityImageFilter.h
+++ b/Modules/Feature/Edge/include/otbEdgeDensityImageFilter.h
@@ -104,15 +104,15 @@ protected:
   /**
    * Destructor.
    */
-  ~EdgeDensityImageFilter() ITK_OVERRIDE;
+  ~EdgeDensityImageFilter() override;
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Feature/Edge/include/otbEdgeDetectorImageFilter.h b/Modules/Feature/Edge/include/otbEdgeDetectorImageFilter.h
index 611459bde9..33fffc7376 100644
--- a/Modules/Feature/Edge/include/otbEdgeDetectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbEdgeDetectorImageFilter.h
@@ -110,9 +110,9 @@ public:
 protected:
 
   EdgeDetectorImageFilter();
-  ~EdgeDetectorImageFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  ~EdgeDetectorImageFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Feature/Edge/include/otbExtractSegmentsImageFilter.h b/Modules/Feature/Edge/include/otbExtractSegmentsImageFilter.h
index e04a582c19..76323b278a 100644
--- a/Modules/Feature/Edge/include/otbExtractSegmentsImageFilter.h
+++ b/Modules/Feature/Edge/include/otbExtractSegmentsImageFilter.h
@@ -129,16 +129,16 @@ public:
 
 protected:
   ExtractSegmentsImageFilter();
-  ~ExtractSegmentsImageFilter() ITK_OVERRIDE {}
+  ~ExtractSegmentsImageFilter() override {}
 
   typedef PixelSuppressionByDirectionImageFilter<InputImageType, PSOutputImageType> PixelSuppressionType;
   typedef LocalHoughFilter<InputImageType>                                          LocalHoughType;
   typedef FillGapsFilter                                                            FillGapsType;
   typedef DrawLineSpatialObjectListFilter<InputImageType, OutputImageType>          DrawLineListType;
   typedef  itk::RescaleIntensityImageFilter<TInputImage, TInputImage>               RescaleType;
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ExtractSegmentsImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbFillGapsFilter.h b/Modules/Feature/Edge/include/otbFillGapsFilter.h
index 4df477cd18..3364b55fab 100644
--- a/Modules/Feature/Edge/include/otbFillGapsFilter.h
+++ b/Modules/Feature/Edge/include/otbFillGapsFilter.h
@@ -71,11 +71,11 @@ public:
 protected:
   FillGapsFilter();
 
-  ~FillGapsFilter() ITK_OVERRIDE {}
+  ~FillGapsFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   FillGapsFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbHorizontalSobelVectorImageFilter.h b/Modules/Feature/Edge/include/otbHorizontalSobelVectorImageFilter.h
index 6bd4edb5bc..e00af221d1 100644
--- a/Modules/Feature/Edge/include/otbHorizontalSobelVectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbHorizontalSobelVectorImageFilter.h
@@ -91,7 +91,7 @@ protected:
     typename Superclass::RadiusType radius = {{1, 1}};
     this->SetRadius( radius );
   }
-  ~HorizontalSobelVectorImageFilter() ITK_OVERRIDE { }
+  ~HorizontalSobelVectorImageFilter() override { }
 
 private:
   HorizontalSobelVectorImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Feature/Edge/include/otbHoughTransform2DLinesImageFilter.h b/Modules/Feature/Edge/include/otbHoughTransform2DLinesImageFilter.h
index 532c26d917..758e33dd45 100644
--- a/Modules/Feature/Edge/include/otbHoughTransform2DLinesImageFilter.h
+++ b/Modules/Feature/Edge/include/otbHoughTransform2DLinesImageFilter.h
@@ -108,7 +108,7 @@ public:
   itkNewMacro(Self);
 
   /** Method for evaluating the implicit function over the image. */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Accessors for the threshold above which the filter should consider
       the point as a valid point */
@@ -184,17 +184,17 @@ public:
 protected:
 
   HoughTransform2DLinesImageFilter();
-  ~HoughTransform2DLinesImageFilter() ITK_OVERRIDE {}
+  ~HoughTransform2DLinesImageFilter() override {}
 
   HoughTransform2DLinesImageFilter(const Self &) {}
   void operator =(const Self&) {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** HoughTransform2DLinesImageFilter needs the entire input. Therefore
    * it must provide an implementation GenerateInputRequestedRegion().
    * \sa ProcessObject::GenerateInputRequestedRegion(). */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** HoughTransform2DLinesImageFilter's output is the accumulator
    * array.  The size of the output is a function of the size of the
@@ -202,10 +202,10 @@ protected:
    * has a different size than the input, it must provide an implementation
    * of GenerateOutputInformation.
    * \sa ProcessObject::GenerateOutputRequestedRegion() */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** HoughTransform2DLinesImageFilter must produce the entire output */
-  void EnlargeOutputRequestedRegion(itk::DataObject *output) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject *output) override;
 
   int GetAngleIndex(double);
 
diff --git a/Modules/Feature/Edge/include/otbLineCorrelationDetectorImageFilter.h b/Modules/Feature/Edge/include/otbLineCorrelationDetectorImageFilter.h
index ab4d3d3278..915054394b 100644
--- a/Modules/Feature/Edge/include/otbLineCorrelationDetectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbLineCorrelationDetectorImageFilter.h
@@ -85,11 +85,11 @@ public:
 
 protected:
   LineCorrelationDetectorImageFilter();
-  ~LineCorrelationDetectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LineCorrelationDetectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Compute the measure */
-  double ComputeMeasure(std::vector<double>* m1, std::vector<double>* m2, std::vector<double>* m3) ITK_OVERRIDE;
+  double ComputeMeasure(std::vector<double>* m1, std::vector<double>* m2, std::vector<double>* m3) override;
 
 private:
   LineCorrelationDetectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbLineDetectorImageFilterBase.h b/Modules/Feature/Edge/include/otbLineDetectorImageFilterBase.h
index 03ef00ec2e..bcc411f568 100644
--- a/Modules/Feature/Edge/include/otbLineDetectorImageFilterBase.h
+++ b/Modules/Feature/Edge/include/otbLineDetectorImageFilterBase.h
@@ -132,14 +132,14 @@ public:
   itkGetConstReferenceMacro(NumberOfDirections, unsigned int);
 
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   LineDetectorImageFilterBase();
-  ~LineDetectorImageFilterBase() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LineDetectorImageFilterBase() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** LineDetectorImageFilterBase can be implemented for a treatment of filter multithreaded.
    * Thus, the ThreadedGenerateData() method is called for each thread process.
@@ -151,7 +151,7 @@ protected:
    * \sa    ImageToImageFilter::GenerateData()
   */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
   virtual double ComputeMeasure(std::vector<double>* m1, std::vector<double>* m2, std::vector<double>* m3);
 
diff --git a/Modules/Feature/Edge/include/otbLineRatioDetectorImageFilter.h b/Modules/Feature/Edge/include/otbLineRatioDetectorImageFilter.h
index 1940cbbb2f..3ed85b87e2 100644
--- a/Modules/Feature/Edge/include/otbLineRatioDetectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbLineRatioDetectorImageFilter.h
@@ -114,10 +114,10 @@ public:
 
 protected:
   LineRatioDetectorImageFilter();
-  ~LineRatioDetectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LineRatioDetectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  double ComputeMeasure(std::vector<double>* m1, std::vector<double>* m2, std::vector<double>* m3) ITK_OVERRIDE;
+  double ComputeMeasure(std::vector<double>* m1, std::vector<double>* m2, std::vector<double>* m3) override;
 
 private:
   LineRatioDetectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbLineSegmentDetector.h b/Modules/Feature/Edge/include/otbLineSegmentDetector.h
index 25c0872bd6..ef78f8c8f1 100644
--- a/Modules/Feature/Edge/include/otbLineSegmentDetector.h
+++ b/Modules/Feature/Edge/include/otbLineSegmentDetector.h
@@ -192,12 +192,12 @@ public:
 
 protected:
   LineSegmentDetector();
-  ~LineSegmentDetector() ITK_OVERRIDE {}
+  ~LineSegmentDetector() override {}
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Generate Data method*/
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Sort the image and store the coordinates in a histogram
    *  this method is used to determine the seeds where to begin the search segments
@@ -257,7 +257,7 @@ protected:
   virtual void CopyRectangle(RectangleType& rDst, RectangleType& rSrc) const;
 
   /** Printself method*/
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LineSegmentDetector(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbLocalHoughFilter.h b/Modules/Feature/Edge/include/otbLocalHoughFilter.h
index f8d52baace..38ff44693b 100644
--- a/Modules/Feature/Edge/include/otbLocalHoughFilter.h
+++ b/Modules/Feature/Edge/include/otbLocalHoughFilter.h
@@ -130,13 +130,13 @@ public:
 
 protected:
   LocalHoughFilter();
-  ~LocalHoughFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LocalHoughFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Definition of the Hough Filter. */
   typedef itk::HoughTransform2DLinesImageFilter<InputPixelType, AccumulatorPixelType> HoughFilterType;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   LocalHoughFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbPersistentVectorizationImageFilter.h b/Modules/Feature/Edge/include/otbPersistentVectorizationImageFilter.h
index f7d883212a..4bcf136cdc 100644
--- a/Modules/Feature/Edge/include/otbPersistentVectorizationImageFilter.h
+++ b/Modules/Feature/Edge/include/otbPersistentVectorizationImageFilter.h
@@ -82,16 +82,16 @@ public:
   typedef otb::ImageToEdgePathFilter<ImageType, PathType> ImageToEdgePathFilterType;
   typedef typename ImageToEdgePathFilterType::Pointer     ImageToEdgePathFilterPointerType;
 
-  void Reset(void) ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
+  void Reset(void) override;
+  void Synthetize(void) override;
 
   itkGetObjectMacro(PathList, PathListType);
 
 protected:
   PersistentVectorizationImageFilter();
-  ~PersistentVectorizationImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  ~PersistentVectorizationImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
   PersistentVectorizationImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbPixelSuppressionByDirectionImageFilter.h b/Modules/Feature/Edge/include/otbPixelSuppressionByDirectionImageFilter.h
index 647ba25f5f..1213469178 100644
--- a/Modules/Feature/Edge/include/otbPixelSuppressionByDirectionImageFilter.h
+++ b/Modules/Feature/Edge/include/otbPixelSuppressionByDirectionImageFilter.h
@@ -103,15 +103,15 @@ public:
   const InputImageType * GetInputImageDirection(void);
 
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   PixelSuppressionByDirectionImageFilter();
-  ~PixelSuppressionByDirectionImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PixelSuppressionByDirectionImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   PixelSuppressionByDirectionImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbSobelVectorImageFilter.h b/Modules/Feature/Edge/include/otbSobelVectorImageFilter.h
index 37f45c5f14..cfe3d0d709 100644
--- a/Modules/Feature/Edge/include/otbSobelVectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbSobelVectorImageFilter.h
@@ -100,7 +100,7 @@ protected:
     typename Superclass::RadiusType radius = {{1, 1}};
     this->SetRadius( radius );
   }
-  ~SobelVectorImageFilter() ITK_OVERRIDE { }
+  ~SobelVectorImageFilter() override { }
 
 private:
   SobelVectorImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Feature/Edge/include/otbStreamingLineSegmentDetector.h b/Modules/Feature/Edge/include/otbStreamingLineSegmentDetector.h
index 9f1ad77392..a161d2beea 100644
--- a/Modules/Feature/Edge/include/otbStreamingLineSegmentDetector.h
+++ b/Modules/Feature/Edge/include/otbStreamingLineSegmentDetector.h
@@ -77,15 +77,15 @@ public:
 protected:
   PersistentStreamingLineSegmentDetector();
 
-  ~PersistentStreamingLineSegmentDetector() ITK_OVERRIDE;
+  ~PersistentStreamingLineSegmentDetector() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 private:
   PersistentStreamingLineSegmentDetector(const Self &); //purposely not implemented
   void operator =(const Self&); //purposely not implemented
 
-  OutputVectorDataPointerType ProcessTile() ITK_OVERRIDE;
+  OutputVectorDataPointerType ProcessTile() override;
 };
 
 template <class TImageType>
diff --git a/Modules/Feature/Edge/include/otbTouziEdgeDetectorImageFilter.h b/Modules/Feature/Edge/include/otbTouziEdgeDetectorImageFilter.h
index ad0c0d3704..90b1cc18e9 100644
--- a/Modules/Feature/Edge/include/otbTouziEdgeDetectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbTouziEdgeDetectorImageFilter.h
@@ -101,14 +101,14 @@ public:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   TouziEdgeDetectorImageFilter();
-  ~TouziEdgeDetectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~TouziEdgeDetectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** TouziEdgeDetectorImageFilter can be implemented for a multithreaded filter treatment.
    * Thus, this implementation give the ThreadedGenerateData() method.
@@ -119,7 +119,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   TouziEdgeDetectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Edge/include/otbVerticalSobelVectorImageFilter.h b/Modules/Feature/Edge/include/otbVerticalSobelVectorImageFilter.h
index fd480b5795..b244398da4 100644
--- a/Modules/Feature/Edge/include/otbVerticalSobelVectorImageFilter.h
+++ b/Modules/Feature/Edge/include/otbVerticalSobelVectorImageFilter.h
@@ -91,7 +91,7 @@ protected:
     typename Superclass::RadiusType radius = {{1, 1}};
     this->SetRadius( radius );
   }
-  ~VerticalSobelVectorImageFilter() ITK_OVERRIDE { }
+  ~VerticalSobelVectorImageFilter() override { }
 
 private:
   VerticalSobelVectorImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Feature/Moments/include/otbComplexMomentPathFunction.h b/Modules/Feature/Moments/include/otbComplexMomentPathFunction.h
index c6de473c73..83d638752e 100644
--- a/Modules/Feature/Moments/include/otbComplexMomentPathFunction.h
+++ b/Modules/Feature/Moments/include/otbComplexMomentPathFunction.h
@@ -92,7 +92,7 @@ public:
   typedef std::complex<PrecisionType> ComplexPrecisionType;
 
   /** Evalulate the function */
-  OutputType Evaluate(const PathType& path) const ITK_OVERRIDE;
+  OutputType Evaluate(const PathType& path) const override;
   virtual OutputType Evaluate() const;
 
   itkSetMacro(P, unsigned int);
@@ -102,8 +102,8 @@ public:
 
 protected:
   ComplexMomentPathFunction();
-  ~ComplexMomentPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ComplexMomentPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ComplexMomentPathFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbComplexMomentsImageFunction.h b/Modules/Feature/Moments/include/otbComplexMomentsImageFunction.h
index ea7ccac8fc..5f86297032 100644
--- a/Modules/Feature/Moments/include/otbComplexMomentsImageFunction.h
+++ b/Modules/Feature/Moments/include/otbComplexMomentsImageFunction.h
@@ -92,17 +92,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -122,8 +122,8 @@ public:
 
 protected:
   ComplexMomentsImageFunction();
-  ~ComplexMomentsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ComplexMomentsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ComplexMomentsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbFlusserMomentsImageFunction.h b/Modules/Feature/Moments/include/otbFlusserMomentsImageFunction.h
index 38914022de..4590e02153 100644
--- a/Modules/Feature/Moments/include/otbFlusserMomentsImageFunction.h
+++ b/Modules/Feature/Moments/include/otbFlusserMomentsImageFunction.h
@@ -108,17 +108,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -133,8 +133,8 @@ public:
 
 protected:
   FlusserMomentsImageFunction();
-  ~FlusserMomentsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FlusserMomentsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FlusserMomentsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbFlusserPathFunction.h b/Modules/Feature/Moments/include/otbFlusserPathFunction.h
index 8564016eac..4f6e4788b8 100644
--- a/Modules/Feature/Moments/include/otbFlusserPathFunction.h
+++ b/Modules/Feature/Moments/include/otbFlusserPathFunction.h
@@ -93,7 +93,7 @@ public:
   typedef typename Superclass::PrecisionType PrecisionType;
 
   /** Evaluate the function at non-integer positions */
-  RealType Evaluate(const PathType& path) const ITK_OVERRIDE;
+  RealType Evaluate(const PathType& path) const override;
   virtual RealType Evaluate() const;
   /** Get/Set the radius of the neighborhood over which the
       statistics are evaluated */
@@ -102,8 +102,8 @@ public:
 
 protected:
   FlusserPathFunction();
-  ~FlusserPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FlusserPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   FlusserPathFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbGeometricMomentPathFunction.h b/Modules/Feature/Moments/include/otbGeometricMomentPathFunction.h
index 4ebbc49a6d..c02171118b 100644
--- a/Modules/Feature/Moments/include/otbGeometricMomentPathFunction.h
+++ b/Modules/Feature/Moments/include/otbGeometricMomentPathFunction.h
@@ -63,8 +63,8 @@ public:
 
 protected:
   GeometricMomentPathFunction() {};
-  ~GeometricMomentPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~GeometricMomentPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Feature/Moments/include/otbHuMomentsImageFunction.h b/Modules/Feature/Moments/include/otbHuMomentsImageFunction.h
index e74f864342..3c319ecfb3 100644
--- a/Modules/Feature/Moments/include/otbHuMomentsImageFunction.h
+++ b/Modules/Feature/Moments/include/otbHuMomentsImageFunction.h
@@ -104,17 +104,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -129,8 +129,8 @@ public:
 
 protected:
   HuMomentsImageFunction();
-  ~HuMomentsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HuMomentsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HuMomentsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbHuPathFunction.h b/Modules/Feature/Moments/include/otbHuPathFunction.h
index 6014af005c..855460a704 100644
--- a/Modules/Feature/Moments/include/otbHuPathFunction.h
+++ b/Modules/Feature/Moments/include/otbHuPathFunction.h
@@ -90,7 +90,7 @@ public:
   typedef typename Superclass::PrecisionType PrecisionType;
 
   /** Evaluate the function at non-integer positions */
-  RealType Evaluate(const PathType& path) const ITK_OVERRIDE;
+  RealType Evaluate(const PathType& path) const override;
   virtual RealType Evaluate() const;
   /** Get/Set the radius of the neighborhood over which the
       statistics are evaluated */
@@ -99,8 +99,8 @@ public:
 
 protected:
   HuPathFunction();
-  ~HuPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HuPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HuPathFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbRadiometricMomentsImageFilter.h b/Modules/Feature/Moments/include/otbRadiometricMomentsImageFilter.h
index 0324437e3d..6508a9ce8e 100644
--- a/Modules/Feature/Moments/include/otbRadiometricMomentsImageFilter.h
+++ b/Modules/Feature/Moments/include/otbRadiometricMomentsImageFilter.h
@@ -92,10 +92,10 @@ public:
 
 protected:
   RadiometricMomentsImageFilter();
-  ~RadiometricMomentsImageFilter() ITK_OVERRIDE {}
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  ~RadiometricMomentsImageFilter() override {}
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
+  void GenerateInputRequestedRegion(void) override;
+  void GenerateOutputInformation(void) override;
 
 private:
   RadiometricMomentsImageFilter(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbRadiometricMomentsImageFunction.h b/Modules/Feature/Moments/include/otbRadiometricMomentsImageFunction.h
index 1fd7355e7c..49563faaaf 100644
--- a/Modules/Feature/Moments/include/otbRadiometricMomentsImageFunction.h
+++ b/Modules/Feature/Moments/include/otbRadiometricMomentsImageFunction.h
@@ -89,17 +89,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -114,8 +114,8 @@ public:
 
 protected:
   RadiometricMomentsImageFunction();
-  ~RadiometricMomentsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~RadiometricMomentsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RadiometricMomentsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Moments/include/otbRealMomentPathFunction.h b/Modules/Feature/Moments/include/otbRealMomentPathFunction.h
index 70765ce6f7..fdb123749a 100644
--- a/Modules/Feature/Moments/include/otbRealMomentPathFunction.h
+++ b/Modules/Feature/Moments/include/otbRealMomentPathFunction.h
@@ -67,8 +67,8 @@ public:
 
 protected:
   RealMomentPathFunction() {}
-  ~RealMomentPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~RealMomentPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Feature/Moments/include/otbRealMomentsImageFunction.h b/Modules/Feature/Moments/include/otbRealMomentsImageFunction.h
index 7dcfce0489..d535d989cb 100644
--- a/Modules/Feature/Moments/include/otbRealMomentsImageFunction.h
+++ b/Modules/Feature/Moments/include/otbRealMomentsImageFunction.h
@@ -79,17 +79,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -109,8 +109,8 @@ public:
 
 protected:
   RealMomentsImageFunction();
-  ~RealMomentsImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~RealMomentsImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RealMomentsImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/SeamCarving/include/otbAddCarvingPathFilter.h b/Modules/Feature/SeamCarving/include/otbAddCarvingPathFilter.h
index 2b0e1a4b9d..4c8f48760d 100644
--- a/Modules/Feature/SeamCarving/include/otbAddCarvingPathFilter.h
+++ b/Modules/Feature/SeamCarving/include/otbAddCarvingPathFilter.h
@@ -114,15 +114,15 @@ public:
   itkSetMacro(Direction, unsigned int);
   itkGetConstMacro(Direction, unsigned int);
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
+  void GenerateInputRequestedRegion() override;
 
 protected:
   AddCarvingPathFilter();
-  ~AddCarvingPathFilter() ITK_OVERRIDE {}
+  ~AddCarvingPathFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
   AddCarvingPathFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/SeamCarving/include/otbImageToCarvingPathFilter.h b/Modules/Feature/SeamCarving/include/otbImageToCarvingPathFilter.h
index a3cdcc3623..d48e79b04c 100644
--- a/Modules/Feature/SeamCarving/include/otbImageToCarvingPathFilter.h
+++ b/Modules/Feature/SeamCarving/include/otbImageToCarvingPathFilter.h
@@ -93,10 +93,10 @@ public:
 
 protected:
   ImageToCarvingPathFilter();
-  ~ImageToCarvingPathFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE {}  //does nothing
-  void GenerateData() ITK_OVERRIDE;
+  ~ImageToCarvingPathFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateOutputInformation() override {}  //does nothing
+  void GenerateData() override;
 
 private:
   ImageToCarvingPathFilter(const Self &); // purposely not implemented
diff --git a/Modules/Feature/SeamCarving/include/otbRemoveCarvingPathFilter.h b/Modules/Feature/SeamCarving/include/otbRemoveCarvingPathFilter.h
index 81cdd304b1..3ad0f99046 100644
--- a/Modules/Feature/SeamCarving/include/otbRemoveCarvingPathFilter.h
+++ b/Modules/Feature/SeamCarving/include/otbRemoveCarvingPathFilter.h
@@ -115,14 +115,14 @@ public:
   itkSetMacro(Direction, unsigned int);
   itkGetConstMacro(Direction, unsigned int);
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 protected:
   RemoveCarvingPathFilter();
-  ~RemoveCarvingPathFilter() ITK_OVERRIDE {}
+  ~RemoveCarvingPathFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
   RemoveCarvingPathFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbGreyLevelCooccurrenceIndexedList.h b/Modules/Feature/Textures/include/otbGreyLevelCooccurrenceIndexedList.h
index f4c1692d28..6e3cd1707a 100644
--- a/Modules/Feature/Textures/include/otbGreyLevelCooccurrenceIndexedList.h
+++ b/Modules/Feature/Textures/include/otbGreyLevelCooccurrenceIndexedList.h
@@ -138,7 +138,7 @@ public:
 
 protected:
   GreyLevelCooccurrenceIndexedList();
-  ~GreyLevelCooccurrenceIndexedList() ITK_OVERRIDE { }
+  ~GreyLevelCooccurrenceIndexedList() override { }
 
   /** create a cooccurrence pair with given index and frequency = 1
     * value. Next occurrence of same index is checked via m_LookupArray and the
@@ -155,7 +155,7 @@ protected:
   /** Get index of the pixelPair combination and save the result in index **/
   bool GetIndex(const PixelPairType & pixelPair, IndexType & index) const;
 
-  void PrintSelf(std::ostream & os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream & os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Feature/Textures/include/otbHaralickTexturesImageFunction.h b/Modules/Feature/Textures/include/otbHaralickTexturesImageFunction.h
index 167fd36770..bc717f3838 100644
--- a/Modules/Feature/Textures/include/otbHaralickTexturesImageFunction.h
+++ b/Modules/Feature/Textures/include/otbHaralickTexturesImageFunction.h
@@ -149,17 +149,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -203,8 +203,8 @@ public:
 
 protected:
   HaralickTexturesImageFunction();
-  ~HaralickTexturesImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HaralickTexturesImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   HaralickTexturesImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbSFSTexturesImageFilter.h b/Modules/Feature/Textures/include/otbSFSTexturesImageFilter.h
index 2ac676e4ae..a415527900 100644
--- a/Modules/Feature/Textures/include/otbSFSTexturesImageFilter.h
+++ b/Modules/Feature/Textures/include/otbSFSTexturesImageFilter.h
@@ -213,18 +213,18 @@ public:
   const OutputImageType * GetSDOutput() const;
   OutputImageType * GetSDOutput();
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   std::vector<FunctorType> m_FunctorList;
 
 protected:
   SFSTexturesImageFilter();
-  ~SFSTexturesImageFilter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SFSTexturesImageFilter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   /** Pad the input requested region by radius */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 private:
   SFSTexturesImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h b/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
index 8ed418c5f0..22d3fe478e 100644
--- a/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
+++ b/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
@@ -213,15 +213,15 @@ protected:
   /** Constructor */
   ScalarImageToAdvancedTexturesFilter();
   /** Destructor */
-  ~ScalarImageToAdvancedTexturesFilter() ITK_OVERRIDE;
+  ~ScalarImageToAdvancedTexturesFilter() override;
   /** Generate the output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Generate the input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Before Parallel textures extraction */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /** Parallel textures extraction */
-  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) override;
 
 private:
   ScalarImageToAdvancedTexturesFilter(const Self&); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbScalarImageToHigherOrderTexturesFilter.h b/Modules/Feature/Textures/include/otbScalarImageToHigherOrderTexturesFilter.h
index f252b673ca..72b6517fff 100644
--- a/Modules/Feature/Textures/include/otbScalarImageToHigherOrderTexturesFilter.h
+++ b/Modules/Feature/Textures/include/otbScalarImageToHigherOrderTexturesFilter.h
@@ -200,13 +200,13 @@ protected:
   /** Constructor */
   ScalarImageToHigherOrderTexturesFilter();
   /** Destructor */
-  ~ScalarImageToHigherOrderTexturesFilter() ITK_OVERRIDE;
+  ~ScalarImageToHigherOrderTexturesFilter() override;
   /** Generate the output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Generate the input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Parallel textures extraction */
-  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) override;
 
 private:
   ScalarImageToHigherOrderTexturesFilter(const Self&); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbScalarImageToPanTexTextureFilter.h b/Modules/Feature/Textures/include/otbScalarImageToPanTexTextureFilter.h
index 74e040025e..3c5d650069 100644
--- a/Modules/Feature/Textures/include/otbScalarImageToPanTexTextureFilter.h
+++ b/Modules/Feature/Textures/include/otbScalarImageToPanTexTextureFilter.h
@@ -114,11 +114,11 @@ protected:
   /** Constructor */
   ScalarImageToPanTexTextureFilter();
   /** Destructor */
-  ~ScalarImageToPanTexTextureFilter() ITK_OVERRIDE;
+  ~ScalarImageToPanTexTextureFilter() override;
   /** Generate the input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Parallel textures extraction */
-  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) override;
 
 private:
   ScalarImageToPanTexTextureFilter(const Self&); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbScalarImageToTexturesFilter.h b/Modules/Feature/Textures/include/otbScalarImageToTexturesFilter.h
index 3b9b8dfaf2..b3732a164a 100644
--- a/Modules/Feature/Textures/include/otbScalarImageToTexturesFilter.h
+++ b/Modules/Feature/Textures/include/otbScalarImageToTexturesFilter.h
@@ -209,15 +209,15 @@ protected:
   /** Constructor */
   ScalarImageToTexturesFilter();
   /** Destructor */
-  ~ScalarImageToTexturesFilter() ITK_OVERRIDE;
+  ~ScalarImageToTexturesFilter() override;
   /** Generate the output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Generate the input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Before Parallel textures extraction */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /** Parallel textures extraction */
-  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType& outputRegion, itk::ThreadIdType threadId) override;
 
 private:
   ScalarImageToTexturesFilter(const Self&); //purposely not implemented
diff --git a/Modules/Feature/Textures/include/otbTextureImageFunction.h b/Modules/Feature/Textures/include/otbTextureImageFunction.h
index 316a39c0ff..02040fe05f 100644
--- a/Modules/Feature/Textures/include/otbTextureImageFunction.h
+++ b/Modules/Feature/Textures/include/otbTextureImageFunction.h
@@ -77,17 +77,17 @@ public:
   itkStaticConstMacro(ImageDimension, unsigned int, InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  RealType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  RealType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  RealType Evaluate(const PointType& point) const ITK_OVERRIDE
+  RealType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   RealType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -120,8 +120,8 @@ public:
 
 protected:
   TextureImageFunction();
-  ~TextureImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~TextureImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   TextureImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbBinaryFunctorNeighborhoodJoinHistogramImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbBinaryFunctorNeighborhoodJoinHistogramImageFilter.h
index e9822f5cb7..3b82bad169 100644
--- a/Modules/Filtering/ChangeDetection/include/otbBinaryFunctorNeighborhoodJoinHistogramImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbBinaryFunctorNeighborhoodJoinHistogramImageFilter.h
@@ -148,9 +148,9 @@ public:
 
 protected:
   BinaryFunctorNeighborhoodJoinHistogramImageFilter();
-  ~BinaryFunctorNeighborhoodJoinHistogramImageFilter() ITK_OVERRIDE {}
+  ~BinaryFunctorNeighborhoodJoinHistogramImageFilter() override {}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** BinaryFunctorNeighborhoodJoinHistogramImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -163,12 +163,12 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /**
    * Pad the inputs requested regions by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   RadiusSizeType m_Radius;
 
diff --git a/Modules/Filtering/ChangeDetection/include/otbCBAMIChangeDetector.h b/Modules/Filtering/ChangeDetection/include/otbCBAMIChangeDetector.h
index 31f47e259f..e6650ce676 100644
--- a/Modules/Filtering/ChangeDetection/include/otbCBAMIChangeDetector.h
+++ b/Modules/Filtering/ChangeDetection/include/otbCBAMIChangeDetector.h
@@ -84,7 +84,7 @@ public:
 
 protected:
   CBAMIChangeDetector() {}
-  ~CBAMIChangeDetector() ITK_OVERRIDE {}
+  ~CBAMIChangeDetector() override {}
 
 private:
   CBAMIChangeDetector(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbCorrelationChangeDetector.h b/Modules/Filtering/ChangeDetection/include/otbCorrelationChangeDetector.h
index e6831bceba..4b710c4bba 100644
--- a/Modules/Filtering/ChangeDetection/include/otbCorrelationChangeDetector.h
+++ b/Modules/Filtering/ChangeDetection/include/otbCorrelationChangeDetector.h
@@ -83,7 +83,7 @@ public:
 
 protected:
   CorrelationChangeDetector() {}
-  ~CorrelationChangeDetector() ITK_OVERRIDE {}
+  ~CorrelationChangeDetector() override {}
 
 private:
   CorrelationChangeDetector(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbJoinHistogramMIImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbJoinHistogramMIImageFilter.h
index 56b3f5ae70..98f736f84a 100644
--- a/Modules/Filtering/ChangeDetection/include/otbJoinHistogramMIImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbJoinHistogramMIImageFilter.h
@@ -84,7 +84,7 @@ public:
 
 protected:
   JoinHistogramMIImageFilter() {}
-  ~JoinHistogramMIImageFilter() ITK_OVERRIDE {}
+  ~JoinHistogramMIImageFilter() override {}
 
 private:
   JoinHistogramMIImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerDistanceImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerDistanceImageFilter.h
index b28e9d8b10..ad9c088b64 100644
--- a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerDistanceImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerDistanceImageFilter.h
@@ -170,7 +170,7 @@ public:
 
 protected:
   KullbackLeiblerDistanceImageFilter() {}
-  ~KullbackLeiblerDistanceImageFilter() ITK_OVERRIDE {}
+  ~KullbackLeiblerDistanceImageFilter() override {}
 
 private:
   KullbackLeiblerDistanceImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerProfileImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerProfileImageFilter.h
index 2a04a140b7..bced45b78b 100644
--- a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerProfileImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerProfileImageFilter.h
@@ -187,7 +187,7 @@ public:
 
 protected:
   KullbackLeiblerProfileImageFilter() {}
-  ~KullbackLeiblerProfileImageFilter() ITK_OVERRIDE {}
+  ~KullbackLeiblerProfileImageFilter() override {}
 
 private:
   KullbackLeiblerProfileImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerSupervizedDistanceImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerSupervizedDistanceImageFilter.h
index e74d68c904..b26619d8e2 100644
--- a/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerSupervizedDistanceImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbKullbackLeiblerSupervizedDistanceImageFilter.h
@@ -146,13 +146,13 @@ public:
   void  SetTrainingArea(const TInputROIImage * trainingImage);
 
 protected:
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
 
   KullbackLeiblerSupervizedDistanceImageFilter()
     {
     this->SetNumberOfRequiredInputs(3);
     }
-  ~KullbackLeiblerSupervizedDistanceImageFilter() ITK_OVERRIDE {}
+  ~KullbackLeiblerSupervizedDistanceImageFilter() override {}
 
 private:
   KullbackLeiblerSupervizedDistanceImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbLHMIChangeDetector.h b/Modules/Filtering/ChangeDetection/include/otbLHMIChangeDetector.h
index 391d622411..bb54a51f66 100644
--- a/Modules/Filtering/ChangeDetection/include/otbLHMIChangeDetector.h
+++ b/Modules/Filtering/ChangeDetection/include/otbLHMIChangeDetector.h
@@ -84,7 +84,7 @@ public:
 
 protected:
   LHMIChangeDetector() {}
-  ~LHMIChangeDetector() ITK_OVERRIDE {}
+  ~LHMIChangeDetector() override {}
 
 private:
   LHMIChangeDetector(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbMeanDifferenceImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbMeanDifferenceImageFilter.h
index 7d0a70ed2c..a93d1b6bc9 100644
--- a/Modules/Filtering/ChangeDetection/include/otbMeanDifferenceImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbMeanDifferenceImageFilter.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   MeanDifferenceImageFilter() {}
-  ~MeanDifferenceImageFilter() ITK_OVERRIDE {}
+  ~MeanDifferenceImageFilter() override {}
 
 private:
   MeanDifferenceImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbMeanRatioImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbMeanRatioImageFilter.h
index 6de8f8cf3d..48aa6ae096 100644
--- a/Modules/Filtering/ChangeDetection/include/otbMeanRatioImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbMeanRatioImageFilter.h
@@ -80,7 +80,7 @@ public:
 
 protected:
   MeanRatioImageFilter() {}
-  ~MeanRatioImageFilter() ITK_OVERRIDE {}
+  ~MeanRatioImageFilter() override {}
 
 private:
   MeanRatioImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ChangeDetection/include/otbMultivariateAlterationDetectorImageFilter.h b/Modules/Filtering/ChangeDetection/include/otbMultivariateAlterationDetectorImageFilter.h
index 9e608d3c1b..51bc83c9b8 100644
--- a/Modules/Filtering/ChangeDetection/include/otbMultivariateAlterationDetectorImageFilter.h
+++ b/Modules/Filtering/ChangeDetection/include/otbMultivariateAlterationDetectorImageFilter.h
@@ -155,11 +155,11 @@ public:
 
 protected:
   MultivariateAlterationDetectorImageFilter();
-  ~MultivariateAlterationDetectorImageFilter() ITK_OVERRIDE {}
+  ~MultivariateAlterationDetectorImageFilter() override {}
 
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   MultivariateAlterationDetectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ColorMap/include/otbReliefColormapFunctor.h b/Modules/Filtering/ColorMap/include/otbReliefColormapFunctor.h
index 26a6265414..5ea5632698 100644
--- a/Modules/Filtering/ColorMap/include/otbReliefColormapFunctor.h
+++ b/Modules/Filtering/ColorMap/include/otbReliefColormapFunctor.h
@@ -58,11 +58,11 @@ public:
   typedef typename Superclass::ScalarType   ScalarType;
   typedef typename Superclass::RealType     RealType;
 
-  RGBPixelType operator ()(const TScalar&) const ITK_OVERRIDE;
+  RGBPixelType operator ()(const TScalar&) const override;
 
 protected:
   ReliefColormapFunctor(){};
-  ~ReliefColormapFunctor() ITK_OVERRIDE {}
+  ~ReliefColormapFunctor() override {}
 
 private:
   ReliefColormapFunctor(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ColorMap/include/otbScalarToRainbowRGBPixelFunctor.h b/Modules/Filtering/ColorMap/include/otbScalarToRainbowRGBPixelFunctor.h
index ba1e0cb6e9..c5b8a54923 100644
--- a/Modules/Filtering/ColorMap/include/otbScalarToRainbowRGBPixelFunctor.h
+++ b/Modules/Filtering/ColorMap/include/otbScalarToRainbowRGBPixelFunctor.h
@@ -139,7 +139,7 @@ class ITK_EXPORT ScalarToRainbowRGBPixelFunctor
 {
 public:
   ScalarToRainbowRGBPixelFunctor();
-  ~ScalarToRainbowRGBPixelFunctor() ITK_OVERRIDE {}
+  ~ScalarToRainbowRGBPixelFunctor() override {}
 
   typedef ScalarToRainbowRGBPixelFunctor                      Self;
   typedef itk::Function::ColormapFunction<TScalar, TRGBPixel> Superclass;
@@ -154,7 +154,7 @@ public:
   typedef TScalar                              ScalarType;
   typedef HSVToRGBFunctor<RGBPixelType>        HSVToRGBFunctorType;
 
-  RGBPixelType operator ()(const TScalar&) const ITK_OVERRIDE;
+  RGBPixelType operator ()(const TScalar&) const override;
 
 protected:
   RGBPixelType HSVToRGB(double h, double s, double v) const;
diff --git a/Modules/Filtering/Convolution/include/otbConvolutionImageFilter.h b/Modules/Filtering/Convolution/include/otbConvolutionImageFilter.h
index 9517e1ecd0..1eabaf7c1a 100644
--- a/Modules/Filtering/Convolution/include/otbConvolutionImageFilter.h
+++ b/Modules/Filtering/Convolution/include/otbConvolutionImageFilter.h
@@ -157,8 +157,8 @@ public:
 
 protected:
   ConvolutionImageFilter();
-  ~ConvolutionImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ConvolutionImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ConvolutionImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData()
@@ -171,7 +171,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
   /** ConvolutionImageFilter needs a larger input requested region than
    * the output requested region.  As such, ConvolutionImageFilter needs
@@ -180,7 +180,7 @@ protected:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 private:
   ConvolutionImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Convolution/include/otbGaborFilterGenerator.h b/Modules/Filtering/Convolution/include/otbGaborFilterGenerator.h
index b4b42f067f..9f26a1c94d 100644
--- a/Modules/Filtering/Convolution/include/otbGaborFilterGenerator.h
+++ b/Modules/Filtering/Convolution/include/otbGaborFilterGenerator.h
@@ -112,17 +112,17 @@ protected:
   /** constructor */
   GaborFilterGenerator();
   /** destructor */
-  ~GaborFilterGenerator() ITK_OVERRIDE {}
+  ~GaborFilterGenerator() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Generate the filter coefficients */
   void GenerateFilter();
 
   /** Reimplement the Modified() method
    *to set the NeedToGenerateFilter to true */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
   GaborFilterGenerator(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Convolution/include/otbOverlapSaveConvolutionImageFilter.h b/Modules/Filtering/Convolution/include/otbOverlapSaveConvolutionImageFilter.h
index 6ecf591280..a72ed2dfa9 100644
--- a/Modules/Filtering/Convolution/include/otbOverlapSaveConvolutionImageFilter.h
+++ b/Modules/Filtering/Convolution/include/otbOverlapSaveConvolutionImageFilter.h
@@ -142,7 +142,7 @@ public:
    * region than the output region.
    */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 #ifdef ITK_USE_CONCEPT_CHECKING
   /** Begin concept checking */
@@ -154,13 +154,13 @@ protected:
   /** Constructor */
   OverlapSaveConvolutionImageFilter();
   /** destructor */
-  ~OverlapSaveConvolutionImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~OverlapSaveConvolutionImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /* TODO For the moment this class provide only a GenerateData(),
    * due to limited thread-safety of FFTW plan creation.
    */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   // void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
 
 private:
diff --git a/Modules/Filtering/DEM/include/otbDEMCaracteristicsExtractor.h b/Modules/Filtering/DEM/include/otbDEMCaracteristicsExtractor.h
index cfa03e7a8d..110850719e 100644
--- a/Modules/Filtering/DEM/include/otbDEMCaracteristicsExtractor.h
+++ b/Modules/Filtering/DEM/include/otbDEMCaracteristicsExtractor.h
@@ -144,11 +144,11 @@ public:
 
 protected:
   DEMCaracteristicsExtractor();
-  ~DEMCaracteristicsExtractor() ITK_OVERRIDE;
+  ~DEMCaracteristicsExtractor() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   /** Angle parameters*/
diff --git a/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h b/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
index 26464e39fc..cc1e5d4de7 100644
--- a/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
+++ b/Modules/Filtering/DEM/include/otbDEMToImageGenerator.h
@@ -176,13 +176,13 @@ public:
 
 protected:
   DEMToImageGenerator();
-  ~DEMToImageGenerator() ITK_OVERRIDE{}
+  ~DEMToImageGenerator() override{}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void BeforeThreadedGenerateData() override;
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
+  void GenerateOutputInformation() override;
 
   DEMHandlerType::Pointer m_DEMHandler;
   PointType               m_OutputOrigin;
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionBinaryImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionBinaryImageFilter.h
index 2497d6b0ee..5dd2c46622 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionBinaryImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionBinaryImageFilter.h
@@ -89,10 +89,10 @@ public:
 
 protected:
   AngularProjectionBinaryImageFilter();
-  ~AngularProjectionBinaryImageFilter() ITK_OVERRIDE { }
+  ~AngularProjectionBinaryImageFilter() override { }
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, itk::ThreadIdType threadID ) ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
+  void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, itk::ThreadIdType threadID ) override;
 
 private:
   AngularProjectionBinaryImageFilter(const Self&); // not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionImageFilter.h
index f7976fe05f..4a8a4f906c 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionImageFilter.h
@@ -84,7 +84,7 @@ public:
   itkGetMacro(AngleArray, AngleArrayType);
   itkSetMacro(AngleArray, AngleArrayType);
 
-  void SetInput ( unsigned int i, const InputImageType * ) ITK_OVERRIDE;
+  void SetInput ( unsigned int i, const InputImageType * ) override;
   using Superclass::SetInput;
 
   const InputImageType * GetInput( unsigned int i ) const;
@@ -92,9 +92,9 @@ public:
 
 protected:
   AngularProjectionImageFilter();
-  ~AngularProjectionImageFilter() ITK_OVERRIDE { }
+  ~AngularProjectionImageFilter() override { }
 
-  void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, itk::ThreadIdType threadID ) ITK_OVERRIDE;
+  void ThreadedGenerateData( const OutputImageRegionType & outputRegionForThread, itk::ThreadIdType threadID ) override;
   virtual OutputImagePixelType InternalGenerateData ( const ImageRegionConstIteratorVectorType & ) const;
 
 private:
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionSetImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionSetImageFilter.h
index 3b1e8e2b12..9a8bdd9e4f 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionSetImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbAngularProjectionSetImageFilter.h
@@ -126,9 +126,9 @@ public:
 
 protected:
   AngularProjectionSetImageFilter();
-  ~AngularProjectionSetImageFilter() ITK_OVERRIDE { }
+  ~AngularProjectionSetImageFilter() override { }
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   AngularProjectionSetImageFilter(const Self&); // not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbEstimateInnerProductPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbEstimateInnerProductPCAImageFilter.h
index 870d196f1b..1864a7e5f9 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbEstimateInnerProductPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbEstimateInnerProductPCAImageFilter.h
@@ -78,21 +78,21 @@ public:
 
 protected:
   EstimateInnerProductPCAImageFilter();
-  ~EstimateInnerProductPCAImageFilter() ITK_OVERRIDE {}
+  ~EstimateInnerProductPCAImageFilter() override {}
 
   /** GenerateOutputInformation
    * Set the number of bands of the output.
    * Copy information from the first image of the list if existing.
    **/
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /**
    * BeforeThreadedGenerateData
    **/
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   EstimateInnerProductPCAImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.h
index aab7b1a5cd..5e9d614342 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbFastICAImageFilter.h
@@ -149,7 +149,7 @@ public:
 
 protected:
   FastICAImageFilter ();
-  ~FastICAImageFilter() ITK_OVERRIDE { }
+  ~FastICAImageFilter() override { }
 
   /** GenerateOutputInformation
    * Propagate vector length info and modify if needed
@@ -159,12 +159,12 @@ protected:
    * (which may not be square) has to be given,
    * otherwize, GenerateOutputInformation throws an itk::ExceptionObject
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** GenerateData
    * Through a filter of filter structure
    */
-  void GenerateData () ITK_OVERRIDE;
+  void GenerateData () override;
 
   /** Internal methods */
   void ForwardGenerateOutputInformation();
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbFastICAInternalOptimizerVectorImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbFastICAInternalOptimizerVectorImageFilter.h
index ed81ac736e..30be138c35 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbFastICAInternalOptimizerVectorImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbFastICAInternalOptimizerVectorImageFilter.h
@@ -96,12 +96,12 @@ public:
 
 protected:
   FastICAInternalOptimizerVectorImageFilter();
-  ~FastICAInternalOptimizerVectorImageFilter() ITK_OVERRIDE { }
+  ~FastICAInternalOptimizerVectorImageFilter() override { }
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void BeforeThreadedGenerateData () ITK_OVERRIDE;
-  void ThreadedGenerateData ( const OutputRegionType &, itk::ThreadIdType ) ITK_OVERRIDE;
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
+  void BeforeThreadedGenerateData () override;
+  void ThreadedGenerateData ( const OutputRegionType &, itk::ThreadIdType ) override;
+  void AfterThreadedGenerateData() override;
 
   unsigned int m_CurrentBandForLoop;
 
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbInnerProductPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbInnerProductPCAImageFilter.h
index b92d7f619f..d63ad8da0f 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbInnerProductPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbInnerProductPCAImageFilter.h
@@ -121,13 +121,13 @@ public:
 
 protected:
   /** GenerateData */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   InnerProductPCAImageFilter();
   /** Destructor */
-  ~InnerProductPCAImageFilter() ITK_OVERRIDE {}
+  ~InnerProductPCAImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** NormalizeInnerProductPCAImageFilter can produce an image which is a different
    * resolution than its input image.  As such, NormalizeInnerProductPCAImageFilter
@@ -137,7 +137,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   InnerProductPCAImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbLocalActivityVectorImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbLocalActivityVectorImageFilter.h
index 5f9816285f..cb48b11886 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbLocalActivityVectorImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbLocalActivityVectorImageFilter.h
@@ -109,7 +109,7 @@ public:
 
 protected:
   LocalActivityVectorImageFilter() { }
-  ~LocalActivityVectorImageFilter() ITK_OVERRIDE { }
+  ~LocalActivityVectorImageFilter() override { }
 
 private:
   LocalActivityVectorImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbMNFImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbMNFImageFilter.h
index 50557f1fe2..5fb0c7812a 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbMNFImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbMNFImageFilter.h
@@ -149,7 +149,7 @@ public:
 
 protected:
   MNFImageFilter();
-  ~MNFImageFilter() ITK_OVERRIDE { }
+  ~MNFImageFilter() override { }
 
   /** GenerateOutputInformation
    * Propagate vector length info and modify if needed
@@ -159,14 +159,14 @@ protected:
    * (which may not be square) has to be given,
    * otherwize, GenerateOutputInformation throws an itk::ExceptionObject
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** GenerateData
    * Through a filter of filter structure
    */
-  void GenerateData () ITK_OVERRIDE;
+  void GenerateData () override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Internal methods */
   void ForwardGenerateOutputInformation();
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbMaximumAutocorrelationFactorImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbMaximumAutocorrelationFactorImageFilter.h
index 6acb4c466f..d32b18d0a9 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbMaximumAutocorrelationFactorImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbMaximumAutocorrelationFactorImageFilter.h
@@ -134,11 +134,11 @@ public:
 
 protected:
   MaximumAutocorrelationFactorImageFilter();
-  ~MaximumAutocorrelationFactorImageFilter() ITK_OVERRIDE {}
+  ~MaximumAutocorrelationFactorImageFilter() override {}
 
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   MaximumAutocorrelationFactorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbNAPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbNAPCAImageFilter.h
index c7847771c3..791d9cc993 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbNAPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbNAPCAImageFilter.h
@@ -89,10 +89,10 @@ public:
 
 protected:
   NAPCAImageFilter() { }
-  ~NAPCAImageFilter () ITK_OVERRIDE { }
+  ~NAPCAImageFilter () override { }
 
   /** Specific functionality of NAPCA */
-  void GenerateTransformationMatrix() ITK_OVERRIDE;
+  void GenerateTransformationMatrix() override;
 }; // end of class
 
 } // end of namespace otb
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbNormalizeInnerProductPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbNormalizeInnerProductPCAImageFilter.h
index d58f83aaec..ed2e9055c9 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbNormalizeInnerProductPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbNormalizeInnerProductPCAImageFilter.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   NormalizeInnerProductPCAImageFilter();
-  ~NormalizeInnerProductPCAImageFilter() ITK_OVERRIDE {}
+  ~NormalizeInnerProductPCAImageFilter() override {}
 
   /** NormalizeInnerProductPCAImageFilter can produce an image which is a different
    * resolution than its input image.  As such, NormalizeInnerProductPCAImageFilter
@@ -92,7 +92,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** NormalizeInnerProductPCAImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -104,12 +104,12 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** BeforeThreadedGenerateData method */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
index 63f69b86c1..4b64ed6c90 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbPCAImageFilter.h
@@ -161,7 +161,7 @@ public:
 
 protected:
   PCAImageFilter();
-  ~PCAImageFilter() ITK_OVERRIDE { }
+  ~PCAImageFilter() override { }
 
   /** GenerateOutputInformation
    * Propagate vector length info and modify if needed
@@ -171,14 +171,14 @@ protected:
    * (which may not be square) has to be given,
    * otherwize, GenerateOutputInformation throws an itk::ExceptionObject
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** GenerateData
    * Through a filter of filter structure
    */
-  void GenerateData () ITK_OVERRIDE;
+  void GenerateData () override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Internal methods */
   virtual void ForwardGenerateOutputInformation();
diff --git a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
index cae9cbb747..c419eb0937 100644
--- a/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
+++ b/Modules/Filtering/DimensionalityReduction/include/otbSparseWvltToAngleMapperListFilter.h
@@ -108,16 +108,16 @@ public:
 
 protected:
   SparseWvltToAngleMapperListFilter();
-  ~SparseWvltToAngleMapperListFilter() ITK_OVERRIDE { }
+  ~SparseWvltToAngleMapperListFilter() override { }
 
   /** Standard itk::ProcessObject subclass method. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** This method causes the filter to generate its output. */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /* Internal functions */
   virtual bool IsToGenerate ( const ImageConstIteratorVectorType & ) const;
diff --git a/Modules/Filtering/ImageManipulation/include/otbAmplitudeFunctor.h b/Modules/Filtering/ImageManipulation/include/otbAmplitudeFunctor.h
index da27e0389d..a543b2ae58 100644
--- a/Modules/Filtering/ImageManipulation/include/otbAmplitudeFunctor.h
+++ b/Modules/Filtering/ImageManipulation/include/otbAmplitudeFunctor.h
@@ -70,17 +70,17 @@ public:
   }
 
   /** Destructor */
-  ~AmplitudeFunctor() ITK_OVERRIDE {}
+  ~AmplitudeFunctor() override {}
 
   const char *GetDescription() const
   {return "Amplitude"; }
 
-  unsigned int GetOutputSize() const ITK_OVERRIDE
+  unsigned int GetOutputSize() const override
   {
     return 1;
   }
 
-  OutputPixelType operator ()(const VectorPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const VectorPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
@@ -91,13 +91,13 @@ public:
     return outPixel;
   }
 
-  OutputPixelType operator ()(ScalarType) const ITK_OVERRIDE
+  OutputPixelType operator ()(ScalarType) const override
   {
     //FIXME we don't handle the std::complex<> yet
     itkExceptionMacro(<< "Can't compute amplitude from a scalar value");
   }
 
-  OutputPixelType operator ()(const RGBPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const RGBPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
@@ -110,7 +110,7 @@ public:
     return outPixel;
   }
 
-  OutputPixelType operator ()(const RGBAPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const RGBAPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorImageFilter.h
index e0e246aee5..ec60c693df 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorImageFilter.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   BinaryFunctorImageFilter() {};
-  ~BinaryFunctorImageFilter() ITK_OVERRIDE {}
+  ~BinaryFunctorImageFilter() override {}
 
   /** BinaryFunctorImageFilter can produce an image which has a different number of bands
    * than its input image.  As such, BinaryFunctorImageFilter
@@ -65,7 +65,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
     typename Superclass::OutputImagePointer outputPtr = this->GetOutput();
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodImageFilter.h
index 2b0cc52d13..a8f69d607e 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodImageFilter.h
@@ -130,7 +130,7 @@ public:
 
 protected:
   BinaryFunctorNeighborhoodImageFilter();
-  ~BinaryFunctorNeighborhoodImageFilter() ITK_OVERRIDE {}
+  ~BinaryFunctorNeighborhoodImageFilter() override {}
 
   /** BinaryFunctorNeighborhoodImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -143,12 +143,12 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /**
    * Pad the inputs requested regions by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   RadiusSizeType m_Radius;
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodVectorImageFilter.h
index d282ec933b..dfc99b5f0b 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryFunctorNeighborhoodVectorImageFilter.h
@@ -119,7 +119,7 @@ public:
 
 protected:
   BinaryFunctorNeighborhoodVectorImageFilter();
-  ~BinaryFunctorNeighborhoodVectorImageFilter() ITK_OVERRIDE {}
+  ~BinaryFunctorNeighborhoodVectorImageFilter() override {}
 
   /** BinaryFunctorNeighborhoodVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -132,13 +132,13 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /**
    * Since the number of components per pixel depends on the radius range, one must reimplement
    * this method to set the proper number of component on the filter output.
    */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   RadiusSizeType m_Radius;
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryImageDensityFunction.h b/Modules/Filtering/ImageManipulation/include/otbBinaryImageDensityFunction.h
index a751322a72..8ab7e0c989 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryImageDensityFunction.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryImageDensityFunction.h
@@ -78,17 +78,17 @@ public:
   RealType;
 
   /** Evalulate the function at specified index */
-  RealType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  RealType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  RealType Evaluate(const PointType& point) const ITK_OVERRIDE
+  RealType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   RealType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -107,8 +107,8 @@ public:
 
 protected:
   BinaryImageDensityFunction();
-  ~BinaryImageDensityFunction() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BinaryImageDensityFunction() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BinaryImageDensityFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryImageMinimalBoundingRegionCalculator.h b/Modules/Filtering/ImageManipulation/include/otbBinaryImageMinimalBoundingRegionCalculator.h
index 2a420761d1..fea7f9a8e8 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryImageMinimalBoundingRegionCalculator.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryImageMinimalBoundingRegionCalculator.h
@@ -70,11 +70,11 @@ protected:
   /** Constructor */
   BinaryImageMinimalBoundingRegionCalculator();
   /** Destructor */
-  ~BinaryImageMinimalBoundingRegionCalculator() ITK_OVERRIDE {}
+  ~BinaryImageMinimalBoundingRegionCalculator() override {}
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 private:
   BinaryImageMinimalBoundingRegionCalculator(const Self &); // purposely not implemented
   void operator =(const Self&); // purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbBinaryImageToDensityImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbBinaryImageToDensityImageFilter.h
index 7f0e16a0e9..029b9344b3 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBinaryImageToDensityImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBinaryImageToDensityImageFilter.h
@@ -77,17 +77,17 @@ public:
   }
 
   /** Main computation method */
-  void ThreadedGenerateData(const InputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void ThreadedGenerateData(const InputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
+  void BeforeThreadedGenerateData() override;
+  void GenerateInputRequestedRegion() override;
 
 protected:
   /** Constructor */
   BinaryImageToDensityImageFilter();
   /** Destructor */
-  ~BinaryImageToDensityImageFilter() ITK_OVERRIDE;
+  ~BinaryImageToDensityImageFilter() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BinaryImageToDensityImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbBoxAndWhiskerImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbBoxAndWhiskerImageFilter.h
index 67203519be..1bd82ea6dd 100644
--- a/Modules/Filtering/ImageManipulation/include/otbBoxAndWhiskerImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbBoxAndWhiskerImageFilter.h
@@ -94,12 +94,12 @@ public:
 
 protected:
   BoxAndWhiskerImageFilter ();
-  ~BoxAndWhiskerImageFilter () ITK_OVERRIDE {}
+  ~BoxAndWhiskerImageFilter () override {}
 
   /** Main computation method implemented as a multithreaded filter */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void AllocateOutputs() ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
+  void GenerateOutputInformation() override;
+  void AllocateOutputs() override;
 
   /** Perform the outlier detection */
   PixelType PerformBoxAndWhiskerDetection(const PixelType& pixel);
diff --git a/Modules/Filtering/ImageManipulation/include/otbChangeInformationImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbChangeInformationImageFilter.h
index 7ae72a4706..3bbce052ee 100644
--- a/Modules/Filtering/ImageManipulation/include/otbChangeInformationImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbChangeInformationImageFilter.h
@@ -69,10 +69,10 @@ public:
 
 protected:
   ChangeInformationImageFilter() {}
-  ~ChangeInformationImageFilter() ITK_OVERRIDE {}
+  ~ChangeInformationImageFilter() override {}
 
   /** Apply changes to the output image metadata. */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   ChangeInformationImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbChangeLabelImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbChangeLabelImageFilter.h
index 9c32e30611..b367f140c8 100644
--- a/Modules/Filtering/ImageManipulation/include/otbChangeLabelImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbChangeLabelImageFilter.h
@@ -165,11 +165,11 @@ public:
 
 protected:
   ChangeLabelImageFilter();
-  ~ChangeLabelImageFilter() ITK_OVERRIDE {}
+  ~ChangeLabelImageFilter() override {}
   /** Generate the output information missing */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ChangeLabelImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbChangeNoDataValueFilter.h b/Modules/Filtering/ImageManipulation/include/otbChangeNoDataValueFilter.h
index 5ab3cf2435..d19f2184a3 100644
--- a/Modules/Filtering/ImageManipulation/include/otbChangeNoDataValueFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbChangeNoDataValueFilter.h
@@ -137,10 +137,10 @@ protected:
   ChangeNoDataValueFilter()
   {}
 
-  ~ChangeNoDataValueFilter() ITK_OVERRIDE
+  ~ChangeNoDataValueFilter() override
   {}
 
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbClampVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbClampVectorImageFilter.h
index 50b43302e4..84ff84cb59 100644
--- a/Modules/Filtering/ImageManipulation/include/otbClampVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbClampVectorImageFilter.h
@@ -107,8 +107,8 @@ public:
 
 protected:
   ClampVectorImageFilter();
-  ~ClampVectorImageFilter() ITK_OVERRIDE {};
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ClampVectorImageFilter() override {};
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ClampVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -121,9 +121,9 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId ) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId ) override;
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE
+  void GenerateOutputInformation(void) override
   {
     Superclass::GenerateOutputInformation();
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
index dcb79a8f25..7f9cf3f068 100644
--- a/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbConcatenateScalarValueImageFilter.h
@@ -141,11 +141,11 @@ public:
 protected:
   ConcatenateScalarValueImageFilter();
 
-  ~ConcatenateScalarValueImageFilter() ITK_OVERRIDE {}
+  ~ConcatenateScalarValueImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   ConcatenateScalarValueImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbConcatenateVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbConcatenateVectorImageFilter.h
index 06bfad6d0d..30fad1ad60 100644
--- a/Modules/Filtering/ImageManipulation/include/otbConcatenateVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbConcatenateVectorImageFilter.h
@@ -95,13 +95,13 @@ protected:
   /** Constructor. */
   ConcatenateVectorImageFilter();
   /** Destructor. */
-  ~ConcatenateVectorImageFilter() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  ~ConcatenateVectorImageFilter() override;
+  void GenerateOutputInformation() override;
+  void BeforeThreadedGenerateData() override;
   /** Main computation method. */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ConcatenateVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValue.h b/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValue.h
index 4d802c46ea..37e08144ba 100644
--- a/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValue.h
+++ b/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValue.h
@@ -70,13 +70,13 @@ public:
   typedef typename TVector::ValueType ValueType;
 
   /** Gets the distance between the origin and x */
-  double Evaluate(const TVector& x) const ITK_OVERRIDE
+  double Evaluate(const TVector& x) const override
   {
     return ::vcl_sqrt(Superclass::Evaluate(x));
   }
 
   /** Gets the distance between x1 and x2 */
-  double Evaluate(const TVector& x1, const TVector& x2) const ITK_OVERRIDE
+  double Evaluate(const TVector& x1, const TVector& x2) const override
   {
     return ::vcl_sqrt(Superclass::Evaluate(x1, x2));
   }
@@ -97,7 +97,7 @@ public:
 
 protected:
   EuclideanDistanceMetricWithMissingValue() {}
-  ~EuclideanDistanceMetricWithMissingValue() ITK_OVERRIDE {}
+  ~EuclideanDistanceMetricWithMissingValue() override {}
 }; // end of class
 
 } // end namespace statistics
diff --git a/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValuePow2.h b/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValuePow2.h
index 49b8885bbe..3fe2d4f77a 100644
--- a/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValuePow2.h
+++ b/Modules/Filtering/ImageManipulation/include/otbEuclideanDistanceMetricWithMissingValuePow2.h
@@ -69,10 +69,10 @@ public:
   typedef typename TVector::ValueType ValueType;
 
   /** Gets the distance between the origin and x */
-  double Evaluate(const TVector& x) const ITK_OVERRIDE;
+  double Evaluate(const TVector& x) const override;
 
   /** Gets the distance between x1 and x2 */
-  double Evaluate(const TVector& x1, const TVector& x2) const ITK_OVERRIDE;
+  double Evaluate(const TVector& x1, const TVector& x2) const override;
 
   /** Gets the cooridnate distance between a and b. NOTE: a and b
   * should be type of component */
@@ -93,7 +93,7 @@ public:
 
 protected:
   EuclideanDistanceMetricWithMissingValuePow2() {}
-  ~EuclideanDistanceMetricWithMissingValuePow2() ITK_OVERRIDE {}
+  ~EuclideanDistanceMetricWithMissingValuePow2() override {}
 }; // end of class
 
 } // end namespace statistics
diff --git a/Modules/Filtering/ImageManipulation/include/otbFlexibleDistanceWithMissingValue.h b/Modules/Filtering/ImageManipulation/include/otbFlexibleDistanceWithMissingValue.h
index 05298aa14d..3a703c921a 100644
--- a/Modules/Filtering/ImageManipulation/include/otbFlexibleDistanceWithMissingValue.h
+++ b/Modules/Filtering/ImageManipulation/include/otbFlexibleDistanceWithMissingValue.h
@@ -73,10 +73,10 @@ public:
   typedef typename TVector::ValueType ValueType;
 
   /** Gets the distance between the origin and x */
-  double Evaluate(const TVector& x) const ITK_OVERRIDE;
+  double Evaluate(const TVector& x) const override;
 
   /** Gets the distance between x1 and x2 */
-  double Evaluate(const TVector& x1, const TVector& x2) const ITK_OVERRIDE;
+  double Evaluate(const TVector& x1, const TVector& x2) const override;
 
   /** Gets the cooridnate distance between a and b. NOTE: a and b
   * should be type of component */
@@ -101,7 +101,7 @@ public:
 
 protected:
   FlexibleDistanceWithMissingValue() {}
-  ~FlexibleDistanceWithMissingValue() ITK_OVERRIDE {}
+  ~FlexibleDistanceWithMissingValue() override {}
 };  // end of class
 
 /** Static variable instantiation */
diff --git a/Modules/Filtering/ImageManipulation/include/otbFunctionWithNeighborhoodToImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbFunctionWithNeighborhoodToImageFilter.h
index 2febd16f5f..61168d59d1 100644
--- a/Modules/Filtering/ImageManipulation/include/otbFunctionWithNeighborhoodToImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbFunctionWithNeighborhoodToImageFilter.h
@@ -122,11 +122,11 @@ public:
 
 protected:
   FunctionWithNeighborhoodToImageFilter();
-  ~FunctionWithNeighborhoodToImageFilter() ITK_OVERRIDE{}
+  ~FunctionWithNeighborhoodToImageFilter() override{}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** SpatialFunctionImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -139,7 +139,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   FunctionWithNeighborhoodToImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbGridResampleImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbGridResampleImageFilter.h
index b67760965c..23655ef667 100644
--- a/Modules/Filtering/ImageManipulation/include/otbGridResampleImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbGridResampleImageFilter.h
@@ -137,23 +137,23 @@ public:
   void SetOutputParametersFromImage(const ImageBaseType * image);
 
   /** Method Compute the Modified Time based on changed to the components. */
-  itk::ModifiedTimeType GetMTime(void) const ITK_OVERRIDE;
+  itk::ModifiedTimeType GetMTime(void) const override;
   
 protected:
   GridResampleImageFilter();
 
   /** Destructor */
-  ~GridResampleImageFilter() ITK_OVERRIDE {};
+  ~GridResampleImageFilter() override {};
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   inline void CastPixelWithBoundsChecking( const InterpolatorOutputType& value,
                                                       const InterpolatorComponentType& minComponent,
@@ -186,7 +186,7 @@ protected:
   }
   
   
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GridResampleImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbHillShadingFilter.h b/Modules/Filtering/ImageManipulation/include/otbHillShadingFilter.h
index 8463f1821a..9779f1de6f 100644
--- a/Modules/Filtering/ImageManipulation/include/otbHillShadingFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbHillShadingFilter.h
@@ -82,7 +82,7 @@ public:
 
 protected:
   HillShadingFilter() {}
-  ~HillShadingFilter() ITK_OVERRIDE {}
+  ~HillShadingFilter() override {}
 
 private:
   HillShadingFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbImageToNoDataMaskFilter.h b/Modules/Filtering/ImageManipulation/include/otbImageToNoDataMaskFilter.h
index 5f96a9652e..8ec6c7850a 100644
--- a/Modules/Filtering/ImageManipulation/include/otbImageToNoDataMaskFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbImageToNoDataMaskFilter.h
@@ -133,10 +133,10 @@ protected:
   ImageToNoDataMaskFilter()
   {}
 
-  ~ImageToNoDataMaskFilter() ITK_OVERRIDE
+  ~ImageToNoDataMaskFilter() override
   {}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE
+  void BeforeThreadedGenerateData() override
   {
     std::vector<bool> noDataValueAvailable;
     std::vector<double> noDataValues;
diff --git a/Modules/Filtering/ImageManipulation/include/otbImageToVectorImageCastFilter.h b/Modules/Filtering/ImageManipulation/include/otbImageToVectorImageCastFilter.h
index 49d44f57c2..3425e90a5e 100644
--- a/Modules/Filtering/ImageManipulation/include/otbImageToVectorImageCastFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbImageToVectorImageCastFilter.h
@@ -96,15 +96,15 @@ protected:
   /// Constructor
   ImageToVectorImageCastFilter() {}
   /// Detructor
-  ~ImageToVectorImageCastFilter() ITK_OVERRIDE {}
+  ~ImageToVectorImageCastFilter() override {}
   /// Additional output information for allocation
-  void GenerateOutputInformation(void) ITK_OVERRIDE
+  void GenerateOutputInformation(void) override
   {
     Superclass::GenerateOutputInformation();
     this->GetOutput()->SetNumberOfComponentsPerPixel(1);
   }
   /// Copy output requested region to input requested region
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE
+  void GenerateInputRequestedRegion(void) override
   {
     if (this->GetInput())
       {
diff --git a/Modules/Filtering/ImageManipulation/include/otbLocalGradientVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbLocalGradientVectorImageFilter.h
index b7e90fae49..f2bf9db5f4 100644
--- a/Modules/Filtering/ImageManipulation/include/otbLocalGradientVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbLocalGradientVectorImageFilter.h
@@ -96,7 +96,7 @@ protected:
     typename Superclass::RadiusType radius = {{1, 1}};
     this->SetRadius( radius );
   }
-  ~LocalGradientVectorImageFilter() ITK_OVERRIDE { }
+  ~LocalGradientVectorImageFilter() override { }
 
 private:
   LocalGradientVectorImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbLog10ThresholdedImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbLog10ThresholdedImageFilter.h
index bd5882214c..36c7fb14bb 100644
--- a/Modules/Filtering/ImageManipulation/include/otbLog10ThresholdedImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbLog10ThresholdedImageFilter.h
@@ -104,7 +104,7 @@ public:
   }
 protected:
   Log10ThresholdedImageFilter() {}
-  ~Log10ThresholdedImageFilter() ITK_OVERRIDE {}
+  ~Log10ThresholdedImageFilter() override {}
 
 private:
   Log10ThresholdedImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbMatrixImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbMatrixImageFilter.h
index 4199951dfa..611dc22ef3 100644
--- a/Modules/Filtering/ImageManipulation/include/otbMatrixImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbMatrixImageFilter.h
@@ -111,13 +111,13 @@ public:
 
 protected:
   MatrixImageFilter();
-  ~MatrixImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MatrixImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * Before threaded generate data method.
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** MatrixImageFilter can be implemented for a multithreaded filter treatment.
    * Thus, this implementation give the ThreadedGenerateData() method.
@@ -128,7 +128,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   MatrixImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbMultiplyByScalarImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbMultiplyByScalarImageFilter.h
index 3f0f6c678b..8cc130a728 100644
--- a/Modules/Filtering/ImageManipulation/include/otbMultiplyByScalarImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbMultiplyByScalarImageFilter.h
@@ -101,7 +101,7 @@ public:
   }
 protected:
   MultiplyByScalarImageFilter() {}
-  ~MultiplyByScalarImageFilter() ITK_OVERRIDE {}
+  ~MultiplyByScalarImageFilter() override {}
 
 private:
   MultiplyByScalarImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbNRIBandImagesToOneNComplexBandsImage.h b/Modules/Filtering/ImageManipulation/include/otbNRIBandImagesToOneNComplexBandsImage.h
index 205da84a19..9d482cd70d 100644
--- a/Modules/Filtering/ImageManipulation/include/otbNRIBandImagesToOneNComplexBandsImage.h
+++ b/Modules/Filtering/ImageManipulation/include/otbNRIBandImagesToOneNComplexBandsImage.h
@@ -72,13 +72,13 @@ public:
 
 protected:
   NRIBandImagesToOneNComplexBandsImage();
-  ~NRIBandImagesToOneNComplexBandsImage() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~NRIBandImagesToOneNComplexBandsImage() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
+  void BeforeThreadedGenerateData(void) override;
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   NRIBandImagesToOneNComplexBandsImage(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbOneRIBandImageToOneComplexBandImage.h b/Modules/Filtering/ImageManipulation/include/otbOneRIBandImageToOneComplexBandImage.h
index 01fe68c115..faf49f1b09 100644
--- a/Modules/Filtering/ImageManipulation/include/otbOneRIBandImageToOneComplexBandImage.h
+++ b/Modules/Filtering/ImageManipulation/include/otbOneRIBandImageToOneComplexBandImage.h
@@ -73,12 +73,12 @@ public:
 
 protected:
   OneRIBandImageToOneComplexBandImage();
-  ~OneRIBandImageToOneComplexBandImage() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~OneRIBandImageToOneComplexBandImage() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   OneRIBandImageToOneComplexBandImage(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbPerBandVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbPerBandVectorImageFilter.h
index 82f6019425..9654ccebf4 100644
--- a/Modules/Filtering/ImageManipulation/include/otbPerBandVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbPerBandVectorImageFilter.h
@@ -94,18 +94,18 @@ public:
   itkSetMacro(OutputIndex, unsigned int);
   itkGetMacro(OutputIndex, unsigned int);
 
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
+  void GenerateOutputInformation(void) override;
 
 protected:
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   PerBandVectorImageFilter();
   /** Destructor */
-  ~PerBandVectorImageFilter() ITK_OVERRIDE {}
+  ~PerBandVectorImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PerBandVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbPhaseFunctor.h b/Modules/Filtering/ImageManipulation/include/otbPhaseFunctor.h
index 99646f8823..b289c7f4c7 100644
--- a/Modules/Filtering/ImageManipulation/include/otbPhaseFunctor.h
+++ b/Modules/Filtering/ImageManipulation/include/otbPhaseFunctor.h
@@ -70,17 +70,17 @@ public:
   }
 
   /** Destructor */
-  ~PhaseFunctor() ITK_OVERRIDE {}
+  ~PhaseFunctor() override {}
 
   const char *GetDescription() const
   {return "Phase"; }
 
-  unsigned int GetOutputSize() const ITK_OVERRIDE
+  unsigned int GetOutputSize() const override
   {
     return 1;
   }
 
-  OutputPixelType operator ()(const VectorPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const VectorPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
@@ -91,13 +91,13 @@ public:
     return outPixel;
   }
 
-  OutputPixelType operator ()(ScalarType /*inPixel*/) const ITK_OVERRIDE
+  OutputPixelType operator ()(ScalarType /*inPixel*/) const override
   {
     //FIXME we don't handle the std::complex<> yet
     itkExceptionMacro(<< "Can't compute amplitude from a scalar value");
   }
 
-  OutputPixelType operator ()(const RGBPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const RGBPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
@@ -109,7 +109,7 @@ public:
     return outPixel;
   }
 
-  OutputPixelType operator ()(const RGBAPixelType& inPixel) const ITK_OVERRIDE
+  OutputPixelType operator ()(const RGBAPixelType& inPixel) const override
   {
     OutputPixelType outPixel;
     outPixel.SetSize(1);
diff --git a/Modules/Filtering/ImageManipulation/include/otbPrintableImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbPrintableImageFilter.h
index ee35f261fc..346a34f2ff 100644
--- a/Modules/Filtering/ImageManipulation/include/otbPrintableImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbPrintableImageFilter.h
@@ -161,7 +161,7 @@ public:
                itk::ImageToImageFilter);
 
   /** Display */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   void SetChannel(unsigned int channel);
   const ChannelsType GetChannels(void) const;
@@ -232,14 +232,14 @@ public:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 protected:
 
   PrintableImageFilter();
 
   void BeforeGenerateData();
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbRealAndImaginaryImageToComplexImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbRealAndImaginaryImageToComplexImageFilter.h
index 23d924f804..e473277d1c 100644
--- a/Modules/Filtering/ImageManipulation/include/otbRealAndImaginaryImageToComplexImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbRealAndImaginaryImageToComplexImageFilter.h
@@ -116,7 +116,7 @@ public:
 
 protected:
   RealAndImaginaryImageToComplexImageFilter() {}
-  ~RealAndImaginaryImageToComplexImageFilter() ITK_OVERRIDE {}
+  ~RealAndImaginaryImageToComplexImageFilter() override {}
 
 private:
   RealAndImaginaryImageToComplexImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbRealImageToComplexImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbRealImageToComplexImageFilter.h
index 8e86ee82f3..0c4168b247 100644
--- a/Modules/Filtering/ImageManipulation/include/otbRealImageToComplexImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbRealImageToComplexImageFilter.h
@@ -93,7 +93,7 @@ public:
 
 protected:
   RealImageToComplexImageFilter() {}
-  ~RealImageToComplexImageFilter() ITK_OVERRIDE {}
+  ~RealImageToComplexImageFilter() override {}
 
 private:
   RealImageToComplexImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbShiftScaleImageAdaptor.h b/Modules/Filtering/ImageManipulation/include/otbShiftScaleImageAdaptor.h
index b22dcd8e69..68f9865352 100644
--- a/Modules/Filtering/ImageManipulation/include/otbShiftScaleImageAdaptor.h
+++ b/Modules/Filtering/ImageManipulation/include/otbShiftScaleImageAdaptor.h
@@ -166,7 +166,7 @@ public:
 
 protected:
   ShiftScaleImageAdaptor() {}
-  ~ShiftScaleImageAdaptor() ITK_OVERRIDE {}
+  ~ShiftScaleImageAdaptor() override {}
 
 private:
   ShiftScaleImageAdaptor(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbShiftScaleVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbShiftScaleVectorImageFilter.h
index 0d5868b6f9..9b90aee8cd 100644
--- a/Modules/Filtering/ImageManipulation/include/otbShiftScaleVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbShiftScaleVectorImageFilter.h
@@ -197,16 +197,16 @@ public:
 
 protected:
   ShiftScaleVectorImageFilter() {}
-  ~ShiftScaleVectorImageFilter() ITK_OVERRIDE {}
+  ~ShiftScaleVectorImageFilter() override {}
 
   /** Process to execute before entering the multithreaded section */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 private:
   ShiftScaleVectorImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbSpectralAngleDistanceImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbSpectralAngleDistanceImageFilter.h
index b071637c6f..7cf4f3c442 100644
--- a/Modules/Filtering/ImageManipulation/include/otbSpectralAngleDistanceImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbSpectralAngleDistanceImageFilter.h
@@ -84,9 +84,9 @@ protected:
   /** Constructor */
   SpectralAngleDistanceImageFilter();
   /** Destructor */
-  ~SpectralAngleDistanceImageFilter() ITK_OVERRIDE {}
+  ~SpectralAngleDistanceImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** SpectralAngleDistanceImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
    * which is called for each processing thread. The output image data is
@@ -98,9 +98,9 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
 private:
   SpectralAngleDistanceImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbSqrtSpectralAngleFunctor.h b/Modules/Filtering/ImageManipulation/include/otbSqrtSpectralAngleFunctor.h
index 7f06d1c3de..48226356e2 100644
--- a/Modules/Filtering/ImageManipulation/include/otbSqrtSpectralAngleFunctor.h
+++ b/Modules/Filtering/ImageManipulation/include/otbSqrtSpectralAngleFunctor.h
@@ -43,10 +43,10 @@ public:
   typedef SpectralAngleFunctor<TInputVectorPixel, TOutputPixel> Superclass;
 
   SqrtSpectralAngleFunctor() {}
-  ~SqrtSpectralAngleFunctor() ITK_OVERRIDE {}
+  ~SqrtSpectralAngleFunctor() override {}
 
 protected:
-  TOutputPixel Evaluate(const TInputVectorPixel& inPix) const ITK_OVERRIDE
+  TOutputPixel Evaluate(const TInputVectorPixel& inPix) const override
   {
     return static_cast<TOutputPixel>(vcl_sqrt(Superclass::Evaluate(inPix)));
   }
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
index da666dbb2a..423cbab313 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingInnerProductVectorImageFilter.h
@@ -102,16 +102,16 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
   /** Enable/Disable center data */
   itkSetMacro(CenterData, bool);
@@ -120,10 +120,10 @@ public:
 
 protected:
   PersistentInnerProductVectorImageFilter();
-  ~PersistentInnerProductVectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentInnerProductVectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentInnerProductVectorImageFilter(const Self &); //purposely not implemented
@@ -217,7 +217,7 @@ protected:
   /** Constructor */
   StreamingInnerProductVectorImageFilter() {};
   /** Destructor */
-  ~StreamingInnerProductVectorImageFilter() ITK_OVERRIDE {}
+  ~StreamingInnerProductVectorImageFilter() override {}
 
 private:
   StreamingInnerProductVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
index 3cb5ddb1a5..f79ead12bb 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingMatrixTransposeMatrixImageFilter.h
@@ -122,18 +122,18 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
   // Override since the filter needs all the data for the algorithm
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
+  void Reset(void) override;
+  void Synthetize(void) override;
 
   /** Input wrapper */
   void SetFirstInput(const TInputImage  *input1)
@@ -165,10 +165,10 @@ public:
 
 protected:
   PersistentMatrixTransposeMatrixImageFilter();
-  ~PersistentMatrixTransposeMatrixImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentMatrixTransposeMatrixImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentMatrixTransposeMatrixImageFilter(const Self &); //purposely not implemented
@@ -274,7 +274,7 @@ protected:
   /** Constructor */
   StreamingMatrixTransposeMatrixImageFilter() {};
   /** Destructor */
-  ~StreamingMatrixTransposeMatrixImageFilter() ITK_OVERRIDE {}
+  ~StreamingMatrixTransposeMatrixImageFilter() override {}
 
 private:
   StreamingMatrixTransposeMatrixImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingResampleImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingResampleImageFilter.h
index d42cea94c9..164d9d19e2 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingResampleImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingResampleImageFilter.h
@@ -172,19 +172,19 @@ public:
   }
 
   /** Override itk::ProcessObject method to let the internal filter do the propagation */
-  void PropagateRequestedRegion(itk::DataObject *output) ITK_OVERRIDE;
+  void PropagateRequestedRegion(itk::DataObject *output) override;
 
 protected:
   StreamingResampleImageFilter();
 
   /** Destructor */
-  ~StreamingResampleImageFilter() ITK_OVERRIDE {};
+  ~StreamingResampleImageFilter() override {};
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StreamingResampleImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbStreamingShrinkImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbStreamingShrinkImageFilter.h
index c00878892f..c48e2d2e2e 100644
--- a/Modules/Filtering/ImageManipulation/include/otbStreamingShrinkImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbStreamingShrinkImageFilter.h
@@ -72,13 +72,13 @@ public:
    *  a certain dimensions, then some splits will not be possible.
    */
   unsigned int GetNumberOfSplits(const RegionType& region,
-                                         unsigned int requestedNumber) ITK_OVERRIDE;
+                                         unsigned int requestedNumber) override;
 
   /** Get a region definition that represents the ith piece a specified region.
    * The "numberOfPieces" specified should be less than or equal to what
    * GetNumberOfSplits() returns. */
   RegionType GetSplit(unsigned int i, unsigned int numberOfPieces,
-                              const RegionType& region) ITK_OVERRIDE;
+                              const RegionType& region) override;
 
   itkGetMacro(TileSizeAlignment, unsigned int);
 
@@ -89,8 +89,8 @@ public:
 
 protected:
   StreamingShrinkImageRegionSplitter() : m_SplitsPerDimension(0U), m_TileDimension(0), m_TileSizeAlignment(0), m_ShrinkFactor(10) {}
-  ~StreamingShrinkImageRegionSplitter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~StreamingShrinkImageRegionSplitter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StreamingShrinkImageRegionSplitter(const StreamingShrinkImageRegionSplitter &); //purposely not implemented
@@ -130,7 +130,7 @@ public:
 
   /** Actually computes the stream divisions, according to the specified streaming mode,
    * eventually using the input parameter to estimate memory consumption */
-  void PrepareStreaming(itk::DataObject * input, const RegionType &region) ITK_OVERRIDE;
+  void PrepareStreaming(itk::DataObject * input, const RegionType &region) override;
 
   void SetShrinkFactor(unsigned int val)
   {
@@ -144,7 +144,7 @@ public:
 
 protected:
   StreamingShrinkStreamingManager();
-  ~StreamingShrinkStreamingManager() ITK_OVERRIDE;
+  ~StreamingShrinkStreamingManager() override;
 
 private:
   StreamingShrinkStreamingManager(const StreamingShrinkStreamingManager &); //purposely not implemented
@@ -203,9 +203,9 @@ public:
     return m_ShrunkOutput;
   }
   
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   itkSetMacro(ShrinkFactor, unsigned int);
   itkGetMacro(ShrinkFactor, unsigned int);
@@ -213,23 +213,23 @@ public:
 protected:
   PersistentShrinkImageFilter();
 
-  ~PersistentShrinkImageFilter() ITK_OVERRIDE;
+  ~PersistentShrinkImageFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void  BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void  BeforeThreadedGenerateData() override;
 
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void  AfterThreadedGenerateData() ITK_OVERRIDE;
+  void  AfterThreadedGenerateData() override;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 
 private:
@@ -305,7 +305,7 @@ public:
   otbSetObjectMemberMacro(Filter, ShrinkFactor, unsigned int);
   otbGetObjectMemberMacro(Filter, ShrinkFactor, unsigned int);
 
-  void Update(void) ITK_OVERRIDE
+  void Update(void) override
   {
     m_StreamingManager->SetShrinkFactor( this->GetFilter()->GetShrinkFactor() );
     Superclass::Update();
@@ -321,7 +321,7 @@ protected:
   }
 
   /** Destructor */
-  ~StreamingShrinkImageFilter() ITK_OVERRIDE {}
+  ~StreamingShrinkImageFilter() override {}
 
 private:
   StreamingShrinkImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbTernaryFunctorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbTernaryFunctorImageFilter.h
index 3e6d3f5405..483f2e3275 100644
--- a/Modules/Filtering/ImageManipulation/include/otbTernaryFunctorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbTernaryFunctorImageFilter.h
@@ -55,7 +55,7 @@ public:
 
 protected:
   TernaryFunctorImageFilter() {};
-  ~TernaryFunctorImageFilter() ITK_OVERRIDE {}
+  ~TernaryFunctorImageFilter() override {}
 
   /** TernaryFunctorImageFilter can produce an image which has a different number of bands
    * than its input image.  As such, TernaryFunctorImageFilter
@@ -65,7 +65,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
     typename Superclass::OutputImagePointer outputPtr = this->GetOutput();
diff --git a/Modules/Filtering/ImageManipulation/include/otbThresholdVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbThresholdVectorImageFilter.h
index ef2a903cd4..cf87797e75 100644
--- a/Modules/Filtering/ImageManipulation/include/otbThresholdVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbThresholdVectorImageFilter.h
@@ -98,8 +98,8 @@ public:
 
 protected:
   ThresholdVectorImageFilter();
-  ~ThresholdVectorImageFilter() ITK_OVERRIDE {};
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ThresholdVectorImageFilter() override {};
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** ThresholdVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -112,9 +112,9 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType ThrethreadId ) ITK_OVERRIDE;
+                            itk::ThreadIdType ThrethreadId ) override;
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE
+  void GenerateOutputInformation(void) override
   {
     Superclass::GenerateOutputInformation();
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbTileImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbTileImageFilter.h
index 34c1c5aa48..7eb50db4f4 100644
--- a/Modules/Filtering/ImageManipulation/include/otbTileImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbTileImageFilter.h
@@ -80,26 +80,26 @@ protected:
   TileImageFilter();
 
   /** Destructor */
-  ~TileImageFilter() ITK_OVERRIDE;
+  ~TileImageFilter() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** Generate input requested region method */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Generate input requested region method */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
      * not need to occupy the same physical space.
      *
      * \sa ProcessObject::VerifyInputInformation
      */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Filtering/ImageManipulation/include/otbTwoNRIBandsImageToNComplexBandsImage.h b/Modules/Filtering/ImageManipulation/include/otbTwoNRIBandsImageToNComplexBandsImage.h
index c4adb6a9f7..64020282a3 100644
--- a/Modules/Filtering/ImageManipulation/include/otbTwoNRIBandsImageToNComplexBandsImage.h
+++ b/Modules/Filtering/ImageManipulation/include/otbTwoNRIBandsImageToNComplexBandsImage.h
@@ -73,13 +73,13 @@ public:
 
 protected:
   TwoNRIBandsImageToNComplexBandsImage();
-  ~TwoNRIBandsImageToNComplexBandsImage() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~TwoNRIBandsImageToNComplexBandsImage() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
+  void BeforeThreadedGenerateData(void) override;
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   TwoNRIBandsImageToNComplexBandsImage(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodImageFilter.h
index de00941439..b925c64959 100644
--- a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodImageFilter.h
@@ -123,7 +123,7 @@ protected:
   /**
    * Destructor
    */
-  ~UnaryFunctorNeighborhoodImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorNeighborhoodImageFilter() override {}
 
   /** UnaryFunctorNeighborhoodImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -135,12 +135,12 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * Pad the input requested region by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 private:
   UnaryFunctorNeighborhoodImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodWithOffsetImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodWithOffsetImageFilter.h
index 05f86d0857..d562ea0810 100644
--- a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodWithOffsetImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorNeighborhoodWithOffsetImageFilter.h
@@ -133,9 +133,9 @@ protected:
   /**
    * Destructor
    */
-  ~UnaryFunctorNeighborhoodWithOffsetImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorNeighborhoodWithOffsetImageFilter() override {}
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** UnaryFunctorNeighborhoodWithOffsetImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -147,12 +147,12 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * Pad the input requested region by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
   std::vector<FunctorType> m_FunctorList;
 
 private:
diff --git a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorWithIndexImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorWithIndexImageFilter.h
index 6a241dd5a2..34e42c34bc 100644
--- a/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorWithIndexImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbUnaryFunctorWithIndexImageFilter.h
@@ -111,7 +111,7 @@ protected:
   /**
    * Destructor
    */
-  ~UnaryFunctorWithIndexImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorWithIndexImageFilter() override {}
 
   /** UnaryFunctorWithIndexImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -123,12 +123,12 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * Pad the input requested region by radius
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 private:
   UnaryFunctorWithIndexImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbUnaryImageFunctorWithVectorImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbUnaryImageFunctorWithVectorImageFilter.h
index fe37b97905..f2519e2a59 100644
--- a/Modules/Filtering/ImageManipulation/include/otbUnaryImageFunctorWithVectorImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbUnaryImageFunctorWithVectorImageFilter.h
@@ -89,7 +89,7 @@ public:
 
 protected:
   UnaryImageFunctorWithVectorImageFilter();
-  ~UnaryImageFunctorWithVectorImageFilter() ITK_OVERRIDE {}
+  ~UnaryImageFunctorWithVectorImageFilter() override {}
 
   /** UnaryImageFunctorWithVectorImageFilter can produce an image which is a different
    * resolution than its input image.  As such, UnaryImageFunctorWithVectorImageFilter
@@ -99,7 +99,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** UnaryImageFunctorWithVectorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -111,9 +111,9 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** Ponderation declaration*/
diff --git a/Modules/Filtering/ImageManipulation/include/otbVectorImageTo3DScalarImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbVectorImageTo3DScalarImageFilter.h
index 368f049691..ba02992064 100644
--- a/Modules/Filtering/ImageManipulation/include/otbVectorImageTo3DScalarImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbVectorImageTo3DScalarImageFilter.h
@@ -74,21 +74,21 @@ public:
 protected:
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Threaded Generate data */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
   /** Constructor */
   VectorImageTo3DScalarImageFilter();
   /** Destructor */
-  ~VectorImageTo3DScalarImageFilter() ITK_OVERRIDE {}
+  ~VectorImageTo3DScalarImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorImageTo3DScalarImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageManipulation/include/otbVectorImageToAmplitudeImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbVectorImageToAmplitudeImageFilter.h
index 7a8875e488..09602f7650 100644
--- a/Modules/Filtering/ImageManipulation/include/otbVectorImageToAmplitudeImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbVectorImageToAmplitudeImageFilter.h
@@ -84,9 +84,9 @@ protected:
   /** Constructor */
   VectorImageToAmplitudeImageFilter() {};
   /** Destructor */
-  ~VectorImageToAmplitudeImageFilter() ITK_OVERRIDE {}
+  ~VectorImageToAmplitudeImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Filtering/ImageManipulation/include/otbVectorRescaleIntensityImageFilter.h b/Modules/Filtering/ImageManipulation/include/otbVectorRescaleIntensityImageFilter.h
index 8b5633863c..e2227f0b70 100644
--- a/Modules/Filtering/ImageManipulation/include/otbVectorRescaleIntensityImageFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbVectorRescaleIntensityImageFilter.h
@@ -260,20 +260,20 @@ public:
   itkGetConstReferenceMacro(Gamma,double);
 
   /** Process to execute before entering the multithreaded section */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Print internal ivars */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 protected:
   VectorRescaleIntensityImageFilter();
-  ~VectorRescaleIntensityImageFilter() ITK_OVERRIDE {}
+  ~VectorRescaleIntensityImageFilter() override {}
 
 private:
   VectorRescaleIntensityImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageNoise/include/otbFrostImageFilter.h b/Modules/Filtering/ImageNoise/include/otbFrostImageFilter.h
index b7bed10f9b..deaa62aed9 100644
--- a/Modules/Filtering/ImageNoise/include/otbFrostImageFilter.h
+++ b/Modules/Filtering/ImageNoise/include/otbFrostImageFilter.h
@@ -99,12 +99,12 @@ public:
     * an input processing area larger than the output one.
     * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   FrostImageFilter();
-  ~FrostImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~FrostImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** FrostImageFilter can be implemented for a multithreaded filter treatment.
    * Thus, this implementation give the ThreadedGenerateData() method.
@@ -115,7 +115,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   FrostImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageNoise/include/otbGammaMAPImageFilter.h b/Modules/Filtering/ImageNoise/include/otbGammaMAPImageFilter.h
index aacd79527f..7aae5b4199 100644
--- a/Modules/Filtering/ImageNoise/include/otbGammaMAPImageFilter.h
+++ b/Modules/Filtering/ImageNoise/include/otbGammaMAPImageFilter.h
@@ -91,18 +91,18 @@ public:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   GammaMAPImageFilter();
-  ~GammaMAPImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~GammaMAPImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** GammaMAPImageFilter can be multithreaded.
    */
   
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   GammaMAPImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageNoise/include/otbKuanImageFilter.h b/Modules/Filtering/ImageNoise/include/otbKuanImageFilter.h
index 4233766bd5..b2701daf37 100644
--- a/Modules/Filtering/ImageNoise/include/otbKuanImageFilter.h
+++ b/Modules/Filtering/ImageNoise/include/otbKuanImageFilter.h
@@ -91,18 +91,18 @@ public:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   KuanImageFilter();
-  ~KuanImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~KuanImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** KuanImageFilter can be multithreaded.
    */
   
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   KuanImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/ImageNoise/include/otbLeeImageFilter.h b/Modules/Filtering/ImageNoise/include/otbLeeImageFilter.h
index 6479cc5e2d..a502acb05a 100644
--- a/Modules/Filtering/ImageNoise/include/otbLeeImageFilter.h
+++ b/Modules/Filtering/ImageNoise/include/otbLeeImageFilter.h
@@ -98,12 +98,12 @@ public:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 protected:
   LeeImageFilter();
-  ~LeeImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LeeImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** LeeImageFilter can be multithreaded.
    * As such, it provides a definition of ThreadedGenerateData()
@@ -116,7 +116,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   LeeImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
index 6f79f68ca6..2ae2485e72 100644
--- a/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
+++ b/Modules/Filtering/MathParser/include/otbBandMathImageFilter.h
@@ -128,12 +128,12 @@ public:
 
 protected :
   BandMathImageFilter();
-  ~BandMathImageFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BandMathImageFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void ThreadedGenerateData(const ImageRegionType& outputRegionForThread, itk::ThreadIdType threadId ) ITK_OVERRIDE;
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void ThreadedGenerateData(const ImageRegionType& outputRegionForThread, itk::ThreadIdType threadId ) override;
+  void AfterThreadedGenerateData() override;
 
 private :
   BandMathImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h b/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
index 7fef900379..a6cd78452f 100644
--- a/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
+++ b/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
@@ -120,12 +120,12 @@ public:
 
 protected:
   MaskMuParserFilter();
-  ~MaskMuParserFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MaskMuParserFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void ThreadedGenerateData(const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) override;
+  void AfterThreadedGenerateData() override;
 
 private:
   MaskMuParserFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h b/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
index d88e533e4f..e9ddd48734 100644
--- a/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
+++ b/Modules/Filtering/MathParser/include/otbMaskMuParserFunctor.h
@@ -98,7 +98,7 @@ public:
 protected:
   MaskMuParserFunctor();
 
-  ~MaskMuParserFunctor() ITK_OVERRIDE;
+  ~MaskMuParserFunctor() override;
 
 private:
 
diff --git a/Modules/Filtering/MathParser/include/otbParser.h b/Modules/Filtering/MathParser/include/otbParser.h
index 4dd914b9f7..053c1b4566 100644
--- a/Modules/Filtering/MathParser/include/otbParser.h
+++ b/Modules/Filtering/MathParser/include/otbParser.h
@@ -89,8 +89,8 @@ public:
 
 protected:
   Parser();
-  ~Parser() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~Parser() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h b/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
index d0d036a7df..5212da806d 100644
--- a/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
+++ b/Modules/Filtering/MathParser/include/otbParserConditionDataNodeFeatureFunction.h
@@ -87,7 +87,7 @@ public:
 
   typedef std::vector<PrecisionType>                  OutputType;
 
-  OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE;
+  OutputType Evaluate( const DataNodeType& node ) const override;
 
   std::string GetExpression() const
   {
@@ -106,8 +106,8 @@ public:
 
 protected:
   ParserConditionDataNodeFeatureFunction();
-  ~ParserConditionDataNodeFeatureFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ParserConditionDataNodeFeatureFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ParserConditionDataNodeFeatureFunction(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/MathParser/src/otbParser.cxx b/Modules/Filtering/MathParser/src/otbParser.cxx
index 4280d3ac9c..ac57dd9a85 100644
--- a/Modules/Filtering/MathParser/src/otbParser.cxx
+++ b/Modules/Filtering/MathParser/src/otbParser.cxx
@@ -184,11 +184,11 @@ protected:
     InitConst();
   }
 
-  ~ParserImpl() ITK_OVERRIDE
+  ~ParserImpl() override
   {
   }
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
index 5dd1085c05..b491cef10f 100644
--- a/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
+++ b/Modules/Filtering/MathParserX/include/otbBandMathXImageFilter.h
@@ -132,15 +132,15 @@ public:
 
 protected :
   BandMathXImageFilter();
-  ~BandMathXImageFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~BandMathXImageFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
+  void GenerateInputRequestedRegion() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void ThreadedGenerateData(const ImageRegionType& outputRegionForThread, itk::ThreadIdType threadId ) ITK_OVERRIDE;
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void ThreadedGenerateData(const ImageRegionType& outputRegionForThread, itk::ThreadIdType threadId ) override;
+  void AfterThreadedGenerateData() override;
 
 private :
 
diff --git a/Modules/Filtering/MathParserX/include/otbParserX.h b/Modules/Filtering/MathParserX/include/otbParserX.h
index ef75a31eaf..d0eab3a05e 100644
--- a/Modules/Filtering/MathParserX/include/otbParserX.h
+++ b/Modules/Filtering/MathParserX/include/otbParserX.h
@@ -107,8 +107,8 @@ public:
 
 protected:
   ParserX();
-  ~ParserX() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ParserX() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Filtering/MathParserX/include/otbParserXPlugins.h b/Modules/Filtering/MathParserX/include/otbParserXPlugins.h
index e9da00fd05..195a7e955b 100644
--- a/Modules/Filtering/MathParserX/include/otbParserXPlugins.h
+++ b/Modules/Filtering/MathParserX/include/otbParserXPlugins.h
@@ -36,14 +36,14 @@ public:
     bands():ICallback(mup::cmFUNC, "bands", 2)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "bands - A bands selector";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new bands(*this);
     }
@@ -56,14 +56,14 @@ public:
     dotpr():ICallback(mup::cmFUNC, "dotpr", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "dotpr(m1,m2) - A vector/matrix dot product";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new dotpr(*this);
     }
@@ -75,14 +75,14 @@ class ElementWiseDivision : public mup::IOprtBin
     ElementWiseDivision():IOprtBin(_T("div"), (int)(mup::prMUL_DIV), mup::oaLEFT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("x div y - Element-wise division (vectors / matrices)");
     }
   
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new ElementWiseDivision(*this);
     }
@@ -95,14 +95,14 @@ class DivisionByScalar : public mup::IOprtBin
     DivisionByScalar():IOprtBin(_T("dv"), (int)(mup::prMUL_DIV), mup::oaLEFT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("x dv y - division of vectors / matrices by a scalar");
     }
   
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new DivisionByScalar(*this);
     }
@@ -115,14 +115,14 @@ class ElementWiseMultiplication : public mup::IOprtBin
     ElementWiseMultiplication():IOprtBin(_T("mult"), (int)(mup::prMUL_DIV), mup::oaLEFT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("x mult y - Element wise multiplication (vectors / matrices)");
     }
   
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new ElementWiseMultiplication(*this);
     }
@@ -135,14 +135,14 @@ class MultiplicationByScalar : public mup::IOprtBin
     MultiplicationByScalar():IOprtBin(_T("mlt"), (int)(mup::prMUL_DIV), mup::oaLEFT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("x mlt y - multiplication of vectors / matrices by a scalar");
     }
   
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new MultiplicationByScalar(*this);
     }
@@ -155,14 +155,14 @@ public:
     ElementWisePower():IOprtBin(_T("pow"), (int) mup::prPOW, mup::oaRIGHT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("pow - Power for noncomplex vectors & matrices");
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new ElementWisePower(*this);
     }
@@ -175,14 +175,14 @@ class PowerByScalar : public mup::IOprtBin
     PowerByScalar():IOprtBin(_T("pw"), (int)(mup::prMUL_DIV), mup::oaLEFT)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return _T("x pw y - power of vectors / matrices by a scalar");
     }
   
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new PowerByScalar(*this);
     }
@@ -195,14 +195,14 @@ public:
     ndvi():ICallback(mup::cmFUNC, "ndvi", 2)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "NDVI - Normalized Difference Vegetation Index";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new ndvi(*this);
     }
@@ -215,14 +215,14 @@ public:
     cat():ICallback(mup::cmFUNC, "cat", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "cat(m1,m2) - Values concatenation";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new cat(*this);
     }
@@ -235,14 +235,14 @@ public:
     mean():ICallback(mup::cmFUNC, "mean", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "mean(m1,m2,..) - mean of each neighborhood";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new mean(*this);
     }
@@ -255,14 +255,14 @@ public:
     var():ICallback(mup::cmFUNC, "var", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "var(m1,m2,..) - variance of each neighborhood";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new var(*this);
     }
@@ -275,14 +275,14 @@ public:
     corr():ICallback(mup::cmFUNC, "corr", 2)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "corr(m1,m2) - variance of two variables m1 and m2";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new corr(*this);
     }
@@ -295,14 +295,14 @@ public:
     median():ICallback(mup::cmFUNC, "median", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "median(m1,m2,..) - median value of each neighborhood";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new median(*this);
     }
@@ -315,14 +315,14 @@ public:
     maj():ICallback(mup::cmFUNC, "maj", -1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "maj(m1,m2,..) - majority value of each neighborhood";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new maj(*this);
     }
@@ -335,14 +335,14 @@ public:
     vnorm():ICallback(mup::cmFUNC, "vnorm", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int a_iArgc) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vnorm(v1) - Norm for a vector : sqrt(sum of squared elements); works also with matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vnorm(*this);
     }
@@ -354,14 +354,14 @@ public:
     vmin():ICallback(mup::cmFUNC, "vmin", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vmin(m1) - overall minimum";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vmin(*this);
     }
@@ -374,14 +374,14 @@ public:
     vmax():ICallback(mup::cmFUNC, "vmax", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vmax(m1) - overall maximun";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vmax(*this);
     }
@@ -394,14 +394,14 @@ public:
     vect2scal():ICallback(mup::cmFUNC, "vect2scal", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vect2scal - Convert one dimensional vector to scalar";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vect2scal(*this);
     }
@@ -415,14 +415,14 @@ public:
     vcos():ICallback(mup::cmFUNC, "vcos", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vcos - Cosinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vcos(*this);
     }
@@ -435,14 +435,14 @@ public:
     vacos():ICallback(mup::cmFUNC, "vacos", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vacos - Arccosinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vacos(*this);
     }
@@ -454,14 +454,14 @@ public:
     vsin():ICallback(mup::cmFUNC, "vsin", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vsin - Sinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vsin(*this);
     }
@@ -473,14 +473,14 @@ public:
     vasin():ICallback(mup::cmFUNC, "vasin", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vasin - Arcsinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vasin(*this);
     }
@@ -493,14 +493,14 @@ public:
     vtan():ICallback(mup::cmFUNC, "vtan", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vtan - Tangent for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vtan(*this);
     }
@@ -513,14 +513,14 @@ public:
     vatan():ICallback(mup::cmFUNC, "vatan", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vatan - Arctangent for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vatan(*this);
     }
@@ -533,14 +533,14 @@ public:
     vtanh():ICallback(mup::cmFUNC, "vtanh", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vtanh - Hyperbolic tangent for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vtanh(*this);
     }
@@ -553,14 +553,14 @@ public:
     vsinh():ICallback(mup::cmFUNC, "vsinh", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vsinh - Hyperbolic sinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vsinh(*this);
     }
@@ -573,14 +573,14 @@ public:
     vcosh():ICallback(mup::cmFUNC, "vcosh", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vcosh - Hyperbolic cosinus for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vcosh(*this);
     }
@@ -593,14 +593,14 @@ public:
     vlog():ICallback(mup::cmFUNC, "vlog", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vlog - Log for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vlog(*this);
     }
@@ -613,14 +613,14 @@ public:
     vlog10():ICallback(mup::cmFUNC, "vlog10", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vlog10 - Log10 for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vlog10(*this);
     }
@@ -633,14 +633,14 @@ public:
     vabs():ICallback(mup::cmFUNC, "vabs", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vabs - Absolute value for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vabs(*this);
     }
@@ -653,14 +653,14 @@ public:
     vexp():ICallback(mup::cmFUNC, "vexp", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vexp - Exponential for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vexp(*this);
     }
@@ -673,14 +673,14 @@ public:
     vsqrt():ICallback(mup::cmFUNC, "vsqrt", 1)
     {}
 
-    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) ITK_OVERRIDE;
+    void Eval(mup::ptr_val_type &ret, const mup::ptr_val_type *a_pArg, int itkNotUsed(a_iArgc)) override;
 
-    const mup::char_type* GetDesc() const ITK_OVERRIDE
+    const mup::char_type* GetDesc() const override
     {
       return "vsqrt - Sqrt for noncomplex vectors & matrices";
     }
 
-    mup::IToken* Clone() const ITK_OVERRIDE
+    mup::IToken* Clone() const override
     {
       return new vsqrt(*this);
     }
diff --git a/Modules/Filtering/MathParserX/src/otbParserX.cxx b/Modules/Filtering/MathParserX/src/otbParserX.cxx
index b57ac98fec..c7b0be5625 100644
--- a/Modules/Filtering/MathParserX/src/otbParserX.cxx
+++ b/Modules/Filtering/MathParserX/src/otbParserX.cxx
@@ -250,11 +250,11 @@ protected:
     InitConst();
   }
 
-  ~ParserXImpl() ITK_OVERRIDE
+  ~ParserXImpl() override
   {
   }
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidAnalysisFilter.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidAnalysisFilter.h
index da70e60c48..5a72c260d4 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidAnalysisFilter.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidAnalysisFilter.h
@@ -93,7 +93,7 @@ public:
    * Get The Analyse image at each level of the pyramid.
    * \return The analysed image at each level of the pyramid.
    */
-  OutputImageListType* GetOutput(void) ITK_OVERRIDE;
+  OutputImageListType* GetOutput(void) override;
   /**
    * Get The SupFilter details
    * \return The brighter details extracted from the filtering operation.
@@ -119,12 +119,12 @@ protected:
   /** Constructor */
   MorphologicalPyramidAnalysisFilter();
   /** Destructor */
-  ~MorphologicalPyramidAnalysisFilter() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE {}  // does nothing
+  ~MorphologicalPyramidAnalysisFilter() override;
+  void GenerateOutputInformation() override {}  // does nothing
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** Printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** Number of levels of the algorithm */
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidMRToMSConverter.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidMRToMSConverter.h
index 6ca0f65408..7b49a7fd3e 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidMRToMSConverter.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidMRToMSConverter.h
@@ -71,7 +71,7 @@ public:
    * \param imageList The analysed image at each level of the pyramid.
    */
   using Superclass::SetInput;
-  void SetInput(const InputImageListType * imageList) ITK_OVERRIDE;
+  void SetInput(const InputImageListType * imageList) override;
   /**
    * Set The SupFilter details
    * \param imageList The brighter details extracted from the filtering operation.
@@ -96,7 +96,7 @@ public:
    * Get the input list.
    * \return The list of the analysed image at each pyramid level.
    */
-  InputImageListType* GetInput(void) ITK_OVERRIDE;
+  InputImageListType* GetInput(void) override;
   /**
    * Get The SupFilter details
    * \return The brighter details extracted from the filtering operation.
@@ -122,7 +122,7 @@ public:
    * \return The analysed image at each pyramid level
    * resampled at full resolution.
    */
-  OutputImageListType* GetOutput(void) ITK_OVERRIDE;
+  OutputImageListType* GetOutput(void) override;
   /**
    * Get The SupFilter details at full resolution.
    * \return The brighter details extracted from the filtering operation
@@ -152,12 +152,12 @@ protected:
   /** Constructor */
   MRToMSConverter();
   /** Destructor */
-  ~MRToMSConverter() ITK_OVERRIDE {}
+  ~MRToMSConverter() override {}
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   MRToMSConverter(const Self &); // purposely not implemented
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidResampler.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidResampler.h
index 3de2246b07..732149b211 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidResampler.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidResampler.h
@@ -77,17 +77,17 @@ protected:
   /** Constructor */
   Resampler();
   /** Destructor */
-  ~Resampler() ITK_OVERRIDE {}
+  ~Resampler() override {}
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Configure input requested region to be the largest possible region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Configure output requested region to be the largest possible region */
-  void EnlargeOutputRequestedRegion(itk::DataObject * itkNotUsed(output)) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject * itkNotUsed(output)) override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 private:
   Resampler(const Self &); // purposely not implemented
   void operator =(const Self&); // purposely not implemented
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmentationFilter.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmentationFilter.h
index a000cf5dfc..5312f55b0a 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmentationFilter.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmentationFilter.h
@@ -141,12 +141,12 @@ protected:
   /** Constructor */
   MorphologicalPyramidSegmentationFilter();
   /** Destructor */
-  ~MorphologicalPyramidSegmentationFilter() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE {}  // does nothing
+  ~MorphologicalPyramidSegmentationFilter() override;
+  void GenerateOutputInformation() override {}  // does nothing
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** Printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 private:
   unsigned long m_MinimumObjectSize;
   /** Quantile for seeds determination */
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmenter.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmenter.h
index 09969ede26..47a9929ff7 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmenter.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSegmenter.h
@@ -120,15 +120,15 @@ protected:
   /** Constructor */
   Segmenter();
   /** Destructor */
-  ~Segmenter() ITK_OVERRIDE {}
+  ~Segmenter() override {}
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Configure the input datas.
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
   /**
    * Configure the output data.
    */
diff --git a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSynthesisFilter.h b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSynthesisFilter.h
index 3cd4c2653d..3b83773a44 100644
--- a/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSynthesisFilter.h
+++ b/Modules/Filtering/MorphologicalPyramid/include/otbMorphologicalPyramidSynthesisFilter.h
@@ -128,12 +128,12 @@ protected:
   /** Constructor */
   MorphologicalPyramidSynthesisFilter();
   /** Destructor */
-  ~MorphologicalPyramidSynthesisFilter() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE {}  // does nothing
+  ~MorphologicalPyramidSynthesisFilter() override;
+  void GenerateOutputInformation() override {}  // does nothing
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** Printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 };
 } // End namespace otb
 
diff --git a/Modules/Filtering/Path/include/otbCompacityPathFunction.h b/Modules/Filtering/Path/include/otbCompacityPathFunction.h
index 6341a81fd3..b668d970e3 100644
--- a/Modules/Filtering/Path/include/otbCompacityPathFunction.h
+++ b/Modules/Filtering/Path/include/otbCompacityPathFunction.h
@@ -70,13 +70,13 @@ public:
   typedef double RealType;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PathType& path) const ITK_OVERRIDE;
+  OutputType Evaluate(const PathType& path) const override;
   virtual OutputType Evaluate() const;
 
 protected:
   CompacityPathFunction() {};
-  ~CompacityPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~CompacityPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   CompacityPathFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbDrawPathFilter.h b/Modules/Filtering/Path/include/otbDrawPathFilter.h
index c0f24975e7..1fda8044e1 100644
--- a/Modules/Filtering/Path/include/otbDrawPathFilter.h
+++ b/Modules/Filtering/Path/include/otbDrawPathFilter.h
@@ -90,10 +90,10 @@ public:
 
 protected:
   DrawPathFilter();
-  ~DrawPathFilter() ITK_OVERRIDE {}
+  ~DrawPathFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
   DrawPathFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbDrawPathListFilter.h b/Modules/Filtering/Path/include/otbDrawPathListFilter.h
index efa0645b5a..9c9de8abee 100644
--- a/Modules/Filtering/Path/include/otbDrawPathListFilter.h
+++ b/Modules/Filtering/Path/include/otbDrawPathListFilter.h
@@ -111,11 +111,11 @@ protected:
   /** Constructor */
   DrawPathListFilter();
   /** Desctructor */
-  ~DrawPathListFilter() ITK_OVERRIDE {}
+  ~DrawPathListFilter() override {}
   /** Printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   DrawPathListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbImageFittingPolygonListFilter.h b/Modules/Filtering/Path/include/otbImageFittingPolygonListFilter.h
index c33c6afc7e..ac5d3b89b3 100644
--- a/Modules/Filtering/Path/include/otbImageFittingPolygonListFilter.h
+++ b/Modules/Filtering/Path/include/otbImageFittingPolygonListFilter.h
@@ -94,11 +94,11 @@ protected:
   /** Constructor */
   ImageFittingPolygonListFilter();
   /** Destructor */
-  ~ImageFittingPolygonListFilter() ITK_OVERRIDE {}
+  ~ImageFittingPolygonListFilter() override {}
   /** GenerateData method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   virtual double computeValue(ImageConstPointerType image,
                               VertexType middlePoint,
diff --git a/Modules/Filtering/Path/include/otbImageToEdgePathFilter.h b/Modules/Filtering/Path/include/otbImageToEdgePathFilter.h
index 2bf48180fc..f976eb805f 100644
--- a/Modules/Filtering/Path/include/otbImageToEdgePathFilter.h
+++ b/Modules/Filtering/Path/include/otbImageToEdgePathFilter.h
@@ -86,10 +86,10 @@ public:
 
 protected:
   ImageToEdgePathFilter();
-  ~ImageToEdgePathFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE {}  //does nothing
-  void GenerateData() ITK_OVERRIDE;
+  ~ImageToEdgePathFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateOutputInformation() override {}  //does nothing
+  void GenerateData() override;
 
 private:
   ImageToEdgePathFilter(const Self &); // purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbImageToPathFilter.h b/Modules/Filtering/Path/include/otbImageToPathFilter.h
index 9011677b0a..8e09616793 100644
--- a/Modules/Filtering/Path/include/otbImageToPathFilter.h
+++ b/Modules/Filtering/Path/include/otbImageToPathFilter.h
@@ -61,8 +61,8 @@ public:
 
 protected:
   ImageToPathFilter();
-  ~ImageToPathFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageToPathFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToPathFilter(const Self &);
diff --git a/Modules/Filtering/Path/include/otbImageToPathListFilter.h b/Modules/Filtering/Path/include/otbImageToPathListFilter.h
index d43671930b..146d7d4d6d 100644
--- a/Modules/Filtering/Path/include/otbImageToPathListFilter.h
+++ b/Modules/Filtering/Path/include/otbImageToPathListFilter.h
@@ -76,9 +76,9 @@ public:
 
 protected:
   ImageToPathListFilter();
-  ~ImageToPathListFilter() ITK_OVERRIDE {}
+  ~ImageToPathListFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToPathListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbOrientationPathFunction.h b/Modules/Filtering/Path/include/otbOrientationPathFunction.h
index d3bdd5a27f..ca1b010e23 100644
--- a/Modules/Filtering/Path/include/otbOrientationPathFunction.h
+++ b/Modules/Filtering/Path/include/otbOrientationPathFunction.h
@@ -66,13 +66,13 @@ public:
   typedef double RealType;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PathType& path) const ITK_OVERRIDE;
+  OutputType Evaluate(const PathType& path) const override;
   virtual OutputType Evaluate() const;
 
 protected:
   OrientationPathFunction() {};
-  ~OrientationPathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~OrientationPathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   OrientationPathFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbPathFunction.h b/Modules/Filtering/Path/include/otbPathFunction.h
index 065a7d5f36..e260d86b32 100644
--- a/Modules/Filtering/Path/include/otbPathFunction.h
+++ b/Modules/Filtering/Path/include/otbPathFunction.h
@@ -80,8 +80,8 @@ public:
 
 protected:
   PathFunction();
-  ~PathFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PathFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   InputPathConstPointer m_Path;
 
diff --git a/Modules/Filtering/Path/include/otbPathListSource.h b/Modules/Filtering/Path/include/otbPathListSource.h
index 31eaebc2b7..0181cc7276 100644
--- a/Modules/Filtering/Path/include/otbPathListSource.h
+++ b/Modules/Filtering/Path/include/otbPathListSource.h
@@ -172,7 +172,7 @@ public:
 
 protected:
   PathListSource() {};
-  ~PathListSource() ITK_OVERRIDE {}
+  ~PathListSource() override {}
 //   void PrintSelf(std::ostream& os, itk::Indent indent) const;
 
 private:
diff --git a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
index 17569744ed..e5f99af968 100644
--- a/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
+++ b/Modules/Filtering/Path/include/otbPathListToHistogramGenerator.h
@@ -117,12 +117,12 @@ public:
 
 protected:
   PathListToHistogramGenerator();
-  ~PathListToHistogramGenerator() ITK_OVERRIDE {}
-  void GenerateData() ITK_OVERRIDE;
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE;
+  ~PathListToHistogramGenerator() override {}
+  void GenerateData() override;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) override;
   using Superclass::MakeOutput;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Filtering/Path/include/otbPathListToPathListFilter.h b/Modules/Filtering/Path/include/otbPathListToPathListFilter.h
index a7baf6f52e..88fcb21c63 100644
--- a/Modules/Filtering/Path/include/otbPathListToPathListFilter.h
+++ b/Modules/Filtering/Path/include/otbPathListToPathListFilter.h
@@ -63,7 +63,7 @@ protected:
   /** Constructor */
   PathListToPathListFilter() {};
   /** Destructor */
-  ~PathListToPathListFilter() ITK_OVERRIDE {}
+  ~PathListToPathListFilter() override {}
 
 private:
   PathListToPathListFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Path/include/otbPolyLineImageIterator.h b/Modules/Filtering/Path/include/otbPolyLineImageIterator.h
index 2b1eebd04b..e56e3e2ac8 100644
--- a/Modules/Filtering/Path/include/otbPolyLineImageIterator.h
+++ b/Modules/Filtering/Path/include/otbPolyLineImageIterator.h
@@ -95,7 +95,7 @@ public:
   PolyLineImageIterator(ImageType * imagePtr, PathType * pathPtr)
     : Superclass(imagePtr, pathPtr) {};
   /** Default Destructor. */
-  ~PolyLineImageIterator() ITK_OVERRIDE {}
+  ~PolyLineImageIterator() override {}
 };
 } // End namespace otb
 
diff --git a/Modules/Filtering/Path/include/otbRegionImageToRectangularPathListFilter.h b/Modules/Filtering/Path/include/otbRegionImageToRectangularPathListFilter.h
index fd3e1c0c50..21176cb50e 100644
--- a/Modules/Filtering/Path/include/otbRegionImageToRectangularPathListFilter.h
+++ b/Modules/Filtering/Path/include/otbRegionImageToRectangularPathListFilter.h
@@ -102,16 +102,16 @@ public:
 
 protected:
   RegionImageToRectangularPathListFilter();
-  ~RegionImageToRectangularPathListFilter() ITK_OVERRIDE;
+  ~RegionImageToRectangularPathListFilter() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE{}  // do nothing
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateOutputInformation() override{}  // do nothing
+  void GenerateData() override;
 
   double m_MinimumFit;
   double m_MinimumSize;
   int    m_CrossTermFormula;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   //jgc
   typedef Image<unsigned char, itkGetStaticConstMacro(NDimensions)> MarkerImageType;
diff --git a/Modules/Filtering/Path/include/otbVectorizationPathListFilter.h b/Modules/Filtering/Path/include/otbVectorizationPathListFilter.h
index 7d6f3f13fb..3e0b32a71b 100644
--- a/Modules/Filtering/Path/include/otbVectorizationPathListFilter.h
+++ b/Modules/Filtering/Path/include/otbVectorizationPathListFilter.h
@@ -117,11 +117,11 @@ protected:
   /** Constructor */
   VectorizationPathListFilter();
   /** Destructor */
-  ~VectorizationPathListFilter() ITK_OVERRIDE {}
+  ~VectorizationPathListFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /**
    * Compute a vector of the 8  neighbors to explore from the direction and the type of search (forward or backward).
    * \param direction The direction
diff --git a/Modules/Filtering/Polarimetry/include/otbMuellerToPolarisationDegreeAndPowerImageFilter.h b/Modules/Filtering/Polarimetry/include/otbMuellerToPolarisationDegreeAndPowerImageFilter.h
index 6d0ce02fc5..fcec423adc 100644
--- a/Modules/Filtering/Polarimetry/include/otbMuellerToPolarisationDegreeAndPowerImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbMuellerToPolarisationDegreeAndPowerImageFilter.h
@@ -230,7 +230,7 @@ public:
 
 protected:
    MuellerToPolarisationDegreeAndPowerImageFilter() {}
-  ~MuellerToPolarisationDegreeAndPowerImageFilter() ITK_OVERRIDE {}
+  ~MuellerToPolarisationDegreeAndPowerImageFilter() override {}
 
 private:
   MuellerToPolarisationDegreeAndPowerImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbMuellerToReciprocalCovarianceImageFilter.h b/Modules/Filtering/Polarimetry/include/otbMuellerToReciprocalCovarianceImageFilter.h
index f867aa7ede..77a13cbb04 100644
--- a/Modules/Filtering/Polarimetry/include/otbMuellerToReciprocalCovarianceImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbMuellerToReciprocalCovarianceImageFilter.h
@@ -158,7 +158,7 @@ public:
 
 protected:
    MuellerToReciprocalCovarianceImageFilter() {}
-  ~MuellerToReciprocalCovarianceImageFilter() ITK_OVERRIDE {}
+  ~MuellerToReciprocalCovarianceImageFilter() override {}
 
 private:
   MuellerToReciprocalCovarianceImageFilter(const Self&); // purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbMultiChannelsPolarimetricSynthesisFilter.h b/Modules/Filtering/Polarimetry/include/otbMultiChannelsPolarimetricSynthesisFilter.h
index bb08aa2ffe..7c3ab103d0 100644
--- a/Modules/Filtering/Polarimetry/include/otbMultiChannelsPolarimetricSynthesisFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbMultiChannelsPolarimetricSynthesisFilter.h
@@ -155,7 +155,7 @@ protected:
   /** Constructor */
   MultiChannelsPolarimetricSynthesisFilter();
   /** Destructor */
-  ~MultiChannelsPolarimetricSynthesisFilter() ITK_OVERRIDE {}
+  ~MultiChannelsPolarimetricSynthesisFilter() override {}
 
   /** MultiChannelsPolarimetricSynthesisFilter can produce an image
    * which is a synthesis of channels HH, HV, VH and VV.
@@ -167,9 +167,9 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** MultiChannelsPolarimetricSynthesisFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -182,7 +182,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
   /** Computation of the electromagnetic fields Ei Er */
   void ComputeElectromagneticFields();
@@ -190,7 +190,7 @@ protected:
   /** Verify and force the inputs, if only  2 or 3 channels are present */
   void VerifyAndForceInputs();
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   MultiChannelsPolarimetricSynthesisFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbPolarimetricData.h b/Modules/Filtering/Polarimetry/include/otbPolarimetricData.h
index 2207165b5c..78a3d1c1cc 100644
--- a/Modules/Filtering/Polarimetry/include/otbPolarimetricData.h
+++ b/Modules/Filtering/Polarimetry/include/otbPolarimetricData.h
@@ -79,9 +79,9 @@ protected:
   /** Constructor */
   PolarimetricData();
   /** Destructor */
-  ~PolarimetricData() ITK_OVERRIDE {}
+  ~PolarimetricData() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PolarimetricData(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalBarnesDecompImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalBarnesDecompImageFilter.h
index d6fd45092a..54dd975da4 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalBarnesDecompImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalBarnesDecompImageFilter.h
@@ -151,7 +151,7 @@ public:
 
 protected:
    ReciprocalBarnesDecompImageFilter() {}
-  ~ReciprocalBarnesDecompImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalBarnesDecompImageFilter() override {}
 
 private:
   ReciprocalBarnesDecompImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalCoherencyToReciprocalMuellerImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalCoherencyToReciprocalMuellerImageFilter.h
index 438d27a10b..71e7d6917d 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalCoherencyToReciprocalMuellerImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalCoherencyToReciprocalMuellerImageFilter.h
@@ -163,7 +163,7 @@ public:
 
 protected:
    ReciprocalCoherencyToReciprocalMuellerImageFilter() {}
-  ~ReciprocalCoherencyToReciprocalMuellerImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalCoherencyToReciprocalMuellerImageFilter() override {}
 
 
 private:
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToCoherencyDegreeImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToCoherencyDegreeImageFilter.h
index 64412304a9..8d346c7149 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToCoherencyDegreeImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToCoherencyDegreeImageFilter.h
@@ -147,7 +147,7 @@ public:
 
 protected:
   ReciprocalCovarianceToCoherencyDegreeImageFilter() {}
-  ~ReciprocalCovarianceToCoherencyDegreeImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalCovarianceToCoherencyDegreeImageFilter() override {}
 
 private:
   ReciprocalCovarianceToCoherencyDegreeImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToReciprocalCoherencyImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToReciprocalCoherencyImageFilter.h
index 4c92f4d88f..761f4a0f74 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToReciprocalCoherencyImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalCovarianceToReciprocalCoherencyImageFilter.h
@@ -138,7 +138,7 @@ public:
 
 protected:
   ReciprocalCovarianceToReciprocalCoherencyImageFilter() {}
-  ~ReciprocalCovarianceToReciprocalCoherencyImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalCovarianceToReciprocalCoherencyImageFilter() override {}
 
 private:
   ReciprocalCovarianceToReciprocalCoherencyImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalHAlphaImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalHAlphaImageFilter.h
index ad2404e657..2e95fff07c 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalHAlphaImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalHAlphaImageFilter.h
@@ -220,7 +220,7 @@ public:
 
 protected:
    ReciprocalHAlphaImageFilter() {}
-  ~ReciprocalHAlphaImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalHAlphaImageFilter() override {}
 
 private:
   ReciprocalHAlphaImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalHuynenDecompImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalHuynenDecompImageFilter.h
index fc9973dc28..2da4369697 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalHuynenDecompImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalHuynenDecompImageFilter.h
@@ -122,7 +122,7 @@ public:
 
 protected:
    ReciprocalHuynenDecompImageFilter() {}
-  ~ReciprocalHuynenDecompImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalHuynenDecompImageFilter() override {}
 
 private:
   ReciprocalHuynenDecompImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter.h
index d762a266bd..900eeb4947 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter.h
@@ -143,7 +143,7 @@ public:
 
 protected:
   ReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter() {}
-  ~ReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter() override {}
 
 private:
   ReciprocalLinearCovarianceToReciprocalCircularCovarianceImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbReciprocalPauliDecompImageFilter.h b/Modules/Filtering/Polarimetry/include/otbReciprocalPauliDecompImageFilter.h
index d24da9a307..319c19be77 100644
--- a/Modules/Filtering/Polarimetry/include/otbReciprocalPauliDecompImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbReciprocalPauliDecompImageFilter.h
@@ -113,7 +113,7 @@ public:
 
 protected:
    ReciprocalPauliDecompImageFilter() {this->SetNumberOfThreads(1);}
-  ~ReciprocalPauliDecompImageFilter() ITK_OVERRIDE {}
+  ~ReciprocalPauliDecompImageFilter() override {}
 
 private:
   ReciprocalPauliDecompImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Polarimetry/include/otbSinclairImageFilter.h b/Modules/Filtering/Polarimetry/include/otbSinclairImageFilter.h
index 1bbd3f1213..bb9c04c06f 100644
--- a/Modules/Filtering/Polarimetry/include/otbSinclairImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbSinclairImageFilter.h
@@ -109,11 +109,11 @@ protected:
   /**  Constructor */
   SinclairImageFilter() {}
   /**  Destructor */
-  ~SinclairImageFilter() ITK_OVERRIDE {}
+  ~SinclairImageFilter() override {}
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Filtering/Polarimetry/include/otbSinclairReciprocalImageFilter.h b/Modules/Filtering/Polarimetry/include/otbSinclairReciprocalImageFilter.h
index 4dea852f42..2b9d4dc321 100644
--- a/Modules/Filtering/Polarimetry/include/otbSinclairReciprocalImageFilter.h
+++ b/Modules/Filtering/Polarimetry/include/otbSinclairReciprocalImageFilter.h
@@ -108,11 +108,11 @@ protected:
   /**  Constructor */
   SinclairReciprocalImageFilter() {}
   /**  Destructor */
-  ~SinclairReciprocalImageFilter() ITK_OVERRIDE {}
+  ~SinclairReciprocalImageFilter() override {}
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Filtering/Projection/include/otbEckert4MapProjection.h b/Modules/Filtering/Projection/include/otbEckert4MapProjection.h
index cddb18af87..d02d5a6888 100644
--- a/Modules/Filtering/Projection/include/otbEckert4MapProjection.h
+++ b/Modules/Filtering/Projection/include/otbEckert4MapProjection.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   Eckert4MapProjection();
-  ~Eckert4MapProjection() ITK_OVERRIDE;
+  ~Eckert4MapProjection() override;
 
 private:
   Eckert4MapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbGCPsToRPCSensorModelImageFilter.h b/Modules/Filtering/Projection/include/otbGCPsToRPCSensorModelImageFilter.h
index e2f6aac470..06436338f0 100644
--- a/Modules/Filtering/Projection/include/otbGCPsToRPCSensorModelImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbGCPsToRPCSensorModelImageFilter.h
@@ -170,17 +170,17 @@ protected:
   /** Constructor */
   GCPsToRPCSensorModelImageFilter();
   /** Destructor */
-  ~GCPsToRPCSensorModelImageFilter() ITK_OVERRIDE;
+  ~GCPsToRPCSensorModelImageFilter() override;
 
   /** The PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Actual estimation of the sensor model takes place in the
    * GenerateOutputInformation() method */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Drive the model up-to-date flag */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
   GCPsToRPCSensorModelImageFilter (const Self &);   // purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
index 233d736e85..0f93d53e91 100644
--- a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.h
@@ -268,20 +268,20 @@ public:
   }
 
   /** Override itk::ProcessObject method to let the internal filter do the propagation */
-  void PropagateRequestedRegion(itk::DataObject *output) ITK_OVERRIDE;
+  void PropagateRequestedRegion(itk::DataObject *output) override;
 
 protected:
   GenericRSResampleImageFilter();
   /** Destructor */
-  ~GenericRSResampleImageFilter() ITK_OVERRIDE {};
+  ~GenericRSResampleImageFilter() override {};
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   virtual void UpdateTransform();
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GenericRSResampleImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.txx b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.txx
index 7635cdcea7..ee70f41a72 100644
--- a/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.txx
+++ b/Modules/Filtering/Projection/include/otbGenericRSResampleImageFilter.txx
@@ -203,7 +203,7 @@ GenericRSResampleImageFilter<TInputImage, TOutputImage>
    m_InputRpcEstimator->SetInput(tempPtr);
    m_InputRpcEstimator->UpdateOutputInformation();
 
-   // No need to ITK_OVERRIDE the input kwl, just setup the
+   // No need to override the input kwl, just setup the
    // transform with the kwl estimated
    if(m_InputRpcEstimator->GetInput()->GetImageKeywordlist().GetSize() > 0)
      m_Transform->SetOutputKeywordList(m_InputRpcEstimator->GetOutput()->GetImageKeywordlist());
diff --git a/Modules/Filtering/Projection/include/otbGeographicalDistance.h b/Modules/Filtering/Projection/include/otbGeographicalDistance.h
index 11b7dacd6f..225aa44e4a 100644
--- a/Modules/Filtering/Projection/include/otbGeographicalDistance.h
+++ b/Modules/Filtering/Projection/include/otbGeographicalDistance.h
@@ -68,10 +68,10 @@ public:
 
   /** Gets the distance between the origin point and x. This function
    *  work with SetOrigin() function */
-  double Evaluate(const VectorType & x) const ITK_OVERRIDE;
+  double Evaluate(const VectorType & x) const override;
 
   /* Gets the distance between x and y points */
-  double Evaluate(const VectorType & x, const VectorType & y) const ITK_OVERRIDE;
+  double Evaluate(const VectorType & x, const VectorType & y) const override;
 
   /** Set the earth radius */
   itkSetMacro(EarthRadius, double);
@@ -84,10 +84,10 @@ protected:
   GeographicalDistance();
 
   /** Destructor */
-  ~GeographicalDistance() ITK_OVERRIDE{}
+  ~GeographicalDistance() override{}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GeographicalDistance(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h b/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
index 50e7ea5b2f..4229ae3771 100644
--- a/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
+++ b/Modules/Filtering/Projection/include/otbGeometriesProjectionFilter.h
@@ -195,7 +195,7 @@ private:
    * of the filter. It's up to the caller to take responsibility of the returned
    * object.
    */
-  OGRSpatialReference* DoDefineNewLayerSpatialReference(ogr::Layer const& source) const ITK_OVERRIDE;
+  OGRSpatialReference* DoDefineNewLayerSpatialReference(ogr::Layer const& source) const override;
   /**
    * Hook that actually filters an OGR \c Layer.
    * \param[in]     source      Input layer
@@ -207,13 +207,13 @@ private:
    * inner-filter working on \c ogr::DataSource cannot be globally configured
    * once and for all.
    */
-  void DoProcessLayer(ogr::Layer const& source, ogr::Layer & destination) const ITK_OVERRIDE;
+  void DoProcessLayer(ogr::Layer const& source, ogr::Layer & destination) const override;
   /** Hook used to conclude the initialization phase.
    * Global \c ogr::DataSource settings for the \c m_Transform functor are
    * forwarded to the functor. \c ogr::Layer specific settings will be set at
    * the last moment from \c DoProcessLayer().
    */
-  void DoFinalizeInitialization() ITK_OVERRIDE;
+  void DoFinalizeInitialization() override;
   
   /**
    * Hook used to define the fields of the new layer.
@@ -223,18 +223,18 @@ private:
    * Just forwards the fields definition to the \c FieldTransformationPolicy
    * encapsuled in the \c TransformationFunctorDispatcherType.
    */
-  void DoDefineNewLayerFields(ogr::Layer const& source, ogr::Layer & dest) const ITK_OVERRIDE;
+  void DoDefineNewLayerFields(ogr::Layer const& source, ogr::Layer & dest) const override;
 
 protected:
   /** Default constructor. */
   GeometriesProjectionFilter();
   /** Destructor. */
-  ~GeometriesProjectionFilter() ITK_OVERRIDE;
+  ~GeometriesProjectionFilter() override;
 
   /** Computes output information.
    * \post \c m_OutputProjectionRef contains all its related meta-data
    */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 public:
   /**\name Image Reference (origin, spacing) */
diff --git a/Modules/Filtering/Projection/include/otbGroundSpacingImageFunction.h b/Modules/Filtering/Projection/include/otbGroundSpacingImageFunction.h
index 6f60e7b74a..925069f259 100644
--- a/Modules/Filtering/Projection/include/otbGroundSpacingImageFunction.h
+++ b/Modules/Filtering/Projection/include/otbGroundSpacingImageFunction.h
@@ -81,10 +81,10 @@ public:
   itkStaticConstMacro(ImageDimension, unsigned int, InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  FloatType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  FloatType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  FloatType Evaluate(const PointType& point) const ITK_OVERRIDE
+  FloatType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
@@ -92,7 +92,7 @@ public:
   }
 
   FloatType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -103,8 +103,8 @@ public:
 
 protected:
   GroundSpacingImageFunction();
-  ~GroundSpacingImageFunction() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~GroundSpacingImageFunction() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GroundSpacingImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h b/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
index 2c4bd9779b..827b852e8f 100644
--- a/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
+++ b/Modules/Filtering/Projection/include/otbImageToEnvelopeVectorDataFilter.h
@@ -96,13 +96,13 @@ public:
 
 protected:
   ImageToEnvelopeVectorDataFilter();
-  ~ImageToEnvelopeVectorDataFilter() ITK_OVERRIDE {}
+  ~ImageToEnvelopeVectorDataFilter() override {}
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   void InstantiateTransform();
 
diff --git a/Modules/Filtering/Projection/include/otbImportGeoInformationImageFilter.h b/Modules/Filtering/Projection/include/otbImportGeoInformationImageFilter.h
index 6245f9b0a1..f22b21de3b 100644
--- a/Modules/Filtering/Projection/include/otbImportGeoInformationImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbImportGeoInformationImageFilter.h
@@ -81,20 +81,20 @@ protected:
   /** Constructor */
   ImportGeoInformationImageFilter();
   /** Destructor */
-  ~ImportGeoInformationImageFilter() ITK_OVERRIDE {}
+  ~ImportGeoInformationImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Generate input requested region */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
    * not need to occupy the same physical space.
    *
    * \sa ProcessObject::VerifyInputInformation
    */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 private:
   ImportGeoInformationImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbLambert2EtenduProjection.h b/Modules/Filtering/Projection/include/otbLambert2EtenduProjection.h
index d66432cfcf..76dfc2c415 100644
--- a/Modules/Filtering/Projection/include/otbLambert2EtenduProjection.h
+++ b/Modules/Filtering/Projection/include/otbLambert2EtenduProjection.h
@@ -60,7 +60,7 @@ protected:
     this->SetParameter("StandardParallel2", "47.69601389");
   }
 
-  ~Lambert2EtenduProjection() ITK_OVERRIDE {}
+  ~Lambert2EtenduProjection() override {}
 
 private:
   Lambert2EtenduProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbLambert93Projection.h b/Modules/Filtering/Projection/include/otbLambert93Projection.h
index 6949cbb9ea..377d61acc6 100644
--- a/Modules/Filtering/Projection/include/otbLambert93Projection.h
+++ b/Modules/Filtering/Projection/include/otbLambert93Projection.h
@@ -60,7 +60,7 @@ protected:
     this->SetParameter("StandardParallel2", "49");
   }
 
-  ~Lambert93Projection() ITK_OVERRIDE {}
+  ~Lambert93Projection() override {}
 
 private:
   Lambert93Projection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbLambertConformalConicMapProjection.h b/Modules/Filtering/Projection/include/otbLambertConformalConicMapProjection.h
index d0031487d6..53bf34e8ec 100644
--- a/Modules/Filtering/Projection/include/otbLambertConformalConicMapProjection.h
+++ b/Modules/Filtering/Projection/include/otbLambertConformalConicMapProjection.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   LambertConformalConicMapProjection();
-  ~LambertConformalConicMapProjection() ITK_OVERRIDE {};
+  ~LambertConformalConicMapProjection() override {};
 
 private:
   LambertConformalConicMapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbLeastSquareAffineTransformEstimator.h b/Modules/Filtering/Projection/include/otbLeastSquareAffineTransformEstimator.h
index f85ec67263..a3d1f273c4 100644
--- a/Modules/Filtering/Projection/include/otbLeastSquareAffineTransformEstimator.h
+++ b/Modules/Filtering/Projection/include/otbLeastSquareAffineTransformEstimator.h
@@ -138,10 +138,10 @@ protected:
   /** Constructor */
   LeastSquareAffineTransformEstimator();
   /** Destructor */
-  ~LeastSquareAffineTransformEstimator() ITK_OVERRIDE;
+  ~LeastSquareAffineTransformEstimator() override;
 
   /** The PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LeastSquareAffineTransformEstimator (const Self &);   // purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbMollweidMapProjection.h b/Modules/Filtering/Projection/include/otbMollweidMapProjection.h
index 807239a0fa..27c7f71417 100644
--- a/Modules/Filtering/Projection/include/otbMollweidMapProjection.h
+++ b/Modules/Filtering/Projection/include/otbMollweidMapProjection.h
@@ -59,7 +59,7 @@ public:
 
 protected:
   MollweidMapProjection();
-  ~MollweidMapProjection() ITK_OVERRIDE;
+  ~MollweidMapProjection() override;
 
 private:
   MollweidMapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbOrthoRectificationFilter.h b/Modules/Filtering/Projection/include/otbOrthoRectificationFilter.h
index 72b4aeb38c..17c6ef257b 100644
--- a/Modules/Filtering/Projection/include/otbOrthoRectificationFilter.h
+++ b/Modules/Filtering/Projection/include/otbOrthoRectificationFilter.h
@@ -93,11 +93,11 @@ public:
 
 protected:
   OrthoRectificationFilter();
-  ~OrthoRectificationFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~OrthoRectificationFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
+  void GenerateOutputInformation(void) override;
 
 private:
   OrthoRectificationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbPhysicalToRPCSensorModelImageFilter.h b/Modules/Filtering/Projection/include/otbPhysicalToRPCSensorModelImageFilter.h
index 877bc433ca..0fb3a72973 100644
--- a/Modules/Filtering/Projection/include/otbPhysicalToRPCSensorModelImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbPhysicalToRPCSensorModelImageFilter.h
@@ -110,19 +110,19 @@ public:
   }
 
   /** Reimplement the method Modified() */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 protected:
   /** Constructor */
   PhysicalToRPCSensorModelImageFilter();
   /** Destructor */
-  ~PhysicalToRPCSensorModelImageFilter() ITK_OVERRIDE;
+  ~PhysicalToRPCSensorModelImageFilter() override;
 
   /** The PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Generate the Output image information*/
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   PhysicalToRPCSensorModelImageFilter(const Self &);   // purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h b/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
index 29fea2c18d..22b92e4a05 100644
--- a/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
+++ b/Modules/Filtering/Projection/include/otbProjectiveProjectionImageFilter.h
@@ -154,11 +154,11 @@ public:
 protected:
   ProjectiveProjectionImageFilter();
 
-  ~ProjectiveProjectionImageFilter() ITK_OVERRIDE {}
+  ~ProjectiveProjectionImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation();
     typename Superclass::OutputImagePointer outputPtr = this->GetOutput();
diff --git a/Modules/Filtering/Projection/include/otbROIdataConversion.h b/Modules/Filtering/Projection/include/otbROIdataConversion.h
index ed7f9469f2..1c74b75a40 100644
--- a/Modules/Filtering/Projection/include/otbROIdataConversion.h
+++ b/Modules/Filtering/Projection/include/otbROIdataConversion.h
@@ -82,16 +82,16 @@ public:
 
 protected:
   ROIdataConversion();
-  ~ROIdataConversion() ITK_OVERRIDE {}
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  ~ROIdataConversion() override {}
+  void GenerateOutputInformation() override;
+  void GenerateInputRequestedRegion() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
 
   /** Performs its job! */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Count the number for sample in the training area */
   SizeValueType GetNumberOfSample();
diff --git a/Modules/Filtering/Projection/include/otbRationalTransform.h b/Modules/Filtering/Projection/include/otbRationalTransform.h
index 9ce1720ac6..5cc26f3bb6 100644
--- a/Modules/Filtering/Projection/include/otbRationalTransform.h
+++ b/Modules/Filtering/Projection/include/otbRationalTransform.h
@@ -101,7 +101,7 @@ public:
   itkGetConstMacro(DenominatorDegree, unsigned int);
 
   /** The transform point method */
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE
+  OutputPointType TransformPoint(const InputPointType& point) const override
   {
     // Check for consistency
     if(this->GetNumberOfParameters() != this->m_Parameters.size())
@@ -148,13 +148,13 @@ public:
   }
 
   /** Get the number of parameters */
-  NumberOfParametersType GetNumberOfParameters() const ITK_OVERRIDE
+  NumberOfParametersType GetNumberOfParameters() const override
   {
     return (static_cast <NumberOfParametersType> ( (m_NumeratorDegree +1 + m_DenominatorDegree+1)*SpaceDimension ));
   }
 
   // Set parameter method
-  void SetParameters(const typename Superclass::ParametersType & params) ITK_OVERRIDE
+  void SetParameters(const typename Superclass::ParametersType & params) override
   {
     // Check for the appropriate size
     if(params.Size() != this->GetNumberOfParameters())
@@ -187,9 +187,9 @@ protected:
     }
 
 
-  ~RationalTransform() ITK_OVERRIDE {}
+  ~RationalTransform() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << indent << "Numerator Degree : " << m_NumeratorDegree << std::endl;
diff --git a/Modules/Filtering/Projection/include/otbSVY21MapProjection.h b/Modules/Filtering/Projection/include/otbSVY21MapProjection.h
index a2a82cf174..415f9f9e4f 100644
--- a/Modules/Filtering/Projection/include/otbSVY21MapProjection.h
+++ b/Modules/Filtering/Projection/include/otbSVY21MapProjection.h
@@ -62,7 +62,7 @@ protected:
     this->SetParameter("FalseEasting", "28001.642");
     this->SetParameter("ScaleFactor", "1.00");
   }
-  ~SVY21MapProjection() ITK_OVERRIDE {}
+  ~SVY21MapProjection() override {}
 
 private:
   SVY21MapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbSinusoidalMapProjection.h b/Modules/Filtering/Projection/include/otbSinusoidalMapProjection.h
index 2a2d7ca276..e8b7a190d3 100644
--- a/Modules/Filtering/Projection/include/otbSinusoidalMapProjection.h
+++ b/Modules/Filtering/Projection/include/otbSinusoidalMapProjection.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   SinusoidalMapProjection();
-  ~SinusoidalMapProjection() ITK_OVERRIDE;
+  ~SinusoidalMapProjection() override;
 
 private:
   SinusoidalMapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbTileMapTransform.h b/Modules/Filtering/Projection/include/otbTileMapTransform.h
index f02bbb7438..c6d2125ba1 100644
--- a/Modules/Filtering/Projection/include/otbTileMapTransform.h
+++ b/Modules/Filtering/Projection/include/otbTileMapTransform.h
@@ -73,7 +73,7 @@ public:
   void SetLevel(unsigned int level);
   unsigned int GetLevel() const;
 
-  OutputPointType TransformPoint(const InputPointType& point) const ITK_OVERRIDE;
+  OutputPointType TransformPoint(const InputPointType& point) const override;
 
   virtual void PrintMap() const;
 
@@ -85,7 +85,7 @@ public:
 
 protected:
   TileMapTransform();
-  ~TileMapTransform() ITK_OVERRIDE;
+  ~TileMapTransform() override;
 
 private:
   TileMapTransform(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbTransMercatorMapProjection.h b/Modules/Filtering/Projection/include/otbTransMercatorMapProjection.h
index b89d16333e..35a384373a 100644
--- a/Modules/Filtering/Projection/include/otbTransMercatorMapProjection.h
+++ b/Modules/Filtering/Projection/include/otbTransMercatorMapProjection.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   TransMercatorMapProjection();
-  ~TransMercatorMapProjection() ITK_OVERRIDE;
+  ~TransMercatorMapProjection() override;
 
 private:
   TransMercatorMapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbUtmMapProjection.h b/Modules/Filtering/Projection/include/otbUtmMapProjection.h
index 5310eeb42a..60992d15b3 100644
--- a/Modules/Filtering/Projection/include/otbUtmMapProjection.h
+++ b/Modules/Filtering/Projection/include/otbUtmMapProjection.h
@@ -63,7 +63,7 @@ public:
 
 protected:
   UtmMapProjection();
-  ~UtmMapProjection() ITK_OVERRIDE {};
+  ~UtmMapProjection() override {};
 
 private:
   UtmMapProjection(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbVectorDataIntoImageProjectionFilter.h b/Modules/Filtering/Projection/include/otbVectorDataIntoImageProjectionFilter.h
index b86c9c78ac..34743bb569 100644
--- a/Modules/Filtering/Projection/include/otbVectorDataIntoImageProjectionFilter.h
+++ b/Modules/Filtering/Projection/include/otbVectorDataIntoImageProjectionFilter.h
@@ -105,9 +105,9 @@ public:
 protected:
   VectorDataIntoImageProjectionFilter();
 
-  ~VectorDataIntoImageProjectionFilter() ITK_OVERRIDE {}
+  ~VectorDataIntoImageProjectionFilter() override {}
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   // Projection filter
   typedef VectorDataProjectionFilter<InputVectorDataType, InputVectorDataType>
diff --git a/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h b/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
index 3178d4c71a..d455ec83d7 100644
--- a/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
+++ b/Modules/Filtering/Projection/include/otbVectorDataProjectionFilter.h
@@ -175,17 +175,17 @@ public:
 
 protected:
   VectorDataProjectionFilter();
-  ~VectorDataProjectionFilter() ITK_OVERRIDE {}
+  ~VectorDataProjectionFilter() override {}
 
-  OutputPointType ProcessPoint(InputPointType point) const ITK_OVERRIDE;
-  OutputLinePointerType ProcessLine(InputLinePointerType line) const ITK_OVERRIDE;
-  OutputPolygonPointerType ProcessPolygon(InputPolygonPointerType polygon) const ITK_OVERRIDE;
-  OutputPolygonListPointerType ProcessPolygonList(InputPolygonListPointerType polygonList) const ITK_OVERRIDE;
+  OutputPointType ProcessPoint(InputPointType point) const override;
+  OutputLinePointerType ProcessLine(InputLinePointerType line) const override;
+  OutputPolygonPointerType ProcessPolygon(InputPolygonPointerType polygon) const override;
+  OutputPolygonListPointerType ProcessPolygonList(InputPolygonListPointerType polygonList) const override;
 
   virtual void InstantiateTransform(void);
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
+  void GenerateData(void) override;
 
 private:
   VectorDataProjectionFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Projection/include/otbVectorDataTransformFilter.h b/Modules/Filtering/Projection/include/otbVectorDataTransformFilter.h
index df815dd7d7..0ba5ce9031 100644
--- a/Modules/Filtering/Projection/include/otbVectorDataTransformFilter.h
+++ b/Modules/Filtering/Projection/include/otbVectorDataTransformFilter.h
@@ -102,14 +102,14 @@ public:
 
 protected:
   VectorDataTransformFilter();
-  ~VectorDataTransformFilter() ITK_OVERRIDE {};
+  ~VectorDataTransformFilter() override {};
 
-  PointType ProcessPoint(PointType point) const ITK_OVERRIDE;
-  LinePointerType ProcessLine(LinePointerType line) const ITK_OVERRIDE;
-  PolygonPointerType ProcessPolygon(PolygonPointerType polygon) const ITK_OVERRIDE;
-  PolygonListPointerType ProcessPolygonList(PolygonListPointerType polygonList) const ITK_OVERRIDE;
+  PointType ProcessPoint(PointType point) const override;
+  LinePointerType ProcessLine(LinePointerType line) const override;
+  PolygonPointerType ProcessPolygon(PolygonPointerType polygon) const override;
+  PolygonListPointerType ProcessPolygonList(PolygonListPointerType polygonList) const override;
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   VectorDataTransformFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h b/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
index b91668884b..845f7dc00d 100644
--- a/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
+++ b/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
@@ -576,11 +576,11 @@ protected:
    *  Define output pixel size
    *
    **/
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** MeanShiftFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData()
@@ -592,21 +592,21 @@ protected:
    *
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
-  void ThreadedGenerateData(const OutputRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** Allocates the outputs (need to be reimplemented since outputs have different type) */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
   /** Constructor */
   MeanShiftSmoothingImageFilter();
 
   /** Destructor */
-  ~MeanShiftSmoothingImageFilter() ITK_OVERRIDE;
+  ~MeanShiftSmoothingImageFilter() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   virtual void CalculateMeanShiftVector(const typename RealVectorImageType::Pointer inputImagePtr,
                                         const RealVector& jointPixel, const OutputRegionType& outputRegion,
diff --git a/Modules/Filtering/Statistics/include/otbConcatenateSampleListFilter.h b/Modules/Filtering/Statistics/include/otbConcatenateSampleListFilter.h
index 7208ac16f5..4fa8981e15 100644
--- a/Modules/Filtering/Statistics/include/otbConcatenateSampleListFilter.h
+++ b/Modules/Filtering/Statistics/include/otbConcatenateSampleListFilter.h
@@ -67,11 +67,11 @@ public:
 
 protected:
   /** This method causes the filter to generate its output. */
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
   ConcatenateSampleListFilter();
-  ~ConcatenateSampleListFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ConcatenateSampleListFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ConcatenateSampleListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbContinuousMinimumMaximumImageCalculator.h b/Modules/Filtering/Statistics/include/otbContinuousMinimumMaximumImageCalculator.h
index d10a702d4e..d22fcaba45 100644
--- a/Modules/Filtering/Statistics/include/otbContinuousMinimumMaximumImageCalculator.h
+++ b/Modules/Filtering/Statistics/include/otbContinuousMinimumMaximumImageCalculator.h
@@ -137,8 +137,8 @@ public:
 
 protected:
   ContinuousMinimumMaximumImageCalculator();
-  ~ContinuousMinimumMaximumImageCalculator() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ContinuousMinimumMaximumImageCalculator() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   PixelType         m_Minimum;
   PixelType         m_Maximum;
diff --git a/Modules/Filtering/Statistics/include/otbGaussianAdditiveNoiseSampleListFilter.h b/Modules/Filtering/Statistics/include/otbGaussianAdditiveNoiseSampleListFilter.h
index dd104feb2c..9bc1a1e555 100644
--- a/Modules/Filtering/Statistics/include/otbGaussianAdditiveNoiseSampleListFilter.h
+++ b/Modules/Filtering/Statistics/include/otbGaussianAdditiveNoiseSampleListFilter.h
@@ -88,7 +88,7 @@ public:
 
 protected:
   /** This method causes the filter to generate its output. */
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
   /** Generate a white gaussian noise with mean m_Mean and variance
     * m_Variance
@@ -96,8 +96,8 @@ protected:
   void GenerateRandomSequence();
 
   GaussianAdditiveNoiseSampleListFilter();
-  ~GaussianAdditiveNoiseSampleListFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~GaussianAdditiveNoiseSampleListFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GaussianAdditiveNoiseSampleListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbHistogramStatisticsFunction.h b/Modules/Filtering/Statistics/include/otbHistogramStatisticsFunction.h
index c1cd905fcd..c2c04c9ea5 100644
--- a/Modules/Filtering/Statistics/include/otbHistogramStatisticsFunction.h
+++ b/Modules/Filtering/Statistics/include/otbHistogramStatisticsFunction.h
@@ -83,7 +83,7 @@ public:
   }
 
   /** Calculates the thresholds and save them */
-  void Compute() ITK_OVERRIDE
+  void Compute() override
   {
     this->GenerateData();
   }
@@ -91,8 +91,8 @@ public:
 protected:
 
   HistogramStatisticsFunction();
-  ~HistogramStatisticsFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~HistogramStatisticsFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Calculates the thresholds and save them */
   void GenerateData();
diff --git a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
index 58ece65e87..2a074d8748 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleGenerator.h
@@ -98,7 +98,7 @@ public:
 
   // Build the outputs
   typedef itk::DataObject::Pointer DataObjectPointer;
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   //virtual void Update();
@@ -152,13 +152,13 @@ public:
 
 protected:
   ListSampleGenerator();
-  ~ListSampleGenerator() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ListSampleGenerator() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Triggers the Computation of the sample list */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Compute the calss statistics*/
   void GenerateClassStatistics();
diff --git a/Modules/Filtering/Statistics/include/otbListSampleSource.h b/Modules/Filtering/Statistics/include/otbListSampleSource.h
index 68efdd1c38..88bf53f9c2 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleSource.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleSource.h
@@ -73,12 +73,12 @@ public:
 
 protected:
   /** Standard itk::ProcessObject subclass method. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   ListSampleSource();
-  ~ListSampleSource() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ListSampleSource() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ListSampleSource(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
index f011996601..d904e39073 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToBalancedListSampleFilter.h
@@ -120,7 +120,7 @@ public:
 
 protected:
   /** This method causes the filter to generate its output. */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** In order to respect the fair data principle, the number of samples for
     * each label must be the same. This method computes the label that
@@ -129,12 +129,12 @@ protected:
   void ComputeMaxSampleFrequency();
 
   /** Make Output */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   ListSampleToBalancedListSampleFilter();
-  ~ListSampleToBalancedListSampleFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ListSampleToBalancedListSampleFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ListSampleToBalancedListSampleFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
index 3e46220642..f524aee705 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToHistogramListGenerator.h
@@ -147,14 +147,14 @@ public:
 
 protected:
   ListSampleToHistogramListGenerator();
-  ~ListSampleToHistogramListGenerator() ITK_OVERRIDE {}
+  ~ListSampleToHistogramListGenerator() override {}
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   //ListSampleConstPointerType m_List;
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToListSampleFilter.h b/Modules/Filtering/Statistics/include/otbListSampleToListSampleFilter.h
index 9e5f34cbc0..152788ef81 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToListSampleFilter.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToListSampleFilter.h
@@ -88,8 +88,8 @@ public:
 protected:
 
   ListSampleToListSampleFilter();
-  ~ListSampleToListSampleFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ListSampleToListSampleFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ListSampleToListSampleFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
index 58e4340942..01bdb85060 100644
--- a/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
+++ b/Modules/Filtering/Statistics/include/otbListSampleToVariableDimensionHistogramGenerator.h
@@ -111,10 +111,10 @@ public:
 
 protected:
   ListSampleToVariableDimensionHistogramGenerator();
-  ~ListSampleToVariableDimensionHistogramGenerator() ITK_OVERRIDE {}
-  void GenerateData() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  ~ListSampleToVariableDimensionHistogramGenerator() override {}
+  void GenerateData() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 private:
diff --git a/Modules/Filtering/Statistics/include/otbLocalHistogramImageFunction.h b/Modules/Filtering/Statistics/include/otbLocalHistogramImageFunction.h
index b92dfab981..38eec749bc 100644
--- a/Modules/Filtering/Statistics/include/otbLocalHistogramImageFunction.h
+++ b/Modules/Filtering/Statistics/include/otbLocalHistogramImageFunction.h
@@ -89,17 +89,17 @@ public:
                       InputImageType::ImageDimension);
 
   /** Evalulate the function at specified index */
-  OutputType  EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType  EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -128,8 +128,8 @@ public:
 
 protected:
   LocalHistogramImageFunction();
-  ~LocalHistogramImageFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LocalHistogramImageFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LocalHistogramImageFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbNormalizeVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbNormalizeVectorImageFilter.h
index 56edd91384..f75d244c61 100644
--- a/Modules/Filtering/Statistics/include/otbNormalizeVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbNormalizeVectorImageFilter.h
@@ -196,9 +196,9 @@ public:
 
 protected:
   NormalizeVectorImageFilter ();
-  ~NormalizeVectorImageFilter() ITK_OVERRIDE { }
+  ~NormalizeVectorImageFilter() override { }
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 
 private:
diff --git a/Modules/Filtering/Statistics/include/otbPatternSampler.h b/Modules/Filtering/Statistics/include/otbPatternSampler.h
index cc9dd9465d..90432a595b 100644
--- a/Modules/Filtering/Statistics/include/otbPatternSampler.h
+++ b/Modules/Filtering/Statistics/include/otbPatternSampler.h
@@ -89,7 +89,7 @@ public:
   /**
    * Method that resets the internal state of the sampler
    */
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   /**
    * Method to call during iteration, returns true if the sample is selected,
@@ -118,7 +118,7 @@ protected:
   PatternSampler();
 
   /** Destructor */
-  ~PatternSampler() ITK_OVERRIDE {}
+  ~PatternSampler() override {}
 
 private:
   // Not implemented
diff --git a/Modules/Filtering/Statistics/include/otbPeriodicSampler.h b/Modules/Filtering/Statistics/include/otbPeriodicSampler.h
index dde341a6cd..c5b8185f77 100644
--- a/Modules/Filtering/Statistics/include/otbPeriodicSampler.h
+++ b/Modules/Filtering/Statistics/include/otbPeriodicSampler.h
@@ -86,7 +86,7 @@ public:
   /**
    * Method that resets the internal state of the sampler
    */
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
   
   /**
    * Method to call during iteration, returns true if the sample is selected,
@@ -99,7 +99,7 @@ protected:
   PeriodicSampler();
    
   /** Destructor */
-  ~PeriodicSampler() ITK_OVERRIDE {}
+  ~PeriodicSampler() override {}
 
 private:
   // Not implemented
diff --git a/Modules/Filtering/Statistics/include/otbRandomSampler.h b/Modules/Filtering/Statistics/include/otbRandomSampler.h
index 0ea7eb23d7..035b9d54ec 100644
--- a/Modules/Filtering/Statistics/include/otbRandomSampler.h
+++ b/Modules/Filtering/Statistics/include/otbRandomSampler.h
@@ -80,7 +80,7 @@ public:
   /**
    * Reset internal counter (to be called before starting iteration)
    */
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   /**
    * Method to call during iteration, returns true if the sample is selected,
@@ -93,7 +93,7 @@ protected:
   RandomSampler();
    
   /** Destructor */
-  ~RandomSampler() ITK_OVERRIDE {}
+  ~RandomSampler() override {}
 
 private:
   // Not implemented
diff --git a/Modules/Filtering/Statistics/include/otbSamplerBase.h b/Modules/Filtering/Statistics/include/otbSamplerBase.h
index b32f2e46e2..be5602873a 100644
--- a/Modules/Filtering/Statistics/include/otbSamplerBase.h
+++ b/Modules/Filtering/Statistics/include/otbSamplerBase.h
@@ -78,7 +78,7 @@ protected:
   SamplerBase();
    
   /** Destructor */
-  ~SamplerBase() ITK_OVERRIDE {}
+  ~SamplerBase() override {}
   
   /** Current count of selected elements */
   unsigned long m_ChosenElements;
diff --git a/Modules/Filtering/Statistics/include/otbShiftScaleSampleListFilter.h b/Modules/Filtering/Statistics/include/otbShiftScaleSampleListFilter.h
index b25d2782cc..00ed571aa8 100644
--- a/Modules/Filtering/Statistics/include/otbShiftScaleSampleListFilter.h
+++ b/Modules/Filtering/Statistics/include/otbShiftScaleSampleListFilter.h
@@ -87,11 +87,11 @@ public:
 
 protected:
   /** This method causes the filter to generate its output. */
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
   ShiftScaleSampleListFilter();
-  ~ShiftScaleSampleListFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ShiftScaleSampleListFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ShiftScaleSampleListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
index c911b3b699..aefd0fc2e1 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingCompareImageFilter.h
@@ -138,31 +138,31 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
 protected:
   PersistentCompareImageFilter();
-  ~PersistentCompareImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentCompareImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Multi-thread version GenerateData. */
   void  ThreadedGenerateData(const RegionType&
                              outputRegionForThread,
-                             itk::ThreadIdType threadId) ITK_OVERRIDE;
+                             itk::ThreadIdType threadId) override;
 
   /** Allows skipping the verification of physical space between
    *  the two input images (see flag m_PhysicalSpaceCheck)
    */
-  void VerifyInputInformation() ITK_OVERRIDE;
+  void VerifyInputInformation() override;
 
 private:
   PersistentCompareImageFilter(const Self &); //purposely not implemented
@@ -319,7 +319,7 @@ protected:
   /** Constructor */
   StreamingCompareImageFilter() {};
   /** Destructor */
-  ~StreamingCompareImageFilter() ITK_OVERRIDE {}
+  ~StreamingCompareImageFilter() override {}
 
 private:
   StreamingCompareImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
index 0972e3790b..e370076879 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingHistogramVectorImageFilter.h
@@ -169,23 +169,23 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
 protected:
   PersistentHistogramVectorImageFilter();
-  ~PersistentHistogramVectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentHistogramVectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentHistogramVectorImageFilter(const Self &); //purposely not implemented
@@ -271,7 +271,7 @@ protected:
   /** Constructor */
   StreamingHistogramVectorImageFilter() {};
   /** Destructor */
-  ~StreamingHistogramVectorImageFilter() ITK_OVERRIDE {}
+  ~StreamingHistogramVectorImageFilter() override {}
 
 private:
   StreamingHistogramVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
index 567ba10295..a10a93cfc8 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxImageFilter.h
@@ -124,26 +124,26 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
 protected:
   PersistentMinMaxImageFilter();
-  ~PersistentMinMaxImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentMinMaxImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Multi-thread version GenerateData. */
   void  ThreadedGenerateData(const RegionType&
                              outputRegionForThread,
-                             itk::ThreadIdType threadId) ITK_OVERRIDE;
+                             itk::ThreadIdType threadId) override;
 
 private:
   PersistentMinMaxImageFilter(const Self &); //purposely not implemented
@@ -280,7 +280,7 @@ protected:
   /** Constructor */
   StreamingMinMaxImageFilter() {}
   /** Destructor */
-  ~StreamingMinMaxImageFilter() ITK_OVERRIDE {}
+  ~StreamingMinMaxImageFilter() override {}
 
 private:
   StreamingMinMaxImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
index 90de7efb4e..9b8c7b3a9d 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingMinMaxVectorImageFilter.h
@@ -144,23 +144,23 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
 protected:
   PersistentMinMaxVectorImageFilter();
-  ~PersistentMinMaxVectorImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentMinMaxVectorImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentMinMaxVectorImageFilter(const Self &); //purposely not implemented
@@ -271,7 +271,7 @@ protected:
   /** Constructor */
   StreamingMinMaxVectorImageFilter() {};
   /** Destructor */
-  ~StreamingMinMaxVectorImageFilter() ITK_OVERRIDE {}
+  ~StreamingMinMaxVectorImageFilter() override {}
 
 private:
   StreamingMinMaxVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
index 04ad8dfc8f..2cc0a9e543 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsImageFilter.h
@@ -142,16 +142,16 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
   itkSetMacro(IgnoreInfiniteValues, bool);
   itkGetMacro(IgnoreInfiniteValues, bool);
@@ -164,13 +164,13 @@ public:
 
 protected:
   PersistentStatisticsImageFilter();
-  ~PersistentStatisticsImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentStatisticsImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Multi-thread version GenerateData. */
   void  ThreadedGenerateData(const RegionType&
                              outputRegionForThread,
-                             itk::ThreadIdType threadId) ITK_OVERRIDE;
+                             itk::ThreadIdType threadId) override;
 
 private:
   PersistentStatisticsImageFilter(const Self &); //purposely not implemented
@@ -358,7 +358,7 @@ protected:
   /** Constructor */
   StreamingStatisticsImageFilter() {};
   /** Destructor */
-  ~StreamingStatisticsImageFilter() ITK_OVERRIDE {}
+  ~StreamingStatisticsImageFilter() override {}
 
 private:
   StreamingStatisticsImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
index 1223832496..d917452638 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsMapFromLabelImageFilter.h
@@ -110,31 +110,31 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   /** Due to heterogeneous input template GenerateInputRequestedRegion must be reimplemented using explicit cast **/
   /** This new implementation is inspired by the one of itk::ImageToImageFilter **/
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 protected:
   PersistentStreamingStatisticsMapFromLabelImageFilter();
-  ~PersistentStreamingStatisticsMapFromLabelImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PersistentStreamingStatisticsMapFromLabelImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** GenerateData. */
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
 
 private:
   PersistentStreamingStatisticsMapFromLabelImageFilter(const Self &); //purposely not implemented
@@ -258,7 +258,7 @@ protected:
   /** Constructor */
   StreamingStatisticsMapFromLabelImageFilter() {}
   /** Destructor */
-  ~StreamingStatisticsMapFromLabelImageFilter() ITK_OVERRIDE {}
+  ~StreamingStatisticsMapFromLabelImageFilter() override {}
 
 private:
   StreamingStatisticsMapFromLabelImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
index bedfb4c832..83fcb6014a 100644
--- a/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbStreamingStatisticsVectorImageFilter.h
@@ -185,12 +185,12 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
   itkSetMacro(EnableMinMax, bool);
   itkGetMacro(EnableMinMax, bool);
@@ -216,19 +216,19 @@ public:
 protected:
   PersistentStreamingStatisticsVectorImageFilter();
 
-  ~PersistentStreamingStatisticsVectorImageFilter() ITK_OVERRIDE {}
+  ~PersistentStreamingStatisticsVectorImageFilter() override {}
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Multi-thread version GenerateData. */
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentStreamingStatisticsVectorImageFilter(const Self &); //purposely not implemented
@@ -493,7 +493,7 @@ protected:
   StreamingStatisticsVectorImageFilter() {}
 
   /** Destructor */
-  ~StreamingStatisticsVectorImageFilter() ITK_OVERRIDE {}
+  ~StreamingStatisticsVectorImageFilter() override {}
 
 private:
   StreamingStatisticsVectorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbVarianceImageFilter.h b/Modules/Filtering/Statistics/include/otbVarianceImageFilter.h
index e89a853967..1b0839c7b7 100644
--- a/Modules/Filtering/Statistics/include/otbVarianceImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbVarianceImageFilter.h
@@ -93,7 +93,7 @@ public:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw(itk::InvalidRequestedRegionError) override;
 
 #ifdef ITK_USE_CONCEPT_CHECKING
   /** Begin concept checking */
@@ -104,8 +104,8 @@ public:
 
 protected:
   VarianceImageFilter();
-  ~VarianceImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~VarianceImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** VarianceImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData()
@@ -118,7 +118,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData() */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   VarianceImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbVectorImageToIntensityImageFilter.h b/Modules/Filtering/Statistics/include/otbVectorImageToIntensityImageFilter.h
index 82d481aa36..17d9155e3f 100644
--- a/Modules/Filtering/Statistics/include/otbVectorImageToIntensityImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbVectorImageToIntensityImageFilter.h
@@ -79,9 +79,9 @@ protected:
   /** Constructor */
   VectorImageToIntensityImageFilter();
   /** Destructor */
-  ~VectorImageToIntensityImageFilter() ITK_OVERRIDE {}
+  ~VectorImageToIntensityImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** VectorImageToIntensityImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
    * which is called for each processing thread. The output image data is
@@ -93,7 +93,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
 private:
   VectorImageToIntensityImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
index e14ab4bd51..3bd7150ec5 100644
--- a/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
+++ b/Modules/Filtering/Statistics/include/otbVectorImageToMatrixImageFilter.h
@@ -101,22 +101,22 @@ public:
   /** Make a DataObject of the correct type to be used as the specified
    * output.
    */
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Pass the input through unmodified. Do this by Grafting in the
    *  AllocateOutputs method.
    */
-  void AllocateOutputs() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void GenerateOutputInformation() override;
+  void Synthetize(void) override;
+  void Reset(void) override;
 
 protected:
   PersistentVectorImageToMatrixFilter();
-  ~PersistentVectorImageToMatrixFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  ~PersistentVectorImageToMatrixFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void  ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PersistentVectorImageToMatrixFilter(const Self &); //purposely not implemented
@@ -197,7 +197,7 @@ protected:
   /** Constructor */
   VectorImageToMatrixImageFilter() {};
   /** Destructor */
-  ~VectorImageToMatrixImageFilter() ITK_OVERRIDE {}
+  ~VectorImageToMatrixImageFilter() override {}
 
 private:
   VectorImageToMatrixImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbConcatenateVectorDataFilter.h b/Modules/Filtering/VectorDataManipulation/include/otbConcatenateVectorDataFilter.h
index 2d384b5734..bd18a932c8 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbConcatenateVectorDataFilter.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbConcatenateVectorDataFilter.h
@@ -82,11 +82,11 @@ public:
 
 protected:
   ConcatenateVectorDataFilter();
-  ~ConcatenateVectorDataFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ConcatenateVectorDataFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Triggers the Computation of the sample list */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Recursive method to visit efficiently the vectordata*/
   void ProcessNode(TreeNodeType * source, DataNodeType * outputDocument);
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbDBOverlapDataNodeFeatureFunction.h b/Modules/Filtering/VectorDataManipulation/include/otbDBOverlapDataNodeFeatureFunction.h
index a3f103ebf7..6b53590057 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbDBOverlapDataNodeFeatureFunction.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbDBOverlapDataNodeFeatureFunction.h
@@ -76,7 +76,7 @@ public:
 
   typedef std::vector<PrecisionType>                  OutputType;
 
-  OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE;
+  OutputType Evaluate( const DataNodeType& node ) const override;
 
   /** Set/Get methods */
   itkGetConstMacro(DistanceThreshold, PrecisionType);
@@ -87,8 +87,8 @@ public:
 
 protected:
   DBOverlapDataNodeFeatureFunction();
-  ~DBOverlapDataNodeFeatureFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DBOverlapDataNodeFeatureFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   DBOverlapDataNodeFeatureFunction(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbRadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction.h b/Modules/Filtering/VectorDataManipulation/include/otbRadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction.h
index a602566f10..3f7fdb9977 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbRadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbRadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction.h
@@ -108,7 +108,7 @@ public:
   typedef std::vector<PrecisionType>                  OutputType;
 
   /* Compute the descriptor value along this DataNode */
- OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE;
+ OutputType Evaluate( const DataNodeType& node ) const override;
 
   /* Get the radius used to define the area around a line segment.
    * A radius of 0 means that the area is reduced to a line joining
@@ -138,8 +138,8 @@ public:
 
 protected:
   RadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction();
-  ~RadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~RadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RadiometryHomogenousWithNeighborhoodDataNodeFeatureFunction(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbSpectralAngleDataNodeFeatureFunction.h b/Modules/Filtering/VectorDataManipulation/include/otbSpectralAngleDataNodeFeatureFunction.h
index 4d4c8792bd..919c6ff50c 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbSpectralAngleDataNodeFeatureFunction.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbSpectralAngleDataNodeFeatureFunction.h
@@ -101,7 +101,7 @@ public:
   typedef std::pair<IndexType, IndexType>             IndexPairType;
   typedef std::vector<PrecisionType>                  OutputType;
 
-  OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE;
+  OutputType Evaluate( const DataNodeType& node ) const override;
 
   /** Set/Get methods */
   itkGetConstMacro(RefPixel, PixelType);
@@ -112,8 +112,8 @@ public:
 
 protected:
   SpectralAngleDataNodeFeatureFunction();
-  ~SpectralAngleDataNodeFeatureFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SpectralAngleDataNodeFeatureFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SpectralAngleDataNodeFeatureFunction(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataAdapter.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataAdapter.h
index 7eb8a10565..b3b43bfeee 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataAdapter.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataAdapter.h
@@ -78,12 +78,12 @@ public:
 
 protected:
   VectorDataAdapter() {};
-  ~VectorDataAdapter() ITK_OVERRIDE {}
+  ~VectorDataAdapter() override {}
 
-  OutputPointType ProcessPoint(InputPointType point) const ITK_OVERRIDE;
-  OutputLinePointerType ProcessLine(InputLinePointerType line) const ITK_OVERRIDE;
-  OutputPolygonPointerType ProcessPolygon(InputPolygonPointerType polygon) const ITK_OVERRIDE;
-  OutputPolygonListPointerType ProcessPolygonList(InputPolygonListPointerType polygonList) const ITK_OVERRIDE;
+  OutputPointType ProcessPoint(InputPointType point) const override;
+  OutputLinePointerType ProcessLine(InputLinePointerType line) const override;
+  OutputPolygonPointerType ProcessPolygon(InputPolygonPointerType polygon) const override;
+  OutputPolygonListPointerType ProcessPolygonList(InputPolygonListPointerType polygonList) const override;
 
 private:
   VectorDataAdapter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataExtractROI.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataExtractROI.h
index 002536578e..87ed0a2f9c 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataExtractROI.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataExtractROI.h
@@ -106,8 +106,8 @@ public:
 
 protected:
   VectorDataExtractROI();
-  ~VectorDataExtractROI() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~VectorDataExtractROI() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Method to compare the projection embedded in the cartoRegion And the the InputVectorData*/
   virtual void CompareInputAndRegionProjection();
@@ -122,7 +122,7 @@ protected:
   virtual VertexType  PointToContinuousIndex(ProjPointType point);
 
   /** Prototype of the generate data method*/
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Method to check if the polygon Bounding Box ha ve a non-null intersection with the ROI*/
   virtual bool IsPolygonIntersectionNotNull(PolygonPointerType polygon);
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
index ab38d43e82..2db1bee395 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToRandomLineGenerator.h
@@ -97,11 +97,11 @@ public:
 
 protected:
   VectorDataToRandomLineGenerator();
-  ~VectorDataToRandomLineGenerator() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~VectorDataToRandomLineGenerator() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Triggers the Computation of the sample list */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   PointVectorType RandomPointsGenerator(DataNodeType * node);
 
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToSpecificDescriptionFilterBase.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToSpecificDescriptionFilterBase.h
index 4285db7869..2dca72eaf4 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToSpecificDescriptionFilterBase.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToSpecificDescriptionFilterBase.h
@@ -76,9 +76,9 @@ protected:
   /** Constructor */
   VectorDataToSpecificDescriptionFilterBase();
   /** Destructor */
-  ~VectorDataToSpecificDescriptionFilterBase() ITK_OVERRIDE {}
+  ~VectorDataToSpecificDescriptionFilterBase() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorDataToSpecificDescriptionFilterBase(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToVectorDataFilter.h b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToVectorDataFilter.h
index 05859c811e..a3ba98b719 100644
--- a/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToVectorDataFilter.h
+++ b/Modules/Filtering/VectorDataManipulation/include/otbVectorDataToVectorDataFilter.h
@@ -94,7 +94,7 @@ protected:
   /** Constructor */
   VectorDataToVectorDataFilter();
   /** Destructor */
-  ~VectorDataToVectorDataFilter() ITK_OVERRIDE {}
+  ~VectorDataToVectorDataFilter() override {}
 
   virtual OutputPointType ProcessPoint(InputPointType itkNotUsed(point)) const
   {
@@ -113,14 +113,14 @@ protected:
     itkExceptionMacro( << "Subclass should reimplement this method");
   }
 
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
+  void GenerateData(void) override;
 
   /** Go through the vector data tree and process the nodes */
   virtual void ProcessNode(InputInternalTreeNodeType * source, OutputInternalTreeNodeType * destination) const;
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorDataToVectorDataFilter(const Self &); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbSubsampleImageFilter.h b/Modules/Filtering/Wavelet/include/otbSubsampleImageFilter.h
index 56371e3bea..b39a267f71 100644
--- a/Modules/Filtering/Wavelet/include/otbSubsampleImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbSubsampleImageFilter.h
@@ -105,7 +105,7 @@ protected:
     {
     m_SubsampleFactor.Fill(1);
     }
-  ~SubsampleImageFilter() ITK_OVERRIDE {}
+  ~SubsampleImageFilter() override {}
 
   /** Internal test function to check if there is any direction to subsample */
   bool IsSubsampleFactorOne() const;
@@ -114,23 +114,23 @@ protected:
    * Region estimation functions has to be reimplemented
    */
   void CallCopyOutputRegionToInputRegion
-    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) override;
   void CallCopyInputRegionToOutputRegion
-    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) override;
 
   /** Output image region size is not of the same dimension as the input.
    * That is why GenerateOutputInformation has to be redefined.
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Set output image to 0 before processing */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Allows multithreading */
   void ThreadedGenerateData
-    (const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+    (const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SubsampleImageFilter (const Self &);   // purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletFilterBank.h b/Modules/Filtering/Wavelet/include/otbWaveletFilterBank.h
index 04d897c7ef..cb0d78d25a 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletFilterBank.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletFilterBank.h
@@ -214,13 +214,13 @@ public:
 
 protected:
   WaveletFilterBank();
-  ~WaveletFilterBank() ITK_OVERRIDE {}
+  ~WaveletFilterBank() override {}
 
   /** GenerateOutputInformation
     * Set the size of the output image depending on the decimation factor
     * Copy information from the input image if existing.
     **/
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** The forward transformation needs a larger input requested
    * region than the output requested region (larger by subsampling
@@ -232,12 +232,12 @@ protected:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw (itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw (itk::InvalidRequestedRegionError) override;
 
   /** BeforeThreadedGenerateData.
    * It allocates also internal images
    */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Internal Data Allocation
    * If m_SubsampleImageFactor != 1, internal data with progressive region size
@@ -248,7 +248,7 @@ protected:
   /** AfterThreadedGenerateData.
    * It enforce memory destruction of internal images
    */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** CallCopyOutputRegionToInputRegion
    * Since input and output image may be of different size when a
@@ -256,9 +256,9 @@ protected:
    * functions has to be reimplemented
    */
   void CallCopyOutputRegionToInputRegion
-    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) override;
   void CallCopyInputRegionToOutputRegion
-    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) override;
 
   /** CallCopyOutputRegionToInputRegion
    * This function is also redefined in order to adapt the shape of the regions with
@@ -272,7 +272,7 @@ protected:
                                                  const InputImageRegionType& srcRegion);
 
   /** Generate data redefinition */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** Iterative call to the forward filter bank at each dimension. */
   virtual void ThreadedGenerateDataAtDimensionN(unsigned int idx, unsigned int direction,
@@ -399,9 +399,9 @@ public:
 
 protected:
   WaveletFilterBank();
-  ~WaveletFilterBank() ITK_OVERRIDE {}
+  ~WaveletFilterBank() override {}
 
-  void VerifyInputInformation() ITK_OVERRIDE
+  void VerifyInputInformation() override
   {
 
   }
@@ -410,7 +410,7 @@ protected:
     * Set the size of the output image depending on the decimation factor
     * Copy information from the input image if existing.
     **/
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** The inverse transformation needs larger inputs requested
    * region than the output requested region (larger by subsampling
@@ -422,12 +422,12 @@ protected:
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
   void GenerateInputRequestedRegion()
-    throw (itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+    throw (itk::InvalidRequestedRegionError) override;
 
   /** BeforeThreadedGenerateData
    * If SubsampleImageFactor neq 1, it is necessary to up sample input images in the Wavelet::INVERSE mode
    */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Internal Data Allocation
    * If m_SubsampleImageFactor != 1, internal data with progressive region size
@@ -438,7 +438,7 @@ protected:
   /** AfterThreadedGenerateData.
    * It enforce memory destruction of internal images
    */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** CallCopyOutputRegionToInputRegion
    * Since input and output image may be of different size when a
@@ -446,9 +446,9 @@ protected:
    * functions has to be reimplemented
    */
   void CallCopyOutputRegionToInputRegion
-    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (InputImageRegionType& destRegion, const OutputImageRegionType& srcRegion) override;
   void CallCopyInputRegionToOutputRegion
-    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) ITK_OVERRIDE;
+    (OutputImageRegionType& destRegion, const InputImageRegionType& srcRegion) override;
 
   /** CallCopyOutputRegionToInputRegion
    * This function is also redefined in order to adapt the shape of the regions with
@@ -462,7 +462,7 @@ protected:
                                                  const InputImageRegionType& srcRegion);
 
   /** Generate data redefinition */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /**
    * Iterative call to the forward filter bank at each dimension.
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletGenerator.h b/Modules/Filtering/Wavelet/include/otbWaveletGenerator.h
index e52d6e7d66..ba5a8a0b83 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletGenerator.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletGenerator.h
@@ -100,7 +100,7 @@ public:
 
 protected:
   WaveletGenerator() {}
-  ~WaveletGenerator() ITK_OVERRIDE {}
+  ~WaveletGenerator() override {}
 
 private:
   WaveletGenerator(const Self &);  // not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletHighPassOperator.h b/Modules/Filtering/Wavelet/include/otbWaveletHighPassOperator.h
index 632bf1d79b..1310f178bf 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletHighPassOperator.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletHighPassOperator.h
@@ -60,7 +60,7 @@ public:
 
 protected:
 
-  void PrintSelf(std::ostream& os, itk::Indent i) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent i) const override
   {
     os << i << "WaveletHighPassOperator {this=" << this << "}" << std::endl;
     Superclass::PrintSelf(os, i.GetNextIndent());
@@ -76,7 +76,7 @@ protected:
   /**
    * Set operator coefficients.
    */
-  CoefficientVector GenerateCoefficients() ITK_OVERRIDE
+  CoefficientVector GenerateCoefficients() override
   {
     CoefficientVector coeff;
     if (DirectionOfTransformation == Wavelet::FORWARD)
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
index 1d4f15234a..68d914c7af 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletImageFilter.h
@@ -92,11 +92,11 @@ protected:
   WaveletImageFilter();
   virtual ~WaveletImageFilter();
 
-  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  virtual void GenerateInputRequestedRegion() override;
 
-  virtual void GenerateData() ITK_OVERRIDE;
+  virtual void GenerateData() override;
 
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   WaveletImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
index 1b28666526..e064511df5 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletInverseImageFilter.h
@@ -87,17 +87,17 @@ public:
   itkSetMacro(NumberOfDecompositions,unsigned int);
 
   /** If the filter is modified, the internal filters need to be modified too */
-  virtual void Modified() const ITK_OVERRIDE;
+  virtual void Modified() const override;
 
 protected:
   WaveletInverseImageFilter();
   virtual ~WaveletInverseImageFilter();
 
-  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  virtual void GenerateInputRequestedRegion() override;
 
-  virtual void GenerateData() ITK_OVERRIDE;
+  virtual void GenerateData() override;
 
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   WaveletInverseImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletLowPassOperator.h b/Modules/Filtering/Wavelet/include/otbWaveletLowPassOperator.h
index 1169158949..7eaeaed296 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletLowPassOperator.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletLowPassOperator.h
@@ -59,7 +59,7 @@ public:
 
 protected:
 
-  void PrintSelf(std::ostream& os, itk::Indent i) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent i) const override
   {
     os << i << "WaveletLowPassOperator {this=" << this << "}" << std::endl;
     Superclass::PrintSelf(os, i.GetNextIndent());
@@ -75,7 +75,7 @@ protected:
   /**
    * Set operator coefficients.
    */
-  CoefficientVector GenerateCoefficients() ITK_OVERRIDE
+  CoefficientVector GenerateCoefficients() override
   {
     CoefficientVector coeff;
     if (DirectionOfTransformation == Wavelet::FORWARD)
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletOperatorBase.h b/Modules/Filtering/Wavelet/include/otbWaveletOperatorBase.h
index f3f4c6c464..c8e1d21ede 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletOperatorBase.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletOperatorBase.h
@@ -100,7 +100,7 @@ public:
     m_WaveletGenerator = WaveletGeneratorType::New();
     }
 
-  ~WaveletOperatorBase() ITK_OVERRIDE {}
+  ~WaveletOperatorBase() override {}
 
   /** Assignment operator */
   Self & operator =(const Self& other)
@@ -138,7 +138,7 @@ protected:
   /**
    * Prints some debugging information
    */
-  void PrintSelf(std::ostream& os, itk::Indent i) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent i) const override;
 
   typedef WaveletGenerator<TMotherWaveletOperator> WaveletGeneratorType;
   typedef typename WaveletGeneratorType::Pointer   WaveletGeneratorPointerType;
@@ -187,7 +187,7 @@ protected:
   void ReduceFilterLength(CoefficientVector& coeff);
 
   /** Arranges coefficients spatially in the memory buffer. */
-  void Fill(const CoefficientVector& coeff) ITK_OVERRIDE
+  void Fill(const CoefficientVector& coeff) override
   {
     this->FillCenteredDirectional(coeff);
   }
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletPacketDecompositionCosts.h b/Modules/Filtering/Wavelet/include/otbWaveletPacketDecompositionCosts.h
index e11648fe24..36a4999486 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletPacketDecompositionCosts.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletPacketDecompositionCosts.h
@@ -69,7 +69,7 @@ public:
 
 protected:
   FullyDecomposedWaveletPacketCost () {}
-  ~FullyDecomposedWaveletPacketCost() ITK_OVERRIDE {}
+  ~FullyDecomposedWaveletPacketCost() override {}
 
 private:
   FullyDecomposedWaveletPacketCost (const Self &);   // not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletPacketTransform.h b/Modules/Filtering/Wavelet/include/otbWaveletPacketTransform.h
index c0ea33c8c1..4efc0a1286 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletPacketTransform.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletPacketTransform.h
@@ -185,13 +185,13 @@ public:
 
 protected:
   WaveletPacketTransform();
-  ~WaveletPacketTransform() ITK_OVERRIDE {}
+  ~WaveletPacketTransform() override {}
 
   /** Generate data redefinition.
    * This class does not performs multi-threading directly. But it uses step by step the
    * GenerateData() of TFilter. If This one can thread, the transformation is threaded
    * (e.g. WaveletFilterBank) */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Performs (if any) the local decomposition (called recursively) */
   virtual void GenerateData(unsigned int depth, OutputImageType * outputPtr,
@@ -323,19 +323,19 @@ public:
 
 protected:
   WaveletPacketTransform();
-  ~WaveletPacketTransform() ITK_OVERRIDE {}
+  ~WaveletPacketTransform() override {}
 
   /** GenerateOutputInformation
     * Set the size of the output image depending on the decimation factor
     * Copy information from the input image if existing.
     **/
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate data redefinition.
    * This class does not performs multi-threading directly. But it uses step by step the
    * GenerateData() of TFilter. If This one can thread, the transformation is threaded
    * (e.g. WaveletFilterBank) */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Performs (if any) the local decomposition (called recursively) */
   virtual unsigned int SetInputFilters(unsigned int& ruleID, InputImageIterator& inputIter,
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletTransform.h b/Modules/Filtering/Wavelet/include/otbWaveletTransform.h
index d4aa6d4fdf..4a0a43f8d5 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletTransform.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletTransform.h
@@ -175,10 +175,10 @@ public:
 
 protected:
   WaveletTransform();
-  ~WaveletTransform() ITK_OVERRIDE {}
+  ~WaveletTransform() override {}
 
   /** Generate data redefinition */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   WaveletTransform (const Self &);
@@ -306,16 +306,16 @@ public:
 
 protected:
   WaveletTransform();
-  ~WaveletTransform() ITK_OVERRIDE {}
+  ~WaveletTransform() override {}
 
   /** GenerateOutputInformation
     * Set the size of the output image depending on the decimation factor
     * Copy information from the input image if existing.
     **/
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate data redefinition */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   WaveletTransform (const Self &);
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
index ea26fe6226..064a79856b 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletsBandsListToWaveletsSynopsisImageFilter.h
@@ -68,19 +68,19 @@ public:
 
 protected:
   /** Main computation method */
-  virtual void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  virtual void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** GenerateOutputInformation
    * Set the number of bands of the output.
    * Copy information from the first image of the list if existing.
    **/
-  virtual void GenerateOutputInformation(void) ITK_OVERRIDE;
+  virtual void GenerateOutputInformation(void) override;
 
   /**
    * GenerateInputRequestedRegion
    * Set the requested region of each image in the list.
    */
-  virtual void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  virtual void GenerateInputRequestedRegion(void) override;
 
   /** Constructor */
   WaveletsBandsListToWaveletsSynopsisImageFilter();
@@ -89,7 +89,7 @@ protected:
   virtual ~WaveletsBandsListToWaveletsSynopsisImageFilter();
 
   /**PrintSelf method */
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   WaveletsBandsListToWaveletsSynopsisImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h b/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
index a19c09bacb..2c547f8b51 100644
--- a/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
+++ b/Modules/Filtering/Wavelet/include/otbWaveletsSynopsisImageToWaveletsBandsListFilter.h
@@ -80,7 +80,7 @@ public:
   itkGetMacro(DecimationRatio,unsigned int);
 
   /** If the filter is modified, the extract list need to be regenerated */
-  virtual void Modified() const ITK_OVERRIDE;
+  virtual void Modified() const override;
 
 protected:
   /** Constructor */
@@ -90,16 +90,16 @@ protected:
   virtual ~WaveletsSynopsisImageToWaveletsBandsListFilter();
 
   /**PrintSelf method */
-  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  virtual void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Generate the input requested region from the first element in the list. */
-  virtual void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  virtual void GenerateInputRequestedRegion(void) override;
 
   /** Generate the output information by building the output list. */
-  virtual void GenerateOutputInformation(void) ITK_OVERRIDE;
+  virtual void GenerateOutputInformation(void) override;
 
   /** Main computation method */
-  virtual void GenerateData(void) ITK_OVERRIDE;
+  virtual void GenerateData(void) override;
 
 private:
   WaveletsSynopsisImageToWaveletsBandsListFilter(const Self&); //purposely not implemented
diff --git a/Modules/Fusion/Fuzzy/include/otbFuzzyVariable.h b/Modules/Fusion/Fuzzy/include/otbFuzzyVariable.h
index 4781b8e4e3..8ff9ae486c 100644
--- a/Modules/Fusion/Fuzzy/include/otbFuzzyVariable.h
+++ b/Modules/Fusion/Fuzzy/include/otbFuzzyVariable.h
@@ -107,9 +107,9 @@ protected:
   /** Constructor */
   FuzzyVariable();
   /** Destructor */
-  ~FuzzyVariable() ITK_OVERRIDE {}
+  ~FuzzyVariable() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** Map containing the membership functions */
diff --git a/Modules/Fusion/MajorityVoting/include/otbNeighborhoodMajorityVotingImageFilter.h b/Modules/Fusion/MajorityVoting/include/otbNeighborhoodMajorityVotingImageFilter.h
index bc4bc866b7..042106701c 100644
--- a/Modules/Fusion/MajorityVoting/include/otbNeighborhoodMajorityVotingImageFilter.h
+++ b/Modules/Fusion/MajorityVoting/include/otbNeighborhoodMajorityVotingImageFilter.h
@@ -159,7 +159,7 @@ public:
 
 protected:
   NeighborhoodMajorityVotingImageFilter();
-  ~NeighborhoodMajorityVotingImageFilter() ITK_OVERRIDE {};
+  ~NeighborhoodMajorityVotingImageFilter() override {};
 
   /** Evaluate image neighborhood with kernel to find the new value
    * for the center pixel value
@@ -169,9 +169,9 @@ protected:
    * Evaluate is used for non-boundary pixels. */
   PixelType Evaluate(const NeighborhoodIteratorType &nit,
                      const KernelIteratorType kernelBegin,
-                     const KernelIteratorType kernelEnd) ITK_OVERRIDE;
+                     const KernelIteratorType kernelEnd) override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 
   //Type to store the useful information from the label histogram  
diff --git a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
index 80290995ac..c57b46d568 100644
--- a/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
+++ b/Modules/Fusion/PanSharpening/include/otbBayesianFusionFilter.h
@@ -298,14 +298,14 @@ public:
 
 protected:
   BayesianFusionFilter();
-  ~BayesianFusionFilter() ITK_OVERRIDE;
+  ~BayesianFusionFilter() override;
   /** Check if internal statistics need to be computed, and do so */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /** Compute internal statistics required for fusion */
   void ComputeInternalStatistics(void);
   /** Call the superclass implementation and set the StatisticsHaveBeenGenerated
    * flag to false */
-  void Modified(void) const ITK_OVERRIDE;
+  void Modified(void) const override;
 
 private:
   /** Ponderation declaration*/
diff --git a/Modules/Fusion/PanSharpening/include/otbLmvmPanSharpeningFusionImageFilter.h b/Modules/Fusion/PanSharpening/include/otbLmvmPanSharpeningFusionImageFilter.h
index 4a87bd3f0f..df34eeadeb 100644
--- a/Modules/Fusion/PanSharpening/include/otbLmvmPanSharpeningFusionImageFilter.h
+++ b/Modules/Fusion/PanSharpening/include/otbLmvmPanSharpeningFusionImageFilter.h
@@ -110,13 +110,13 @@ protected:
   LmvmPanSharpeningFusionImageFilter();
 
   /** Destructor */
-  ~LmvmPanSharpeningFusionImageFilter() ITK_OVERRIDE {};
+  ~LmvmPanSharpeningFusionImageFilter() override {};
 
   /** Call to generate data, wiring composite internal minipipeline */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LmvmPanSharpeningFusionImageFilter(Self &);   // intentionally not implemented
diff --git a/Modules/Fusion/PanSharpening/include/otbSimpleRcsPanSharpeningFusionImageFilter.h b/Modules/Fusion/PanSharpening/include/otbSimpleRcsPanSharpeningFusionImageFilter.h
index 75cb290f5e..2808c721eb 100644
--- a/Modules/Fusion/PanSharpening/include/otbSimpleRcsPanSharpeningFusionImageFilter.h
+++ b/Modules/Fusion/PanSharpening/include/otbSimpleRcsPanSharpeningFusionImageFilter.h
@@ -95,13 +95,13 @@ protected:
   SimpleRcsPanSharpeningFusionImageFilter();
 
   /** Destructor */
-  ~SimpleRcsPanSharpeningFusionImageFilter() ITK_OVERRIDE {};
+  ~SimpleRcsPanSharpeningFusionImageFilter() override {};
 
   /** Call to generate data, wiring composite internal minipipeline */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SimpleRcsPanSharpeningFusionImageFilter(Self &);   // intentionally not implemented
diff --git a/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorFilter.h b/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorFilter.h
index 0876c7427d..0207220ff0 100644
--- a/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorFilter.h
+++ b/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorFilter.h
@@ -94,16 +94,16 @@ public:
   itkGetMacro(ExternalRadius, int);
 
   /** Main computation method */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 //       virtual void GenerateData();
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
 
 protected:
   LocalRxDetectorFilter();
-  ~LocalRxDetectorFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LocalRxDetectorFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LocalRxDetectorFilter(const Self&); //purposely not implemented
diff --git a/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorNonThreadFilter.h b/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorNonThreadFilter.h
index e369bc5eb6..257efd5c6c 100644
--- a/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorNonThreadFilter.h
+++ b/Modules/Hyperspectral/AnomalyDetection/include/otbLocalRxDetectorNonThreadFilter.h
@@ -93,16 +93,16 @@ public:
   itkGetMacro(ExternalRadius, int);
 
   /** Main computation method */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
+  void GenerateData() override;
 //       virtual void BeforeThreadedGenerateData();
 //       virtual void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
 
 
 protected:
   LocalRxDetectorNonThreadFilter();
-  ~LocalRxDetectorNonThreadFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LocalRxDetectorNonThreadFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LocalRxDetectorNonThreadFilter(const Self&); //purposely not implemented
diff --git a/Modules/Hyperspectral/EndmembersExtraction/include/otbEigenvalueLikelihoodMaximisation.h b/Modules/Hyperspectral/EndmembersExtraction/include/otbEigenvalueLikelihoodMaximisation.h
index 548d493a4a..68bc950a42 100644
--- a/Modules/Hyperspectral/EndmembersExtraction/include/otbEigenvalueLikelihoodMaximisation.h
+++ b/Modules/Hyperspectral/EndmembersExtraction/include/otbEigenvalueLikelihoodMaximisation.h
@@ -105,8 +105,8 @@ public:
 
 protected:
   EigenvalueLikelihoodMaximisation();
-  ~EigenvalueLikelihoodMaximisation() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~EigenvalueLikelihoodMaximisation() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   EigenvalueLikelihoodMaximisation(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/EndmembersExtraction/include/otbVcaImageFilter.h b/Modules/Hyperspectral/EndmembersExtraction/include/otbVcaImageFilter.h
index c921d60ab8..e91d2346dc 100644
--- a/Modules/Hyperspectral/EndmembersExtraction/include/otbVcaImageFilter.h
+++ b/Modules/Hyperspectral/EndmembersExtraction/include/otbVcaImageFilter.h
@@ -104,12 +104,12 @@ public:
   itkGetMacro( NumberOfEndmembers, unsigned int );
   itkSetMacro( NumberOfEndmembers, unsigned int );
 
-  void Update() ITK_OVERRIDE
+  void Update() override
   {
     this->GenerateData();
   }
 
-  void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)) ITK_OVERRIDE
+  void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)) override
   {
     this->GetOutput()
       ->SetRequestedRegion( this->GetOutput()->GetLargestPossibleRegion() );
@@ -118,13 +118,13 @@ public:
 protected:
   VCAImageFilter();
 
-  ~VCAImageFilter() ITK_OVERRIDE;
+  ~VCAImageFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   VCAImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/EndmembersExtraction/include/otbVirtualDimensionality.h b/Modules/Hyperspectral/EndmembersExtraction/include/otbVirtualDimensionality.h
index 979f7f8bbb..89e8b9066f 100644
--- a/Modules/Hyperspectral/EndmembersExtraction/include/otbVirtualDimensionality.h
+++ b/Modules/Hyperspectral/EndmembersExtraction/include/otbVirtualDimensionality.h
@@ -118,8 +118,8 @@ public:
 
 protected:
   VirtualDimensionality();
-  ~VirtualDimensionality() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~VirtualDimensionality() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VirtualDimensionality(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.h
index ae0dcb19fd..965c5180e8 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbISRAUnmixingImageFilter.h
@@ -171,9 +171,9 @@ public:
 protected:
   ISRAUnmixingImageFilter();
 
-  ~ISRAUnmixingImageFilter() ITK_OVERRIDE;
+  ~ISRAUnmixingImageFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ISRAUnmixingImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.h
index ebef4fe9ca..14d05bbca4 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbMDMDNMFImageFilter.h
@@ -193,18 +193,18 @@ public:
 
 protected:
   MDMDNMFImageFilter();
-  ~MDMDNMFImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MDMDNMFImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** GenerateOutputInformation
    * Propagate vector length info and modify if needed
    */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 
 private:
diff --git a/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.h
index fc433e998d..e7fe656079 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbNCLSUnmixingImageFilter.h
@@ -174,9 +174,9 @@ public:
 protected:
   NCLSUnmixingImageFilter();
 
-  ~NCLSUnmixingImageFilter() ITK_OVERRIDE;
+  ~NCLSUnmixingImageFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   NCLSUnmixingImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/Unmixing/include/otbSparseUnmixingImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbSparseUnmixingImageFilter.h
index 71adb011c1..4e38022e23 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbSparseUnmixingImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbSparseUnmixingImageFilter.h
@@ -162,9 +162,9 @@ public:
 
 protected:
   SparseUnmixingImageFilter();
-  ~SparseUnmixingImageFilter() ITK_OVERRIDE { }
+  ~SparseUnmixingImageFilter() override { }
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   virtual void GenerateNumberOfComponentsRequired ();
 private:
   SparseUnmixingImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h b/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
index 128cf2af00..ad8ef27c1b 100644
--- a/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
+++ b/Modules/Hyperspectral/Unmixing/include/otbUnConstrainedLeastSquareImageFilter.h
@@ -174,9 +174,9 @@ public:
 protected:
   UnConstrainedLeastSquareImageFilter();
 
-  ~UnConstrainedLeastSquareImageFilter() ITK_OVERRIDE {}
+  ~UnConstrainedLeastSquareImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   UnConstrainedLeastSquareImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/IO/Carto/include/otbCoordinateToName.h b/Modules/IO/Carto/include/otbCoordinateToName.h
index 7fe3307a04..b2bc93de52 100644
--- a/Modules/IO/Carto/include/otbCoordinateToName.h
+++ b/Modules/IO/Carto/include/otbCoordinateToName.h
@@ -118,8 +118,8 @@ public:
 
 protected:
   CoordinateToName();
-  ~CoordinateToName() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~CoordinateToName() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   void ParseXMLGeonames(std::string& placeName, std::string& countryName) const;
 
   virtual void DoEvaluate();
diff --git a/Modules/IO/Carto/include/otbImageToOSMVectorDataGenerator.h b/Modules/IO/Carto/include/otbImageToOSMVectorDataGenerator.h
index 85c797c601..d69770c378 100644
--- a/Modules/IO/Carto/include/otbImageToOSMVectorDataGenerator.h
+++ b/Modules/IO/Carto/include/otbImageToOSMVectorDataGenerator.h
@@ -81,13 +81,13 @@ public:
   const ImageType* GetInput() const;
 
 protected:
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   // Method to compute the extent of the image
   void EstimateImageExtent();
 
   ImageToOSMVectorDataGenerator();
-  ~ImageToOSMVectorDataGenerator() ITK_OVERRIDE {}
+  ~ImageToOSMVectorDataGenerator() override {}
 
 private:
   ImageToOSMVectorDataGenerator(const Self&); //purposely not implemented
diff --git a/Modules/IO/Carto/include/otbMapFileProductWriter.h b/Modules/IO/Carto/include/otbMapFileProductWriter.h
index edfaf5b272..4ec15cd4e4 100644
--- a/Modules/IO/Carto/include/otbMapFileProductWriter.h
+++ b/Modules/IO/Carto/include/otbMapFileProductWriter.h
@@ -154,7 +154,7 @@ public:
   itkGetStringMacro(ShapeIndexPath);
 
   /** Update Method : Call a porotected Write method */
-  void Update() ITK_OVERRIDE
+  void Update() override
   {
     this->Write();
   }
@@ -164,8 +164,8 @@ public:
 
 protected:
   MapFileProductWriter();
-  ~MapFileProductWriter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MapFileProductWriter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**Method for Tiling the input image*/
   virtual void Tiling();
diff --git a/Modules/IO/Carto/include/otbOSMDataToVectorDataGenerator.h b/Modules/IO/Carto/include/otbOSMDataToVectorDataGenerator.h
index a9f1e10655..5c3383e807 100644
--- a/Modules/IO/Carto/include/otbOSMDataToVectorDataGenerator.h
+++ b/Modules/IO/Carto/include/otbOSMDataToVectorDataGenerator.h
@@ -166,7 +166,7 @@ public:
 
 protected:
   /** Generate Data method : launch the process */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /**
     * Parse the xml file get from OSM to compose the requested vector
@@ -186,7 +186,7 @@ protected:
 
 
   OSMDataToVectorDataGenerator();
-  ~OSMDataToVectorDataGenerator() ITK_OVERRIDE;
+  ~OSMDataToVectorDataGenerator() override;
 
 private:
   OSMDataToVectorDataGenerator(const Self&); //purposely not implemented
diff --git a/Modules/IO/Carto/include/otbPlaceNameToLonLat.h b/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
index 002a130ce7..3ea71f9ccf 100644
--- a/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
+++ b/Modules/IO/Carto/include/otbPlaceNameToLonLat.h
@@ -61,8 +61,8 @@ public:
 
 protected:
   PlaceNameToLonLat();
-  ~PlaceNameToLonLat() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~PlaceNameToLonLat() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   void RetrieveXML(const std::ostringstream& urlStream);
   void ParseXMLYahoo();
   void ParseXMLGoogle();
diff --git a/Modules/IO/Carto/include/otbWorldFile.h b/Modules/IO/Carto/include/otbWorldFile.h
index 0c07086a32..5e26171a94 100644
--- a/Modules/IO/Carto/include/otbWorldFile.h
+++ b/Modules/IO/Carto/include/otbWorldFile.h
@@ -96,7 +96,7 @@ protected:
     m_LonSpacing(0.0), m_LatSpacing(0.0),
     m_LonRotation(0.0), m_LatRotation(0.0),
     m_ImageFilename("") {}
-  ~WorldFile() ITK_OVERRIDE {}
+  ~WorldFile() override {}
 
 private:
   WorldFile(const Self &); //purposely not implemented
diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameHelper.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameHelper.h
index b6d29171cd..72123839c7 100644
--- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameHelper.h
+++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameHelper.h
@@ -81,7 +81,7 @@ public:
 
 protected:
   ExtendedFilenameHelper() {}
-  ~ExtendedFilenameHelper() ITK_OVERRIDE {}
+  ~ExtendedFilenameHelper() override {}
 
 private:
   ExtendedFilenameHelper(const Self &);  //purposely not implemented
diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
index 79c8bb00e0..374e9dbe56 100644
--- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
+++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToReaderOptions.h
@@ -79,7 +79,7 @@ public:
   };
 
   /* Set Methods */
-  void SetExtendedFileName(const char * extFname) ITK_OVERRIDE;
+  void SetExtendedFileName(const char * extFname) override;
   /* Get Methods */
   bool SimpleFileNameIsSet () const;
   bool ExtGEOMFileNameIsSet () const;
@@ -101,7 +101,7 @@ public:
 
 protected:
   ExtendedFilenameToReaderOptions();
-  ~ExtendedFilenameToReaderOptions() ITK_OVERRIDE {}
+  ~ExtendedFilenameToReaderOptions() override {}
 
 private:
   ExtendedFilenameToReaderOptions(const Self &);  //purposely not implemented
diff --git a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
index 81909d1528..c1754bd2cd 100644
--- a/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
+++ b/Modules/IO/ExtendedFilename/include/otbExtendedFilenameToWriterOptions.h
@@ -77,7 +77,7 @@ public:
   };
 
   /* Set Methods */
-  void SetExtendedFileName(const char * extFname) ITK_OVERRIDE;
+  void SetExtendedFileName(const char * extFname) override;
   /* Get Methods */
   bool SimpleFileNameIsSet () const;
   bool WriteGEOMFileIsSet () const;
@@ -102,7 +102,7 @@ public:
 
 protected:
   ExtendedFilenameToWriterOptions();
-  ~ExtendedFilenameToWriterOptions() ITK_OVERRIDE {}
+  ~ExtendedFilenameToWriterOptions() override {}
 
 private:
   ExtendedFilenameToWriterOptions(const Self &);  //purposely not implemented
diff --git a/Modules/IO/IOBSQ/include/otbBSQImageIO.h b/Modules/IO/IOBSQ/include/otbBSQImageIO.h
index 9b6efa368b..b954895cc5 100644
--- a/Modules/IO/IOBSQ/include/otbBSQImageIO.h
+++ b/Modules/IO/IOBSQ/include/otbBSQImageIO.h
@@ -63,19 +63,19 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Reads 3D data from multiple files assuming one slice per file. */
   virtual void ReadVolume(void* buffer);
@@ -84,28 +84,28 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
 
   // JULIEN: NOT USED, NOT IMPLEMENTED
   // void SampleImage(void* buffer, int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -114,7 +114,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -123,13 +123,13 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
 
 protected:
   /** Constructor.*/
   BSQImageIO();
   /** Destructor.*/
-  ~BSQImageIO() ITK_OVERRIDE;
+  ~BSQImageIO() override;
 
   bool OpenOneraDataFileForReading(const char* filename);
   bool OpenOneraHeaderFileForReading(const char* filename);
@@ -138,7 +138,7 @@ protected:
   bool OpenOneraDataFileForWriting(const char* filename);
   bool OpenOneraHeaderFileForWriting(const char* filename);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BSQImageIO(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOBSQ/include/otbBSQImageIOFactory.h b/Modules/IO/IOBSQ/include/otbBSQImageIOFactory.h
index 56337e23a7..702729fd34 100644
--- a/Modules/IO/IOBSQ/include/otbBSQImageIOFactory.h
+++ b/Modules/IO/IOBSQ/include/otbBSQImageIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   BSQImageIOFactory();
-  ~BSQImageIOFactory() ITK_OVERRIDE;
+  ~BSQImageIOFactory() override;
 
 private:
   BSQImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOGDAL/include/otbGDALDatasetWrapper.h b/Modules/IO/IOGDAL/include/otbGDALDatasetWrapper.h
index a20b1405a1..667b8f7283 100644
--- a/Modules/IO/IOGDAL/include/otbGDALDatasetWrapper.h
+++ b/Modules/IO/IOGDAL/include/otbGDALDatasetWrapper.h
@@ -79,7 +79,7 @@ public:
 protected :
   GDALDatasetWrapper();
 
-  ~GDALDatasetWrapper() ITK_OVERRIDE;
+  ~GDALDatasetWrapper() override;
 
 
 private:
diff --git a/Modules/IO/IOGDAL/include/otbGDALImageIO.h b/Modules/IO/IOGDAL/include/otbGDALImageIO.h
index 49b4678ac4..e494c588dc 100644
--- a/Modules/IO/IOGDAL/include/otbGDALImageIO.h
+++ b/Modules/IO/IOGDAL/include/otbGDALImageIO.h
@@ -119,7 +119,7 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type */ 
   void SetOutputImagePixelType( bool isComplexInternalPixelType, 
-                                        bool isVectorImage) ITK_OVERRIDE
+                                        bool isVectorImage) override
   {
     this->SetIsComplex(isComplexInternalPixelType);
     this->SetIsVectorImage(isVectorImage);
@@ -129,19 +129,19 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Reads 3D data from multiple files assuming one slice per file. */
   virtual void ReadVolume(void* buffer);
@@ -156,18 +156,18 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE;
+  bool CanStreamWrite() override;
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
 
   /** Get all resolutions possible from the file dimensions */
   bool GetAvailableResolutions(std::vector<unsigned int>& res);
@@ -180,10 +180,10 @@ public:
    *  Currently this overview count is only based on the first band
    *  If no pre-computed overviews are available we provide the overview
    *  count based on size division by 2*/
-  unsigned int GetOverviewsCount() ITK_OVERRIDE;
+  unsigned int GetOverviewsCount() override;
 
   /** Get description about overviews available into the file specified */
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE;
+  std::vector<std::string> GetOverviewsInfo() override;
 
   /** Returns gdal pixel type as string */
   std::string GetGdalPixelTypeAsString() const;
@@ -196,9 +196,9 @@ protected:
    */
   GDALImageIO();
   /** Destructor.*/
-  ~GDALImageIO() ITK_OVERRIDE;
+  ~GDALImageIO() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Read all information on the image*/
   void InternalReadImageInformation();
   /** Write all information on the image*/
diff --git a/Modules/IO/IOGDAL/include/otbGDALImageIOFactory.h b/Modules/IO/IOGDAL/include/otbGDALImageIOFactory.h
index e4e13cd11a..275c0db252 100644
--- a/Modules/IO/IOGDAL/include/otbGDALImageIOFactory.h
+++ b/Modules/IO/IOGDAL/include/otbGDALImageIOFactory.h
@@ -43,8 +43,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   GDALImageIOFactory();
-  ~GDALImageIOFactory() ITK_OVERRIDE;
+  ~GDALImageIOFactory() override;
 
 private:
   GDALImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h b/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
index 50815a7124..1a803887fa 100644
--- a/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
+++ b/Modules/IO/IOGDAL/include/otbGDALOverviewsBuilder.h
@@ -160,15 +160,15 @@ public:
   void SetInputFileName( const std::string & str );
 
 
-  void Update() ITK_OVERRIDE;
+  void Update() override;
 
 
 protected:
   GDALOverviewsBuilder();
 
-  ~GDALOverviewsBuilder() ITK_OVERRIDE {};
+  ~GDALOverviewsBuilder() override {};
 
-  void PrintSelf( std::ostream & os, itk::Indent indent ) const ITK_OVERRIDE;
+  void PrintSelf( std::ostream & os, itk::Indent indent ) const override;
 
 
 private:
diff --git a/Modules/IO/IOGDAL/include/otbOGRIOHelper.h b/Modules/IO/IOGDAL/include/otbOGRIOHelper.h
index af76c375c2..003ea24d91 100644
--- a/Modules/IO/IOGDAL/include/otbOGRIOHelper.h
+++ b/Modules/IO/IOGDAL/include/otbOGRIOHelper.h
@@ -93,7 +93,7 @@ public:
 
 protected:
   OGRIOHelper();
-  ~OGRIOHelper() ITK_OVERRIDE;
+  ~OGRIOHelper() override;
 
 private:
   OGRIOHelper(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOGDAL/include/otbOGRVectorDataIO.h b/Modules/IO/IOGDAL/include/otbOGRVectorDataIO.h
index d4b1b8c46c..2344ef6fca 100644
--- a/Modules/IO/IOGDAL/include/otbOGRVectorDataIO.h
+++ b/Modules/IO/IOGDAL/include/otbOGRVectorDataIO.h
@@ -91,29 +91,29 @@ public:
 
   /** Determine the file type. Returns true if this VectorDataIO can read the
    * file specified. */
-  bool CanReadFile(const char*) const ITK_OVERRIDE;
+  bool CanReadFile(const char*) const override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(itk::DataObject* data) ITK_OVERRIDE;
+  void Read(itk::DataObject* data) override;
 
   /*-------- This part of the interfaces deals with writing data. ----- */
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) const ITK_OVERRIDE;
+  bool CanWriteFile(const char*) const override;
 
   /** Writes the data to disk from the memory buffer provided */
-  void Write(const itk::DataObject* data,  char ** papszOptions = ITK_NULLPTR) ITK_OVERRIDE;
+  void Write(const itk::DataObject* data,  char ** papszOptions = ITK_NULLPTR) override;
 
 protected:
   /** Constructor.*/
   OGRVectorDataIO();
   /** Destructor.*/
-  ~OGRVectorDataIO() ITK_OVERRIDE;
+  ~OGRVectorDataIO() override;
 
   /*   virtual void InternalReadVectorDataInformation(){}; */
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   OGRVectorDataIO(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOGDAL/include/otbOGRVectorDataIOFactory.h b/Modules/IO/IOGDAL/include/otbOGRVectorDataIOFactory.h
index 8202f5d704..c872aeeba8 100644
--- a/Modules/IO/IOGDAL/include/otbOGRVectorDataIOFactory.h
+++ b/Modules/IO/IOGDAL/include/otbOGRVectorDataIOFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   OGRVectorDataIOFactory();
-  ~OGRVectorDataIOFactory() ITK_OVERRIDE;
+  ~OGRVectorDataIOFactory() override;
 
 private:
   OGRVectorDataIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOKML/include/otbKMLVectorDataIO.h b/Modules/IO/IOKML/include/otbKMLVectorDataIO.h
index a48dfcb309..c991edea6c 100644
--- a/Modules/IO/IOKML/include/otbKMLVectorDataIO.h
+++ b/Modules/IO/IOKML/include/otbKMLVectorDataIO.h
@@ -90,27 +90,27 @@ public:
 
   /** Determine the file type. Returns true if this VectorDataIO can read the
    * file specified. */
-  bool CanReadFile(const char*) const ITK_OVERRIDE;
+  bool CanReadFile(const char*) const override;
 
   /** Reads the data from disk into the data structure provided. */
-  void Read(itk::DataObject* data) ITK_OVERRIDE;
+  void Read(itk::DataObject* data) override;
 
   /*-------- This part of the interfaces deals with writing data. ----- */
 
   /** Determine the file type. Returns true if this VectorDataIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) const ITK_OVERRIDE;
+  bool CanWriteFile(const char*) const override;
 
   /** Writes the data to disk from the data structure provided */
-  void Write(const itk::DataObject* data, char ** papszOptions = ITK_NULLPTR) ITK_OVERRIDE;
+  void Write(const itk::DataObject* data, char ** papszOptions = ITK_NULLPTR) override;
 
 protected:
   /** Constructor.*/
   KMLVectorDataIO();
   /** Destructor.*/
-  ~KMLVectorDataIO() ITK_OVERRIDE;
+  ~KMLVectorDataIO() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   static const kmldom::FeaturePtr GetRootFeature(const kmldom::ElementPtr& root);
 
diff --git a/Modules/IO/IOKML/include/otbKMLVectorDataIOFactory.h b/Modules/IO/IOKML/include/otbKMLVectorDataIOFactory.h
index b480454ac9..590eaf25fe 100644
--- a/Modules/IO/IOKML/include/otbKMLVectorDataIOFactory.h
+++ b/Modules/IO/IOKML/include/otbKMLVectorDataIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -58,7 +58,7 @@ public:
 
 protected:
   KMLVectorDataIOFactory();
-  ~KMLVectorDataIOFactory() ITK_OVERRIDE;
+  ~KMLVectorDataIOFactory() override;
 
 private:
   KMLVectorDataIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOLUM/include/otbLUMImageIO.h b/Modules/IO/IOLUM/include/otbLUMImageIO.h
index 0597064be5..effe0388ca 100644
--- a/Modules/IO/IOLUM/include/otbLUMImageIO.h
+++ b/Modules/IO/IOLUM/include/otbLUMImageIO.h
@@ -62,19 +62,19 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Reads 3D data from multiple files assuming one slice per file. */
   virtual void ReadVolume(void* buffer);
@@ -83,27 +83,27 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
   // JULIEN: NOT USED, NOT IMPLEMENTED
   //void SampleImage(void* buffer, int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
 
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -112,7 +112,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -121,13 +121,13 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
 
 protected:
   /** Constructor.*/
   LUMImageIO();
   /** Destructor.*/
-  ~LUMImageIO() ITK_OVERRIDE;
+  ~LUMImageIO() override;
 
   bool OpenOneraDataFileForReading(const char* filename);
   bool OpenOneraHeaderFileForReading(const char* filename);
@@ -136,7 +136,7 @@ protected:
   bool OpenOneraDataFileForWriting(const char* filename);
   bool OpenOneraHeaderFileForWriting(const char* filename);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LUMImageIO(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOLUM/include/otbLUMImageIOFactory.h b/Modules/IO/IOLUM/include/otbLUMImageIOFactory.h
index 8a11fe3595..f1c06592f7 100644
--- a/Modules/IO/IOLUM/include/otbLUMImageIOFactory.h
+++ b/Modules/IO/IOLUM/include/otbLUMImageIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   LUMImageIOFactory();
-  ~LUMImageIOFactory() ITK_OVERRIDE;
+  ~LUMImageIOFactory() override;
 
 private:
   LUMImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOMSTAR/include/otbMSTARImageIO.h b/Modules/IO/IOMSTAR/include/otbMSTARImageIO.h
index 6de01a473c..fed00e395b 100644
--- a/Modules/IO/IOMSTAR/include/otbMSTARImageIO.h
+++ b/Modules/IO/IOMSTAR/include/otbMSTARImageIO.h
@@ -55,47 +55,47 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /*-------- This part of the interfaces deals with writing data. ----- */
 
   /** Determine the file type. Returns true if this ImageIO can write the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegions has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
 
   MSTARImageIO();
-  ~MSTARImageIO() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MSTARImageIO() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -104,7 +104,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -113,7 +113,7 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
   
 private:
   MSTARImageIO(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOMSTAR/include/otbMSTARImageIOFactory.h b/Modules/IO/IOMSTAR/include/otbMSTARImageIOFactory.h
index c72d136008..0b980fd77e 100644
--- a/Modules/IO/IOMSTAR/include/otbMSTARImageIOFactory.h
+++ b/Modules/IO/IOMSTAR/include/otbMSTARImageIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   MSTARImageIOFactory();
-  ~MSTARImageIOFactory() ITK_OVERRIDE;
+  ~MSTARImageIOFactory() override;
 
 private:
   MSTARImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOONERA/include/otbONERAImageIO.h b/Modules/IO/IOONERA/include/otbONERAImageIO.h
index 3715471e8f..620f9ddb6f 100644
--- a/Modules/IO/IOONERA/include/otbONERAImageIO.h
+++ b/Modules/IO/IOONERA/include/otbONERAImageIO.h
@@ -60,19 +60,19 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Reads 3D data from multiple files assuming one slice per file. */
   virtual void ReadVolume(void* buffer);
@@ -81,27 +81,27 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
   // JULIEN: NOT USED, NOT IMPLEMENTED
   //void SampleImage(void* buffer, int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
 
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -110,7 +110,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -119,13 +119,13 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
 
 protected:
   /** Constructor.*/
   ONERAImageIO();
   /** Destructor.*/
-  ~ONERAImageIO() ITK_OVERRIDE;
+  ~ONERAImageIO() override;
 
   bool OpenOneraDataFileForReading(const char* filename);
   bool OpenOneraHeaderFileForReading(const char* filename);
@@ -136,7 +136,7 @@ protected:
   bool OpenOneraDataFileForWriting(const char* filename);
   bool OpenOneraHeaderFileForWriting(const char* filename);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Dimension along Ox of the image*/
   int m_width;
diff --git a/Modules/IO/IOONERA/include/otbONERAImageIOFactory.h b/Modules/IO/IOONERA/include/otbONERAImageIOFactory.h
index 7b0f638342..6733607127 100644
--- a/Modules/IO/IOONERA/include/otbONERAImageIOFactory.h
+++ b/Modules/IO/IOONERA/include/otbONERAImageIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   ONERAImageIOFactory();
-  ~ONERAImageIOFactory() ITK_OVERRIDE;
+  ~ONERAImageIOFactory() override;
 
 private:
   ONERAImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IORAD/include/otbRADImageIO.h b/Modules/IO/IORAD/include/otbRADImageIO.h
index c5ebbd9aee..d7823fd036 100644
--- a/Modules/IO/IORAD/include/otbRADImageIO.h
+++ b/Modules/IO/IORAD/include/otbRADImageIO.h
@@ -62,19 +62,19 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Reads 3D data from multiple files assuming one slice per file. */
   virtual void ReadVolume(void* buffer);
@@ -83,28 +83,28 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
 
   // JULIEN: NOT USED, NOT IMPLEMENTED
   // void SampleImage(void* buffer, int XBegin, int YBegin, int SizeXRead, int SizeYRead, int XSample, int YSample);
   
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -113,7 +113,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -122,13 +122,13 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
 
 protected:
   /** Constructor.*/
   RADImageIO();
   /** Destructor.*/
-  ~RADImageIO() ITK_OVERRIDE;
+  ~RADImageIO() override;
 
   bool OpenOneraDataFileForReading(const char* filename);
   bool OpenOneraHeaderFileForReading(const char* filename);
@@ -138,7 +138,7 @@ protected:
   bool OpenOneraDataFileForWriting(const char* filename);
   bool OpenOneraHeaderFileForWriting(const char* filename);
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RADImageIO(const Self &); //purposely not implemented
diff --git a/Modules/IO/IORAD/include/otbRADImageIOFactory.h b/Modules/IO/IORAD/include/otbRADImageIOFactory.h
index 19f884fd39..1a01a6187a 100644
--- a/Modules/IO/IORAD/include/otbRADImageIOFactory.h
+++ b/Modules/IO/IORAD/include/otbRADImageIOFactory.h
@@ -40,8 +40,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -59,7 +59,7 @@ public:
 
 protected:
   RADImageIOFactory();
-  ~RADImageIOFactory() ITK_OVERRIDE;
+  ~RADImageIOFactory() override;
 
 private:
   RADImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOTileMap/include/otbTileMapImageIO.h b/Modules/IO/IOTileMap/include/otbTileMapImageIO.h
index 99ac2bd784..27a8db556e 100644
--- a/Modules/IO/IOTileMap/include/otbTileMapImageIO.h
+++ b/Modules/IO/IOTileMap/include/otbTileMapImageIO.h
@@ -92,41 +92,41 @@ public:
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanReadFile(const char*) ITK_OVERRIDE;
+  bool CanReadFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream read the specified file */
-  bool CanStreamRead() ITK_OVERRIDE
+  bool CanStreamRead() override
   {
     return true;
   }
 
   /** Set the spacing and dimension information for the set filename. */
-  void ReadImageInformation() ITK_OVERRIDE;
+  void ReadImageInformation() override;
 
   /** Reads the data from disk into the memory buffer provided. */
-  void Read(void* buffer) ITK_OVERRIDE;
+  void Read(void* buffer) override;
 
   /** Determine the file type. Returns true if this ImageIO can read the
    * file specified. */
-  bool CanWriteFile(const char*) ITK_OVERRIDE;
+  bool CanWriteFile(const char*) override;
 
   /** Determine the file type. Returns true if the ImageIO can stream write the specified file */
-  bool CanStreamWrite() ITK_OVERRIDE
+  bool CanStreamWrite() override
   {
     return true;
   }
 
   /** Writes the spacing and dimensions of the image.
    * Assumes SetFileName has been called with a valid file name. */
-  void WriteImageInformation() ITK_OVERRIDE;
+  void WriteImageInformation() override;
 
   /** Writes the data to disk from the memory buffer provided. Make sure
    * that the IORegion has been set properly. */
-  void Write(const void* buffer) ITK_OVERRIDE;
+  void Write(const void* buffer) override;
 
   /** Get the number of overviews available into the file specified
    *  This imageIO didn't support overviews */
-  unsigned int GetOverviewsCount() ITK_OVERRIDE
+  unsigned int GetOverviewsCount() override
   {
     // MANTIS-1154: Source image is always considered as the best
     // resolution overview.
@@ -135,7 +135,7 @@ public:
   
   /** Get information about overviews available into the file specified
    * This imageIO didn't support overviews */ 
-  std::vector<std::string> GetOverviewsInfo() ITK_OVERRIDE
+  std::vector<std::string> GetOverviewsInfo() override
   {
     std::vector<std::string> desc;
     return desc;
@@ -144,26 +144,26 @@ public:
   /** Provide hist about the output container to deal with complex pixel
    *  type (Not used here) */ 
   void SetOutputImagePixelType( bool itkNotUsed(isComplexInternalPixelType), 
-                                        bool itkNotUsed(isVectorImage)) ITK_OVERRIDE{}
+                                        bool itkNotUsed(isVectorImage)) override{}
 
 protected:
   /** Constructor.*/
   TileMapImageIO();
   /** Destructor.*/
-  ~TileMapImageIO() ITK_OVERRIDE;
+  ~TileMapImageIO() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Read all information on the image*/
   void InternalReadImageInformation();
   /** Write all information on the image*/
   void InternalWriteImageInformation();
 
   unsigned int GetActualNumberOfSplitsForWritingCanStreamWrite(unsigned int numberOfRequestedSplits,
-                                                                       const ImageIORegion& pasteRegion) const ITK_OVERRIDE;
+                                                                       const ImageIORegion& pasteRegion) const override;
 
   ImageIORegion GetSplitRegionForWritingCanStreamWrite(unsigned int ithPiece,
                                                                unsigned int numberOfActualSplits,
-                                                               const ImageIORegion& pasteRegion) const ITK_OVERRIDE;
+                                                               const ImageIORegion& pasteRegion) const override;
 
   /** Number of bands of the image*/
   int m_NbBands;
diff --git a/Modules/IO/IOTileMap/include/otbTileMapImageIOFactory.h b/Modules/IO/IOTileMap/include/otbTileMapImageIOFactory.h
index 9edcbc2365..e946e40641 100644
--- a/Modules/IO/IOTileMap/include/otbTileMapImageIOFactory.h
+++ b/Modules/IO/IOTileMap/include/otbTileMapImageIOFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -61,7 +61,7 @@ public:
 
 protected:
   TileMapImageIOFactory();
-  ~TileMapImageIOFactory() ITK_OVERRIDE;
+  ~TileMapImageIOFactory() override;
 
 private:
   TileMapImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/IOTileMap/include/otbTileMapImageIOHelper.h b/Modules/IO/IOTileMap/include/otbTileMapImageIOHelper.h
index 412e31f2cf..b9286c5cb7 100644
--- a/Modules/IO/IOTileMap/include/otbTileMapImageIOHelper.h
+++ b/Modules/IO/IOTileMap/include/otbTileMapImageIOHelper.h
@@ -58,7 +58,7 @@ public:
 
 protected:
   TileMapImageIOHelper() {}
-  ~TileMapImageIOHelper() ITK_OVERRIDE {}
+  ~TileMapImageIOHelper() override {}
 
 private:
   TileMapImageIOHelper(const Self &);  //purposely not implemented
diff --git a/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h b/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
index 3eb362df0f..bf4dc01a6c 100644
--- a/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
+++ b/Modules/IO/IOXML/include/otbStatisticsXMLFileReader.h
@@ -64,7 +64,7 @@ public:
   typedef std::map<std::string , std::string>           GenericMapType;
   typedef std::map<std::string , GenericMapType>        GenericMapContainer;
 
-  void Modified() const ITK_OVERRIDE
+  void Modified() const override
     {
       m_IsUpdated = false;
     }
@@ -95,8 +95,8 @@ protected:
   virtual void Read();
 
   StatisticsXMLFileReader();
-  ~StatisticsXMLFileReader() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~StatisticsXMLFileReader() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StatisticsXMLFileReader(const Self&); //purposely not implemented
diff --git a/Modules/IO/IOXML/include/otbStatisticsXMLFileWriter.h b/Modules/IO/IOXML/include/otbStatisticsXMLFileWriter.h
index 0ea02ea82f..c39686c525 100644
--- a/Modules/IO/IOXML/include/otbStatisticsXMLFileWriter.h
+++ b/Modules/IO/IOXML/include/otbStatisticsXMLFileWriter.h
@@ -92,8 +92,8 @@ protected:
   virtual void GenerateData();
 
   StatisticsXMLFileWriter();
-  ~StatisticsXMLFileWriter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~StatisticsXMLFileWriter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StatisticsXMLFileWriter(const Self&); //purposely not implemented
diff --git a/Modules/IO/ImageIO/include/otbImageFileReader.h b/Modules/IO/ImageIO/include/otbImageFileReader.h
index 631f9d7dc2..f2094973c9 100644
--- a/Modules/IO/ImageIO/include/otbImageFileReader.h
+++ b/Modules/IO/ImageIO/include/otbImageFileReader.h
@@ -118,17 +118,17 @@ public:
   typedef ExtendedFilenameToReaderOptions            FNameHelperType;
 
   /** Prepare image allocation at the first call of the pipeline processing */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Does the real work. */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Give the reader a chance to indicate that it will produce more
    * output than it was requested to produce. ImageFileReader cannot
    * currently read a portion of an image (since the ImageIO objects
    * cannot read a portion of an image), so the ImageFileReader must
    * enlarge the RequestedRegion to the size of the image on disk. */
-  void EnlargeOutputRequestedRegion(itk::DataObject *output) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject *output) override;
 
   /** Set/Get the ImageIO helper class. Often this is created via the object
    * factory mechanism that determines whether a particular ImageIO can
@@ -158,8 +158,8 @@ public:
 
 protected:
   ImageFileReader();
-  ~ImageFileReader() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageFileReader() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Convert a block of pixels from one type to another. */
   void DoConvertBuffer(void* buffer, size_t numberOfPixels);
diff --git a/Modules/IO/ImageIO/include/otbImageFileWriter.h b/Modules/IO/ImageIO/include/otbImageFileWriter.h
index b7bc6499b0..2851c8b03d 100644
--- a/Modules/IO/ImageIO/include/otbImageFileWriter.h
+++ b/Modules/IO/ImageIO/include/otbImageFileWriter.h
@@ -168,7 +168,7 @@ public:
 
   /** Override Update() from ProcessObject because this filter
    *  has no output. */
-  void Update() ITK_OVERRIDE;
+  void Update() override;
 
   /** ImageFileWriter Methods */
   virtual void SetFileName(const char* extendedFileName);
@@ -201,11 +201,11 @@ public:
 
 protected:
   ImageFileWriter();
-  ~ImageFileWriter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ImageFileWriter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Does the real work. */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   ImageFileWriter(const ImageFileWriter &); //purposely not implemented
diff --git a/Modules/IO/ImageIO/include/otbImageIOFactory.h b/Modules/IO/ImageIO/include/otbImageIOFactory.h
index 13643537e9..287c149792 100644
--- a/Modules/IO/ImageIO/include/otbImageIOFactory.h
+++ b/Modules/IO/ImageIO/include/otbImageIOFactory.h
@@ -59,7 +59,7 @@ public:
 
 protected:
   ImageIOFactory();
-  ~ImageIOFactory() ITK_OVERRIDE;
+  ~ImageIOFactory() override;
 
 private:
   ImageIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
index 173ccc99d4..d31a890d68 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReader.h
@@ -428,12 +428,12 @@ public:
 
 protected:
   ImageSeriesFileReader();
-  ~ImageSeriesFileReader () ITK_OVERRIDE {}
+  ~ImageSeriesFileReader () override {}
 
   /**
    * Tests the coherency of the Meta File (especifically band selection) with the image types
    */
-  void TestBandSelection(std::vector<unsigned int>& itkNotUsed(bands)) ITK_OVERRIDE{}
+  void TestBandSelection(std::vector<unsigned int>& itkNotUsed(bands)) override{}
 
   /** GenerateData
    * This method will be specialised if template definitions follow:
@@ -441,7 +441,7 @@ protected:
    * - TImage is an Image and TInteranalImage is a VectorImage
    * - TImage and TInternalImage are of Image type.
    */
-  void GenerateData(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  void GenerateData(DataObjectPointerArraySizeType idx) override;
   using Superclass::GenerateData;
 
   /**
@@ -449,10 +449,10 @@ protected:
    * This allows specific (or global) initialization in the GenerateData methods,
    * that the user may invoke through GenerateOutput() or GenerateOutput( idx ).
    */
-  void AllocateListOfComponents(void) ITK_OVERRIDE;
+  void AllocateListOfComponents(void) override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     return Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
index fa32e38fc2..58b071957e 100644
--- a/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
+++ b/Modules/IO/ImageIO/include/otbImageSeriesFileReaderBase.h
@@ -133,7 +133,7 @@ public:
   {
     return m_ListOfFileNames.size();
   }
-  OutputImageListType * GetOutput(void) ITK_OVERRIDE;
+  OutputImageListType * GetOutput(void) override;
   virtual OutputImageType *     GetOutput(DataObjectPointerArraySizeType idx);
 
   /** Performs selective file extraction */
@@ -141,14 +141,14 @@ public:
   virtual OutputImageType * GenerateOutput(DataObjectPointerArraySizeType idx);
 
   /** Synchronization */
-  void Update() ITK_OVERRIDE
+  void Update() override
   {
     this->GenerateData();
   }
 
 protected:
   ImageSeriesFileReaderBase();
-  ~ImageSeriesFileReaderBase () ITK_OVERRIDE {}
+  ~ImageSeriesFileReaderBase () override {}
 
   enum FileType { kFileName = 0, kImageFileName, kAnyFileName };
   /**
@@ -159,7 +159,7 @@ protected:
   virtual void TestFileExistenceAndReadability(std::string& file, FileType fileType);
   virtual void TestBandSelection(std::vector<unsigned int>& itkNotUsed(bands)) {}
 
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** GenerateData
    * This method will be specialised if template definitions follow:
@@ -181,7 +181,7 @@ protected:
   virtual void AllocateListOfComponents(void);
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   std::string                m_FileName;
   OutputImageListPointerType m_OutputList;
diff --git a/Modules/IO/ImageIO/include/otbScalarBufferToImageFileWriter.h b/Modules/IO/ImageIO/include/otbScalarBufferToImageFileWriter.h
index 548611ada1..b09880bce2 100644
--- a/Modules/IO/ImageIO/include/otbScalarBufferToImageFileWriter.h
+++ b/Modules/IO/ImageIO/include/otbScalarBufferToImageFileWriter.h
@@ -91,17 +91,17 @@ public:
        m_Buffer = pBuff;
   }
 
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
-   void Update() ITK_OVERRIDE
+   void Update() override
    {
      this->GenerateData();
    }
 
 protected:
   ScalarBufferToImageFileWriter();
-  ~ScalarBufferToImageFileWriter() ITK_OVERRIDE { /* don't call ClearBuffer, user's care */}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ScalarBufferToImageFileWriter() override { /* don't call ClearBuffer, user's care */}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/IO/KMZWriter/include/otbKmzProductWriter.h b/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
index 869fe49bc2..d8957ee2d6 100644
--- a/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
+++ b/Modules/IO/KMZWriter/include/otbKmzProductWriter.h
@@ -136,7 +136,7 @@ public:
   itkSetStringMacro(Path);
 
   /** Update Method */
-  void Update() ITK_OVERRIDE
+  void Update() override
   {
     this->Write();
   }
@@ -167,8 +167,8 @@ public:
 
 protected:
   KmzProductWriter();
-  ~KmzProductWriter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~KmzProductWriter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**Method for Tiling the input image*/
   virtual void Tiling();
diff --git a/Modules/IO/TestKernel/include/otbDifferenceImageFilter.h b/Modules/IO/TestKernel/include/otbDifferenceImageFilter.h
index 042e2a5a5b..1eb5e1e774 100644
--- a/Modules/IO/TestKernel/include/otbDifferenceImageFilter.h
+++ b/Modules/IO/TestKernel/include/otbDifferenceImageFilter.h
@@ -91,9 +91,9 @@ public:
 
 protected:
   DifferenceImageFilter();
-  ~DifferenceImageFilter() ITK_OVERRIDE {}
+  ~DifferenceImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** DifferenceImageFilter can be implemented as a multithreaded
    * filter.  Therefore, this implementation provides a
@@ -107,11 +107,11 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType& threadRegion,
-                            itk::ThreadIdType threadId) ITK_OVERRIDE;
+                            itk::ThreadIdType threadId) override;
 
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
+  void AfterThreadedGenerateData() override;
+  void GenerateOutputInformation() override;
 
   ScalarRealType m_DifferenceThreshold;
   RealType       m_MeanDifference;
diff --git a/Modules/IO/TestKernel/include/otbTestHelper.h b/Modules/IO/TestKernel/include/otbTestHelper.h
index 32e0dba890..0bf593400f 100644
--- a/Modules/IO/TestKernel/include/otbTestHelper.h
+++ b/Modules/IO/TestKernel/include/otbTestHelper.h
@@ -71,7 +71,7 @@ public:
       std::string("Integer"),std::string("Integer64")));
   }
 
-  ~TestHelper() ITK_OVERRIDE{}
+  ~TestHelper() override{}
 
   int RegressionTestAllImages(const StringList& baselineFilenamesImage,
                               const StringList& testFilenamesImage);
diff --git a/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h b/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
index 71b3bea7bc..3571baf21b 100644
--- a/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
+++ b/Modules/IO/VectorDataIO/include/otbVectorDataFileReader.h
@@ -120,20 +120,20 @@ public:
 
   /** Prepare the allocation of the output vector data during the first back
    * propagation of the pipeline. */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Does the real work. */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 protected:
   VectorDataFileReader();
-  ~VectorDataFileReader() ITK_OVERRIDE;
+  ~VectorDataFileReader() override;
   std::string m_ExceptionMessage;
 
   typename VectorDataIOBaseType::Pointer m_VectorDataIO;
   bool m_UserSpecifiedVectorDataIO;  // keep track whether the
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   std::string m_FileName; // The file to be read
 
diff --git a/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h b/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
index 520586e661..4ef6ba6e12 100644
--- a/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
+++ b/Modules/IO/VectorDataIO/include/otbVectorDataFileWriter.h
@@ -93,9 +93,9 @@ public:
   /** Does the real work. */
   virtual void Write();
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void Update() ITK_OVERRIDE
+  void Update() override
   {
     this->Write();
   }
@@ -106,9 +106,9 @@ public:
 
 protected:
   VectorDataFileWriter();
-  ~VectorDataFileWriter() ITK_OVERRIDE;
+  ~VectorDataFileWriter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   std::string m_FileName; // The file to be read
   typename VectorDataIOBaseType::Pointer m_VectorDataIO;
diff --git a/Modules/IO/VectorDataIO/include/otbVectorDataIOFactory.h b/Modules/IO/VectorDataIO/include/otbVectorDataIOFactory.h
index 556722fb3b..62754644fa 100644
--- a/Modules/IO/VectorDataIO/include/otbVectorDataIOFactory.h
+++ b/Modules/IO/VectorDataIO/include/otbVectorDataIOFactory.h
@@ -62,7 +62,7 @@ public:
 
 protected:
   VectorDataIOFactory();
-  ~VectorDataIOFactory() ITK_OVERRIDE;
+  ~VectorDataIOFactory() override;
 
 private:
   VectorDataIOFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbConfusionMatrixToMassOfBelief.h b/Modules/Learning/DempsterShafer/include/otbConfusionMatrixToMassOfBelief.h
index da0cdcfa22..bc5891e246 100644
--- a/Modules/Learning/DempsterShafer/include/otbConfusionMatrixToMassOfBelief.h
+++ b/Modules/Learning/DempsterShafer/include/otbConfusionMatrixToMassOfBelief.h
@@ -85,7 +85,7 @@ public:
 
   enum MassOfBeliefDefinitionMethod {PRECISION, RECALL, ACCURACY, KAPPA};
 
-  void Update() ITK_OVERRIDE;
+  void Update() override;
 
   /** Accessors */
   itkSetMacro(ConfusionMatrix, ConfusionMatrixType);
@@ -141,10 +141,10 @@ protected:
   ConfusionMatrixToMassOfBelief();
 
   /** Destructor */
-  ~ConfusionMatrixToMassOfBelief() ITK_OVERRIDE {};
+  ~ConfusionMatrixToMassOfBelief() override {};
 
   /** Triggers the computation of the confusion matrix */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
 private:
   ConfusionMatrixToMassOfBelief(const Self&); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbDSFusionOfClassifiersImageFilter.h b/Modules/Learning/DempsterShafer/include/otbDSFusionOfClassifiersImageFilter.h
index 723a1aed1b..32d4d430fd 100644
--- a/Modules/Learning/DempsterShafer/include/otbDSFusionOfClassifiersImageFilter.h
+++ b/Modules/Learning/DempsterShafer/include/otbDSFusionOfClassifiersImageFilter.h
@@ -140,16 +140,16 @@ protected:
   /** Constructor */
   DSFusionOfClassifiersImageFilter();
   /** Destructor */
-  ~DSFusionOfClassifiersImageFilter() ITK_OVERRIDE {}
+  ~DSFusionOfClassifiersImageFilter() override {}
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Threaded generate data */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   DSFusionOfClassifiersImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbJointMassOfBeliefFilter.h b/Modules/Learning/DempsterShafer/include/otbJointMassOfBeliefFilter.h
index ac454c1e6f..8e8807b712 100644
--- a/Modules/Learning/DempsterShafer/include/otbJointMassOfBeliefFilter.h
+++ b/Modules/Learning/DempsterShafer/include/otbJointMassOfBeliefFilter.h
@@ -71,11 +71,11 @@ public:
 
   /** Remove the last input */
   using Superclass::PopBackInput;
-  void PopBackInput() ITK_OVERRIDE;
+  void PopBackInput() override;
 
   /** Remove the first input */
   using Superclass::PopFrontInput;
-  void PopFrontInput() ITK_OVERRIDE;
+  void PopFrontInput() override;
 
   /** Get the idx th input */
   const MassFunctionType * GetInput(unsigned int idx);
@@ -88,13 +88,13 @@ protected:
   JointMassOfBeliefFilter();
 
   /** Destructor */
-  ~JointMassOfBeliefFilter() ITK_OVERRIDE {}
+  ~JointMassOfBeliefFilter() override {}
 
   /** GenerateData */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   JointMassOfBeliefFilter(const Self&); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbMassOfBelief.h b/Modules/Learning/DempsterShafer/include/otbMassOfBelief.h
index 7e2eff5636..70e8f909fe 100644
--- a/Modules/Learning/DempsterShafer/include/otbMassOfBelief.h
+++ b/Modules/Learning/DempsterShafer/include/otbMassOfBelief.h
@@ -180,10 +180,10 @@ protected:
   MassOfBelief() {}
 
   /** Desctructor */
-  ~MassOfBelief() ITK_OVERRIDE {}
+  ~MassOfBelief() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   MassOfBelief(const Self&); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h b/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
index 6623a41895..2c90a53c1e 100644
--- a/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
+++ b/Modules/Learning/DempsterShafer/include/otbStandardDSCostFunction.h
@@ -95,14 +95,14 @@ public:
 
   /** This method returns the value of the cost function corresponding
     * to the specified parameters.    */
-  MeasureType GetValue( const ParametersType & parameters ) const ITK_OVERRIDE;
+  MeasureType GetValue( const ParametersType & parameters ) const override;
 
   /** This method returns the derivative of the cost function corresponding
     * to the specified parameters.   */
   void GetDerivative( const ParametersType & parameters,
-                               DerivativeType & derivative ) const ITK_OVERRIDE;
+                               DerivativeType & derivative ) const override;
 
-  unsigned int GetNumberOfParameters(void) const ITK_OVERRIDE;
+  unsigned int GetNumberOfParameters(void) const override;
 
   itkSetMacro(Weight, double);
   itkGetConstMacro(Weight, double);
@@ -151,9 +151,9 @@ protected:
   /** Constructor */
   StandardDSCostFunction();
   /** Destructor */
-  ~StandardDSCostFunction() ITK_OVERRIDE {}
+  ~StandardDSCostFunction() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   StandardDSCostFunction(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h b/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
index 5b331ae6aa..2a3731307e 100644
--- a/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
+++ b/Modules/Learning/DempsterShafer/include/otbVectorDataToDSValidatedVectorDataFilter.h
@@ -161,13 +161,13 @@ public:
 
 protected:
   /** Triggers the Computation */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   VectorDataToDSValidatedVectorDataFilter();
   /** Destructor */
-  ~VectorDataToDSValidatedVectorDataFilter() ITK_OVERRIDE {}
+  ~VectorDataToDSValidatedVectorDataFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   std::string GetNextID()
     {
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
index ee58a9428b..7bf3231a9b 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModel.h
@@ -119,13 +119,13 @@ public:
   itkGetMacro(LearningCurveFileName,std::string);
   itkSetMacro(LearningCurveFileName,std::string);
 
-  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
-  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanReadFile(const std::string & filename) override;
+  bool CanWriteFile(const std::string & filename) override;
 
-  void Save(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
-  void Load(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="")  override;
+  void Load(const std::string & filename, const std::string & name="")  override;
 
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   template <class T, class Autoencoder>
   void TrainOneLayer(
@@ -151,18 +151,18 @@ public:
 
 protected:
   AutoencoderModel();
-  ~AutoencoderModel() ITK_OVERRIDE;
+  ~AutoencoderModel() override;
 
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
+    ConfidenceValueType * quality = ITK_NULLPTR) const override;
 
   virtual void DoPredictBatch(
     const InputListSampleType *,
     const unsigned int & startIndex,
     const unsigned int & size,
     TargetListSampleType *,
-    ConfidenceListSampleType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
+    ConfidenceListSampleType * quality = ITK_NULLPTR) const override;
 
 private:
   /** Internal Network */
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModelFactory.h b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModelFactory.h
index 711711ca4b..e04170ec37 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModelFactory.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbAutoencoderModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   AutoencoderModelFactory();
-  ~AutoencoderModelFactory() ITK_OVERRIDE;
+  ~AutoencoderModelFactory() override;
 
 private:
   AutoencoderModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbDimensionalityReductionModelFactory.h b/Modules/Learning/DimensionalityReductionLearning/include/otbDimensionalityReductionModelFactory.h
index 9bbd28bc0b..98c8490383 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbDimensionalityReductionModelFactory.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbDimensionalityReductionModelFactory.h
@@ -61,7 +61,7 @@ public:
 
 protected:
   DimensionalityReductionModelFactory();
-  ~DimensionalityReductionModelFactory() ITK_OVERRIDE;
+  ~DimensionalityReductionModelFactory() override;
 
 private:
   DimensionalityReductionModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h b/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
index e3fdf5d8f5..0cfab267dd 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbImageDimensionalityReductionFilter.h
@@ -112,19 +112,19 @@ protected:
   /** Constructor */
   ImageDimensionalityReductionFilter();
   /** Destructor */
-  ~ImageDimensionalityReductionFilter() ITK_OVERRIDE {}
+  ~ImageDimensionalityReductionFilter() override {}
 
   /** Generate output information */
-  virtual void GenerateOutputInformation() ITK_OVERRIDE; 
+  virtual void GenerateOutputInformation() override; 
 
   /** Threaded generate data */  
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   void ClassicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
   void BatchThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageDimensionalityReductionFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
index 064ca263da..cfecceb390 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModel.h
@@ -80,28 +80,28 @@ public:
   itkSetMacro(WriteEigenvectors, bool);
   itkGetMacro(WriteEigenvectors, bool);
 
-  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
-  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanReadFile(const std::string & filename) override;
+  bool CanWriteFile(const std::string & filename) override;
 
-  void Save(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
-  void Load(const std::string & filename, const std::string & name="")  ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="")  override;
+  void Load(const std::string & filename, const std::string & name="")  override;
 
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
 protected:
   PCAModel(); 
-  ~PCAModel() ITK_OVERRIDE;
+  ~PCAModel() override;
  
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
+    ConfidenceValueType * quality = ITK_NULLPTR) const override;
 
   virtual void DoPredictBatch(
     const InputListSampleType *,
     const unsigned int & startIndex,
     const unsigned int & size,
     TargetListSampleType *,
-    ConfidenceListSampleType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
+    ConfidenceListSampleType * quality = ITK_NULLPTR) const override;
 
 private:
   shark::LinearModel<> m_Encoder;
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModelFactory.h b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModelFactory.h
index d30a2c4663..4080014b10 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModelFactory.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbPCAModelFactory.h
@@ -43,8 +43,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -61,7 +61,7 @@ public:
 
 protected:
   PCAModelFactory();
-  ~PCAModelFactory() ITK_OVERRIDE;
+  ~PCAModelFactory() override;
 
 private:
   PCAModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
index 5aa7130a6a..e7c77a245c 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModel.h
@@ -101,24 +101,24 @@ public:
   itkSetMacro(Seed, unsigned int);
   itkGetMacro(Seed, unsigned int);
 
-  bool CanReadFile(const std::string & filename) ITK_OVERRIDE;
-  bool CanWriteFile(const std::string & filename) ITK_OVERRIDE;
+  bool CanReadFile(const std::string & filename) override;
+  bool CanWriteFile(const std::string & filename) override;
 
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
+  void Load(const std::string & filename, const std::string & name="") override;
 
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
 protected:
   SOMModel(); 
-  ~SOMModel() ITK_OVERRIDE;
+  ~SOMModel() override;
 
 private:
   typename MapType::Pointer m_SOMMap;
 
   virtual TargetSampleType DoPredict(
     const InputSampleType& input,
-    ConfidenceValueType * quality = ITK_NULLPTR) const ITK_OVERRIDE;
+    ConfidenceValueType * quality = ITK_NULLPTR) const override;
 
   /** Map size (width, height) */
   SizeType m_MapSize;
diff --git a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModelFactory.h b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModelFactory.h
index 71d314e5f5..3276d63596 100644
--- a/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModelFactory.h
+++ b/Modules/Learning/DimensionalityReductionLearning/include/otbSOMModelFactory.h
@@ -43,8 +43,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -61,7 +61,7 @@ public:
 
 protected:
   SOMModelFactory();
-  ~SOMModelFactory() ITK_OVERRIDE;
+  ~SOMModelFactory() override;
 
 private:
   SOMModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/LearningBase/include/otbDecisionTree.h b/Modules/Learning/LearningBase/include/otbDecisionTree.h
index 9a9d277dc4..1bb14365c0 100644
--- a/Modules/Learning/LearningBase/include/otbDecisionTree.h
+++ b/Modules/Learning/LearningBase/include/otbDecisionTree.h
@@ -100,11 +100,11 @@ protected:
   /** Constructor */
   DecisionTree();
   /** Destructor */
-  ~DecisionTree() ITK_OVERRIDE;
+  ~DecisionTree() override;
   /** Output information redefinition */
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   DecisionTree(const Self &); // purposely not implemented
diff --git a/Modules/Learning/LearningBase/include/otbGaussianModelComponent.h b/Modules/Learning/LearningBase/include/otbGaussianModelComponent.h
index 58472ddf43..3677f64c12 100644
--- a/Modules/Learning/LearningBase/include/otbGaussianModelComponent.h
+++ b/Modules/Learning/LearningBase/include/otbGaussianModelComponent.h
@@ -80,21 +80,21 @@ public:
   typedef typename CovarianceEstimatorType::MatrixType CovarianceType;
 
   /** Sets the input sample */
-  void SetSample(const TSample* sample) ITK_OVERRIDE;
+  void SetSample(const TSample* sample) override;
 
   /** Sets the component's distribution parameters.
    *  e.g. Then user can call directly Pdf( MeasurementVectorType & )  */
   void SetParameters(const ParametersType& parameters);
 
   /** Show the parameters in a minimal form in comparison to PrintSelf */
-  void ShowParameters(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void ShowParameters(std::ostream& os, itk::Indent indent) const override;
 
 protected:
   GaussianModelComponent();
-  ~GaussianModelComponent() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~GaussianModelComponent() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   GaussianModelComponent(const Self &); //purposely not implemented
diff --git a/Modules/Learning/LearningBase/include/otbImageClassificationFilter.h b/Modules/Learning/LearningBase/include/otbImageClassificationFilter.h
index 620177e5af..ee2eddff5a 100644
--- a/Modules/Learning/LearningBase/include/otbImageClassificationFilter.h
+++ b/Modules/Learning/LearningBase/include/otbImageClassificationFilter.h
@@ -113,16 +113,16 @@ protected:
   /** Constructor */
   ImageClassificationFilter();
   /** Destructor */
-  ~ImageClassificationFilter() ITK_OVERRIDE {}
+  ~ImageClassificationFilter() override {}
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   void ClassicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
   void BatchThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId);
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageClassificationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/LearningBase/include/otbKMeansImageClassificationFilter.h b/Modules/Learning/LearningBase/include/otbKMeansImageClassificationFilter.h
index c188f31198..53a0a83fe5 100644
--- a/Modules/Learning/LearningBase/include/otbKMeansImageClassificationFilter.h
+++ b/Modules/Learning/LearningBase/include/otbKMeansImageClassificationFilter.h
@@ -106,14 +106,14 @@ protected:
   /** Constructor */
   KMeansImageClassificationFilter();
   /** Destructor */
-  ~KMeansImageClassificationFilter() ITK_OVERRIDE {}
+  ~KMeansImageClassificationFilter() override {}
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   KMeansImageClassificationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/LearningBase/include/otbMachineLearningModel.h b/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
index 2bfd9177ff..49e409ec8f 100644
--- a/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
+++ b/Modules/Learning/LearningBase/include/otbMachineLearningModel.h
@@ -181,10 +181,10 @@ protected:
   MachineLearningModel();
 
   /** Destructor */
-  ~MachineLearningModel() ITK_OVERRIDE;
+  ~MachineLearningModel() override;
  
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Input list sample */
   typename InputListSampleType::Pointer m_InputListSample;
diff --git a/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h b/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
index 012e0f1d77..ef2d6f02bf 100644
--- a/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
+++ b/Modules/Learning/LearningBase/include/otbMachineLearningModelFactoryBase.h
@@ -48,7 +48,7 @@ public:
 
 protected:
   MachineLearningModelFactoryBase();
-  ~MachineLearningModelFactoryBase() ITK_OVERRIDE;
+  ~MachineLearningModelFactoryBase() override;
 
   static itk::SimpleMutexLock mutex;
 
diff --git a/Modules/Learning/LearningBase/include/otbSEMClassifier.h b/Modules/Learning/LearningBase/include/otbSEMClassifier.h
index a97ba10eb1..0b598f44b5 100644
--- a/Modules/Learning/LearningBase/include/otbSEMClassifier.h
+++ b/Modules/Learning/LearningBase/include/otbSEMClassifier.h
@@ -156,7 +156,7 @@ public:
   int AddComponent(int id, ComponentType* component);
 
   /** Runs the optimization process. */
-  void Update() ITK_OVERRIDE;
+  void Update() override;
 
   /** Termination status after running optimization */
   typedef enum { CONVERGED = 0, NOT_CONVERGED = 1 } TerminationCodeType;
@@ -176,12 +176,12 @@ public:
   /* Return the classification result (as an image) */
   TOutputImage * GetOutputImage();
   
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 protected:
   SEMClassifier();
-  ~SEMClassifier() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SEMClassifier() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Initialize the first segmentation, either randomly or by using
    *  a ClassLabelVectorType given in SetClassLabels. */
diff --git a/Modules/Learning/Markov/include/otbMRFEnergy.h b/Modules/Learning/Markov/include/otbMRFEnergy.h
index c8acb54385..933539d7ce 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergy.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergy.h
@@ -142,7 +142,7 @@ protected:
   MRFEnergy() :
     m_NumberOfParameters(1),
     m_Parameters(0) {};
-  ~MRFEnergy() ITK_OVERRIDE {}
+  ~MRFEnergy() override {}
   unsigned int   m_NumberOfParameters;
   ParametersType m_Parameters;
 };
@@ -224,7 +224,7 @@ protected:
     m_NumberOfParameters(1),
     m_Parameters(0)
       {};
-  ~MRFEnergy() ITK_OVERRIDE {}
+  ~MRFEnergy() override {}
   unsigned int   m_NumberOfParameters;
   ParametersType m_Parameters;
 };
diff --git a/Modules/Learning/Markov/include/otbMRFEnergyEdgeFidelity.h b/Modules/Learning/Markov/include/otbMRFEnergyEdgeFidelity.h
index d37e5f7655..5aa6715c91 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergyEdgeFidelity.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergyEdgeFidelity.h
@@ -63,7 +63,7 @@ public:
 
   itkTypeMacro(MRFEnergyEdgeFidelity, MRFEnergy);
 
-  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) ITK_OVERRIDE
+  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) override
   {
     double val1 = static_cast<double>(value1);
     double val2 = static_cast<double>(value2);
@@ -74,7 +74,7 @@ public:
 protected:
   // The constructor and destructor.
   MRFEnergyEdgeFidelity() {};
-  ~MRFEnergyEdgeFidelity() ITK_OVERRIDE {}
+  ~MRFEnergyEdgeFidelity() override {}
 };
 }
 
diff --git a/Modules/Learning/Markov/include/otbMRFEnergyFisherClassification.h b/Modules/Learning/Markov/include/otbMRFEnergyFisherClassification.h
index 574a589e07..5950ad2046 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergyFisherClassification.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergyFisherClassification.h
@@ -59,14 +59,14 @@ public:
   itkNewMacro(Self);
   itkTypeMacro(MRFEnergyFisherClassification, MRFEnergy);
 
-  void SetNumberOfParameters(const unsigned int nParameters) ITK_OVERRIDE
+  void SetNumberOfParameters(const unsigned int nParameters) override
   {
     Superclass::SetNumberOfParameters(nParameters);
     this->m_Parameters.SetSize(nParameters);
     this->Modified();
   }
 
-  double GetSingleValue(const InputImagePixelType & value1,  const LabelledImagePixelType & value2) ITK_OVERRIDE
+  double GetSingleValue(const InputImagePixelType & value1,  const LabelledImagePixelType & value2) override
   {
     if ((unsigned int)value2 >= this->GetNumberOfParameters()/3)
       {
@@ -88,7 +88,7 @@ public:
 protected:
   // The constructor and destructor.
   MRFEnergyFisherClassification() {};
-  ~MRFEnergyFisherClassification() ITK_OVERRIDE {};
+  ~MRFEnergyFisherClassification() override {};
 };
 }
 #endif
diff --git a/Modules/Learning/Markov/include/otbMRFEnergyGaussian.h b/Modules/Learning/Markov/include/otbMRFEnergyGaussian.h
index 5670c06c90..556e402433 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergyGaussian.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergyGaussian.h
@@ -68,7 +68,7 @@ public:
 
   itkNewMacro(Self);
 
-  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) ITK_OVERRIDE
+  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) override
   {
     return vnl_math_sqr((static_cast<double>(value1))
                         - (static_cast<double>(value2)));
@@ -81,7 +81,7 @@ protected:
     this->m_NumberOfParameters = 0;
     this->m_Parameters.SetSize(this->m_NumberOfParameters);
     };
-  ~MRFEnergyGaussian() ITK_OVERRIDE {}
+  ~MRFEnergyGaussian() override {}
 
 };
 }
diff --git a/Modules/Learning/Markov/include/otbMRFEnergyGaussianClassification.h b/Modules/Learning/Markov/include/otbMRFEnergyGaussianClassification.h
index 09d6175876..1864da2897 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergyGaussianClassification.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergyGaussianClassification.h
@@ -64,14 +64,14 @@ public:
 
   itkTypeMacro(MRFEnergyGaussianClassification, MRFEnergy);
 
-  void SetNumberOfParameters(const unsigned int nParameters) ITK_OVERRIDE
+  void SetNumberOfParameters(const unsigned int nParameters) override
   {
     Superclass::SetNumberOfParameters(nParameters);
     this->m_Parameters.SetSize(nParameters);
     this->Modified();
   }
 
-  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) ITK_OVERRIDE
+  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) override
   {
     if ((unsigned int) value2 >= this->GetNumberOfParameters() / 2)
       {
@@ -89,7 +89,7 @@ public:
 protected:
   // The constructor and destructor.
   MRFEnergyGaussianClassification() {};
-  ~MRFEnergyGaussianClassification() ITK_OVERRIDE {}
+  ~MRFEnergyGaussianClassification() override {}
 
 };
 }
diff --git a/Modules/Learning/Markov/include/otbMRFEnergyPotts.h b/Modules/Learning/Markov/include/otbMRFEnergyPotts.h
index 5f41c47a42..3c54c69179 100644
--- a/Modules/Learning/Markov/include/otbMRFEnergyPotts.h
+++ b/Modules/Learning/Markov/include/otbMRFEnergyPotts.h
@@ -66,7 +66,7 @@ public:
 
   itkNewMacro(Self);
 
-  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) ITK_OVERRIDE
+  double GetSingleValue(const InputImagePixelType& value1, const LabelledImagePixelType& value2) override
   {
     if (value1 != value2)
       {
@@ -86,7 +86,7 @@ protected:
     this->m_Parameters.SetSize(this->m_NumberOfParameters);
     this->m_Parameters[0] = 1.0;
     };
-  ~MRFEnergyPotts() ITK_OVERRIDE {}
+  ~MRFEnergyPotts() override {}
 
 };
 }
diff --git a/Modules/Learning/Markov/include/otbMRFOptimizer.h b/Modules/Learning/Markov/include/otbMRFOptimizer.h
index 110db833e4..65638b0ed2 100644
--- a/Modules/Learning/Markov/include/otbMRFOptimizer.h
+++ b/Modules/Learning/Markov/include/otbMRFOptimizer.h
@@ -76,7 +76,7 @@ protected:
   MRFOptimizer() :
     m_NumberOfParameters(1),
     m_Parameters(1) {}
-  ~MRFOptimizer() ITK_OVERRIDE {}
+  ~MRFOptimizer() override {}
   unsigned int   m_NumberOfParameters;
   ParametersType m_Parameters;
 
diff --git a/Modules/Learning/Markov/include/otbMRFOptimizerICM.h b/Modules/Learning/Markov/include/otbMRFOptimizerICM.h
index f6f777e059..4380e161a8 100644
--- a/Modules/Learning/Markov/include/otbMRFOptimizerICM.h
+++ b/Modules/Learning/Markov/include/otbMRFOptimizerICM.h
@@ -52,7 +52,7 @@ public:
 
   itkTypeMacro(MRFOptimizerICM, MRFOptimizer);
 
-  inline bool Compute(double deltaEnergy) ITK_OVERRIDE
+  inline bool Compute(double deltaEnergy) override
   {
     if (deltaEnergy < 0)
       {
@@ -66,7 +66,7 @@ public:
 
 protected:
   MRFOptimizerICM() {}
-  ~MRFOptimizerICM() ITK_OVERRIDE {}
+  ~MRFOptimizerICM() override {}
 
 };
 
diff --git a/Modules/Learning/Markov/include/otbMRFOptimizerMetropolis.h b/Modules/Learning/Markov/include/otbMRFOptimizerMetropolis.h
index 5b7c75d668..f188046bed 100644
--- a/Modules/Learning/Markov/include/otbMRFOptimizerMetropolis.h
+++ b/Modules/Learning/Markov/include/otbMRFOptimizerMetropolis.h
@@ -72,7 +72,7 @@ public:
     this->Modified();
   }
 
-  inline bool Compute(double deltaEnergy) ITK_OVERRIDE
+  inline bool Compute(double deltaEnergy) override
   {
     if (deltaEnergy < 0)
       {
@@ -112,7 +112,7 @@ protected:
     m_Generator = RandomGeneratorType::GetInstance();
     m_Generator->SetSeed();
     }
-  ~MRFOptimizerMetropolis() ITK_OVERRIDE {}
+  ~MRFOptimizerMetropolis() override {}
   RandomGeneratorType::Pointer m_Generator;
 };
 
diff --git a/Modules/Learning/Markov/include/otbMRFSampler.h b/Modules/Learning/Markov/include/otbMRFSampler.h
index 74daee5d84..bc505d7b1b 100644
--- a/Modules/Learning/Markov/include/otbMRFSampler.h
+++ b/Modules/Learning/Markov/include/otbMRFSampler.h
@@ -111,7 +111,7 @@ protected:
     m_EnergyRegularization = EnergyRegularizationType::New();
     m_EnergyFidelity =  EnergyFidelityType::New();
     };
-  ~MRFSampler() ITK_OVERRIDE {}
+  ~MRFSampler() override {}
 
 };
 
diff --git a/Modules/Learning/Markov/include/otbMRFSamplerMAP.h b/Modules/Learning/Markov/include/otbMRFSamplerMAP.h
index dc14a7aafb..2bd8688102 100644
--- a/Modules/Learning/Markov/include/otbMRFSamplerMAP.h
+++ b/Modules/Learning/Markov/include/otbMRFSamplerMAP.h
@@ -65,7 +65,7 @@ public:
   itkTypeMacro(MRFSamplerMAP, MRFSampler);
 
   inline int Compute(const InputImageNeighborhoodIterator& itData,
-                     const LabelledImageNeighborhoodIterator& itRegul) ITK_OVERRIDE
+                     const LabelledImageNeighborhoodIterator& itRegul) override
   {
     if (this->m_NumberOfClasses == 0)
       {
@@ -103,7 +103,7 @@ public:
 protected:
   // The constructor and destructor.
   MRFSamplerMAP() {};
-  ~MRFSamplerMAP() ITK_OVERRIDE {}
+  ~MRFSamplerMAP() override {}
 
 };
 
diff --git a/Modules/Learning/Markov/include/otbMRFSamplerRandom.h b/Modules/Learning/Markov/include/otbMRFSamplerRandom.h
index d00eb26929..5f60b4aca9 100644
--- a/Modules/Learning/Markov/include/otbMRFSamplerRandom.h
+++ b/Modules/Learning/Markov/include/otbMRFSamplerRandom.h
@@ -66,7 +66,7 @@ public:
 
   itkTypeMacro(MRFSamplerRandom, MRFSampler);
 
-  inline int Compute(const InputImageNeighborhoodIterator& itData, const LabelledImageNeighborhoodIterator& itRegul) ITK_OVERRIDE
+  inline int Compute(const InputImageNeighborhoodIterator& itData, const LabelledImageNeighborhoodIterator& itRegul) override
   {
     this->m_EnergyBefore = this->m_EnergyFidelity->GetValue(itData, itRegul.GetCenterPixel());
     this->m_EnergyBefore += this->m_Lambda
@@ -97,7 +97,7 @@ protected:
     m_Generator = RandomGeneratorType::GetInstance();
     m_Generator->SetSeed();
     }
-  ~MRFSamplerRandom() ITK_OVERRIDE {}
+  ~MRFSamplerRandom() override {}
 
 private:
   RandomGeneratorType::Pointer m_Generator;
diff --git a/Modules/Learning/Markov/include/otbMRFSamplerRandomMAP.h b/Modules/Learning/Markov/include/otbMRFSamplerRandomMAP.h
index 2ebf55bad5..5c37d94230 100644
--- a/Modules/Learning/Markov/include/otbMRFSamplerRandomMAP.h
+++ b/Modules/Learning/Markov/include/otbMRFSamplerRandomMAP.h
@@ -72,7 +72,7 @@ public:
 
   itkTypeMacro(MRFSamplerRandomMAP, MRFSampler);
 
-  void SetNumberOfClasses(const unsigned int nClasses) ITK_OVERRIDE
+  void SetNumberOfClasses(const unsigned int nClasses) override
   {
     if ((nClasses != this->m_NumberOfClasses) || (m_EnergiesInvalid == true))
       {
@@ -85,7 +85,7 @@ public:
       }
   }
 
-  inline int Compute(const InputImageNeighborhoodIterator& itData, const LabelledImageNeighborhoodIterator& itRegul) ITK_OVERRIDE
+  inline int Compute(const InputImageNeighborhoodIterator& itData, const LabelledImageNeighborhoodIterator& itRegul) override
   {
     if (this->m_NumberOfClasses == 0)
       {
@@ -166,7 +166,7 @@ protected:
     m_Generator = RandomGeneratorType::GetInstance();
     m_Generator->SetSeed();
     }
-  ~MRFSamplerRandomMAP() ITK_OVERRIDE
+  ~MRFSamplerRandomMAP() override
     {
     if (m_Energy != ITK_NULLPTR) free(m_Energy);
     if (m_RepartitionFunction != ITK_NULLPTR) free(m_RepartitionFunction);
diff --git a/Modules/Learning/Markov/include/otbMarkovRandomFieldFilter.h b/Modules/Learning/Markov/include/otbMarkovRandomFieldFilter.h
index 9e5eeed25b..1d94c27531 100644
--- a/Modules/Learning/Markov/include/otbMarkovRandomFieldFilter.h
+++ b/Modules/Learning/Markov/include/otbMarkovRandomFieldFilter.h
@@ -319,8 +319,8 @@ public:
 
 protected:
   MarkovRandomFieldFilter();
-  ~MarkovRandomFieldFilter() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~MarkovRandomFieldFilter() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Allocate memory for labelled images. This is automatically called
    * in GenerateData().
@@ -335,10 +335,10 @@ protected:
 
   virtual void ApplyMarkovRandomFieldFilter();
 
-  void GenerateData() ITK_OVERRIDE;
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void EnlargeOutputRequestedRegion(itk::DataObject *) ITK_OVERRIDE;
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateData() override;
+  void GenerateInputRequestedRegion() override;
+  void EnlargeOutputRequestedRegion(itk::DataObject *) override;
+  void GenerateOutputInformation() override;
 
   MarkovRandomFieldFilter(const Self &); //purposely not implemented
   void operator =(const Self&); //purposely not implemented
diff --git a/Modules/Learning/SOM/include/otbPeriodicSOM.h b/Modules/Learning/SOM/include/otbPeriodicSOM.h
index c1a5d60329..5f71f8cac2 100644
--- a/Modules/Learning/SOM/include/otbPeriodicSOM.h
+++ b/Modules/Learning/SOM/include/otbPeriodicSOM.h
@@ -91,19 +91,19 @@ protected:
   /** Constructor */
   PeriodicSOM() {}
   /** Destructor */
-  ~PeriodicSOM() ITK_OVERRIDE {}
+  ~PeriodicSOM() override {}
   /** Output information redefinition */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation ();
   }
   /** Output allocation redefinition */
-  void AllocateOutputs() ITK_OVERRIDE
+  void AllocateOutputs() override
   {
     Superclass::AllocateOutputs();
   }
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE
+  void GenerateData(void) override
   {
     Superclass::GenerateData();
   }
@@ -113,16 +113,16 @@ protected:
   * \param beta The learning coefficient,
   * \param radius The radius of the nieghbourhood.
   */
-  void UpdateMap(const NeuronType& sample, double beta, SizeType& radius) ITK_OVERRIDE;
+  void UpdateMap(const NeuronType& sample, double beta, SizeType& radius) override;
   /**
   * Step one iteration.
   */
-  void Step(unsigned int currentIteration) ITK_OVERRIDE
+  void Step(unsigned int currentIteration) override
   {
     Superclass::Step(currentIteration);
   }
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Learning/SOM/include/otbSOM.h b/Modules/Learning/SOM/include/otbSOM.h
index 1563b51165..56daddf8bb 100644
--- a/Modules/Learning/SOM/include/otbSOM.h
+++ b/Modules/Learning/SOM/include/otbSOM.h
@@ -125,13 +125,13 @@ protected:
   /** Constructor */
   SOM();
   /** Destructor */
-  ~SOM() ITK_OVERRIDE;
+  ~SOM() override;
   /** Output information redefinition */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Output allocation redefinition */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /**
    * Update the output map with a new sample.
    * \param sample The new sample to learn,
@@ -144,7 +144,7 @@ protected:
    */
   virtual void Step(unsigned int currentIteration);
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SOM(const Self &); // purposely not implemented
diff --git a/Modules/Learning/SOM/include/otbSOMActivationBuilder.h b/Modules/Learning/SOM/include/otbSOMActivationBuilder.h
index 3d3ff39168..928d720826 100644
--- a/Modules/Learning/SOM/include/otbSOMActivationBuilder.h
+++ b/Modules/Learning/SOM/include/otbSOMActivationBuilder.h
@@ -74,11 +74,11 @@ protected:
   /** Constructor */
   SOMActivationBuilder();
   /** Destructor */
-  ~SOMActivationBuilder() ITK_OVERRIDE;
+  ~SOMActivationBuilder() override;
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SOMActivationBuilder(const Self &); // purposely not implemented
diff --git a/Modules/Learning/SOM/include/otbSOMClassifier.h b/Modules/Learning/SOM/include/otbSOMClassifier.h
index 6bc0e09701..55027d4435 100644
--- a/Modules/Learning/SOM/include/otbSOMClassifier.h
+++ b/Modules/Learning/SOM/include/otbSOMClassifier.h
@@ -88,11 +88,11 @@ protected:
   /** Constructor */
   SOMClassifier();
   /** Destructor */
-  ~SOMClassifier() ITK_OVERRIDE {}
+  ~SOMClassifier() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Starts the classification process */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   /// The input sample
diff --git a/Modules/Learning/SOM/include/otbSOMImageClassificationFilter.h b/Modules/Learning/SOM/include/otbSOMImageClassificationFilter.h
index 2d1dbb35f2..08bbb8bf05 100644
--- a/Modules/Learning/SOM/include/otbSOMImageClassificationFilter.h
+++ b/Modules/Learning/SOM/include/otbSOMImageClassificationFilter.h
@@ -104,14 +104,14 @@ protected:
   /** Constructor */
   SOMImageClassificationFilter();
   /** Destructor */
-  ~SOMImageClassificationFilter() ITK_OVERRIDE {}
+  ~SOMImageClassificationFilter() override {}
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SOMImageClassificationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/SOM/include/otbSOMMap.h b/Modules/Learning/SOM/include/otbSOMMap.h
index 662d782b07..160a38e299 100644
--- a/Modules/Learning/SOM/include/otbSOMMap.h
+++ b/Modules/Learning/SOM/include/otbSOMMap.h
@@ -92,9 +92,9 @@ protected:
   /** Constructor */
   SOMMap();
   /** Destructor */
-  ~SOMMap() ITK_OVERRIDE;
+  ~SOMMap() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SOMMap(const Self &); // purposely not implemented
diff --git a/Modules/Learning/SOM/include/otbSOMWithMissingValue.h b/Modules/Learning/SOM/include/otbSOMWithMissingValue.h
index aadcbe20fe..02fba263c4 100644
--- a/Modules/Learning/SOM/include/otbSOMWithMissingValue.h
+++ b/Modules/Learning/SOM/include/otbSOMWithMissingValue.h
@@ -81,34 +81,34 @@ protected:
   /** Constructor */
   SOMWithMissingValue ();
   /** Destructor */
-  ~SOMWithMissingValue() ITK_OVERRIDE;
+  ~SOMWithMissingValue() override;
   /** Output information redefinition */
-  void GenerateOutputInformation() ITK_OVERRIDE
+  void GenerateOutputInformation() override
   {
     Superclass::GenerateOutputInformation ();
   }
   /** Output allocation redefinition */
-  void AllocateOutputs() ITK_OVERRIDE
+  void AllocateOutputs() override
   {
     Superclass::AllocateOutputs();
   }
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE
+  void GenerateData(void) override
   {
     Superclass::GenerateData();
   }
   /**
    * Update the output map with a new sample, depending on the availability of the data
    */
-  void UpdateMap(const NeuronType& sample, double beta, SizeType& radius) ITK_OVERRIDE;
+  void UpdateMap(const NeuronType& sample, double beta, SizeType& radius) override;
 
   /** Step one iteration. */
-  void Step(unsigned int currentIteration) ITK_OVERRIDE
+  void Step(unsigned int currentIteration) override
   {
     Superclass::Step(currentIteration);
   }
   /** PrintSelf method */
-void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Learning/SOM/include/otbSOMbasedImageFilter.h b/Modules/Learning/SOM/include/otbSOMbasedImageFilter.h
index 7e9105ad1f..f33342d6a1 100644
--- a/Modules/Learning/SOM/include/otbSOMbasedImageFilter.h
+++ b/Modules/Learning/SOM/include/otbSOMbasedImageFilter.h
@@ -144,10 +144,10 @@ public:
 
 protected:
   // throw the Map to the functor
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
 
   SOMbasedImageFilter ();
-  ~SOMbasedImageFilter () ITK_OVERRIDE {}
+  ~SOMbasedImageFilter () override {}
 
 private:
   SOMbasedImageFilter (const Self &);
diff --git a/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h b/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
index c36b029b1c..d7c32c9d18 100644
--- a/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
+++ b/Modules/Learning/Sampling/include/otbImageSampleExtractorFilter.h
@@ -73,10 +73,10 @@ public:
   /** Get the output samples OGR container */
   ogr::DataSource* GetOutputSamples();
 
-  void Synthetize(void) ITK_OVERRIDE{}
+  void Synthetize(void) override{}
 
   /** Reset method called before starting the streaming*/
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
   
   itkSetMacro(SampleFieldPrefix, std::string);
   itkGetMacro(SampleFieldPrefix, std::string);
@@ -91,14 +91,14 @@ protected:
   /** Constructor */
   PersistentImageSampleExtractorFilter();
   /** Destructor */
-  ~PersistentImageSampleExtractorFilter() ITK_OVERRIDE {}
+  ~PersistentImageSampleExtractorFilter() override {}
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** process only points */
-  void ThreadedGenerateVectorData(const ogr::Layer& layerForThread, itk::ThreadIdType threadid) ITK_OVERRIDE;
+  void ThreadedGenerateVectorData(const ogr::Layer& layerForThread, itk::ThreadIdType threadid) override;
 
 private:
   PersistentImageSampleExtractorFilter(const Self &); //purposely not implemented
@@ -178,7 +178,7 @@ protected:
   /** Constructor */
   ImageSampleExtractorFilter() {}
   /** Destructor */
-  ~ImageSampleExtractorFilter() ITK_OVERRIDE {}
+  ~ImageSampleExtractorFilter() override {}
 
 private:
   ImageSampleExtractorFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h b/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
index f7e03efd36..0b34b436e2 100644
--- a/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
+++ b/Modules/Learning/Sampling/include/otbOGRDataToClassStatisticsFilter.h
@@ -67,10 +67,10 @@ public:
   /** Runtime information support. */
   itkTypeMacro(PersistentOGRDataToClassStatisticsFilter, PersistentSamplingFilterBase);
 
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
   /** Reset method called before starting the streaming*/
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   /** the class count map is stored as output #2 */
   const ClassCountObjectType* GetClassCountOutput() const;
@@ -82,24 +82,24 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 protected:
   /** Constructor */
   PersistentOGRDataToClassStatisticsFilter();
   /** Destructor */
-  ~PersistentOGRDataToClassStatisticsFilter() ITK_OVERRIDE {}
+  ~PersistentOGRDataToClassStatisticsFilter() override {}
 
   /** Implement generic method called at each candidate position */
   void ProcessSample(const ogr::Feature& feature,
                      typename TInputImage::IndexType& imgIndex,
                      typename TInputImage::PointType& imgPoint,
-                     itk::ThreadIdType& threadid) ITK_OVERRIDE;
+                     itk::ThreadIdType& threadid) override;
 
   /** Prepare temporary variables for the current feature */
   void PrepareFeature(const ogr::Feature& feature,
-                      itk::ThreadIdType& threadid) ITK_OVERRIDE;
+                      itk::ThreadIdType& threadid) override;
 
 private:
   PersistentOGRDataToClassStatisticsFilter(const Self &); //purposely not implemented
@@ -183,7 +183,7 @@ protected:
   /** Constructor */
   OGRDataToClassStatisticsFilter() {}
   /** Destructor */
-  ~OGRDataToClassStatisticsFilter() ITK_OVERRIDE {}
+  ~OGRDataToClassStatisticsFilter() override {}
 
 private:
   OGRDataToClassStatisticsFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h b/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
index 8393766bcb..5b1364e277 100644
--- a/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
+++ b/Modules/Learning/Sampling/include/otbOGRDataToSamplePositionFilter.h
@@ -88,10 +88,10 @@ public:
   /** Runtime information support. */
   itkTypeMacro(PersistentOGRDataToSamplePositionFilter, PersistentSamplingFilterBase);
 
-  void Synthetize(void) ITK_OVERRIDE{}
+  void Synthetize(void) override{}
 
   /** Reset method called before starting the streaming*/
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
   /** Get a reference to the internal samplers at a given level */
   SamplerMapType& GetSamplers(unsigned int level);
@@ -115,7 +115,7 @@ public:
 
   /** Make a DataObject of the correct type to be used as the specified
    * output. */
-  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  itk::DataObject::Pointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
   /** Get/Set of the field name storing the original FID of each sample */
@@ -126,21 +126,21 @@ protected:
   /** Constructor */
   PersistentOGRDataToSamplePositionFilter();
   /** Destructor */
-  ~PersistentOGRDataToSamplePositionFilter() ITK_OVERRIDE {}
+  ~PersistentOGRDataToSamplePositionFilter() override {}
 
   /** Call samplers on a current position, for a given class */
   void ProcessSample(const ogr::Feature& feature,
                              typename TInputImage::IndexType& imgIndex,
                              typename TInputImage::PointType& imgPoint,
-                             itk::ThreadIdType& threadid) ITK_OVERRIDE;
+                             itk::ThreadIdType& threadid) override;
 
   /** Method to split the input OGRDataSource
    *  according to the class partition
    */
-  void DispatchInputVectors(void) ITK_OVERRIDE;
+  void DispatchInputVectors(void) override;
 
   /** Fill the output vectors with a special ordering (class partition) */
-  void FillOneOutput(unsigned int outIdx, ogr::DataSource* outDS, bool update) ITK_OVERRIDE;
+  void FillOneOutput(unsigned int outIdx, ogr::DataSource* outDS, bool update) override;
 
 private:
   PersistentOGRDataToSamplePositionFilter(const Self &); //purposely not implemented
@@ -259,7 +259,7 @@ protected:
   /** Constructor */
   OGRDataToSamplePositionFilter() {}
   /** Destructor */
-  ~OGRDataToSamplePositionFilter() ITK_OVERRIDE {}
+  ~OGRDataToSamplePositionFilter() override {}
 
 private:
   OGRDataToSamplePositionFilter(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h b/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
index bb3b0ac406..6c8e2ab53c 100644
--- a/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
+++ b/Modules/Learning/Sampling/include/otbPersistentSamplingFilterBase.h
@@ -97,21 +97,21 @@ protected:
   /** Constructor */
   PersistentSamplingFilterBase();
   /** Destructor */
-  ~PersistentSamplingFilterBase() ITK_OVERRIDE {}
+  ~PersistentSamplingFilterBase() override {}
 
   /** Use the same output information as input image, check the field index
    *  and the mask footprint */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Use an empty region to input image (pixel values not needed) and set
    *  the requested region for the mask */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Generate data should thread over */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** Allocate in-memory layers for input and outputs */
-  void AllocateOutputs(void) ITK_OVERRIDE;
+  void AllocateOutputs(void) override;
 
   /** Start of main processing loop */
   virtual void ThreadedGenerateVectorData(const ogr::Layer& layerForThread, itk::ThreadIdType threadid);
diff --git a/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h b/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
index f391a23410..e16e8a9a48 100644
--- a/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
+++ b/Modules/Learning/Sampling/include/otbSamplingRateCalculator.h
@@ -110,10 +110,10 @@ protected:
   SamplingRateCalculator();
 
   /** Destructor */
-  ~SamplingRateCalculator() ITK_OVERRIDE {}
+  ~SamplingRateCalculator() override {}
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SamplingRateCalculator(const Self &);    //purposely not implemented
diff --git a/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h b/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
index 56dc647b53..7bc78c188d 100644
--- a/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
+++ b/Modules/Learning/Sampling/include/otbSamplingRateCalculatorList.h
@@ -98,7 +98,7 @@ protected:
   SamplingRateCalculatorList(){}
 
   /** Destructor */
-  ~SamplingRateCalculatorList() ITK_OVERRIDE {}
+  ~SamplingRateCalculatorList() override {}
 
 private:
   SamplingRateCalculatorList(const Self &);    //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h b/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h
index ec96746f6d..36c22666d5 100644
--- a/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbBoostMachineLearningModel.h
@@ -99,21 +99,21 @@ public:
   itkSetMacro(MaxDepth, int);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -121,14 +121,14 @@ protected:
   BoostMachineLearningModel();
 
   /** Destructor */
-  ~BoostMachineLearningModel() ITK_OVERRIDE;
+  ~BoostMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   BoostMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbBoostMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbBoostMachineLearningModelFactory.h
index 2344f857b1..909dc5e84c 100644
--- a/Modules/Learning/Supervised/include/otbBoostMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbBoostMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   BoostMachineLearningModelFactory();
-  ~BoostMachineLearningModelFactory() ITK_OVERRIDE;
+  ~BoostMachineLearningModelFactory() override;
 
 private:
   BoostMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbConfusionMatrixCalculator.h b/Modules/Learning/Supervised/include/otbConfusionMatrixCalculator.h
index 465b0ae9a3..6db693ce26 100644
--- a/Modules/Learning/Supervised/include/otbConfusionMatrixCalculator.h
+++ b/Modules/Learning/Supervised/include/otbConfusionMatrixCalculator.h
@@ -137,8 +137,8 @@ public:
 
 protected:
   ConfusionMatrixCalculator();
-  ~ConfusionMatrixCalculator() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ConfusionMatrixCalculator() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
 private:
diff --git a/Modules/Learning/Supervised/include/otbConfusionMatrixMeasurements.h b/Modules/Learning/Supervised/include/otbConfusionMatrixMeasurements.h
index 2b50388427..96790db5a8 100644
--- a/Modules/Learning/Supervised/include/otbConfusionMatrixMeasurements.h
+++ b/Modules/Learning/Supervised/include/otbConfusionMatrixMeasurements.h
@@ -143,7 +143,7 @@ public:
 
 protected:
   ConfusionMatrixMeasurements();
-  ~ConfusionMatrixMeasurements() ITK_OVERRIDE {}
+  ~ConfusionMatrixMeasurements() override {}
   //void PrintSelf(std::ostream& os, itk::Indent indent) const;
 
 
diff --git a/Modules/Learning/Supervised/include/otbCvRTreesWrapper.h b/Modules/Learning/Supervised/include/otbCvRTreesWrapper.h
index a3874b1c5f..7ec5896901 100644
--- a/Modules/Learning/Supervised/include/otbCvRTreesWrapper.h
+++ b/Modules/Learning/Supervised/include/otbCvRTreesWrapper.h
@@ -42,7 +42,7 @@ class OTBSupervised_EXPORT CvRTreesWrapper
 public:
   typedef std::vector<unsigned int> VotesVectorType;
   CvRTreesWrapper();
-  ~CvRTreesWrapper() ITK_OVERRIDE;
+  ~CvRTreesWrapper() override;
 
   /** Compute the number of votes for each class. */
   void get_votes(const cv::Mat& sample,
diff --git a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h
index 260fc835c7..fc47f21405 100644
--- a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModel.h
@@ -154,21 +154,21 @@ public:
   }
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -176,13 +176,13 @@ protected:
   DecisionTreeMachineLearningModel();
 
   /** Destructor */
-  ~DecisionTreeMachineLearningModel() ITK_OVERRIDE;
+  ~DecisionTreeMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   DecisionTreeMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModelFactory.h
index 1c73cf6de6..5635cee32d 100644
--- a/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbDecisionTreeMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   DecisionTreeMachineLearningModelFactory();
-  ~DecisionTreeMachineLearningModelFactory() ITK_OVERRIDE;
+  ~DecisionTreeMachineLearningModelFactory() override;
 
 private:
   DecisionTreeMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbExhaustiveExponentialOptimizer.h b/Modules/Learning/Supervised/include/otbExhaustiveExponentialOptimizer.h
index cae5fb092d..ae1c135e0a 100644
--- a/Modules/Learning/Supervised/include/otbExhaustiveExponentialOptimizer.h
+++ b/Modules/Learning/Supervised/include/otbExhaustiveExponentialOptimizer.h
@@ -61,7 +61,7 @@ public:
   /** Run-time type information (and related methods). */
   itkTypeMacro(ExhaustiveExponentialOptimizer,itk::SingleValuedNonLinearOptimizer);
 
-  void    StartOptimization(void) ITK_OVERRIDE;
+  void    StartOptimization(void) override;
 
   void StartWalking(void);
   void ResumeWalking(void);
@@ -83,8 +83,8 @@ public:
 
 protected:
   ExhaustiveExponentialOptimizer();
-  ~ExhaustiveExponentialOptimizer() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ExhaustiveExponentialOptimizer() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Advance to the next grid position. */
   void AdvanceOneStep(void);
diff --git a/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModel.h b/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModel.h
index 4ff453acb0..19bbab10de 100644
--- a/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModel.h
@@ -105,21 +105,21 @@ public:
   itkSetMacro(UseSurrogates, bool);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -127,14 +127,14 @@ protected:
   GradientBoostedTreeMachineLearningModel();
 
   /** Destructor */
-  ~GradientBoostedTreeMachineLearningModel() ITK_OVERRIDE;
+  ~GradientBoostedTreeMachineLearningModel() override;
 
     /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GradientBoostedTreeMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModelFactory.h
index 7d4d1faad8..4cc7203d88 100644
--- a/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbGradientBoostedTreeMachineLearningModelFactory.h
@@ -46,8 +46,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -64,7 +64,7 @@ public:
 
 protected:
   GradientBoostedTreeMachineLearningModelFactory();
-  ~GradientBoostedTreeMachineLearningModelFactory() ITK_OVERRIDE;
+  ~GradientBoostedTreeMachineLearningModelFactory() override;
 
 private:
   GradientBoostedTreeMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h
index 069ff1eb47..d23411d923 100644
--- a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModel.h
@@ -79,21 +79,21 @@ public:
   itkSetMacro(DecisionRule, int);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -101,14 +101,14 @@ protected:
   KNearestNeighborsMachineLearningModel();
 
   /** Destructor */
-  ~KNearestNeighborsMachineLearningModel() ITK_OVERRIDE;
+  ~KNearestNeighborsMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   KNearestNeighborsMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModelFactory.h
index acb79f0543..717a09313e 100644
--- a/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbKNearestNeighborsMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   KNearestNeighborsMachineLearningModelFactory();
-  ~KNearestNeighborsMachineLearningModelFactory() ITK_OVERRIDE;
+  ~KNearestNeighborsMachineLearningModelFactory() override;
 
 private:
   KNearestNeighborsMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbLabelMapClassifier.h b/Modules/Learning/Supervised/include/otbLabelMapClassifier.h
index 75dc291f3d..51f102b96c 100644
--- a/Modules/Learning/Supervised/include/otbLabelMapClassifier.h
+++ b/Modules/Learning/Supervised/include/otbLabelMapClassifier.h
@@ -89,11 +89,11 @@ public:
 
 protected:
   LabelMapClassifier();
-  ~LabelMapClassifier() ITK_OVERRIDE {};
+  ~LabelMapClassifier() override {};
 
-  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
+  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
 
-  void ReleaseInputs() ITK_OVERRIDE;
+  void ReleaseInputs() override;
 
 
 private:
diff --git a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
index 329722af5a..8d96b2a179 100644
--- a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
@@ -64,21 +64,21 @@ public:
   itkTypeMacro(SVMMachineLearningModel, MachineLearningModel);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string &filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string &filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 #define otbSetSVMParameterMacro(name, alias, type) \
@@ -269,13 +269,13 @@ protected:
   LibSVMMachineLearningModel();
 
   /** Destructor */
-  ~LibSVMMachineLearningModel() ITK_OVERRIDE;
+  ~LibSVMMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LibSVMMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModelFactory.h
index 288573e735..08bd6c767e 100644
--- a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModelFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -60,7 +60,7 @@ public:
 
 protected:
   LibSVMMachineLearningModelFactory();
-  ~LibSVMMachineLearningModelFactory() ITK_OVERRIDE;
+  ~LibSVMMachineLearningModelFactory() override;
 
 private:
   LibSVMMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbMachineLearningModelFactory.h
index 5339802b1d..67ef0758cb 100644
--- a/Modules/Learning/Supervised/include/otbMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbMachineLearningModelFactory.h
@@ -60,7 +60,7 @@ public:
 
 protected:
   MachineLearningModelFactory();
-  ~MachineLearningModelFactory() ITK_OVERRIDE;
+  ~MachineLearningModelFactory() override;
 
 private:
   MachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h
index 3253c23686..44a1bad585 100644
--- a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModel.h
@@ -153,21 +153,21 @@ public:
   itkSetMacro(Epsilon, double);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -175,15 +175,15 @@ protected:
   NeuralNetworkMachineLearningModel();
 
   /** Destructor */
-  ~NeuralNetworkMachineLearningModel() ITK_OVERRIDE;
+  ~NeuralNetworkMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
   
   void LabelsToMat(const TargetListSampleType * listSample, cv::Mat & output);
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   NeuralNetworkMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModelFactory.h
index af6c7b0a26..ad8f1dce90 100644
--- a/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbNeuralNetworkMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   NeuralNetworkMachineLearningModelFactory();
-  ~NeuralNetworkMachineLearningModelFactory() ITK_OVERRIDE;
+  ~NeuralNetworkMachineLearningModelFactory() override;
 
 private:
   NeuralNetworkMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModel.h b/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModel.h
index 0b1ddc2c3c..da1ae46c05 100644
--- a/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModel.h
@@ -59,21 +59,21 @@ public:
   itkTypeMacro(NormalBayesMachineLearningModel, MachineLearningModel);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
 protected:
@@ -81,14 +81,14 @@ protected:
   NormalBayesMachineLearningModel();
 
   /** Destructor */
-  ~NormalBayesMachineLearningModel() ITK_OVERRIDE;
+  ~NormalBayesMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   NormalBayesMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModelFactory.h
index 517b93cfef..13306b5b82 100644
--- a/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbNormalBayesMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   NormalBayesMachineLearningModelFactory();
-  ~NormalBayesMachineLearningModelFactory() ITK_OVERRIDE;
+  ~NormalBayesMachineLearningModelFactory() override;
 
 private:
   NormalBayesMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h
index 04bbbca951..4dd7f0c828 100644
--- a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModel.h
@@ -64,21 +64,21 @@ public:
   itkTypeMacro(RandomForestsMachineLearningModel, MachineLearningModel);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
   //Setters of RT parameters (documentation get from opencv doxygen 2.4)
@@ -135,14 +135,14 @@ protected:
   RandomForestsMachineLearningModel();
 
   /** Destructor */
-  ~RandomForestsMachineLearningModel() ITK_OVERRIDE;
+  ~RandomForestsMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /* /\** Input list sample *\/ */
   /* typename InputListSampleType::Pointer m_InputListSample; */
diff --git a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModelFactory.h
index f84f937213..92dd605664 100644
--- a/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbRandomForestsMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   RandomForestsMachineLearningModelFactory();
-  ~RandomForestsMachineLearningModelFactory() ITK_OVERRIDE;
+  ~RandomForestsMachineLearningModelFactory() override;
 
 private:
   RandomForestsMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h b/Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h
index ceb76a1486..4056c47c54 100644
--- a/Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h
+++ b/Modules/Learning/Supervised/include/otbSVMCrossValidationCostFunction.h
@@ -82,19 +82,19 @@ public:
   itkGetMacro(DerivativeStep, ParametersValueType);
 
   /** \return The accuracy value corresponding the parameters */
-  MeasureType GetValue(const ParametersType& parameters) const ITK_OVERRIDE;
+  MeasureType GetValue(const ParametersType& parameters) const override;
 
   /** \return The accuracy derivative corresponding to the parameters */
-  void GetDerivative(const ParametersType& parameters, DerivativeType& derivative) const ITK_OVERRIDE;
+  void GetDerivative(const ParametersType& parameters, DerivativeType& derivative) const override;
 
   /** \return the number of parameters to optimize */
-  unsigned int GetNumberOfParameters(void) const ITK_OVERRIDE;
+  unsigned int GetNumberOfParameters(void) const override;
 
 protected:
   /// Constructor
   SVMCrossValidationCostFunction();
   /// Destructor
-  ~SVMCrossValidationCostFunction() ITK_OVERRIDE;
+  ~SVMCrossValidationCostFunction() override;
 
   /** Update svm parameters struct according to the input parameters
     */
diff --git a/Modules/Learning/Supervised/include/otbSVMMachineLearningModel.h b/Modules/Learning/Supervised/include/otbSVMMachineLearningModel.h
index 07059be9b8..d0c36eeb3b 100644
--- a/Modules/Learning/Supervised/include/otbSVMMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbSVMMachineLearningModel.h
@@ -66,21 +66,21 @@ public:
   itkTypeMacro(SVMMachineLearningModel, MachineLearningModel);
 
   /** Train the machine learning model */
-  void Train() ITK_OVERRIDE;
+  void Train() override;
 
   /** Save the model to file */
-  void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  bool CanWriteFile(const std::string &) override;
   //@}
 
   //Setters/Getters to SVM model
@@ -138,14 +138,14 @@ protected:
   SVMMachineLearningModel();
 
   /** Destructor */
-  ~SVMMachineLearningModel() ITK_OVERRIDE;
+  ~SVMMachineLearningModel() override;
 
   /** Predict values using the model */
-  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SVMMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbSVMMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbSVMMachineLearningModelFactory.h
index 7ea10ad559..07ab9b744d 100644
--- a/Modules/Learning/Supervised/include/otbSVMMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbSVMMachineLearningModelFactory.h
@@ -44,8 +44,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  const char* GetDescription(void) const ITK_OVERRIDE;
+  const char* GetITKSourceVersion(void) const override;
+  const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
@@ -62,7 +62,7 @@ public:
 
 protected:
   SVMMachineLearningModelFactory();
-  ~SVMMachineLearningModelFactory() ITK_OVERRIDE;
+  ~SVMMachineLearningModelFactory() override;
 
 private:
   SVMMachineLearningModelFactory(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbSVMMarginSampler.h b/Modules/Learning/Supervised/include/otbSVMMarginSampler.h
index c6a3ae1dae..ab02a0f7b5 100644
--- a/Modules/Learning/Supervised/include/otbSVMMarginSampler.h
+++ b/Modules/Learning/Supervised/include/otbSVMMarginSampler.h
@@ -86,11 +86,11 @@ public:
 
 protected:
   SVMMarginSampler();
-  ~SVMMarginSampler() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SVMMarginSampler() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Starts the classification process */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   virtual void DoMarginSampling();
 
 private:
diff --git a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
index 162aa10255..7dd41d6eed 100644
--- a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModel.h
@@ -83,21 +83,21 @@ public:
   itkTypeMacro(SharkRandomForestsMachineLearningModel, MachineLearningModel);
 
   /** Train the machine learning model */
-  virtual void Train() ITK_OVERRIDE;
+  virtual void Train() override;
 
   /** Save the model to file */
-  virtual void Save(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  virtual void Save(const std::string & filename, const std::string & name="") override;
 
   /** Load the model from file */
-  virtual void Load(const std::string & filename, const std::string & name="") ITK_OVERRIDE;
+  virtual void Load(const std::string & filename, const std::string & name="") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  virtual bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  virtual bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  virtual bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  virtual bool CanWriteFile(const std::string &) override;
   //@}
 
   /** From Shark doc: Get the number of trees to grow.*/
@@ -142,13 +142,13 @@ protected:
   virtual ~SharkRandomForestsMachineLearningModel();
 
   /** Predict values using the model */
-  virtual TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const ITK_OVERRIDE;
+  virtual TargetSampleType DoPredict(const InputSampleType& input, ConfidenceValueType *quality=ITK_NULLPTR) const override;
 
   
-  virtual void DoPredictBatch(const InputListSampleType *, const unsigned int & startIndex, const unsigned int & size, TargetListSampleType *, ConfidenceListSampleType * = ITK_NULLPTR) const ITK_OVERRIDE;
+  virtual void DoPredictBatch(const InputListSampleType *, const unsigned int & startIndex, const unsigned int & size, TargetListSampleType *, ConfidenceListSampleType * = ITK_NULLPTR) const override;
   
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SharkRandomForestsMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
index 7361ee38cc..756d5102a1 100644
--- a/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
+++ b/Modules/Learning/Supervised/include/otbSharkRandomForestsMachineLearningModelFactory.h
@@ -42,8 +42,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  virtual const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  virtual const char* GetDescription(void) const ITK_OVERRIDE;
+  virtual const char* GetITKSourceVersion(void) const override;
+  virtual const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
diff --git a/Modules/Learning/Supervised/test/otbExhaustiveExponentialOptimizerTest.cxx b/Modules/Learning/Supervised/test/otbExhaustiveExponentialOptimizerTest.cxx
index c818411586..1b0dec3f63 100644
--- a/Modules/Learning/Supervised/test/otbExhaustiveExponentialOptimizerTest.cxx
+++ b/Modules/Learning/Supervised/test/otbExhaustiveExponentialOptimizerTest.cxx
@@ -72,7 +72,7 @@ public:
   };
 
   /** \return The accuracy value corresponding the parameters */
-  MeasureType GetValue(const ParametersType& parameters) const ITK_OVERRIDE
+  MeasureType GetValue(const ParametersType& parameters) const override
   {
     return static_cast<MeasureType> ( m_FunctionInternalParameters.GetElement(0) * parameters.GetElement(0) * parameters.GetElement(0) +
                                  m_FunctionInternalParameters.GetElement(1) * parameters.GetElement(1) * parameters.GetElement(1) +
@@ -83,10 +83,10 @@ public:
   };
 
   /** \return the number of parameters to optimize */
-  unsigned int GetNumberOfParameters(void) const ITK_OVERRIDE {return 2; };
+  unsigned int GetNumberOfParameters(void) const override {return 2; };
 
   /** \return The accuracy derivative corresponding to the parameters */
-  void GetDerivative(const ParametersType& itkNotUsed(parameters), DerivativeType& itkNotUsed(derivative)) const ITK_OVERRIDE {};
+  void GetDerivative(const ParametersType& itkNotUsed(parameters), DerivativeType& itkNotUsed(derivative)) const override {};
 
   /// Constructor
   Quadratic2DCostFunction()
@@ -95,7 +95,7 @@ public:
     m_FunctionInternalParameters.Fill(0.0);
   };
   /// Destructor
-  ~Quadratic2DCostFunction() ITK_OVERRIDE{};
+  ~Quadratic2DCostFunction() override{};
 
 private:
   Quadratic2DCostFunction(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Unsupervised/include/otbContingencyTable.h b/Modules/Learning/Unsupervised/include/otbContingencyTable.h
index b27436a03c..f7d1b10183 100644
--- a/Modules/Learning/Unsupervised/include/otbContingencyTable.h
+++ b/Modules/Learning/Unsupervised/include/otbContingencyTable.h
@@ -137,8 +137,8 @@ protected:
   {
     SetLabels(LabelList(), LabelList());
   }
-  ~ContingencyTable() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent itkNotUsed(indent)) const ITK_OVERRIDE
+  ~ContingencyTable() override {}
+  void PrintSelf(std::ostream& os, itk::Indent itkNotUsed(indent)) const override
   {
     os << *this;
   }
diff --git a/Modules/Learning/Unsupervised/include/otbContingencyTableCalculator.h b/Modules/Learning/Unsupervised/include/otbContingencyTableCalculator.h
index b8d8d924af..614146a8ee 100644
--- a/Modules/Learning/Unsupervised/include/otbContingencyTableCalculator.h
+++ b/Modules/Learning/Unsupervised/include/otbContingencyTableCalculator.h
@@ -83,8 +83,8 @@ public:
 
 protected:
   ContingencyTableCalculator();
-  ~ContingencyTableCalculator() ITK_OVERRIDE {}
-  //void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ContingencyTableCalculator() override {}
+  //void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ContingencyTableCalculator(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
index a479248e1e..a060046c61 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModel.h
@@ -90,21 +90,21 @@ public:
   itkTypeMacro( SharkKMeansMachineLearningModel, MachineLearningModel );
 
   /** Train the machine learning model */
-  virtual void Train() ITK_OVERRIDE;
+  virtual void Train() override;
 
   /** Save the model to file */
-  virtual void Save(const std::string &filename, const std::string &name = "") ITK_OVERRIDE;
+  virtual void Save(const std::string &filename, const std::string &name = "") override;
 
   /** Load the model from file */
-  virtual void Load(const std::string &filename, const std::string &name = "") ITK_OVERRIDE;
+  virtual void Load(const std::string &filename, const std::string &name = "") override;
 
   /**\name Classification model file compatibility tests */
   //@{
   /** Is the input model file readable and compatible with the corresponding classifier ? */
-  virtual bool CanReadFile(const std::string &) ITK_OVERRIDE;
+  virtual bool CanReadFile(const std::string &) override;
 
   /** Is the input model file writable and compatible with the corresponding classifier ? */
-  virtual bool CanWriteFile(const std::string &) ITK_OVERRIDE;
+  virtual bool CanWriteFile(const std::string &) override;
   //@}
 
   /** Get the maximum number of iteration for the kMeans algorithm.*/
@@ -130,17 +130,17 @@ protected:
 
   /** Predict values using the model */
   virtual TargetSampleType
-  DoPredict(const InputSampleType &input, ConfidenceValueType *quality = ITK_NULLPTR) const ITK_OVERRIDE;
+  DoPredict(const InputSampleType &input, ConfidenceValueType *quality = ITK_NULLPTR) const override;
 
 
   virtual void DoPredictBatch(const InputListSampleType *, const unsigned int &startIndex, const unsigned int &size,
-                              TargetListSampleType *, ConfidenceListSampleType * = ITK_NULLPTR) const ITK_OVERRIDE;
+                              TargetListSampleType *, ConfidenceListSampleType * = ITK_NULLPTR) const override;
 
   template<typename DataType>
   DataType NormalizeData(const DataType &data) const;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream &os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream &os, itk::Indent indent) const override;
 
 private:
   SharkKMeansMachineLearningModel(const Self &); //purposely not implemented
diff --git a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
index 3c9ed55da1..05365b8ff7 100644
--- a/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
+++ b/Modules/Learning/Unsupervised/include/otbSharkKMeansMachineLearningModelFactory.h
@@ -41,8 +41,8 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  virtual const char* GetITKSourceVersion(void) const ITK_OVERRIDE;
-  virtual const char* GetDescription(void) const ITK_OVERRIDE;
+  virtual const char* GetITKSourceVersion(void) const override;
+  virtual const char* GetDescription(void) const override;
 
   /** Method for class instantiation. */
   itkFactorylessNewMacro(Self);
diff --git a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
index 64e574384a..f008e22bbb 100644
--- a/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
+++ b/Modules/MPI/MPITiffWriter/include/otbSimpleParallelTiffWriter.h
@@ -214,7 +214,7 @@ public:
   const InputImageType* GetInput();
 
   /** Does the real work. */
-  virtual void Update() ITK_OVERRIDE;
+  virtual void Update() override;
 
   /** SimpleParallelTiffWriter Methods */
   virtual void SetFileName(const char* extendedFileName);
@@ -255,7 +255,7 @@ public:
 protected:
   SimpleParallelTiffWriter();
   virtual ~SimpleParallelTiffWriter();
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SimpleParallelTiffWriter(const SimpleParallelTiffWriter &); //purposely not implemented
diff --git a/Modules/OBIA/RCC8/include/otbImageListToRCC8GraphFilter.h b/Modules/OBIA/RCC8/include/otbImageListToRCC8GraphFilter.h
index e14f374ca4..2a31c34c09 100644
--- a/Modules/OBIA/RCC8/include/otbImageListToRCC8GraphFilter.h
+++ b/Modules/OBIA/RCC8/include/otbImageListToRCC8GraphFilter.h
@@ -73,9 +73,9 @@ protected:
   /** Constructor */
   ImageListToRCC8GraphFilter();
   /** Destructor */
-  ~ImageListToRCC8GraphFilter() ITK_OVERRIDE {}
+  ~ImageListToRCC8GraphFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageListToRCC8GraphFilter(const Self &); //purposely not implemented
diff --git a/Modules/OBIA/RCC8/include/otbImageMultiSegmentationToRCC8GraphFilter.h b/Modules/OBIA/RCC8/include/otbImageMultiSegmentationToRCC8GraphFilter.h
index 345de1067a..16e7b21960 100644
--- a/Modules/OBIA/RCC8/include/otbImageMultiSegmentationToRCC8GraphFilter.h
+++ b/Modules/OBIA/RCC8/include/otbImageMultiSegmentationToRCC8GraphFilter.h
@@ -84,11 +84,11 @@ protected:
   /** Constructor */
   ImageMultiSegmentationToRCC8GraphFilter();
   /** Destructor */
-  ~ImageMultiSegmentationToRCC8GraphFilter() ITK_OVERRIDE;
+  ~ImageMultiSegmentationToRCC8GraphFilter() override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Get the composition knowledge.
    * \param r1 First RCC8 relation value,
diff --git a/Modules/OBIA/RCC8/include/otbImageToImageRCC8Calculator.h b/Modules/OBIA/RCC8/include/otbImageToImageRCC8Calculator.h
index c1778371ff..7e074277a8 100644
--- a/Modules/OBIA/RCC8/include/otbImageToImageRCC8Calculator.h
+++ b/Modules/OBIA/RCC8/include/otbImageToImageRCC8Calculator.h
@@ -118,7 +118,7 @@ protected:
   /** Constructor */
   ImageToImageRCC8Calculator();
   /** Destructor */
-  ~ImageToImageRCC8Calculator() ITK_OVERRIDE {}
+  ~ImageToImageRCC8Calculator() override {}
   /**
    * Compute the minimal image region required.
    * \return The minimal region required.
@@ -173,9 +173,9 @@ protected:
    */
   BoolImagePointerType ConvertToBoolImage(ImagePointerType image, PixelType insideValue);
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The RCC8 relation value */
diff --git a/Modules/OBIA/RCC8/include/otbPolygonListToRCC8GraphFilter.h b/Modules/OBIA/RCC8/include/otbPolygonListToRCC8GraphFilter.h
index aab4a679cc..2dd119d946 100644
--- a/Modules/OBIA/RCC8/include/otbPolygonListToRCC8GraphFilter.h
+++ b/Modules/OBIA/RCC8/include/otbPolygonListToRCC8GraphFilter.h
@@ -123,9 +123,9 @@ protected:
   /** Constructor */
   PolygonListToRCC8GraphFilter();
   /** Destructor */
-  ~PolygonListToRCC8GraphFilter() ITK_OVERRIDE;
+  ~PolygonListToRCC8GraphFilter() override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Multi-threading implementation */
 
@@ -151,7 +151,7 @@ protected:
   /** End Multi-threading implementation */
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Get the composition knowledge.
    * \param r1 First RCC8 relation value,
diff --git a/Modules/OBIA/RCC8/include/otbPolygonToPolygonRCC8Calculator.h b/Modules/OBIA/RCC8/include/otbPolygonToPolygonRCC8Calculator.h
index 5c27c5f8d2..4f81008a08 100644
--- a/Modules/OBIA/RCC8/include/otbPolygonToPolygonRCC8Calculator.h
+++ b/Modules/OBIA/RCC8/include/otbPolygonToPolygonRCC8Calculator.h
@@ -109,9 +109,9 @@ protected:
   /** Constructor */
   PolygonToPolygonRCC8Calculator();
   /** Destructor */
-  ~PolygonToPolygonRCC8Calculator() ITK_OVERRIDE {}
+  ~PolygonToPolygonRCC8Calculator() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The RCC8 relation value */
diff --git a/Modules/OBIA/RCC8/include/otbRCC8Edge.h b/Modules/OBIA/RCC8/include/otbRCC8Edge.h
index 9dfb9005dd..58490e89c5 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8Edge.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8Edge.h
@@ -56,9 +56,9 @@ protected:
   /** Constructor */
   RCC8Edge();
   /** Desctructor */
-  ~RCC8Edge() ITK_OVERRIDE {}
+  ~RCC8Edge() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The RCC8 value */
diff --git a/Modules/OBIA/RCC8/include/otbRCC8Graph.h b/Modules/OBIA/RCC8/include/otbRCC8Graph.h
index 4130636425..fc1f7f965f 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8Graph.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8Graph.h
@@ -127,9 +127,9 @@ protected:
   /** Constructor */
   RCC8Graph();
   /** Destructor */
-  ~RCC8Graph() ITK_OVERRIDE {}
+  ~RCC8Graph() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Initialize a range of vertex.
    * \param num The index of the last vertices to initialize.
diff --git a/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h b/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
index 08d8bf3a1e..31879d4809 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8GraphFileReader.h
@@ -92,9 +92,9 @@ protected:
   /** Constructor */
   RCC8GraphFileReader();
   /** Destructor */
-  ~RCC8GraphFileReader() ITK_OVERRIDE;
+  ~RCC8GraphFileReader() override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /**
    * Parse edge information from a given line.
    * \param line The line to parse.
@@ -107,7 +107,7 @@ protected:
   void  ParseVertex(const std::string& line);
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** File name */
diff --git a/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h b/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
index 010e42fe0a..f9c893cb51 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8GraphFileWriter.h
@@ -107,17 +107,17 @@ public:
   /**
    * Update method.
    */
-  void Update(void) ITK_OVERRIDE;
+  void Update(void) override;
 
 protected:
   /** Constructor */
   RCC8GraphFileWriter();
   /** Destructor */
-  ~RCC8GraphFileWriter() ITK_OVERRIDE;
+  ~RCC8GraphFileWriter() override;
   /**
    * Main computation method.
    */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /**
    * Write Method.
    * Performs checkings and invoke GenerateData().
@@ -143,7 +143,7 @@ protected:
   /**
    * PrintSelf method
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** Filename of the graph file to write */
diff --git a/Modules/OBIA/RCC8/include/otbRCC8GraphSource.h b/Modules/OBIA/RCC8/include/otbRCC8GraphSource.h
index 0c4acf40b0..a70f4bcf6a 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8GraphSource.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8GraphSource.h
@@ -57,9 +57,9 @@ protected:
   /** Constructor */
   RCC8GraphSource();
   /** Destructor */
-  ~RCC8GraphSource() ITK_OVERRIDE {}
+  ~RCC8GraphSource() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RCC8GraphSource(const Self &); //purposely not implemented
diff --git a/Modules/OBIA/RCC8/include/otbRCC8VertexBase.h b/Modules/OBIA/RCC8/include/otbRCC8VertexBase.h
index a7c02a152d..b432ded549 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8VertexBase.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8VertexBase.h
@@ -82,9 +82,9 @@ protected:
   /** Constructor */
   RCC8VertexBase();
   /** Desctructor */
-  ~RCC8VertexBase() ITK_OVERRIDE {}
+  ~RCC8VertexBase() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The segmentation level */
diff --git a/Modules/OBIA/RCC8/include/otbRCC8VertexWithCompacity.h b/Modules/OBIA/RCC8/include/otbRCC8VertexWithCompacity.h
index c1dc529974..c9695fb2e3 100644
--- a/Modules/OBIA/RCC8/include/otbRCC8VertexWithCompacity.h
+++ b/Modules/OBIA/RCC8/include/otbRCC8VertexWithCompacity.h
@@ -61,20 +61,20 @@ public:
    * Set the VertexWithCompacity attributes from the attributes vector.
    * \param attributes The vector containing the parsed attributes.
    */
-  void SetAttributesMap(AttributesMapType attributes) ITK_OVERRIDE;
+  void SetAttributesMap(AttributesMapType attributes) override;
   /**
    * Get an attributes vector representing the VertexWithCompacity attributes.
    * \return The attributes vector
    */
-  AttributesMapType GetAttributesMap(void) ITK_OVERRIDE;
+  AttributesMapType GetAttributesMap(void) override;
 
 protected:
   /** Constructor */
   RCC8VertexWithCompacity();
   /** Desctructor */
-  ~RCC8VertexWithCompacity() ITK_OVERRIDE {}
+  ~RCC8VertexWithCompacity() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The compacity */
diff --git a/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
index dbf78a9c4a..6b8ca2c517 100644
--- a/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbBuiltUpIndicesFunctor.h
@@ -151,7 +151,7 @@ class NDBI : public TM4AndTM5IndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDBI";
   }
@@ -159,10 +159,10 @@ public:
   /// Constructor
   NDBI() {}
   /// Desctructor
-  ~NDBI() ITK_OVERRIDE {}
+  ~NDBI() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& pTM4, const TInput2& pTM5) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pTM4, const TInput2& pTM5) const override
   {
     double dTM4 = static_cast<double>(pTM4);
     double dTM5 = static_cast<double>(pTM5);
@@ -190,7 +190,7 @@ class ISU : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "ISU";
   }
@@ -198,7 +198,7 @@ public:
   /// Constructor
   ISU() : m_A(100.), m_B(25.) {}
   /// Desctructor
-  ~ISU() ITK_OVERRIDE {}
+  ~ISU() override {}
 
   /** Set/Get A correction */
   void SetA(const double pA)
@@ -220,7 +220,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& pRed, const TInput2& pNIR) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pRed, const TInput2& pNIR) const override
   {
     double dRed = static_cast<double>(pRed);
     double dNIR = static_cast<double>(pNIR);
diff --git a/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h
index 829d3c4f48..000fd04623 100644
--- a/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbGAndRIndexImageFilter.h
@@ -72,9 +72,9 @@ public:
 
 protected:
   GAndRIndexImageFilter();
-  ~GAndRIndexImageFilter() ITK_OVERRIDE {}
+  ~GAndRIndexImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /*  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
                               itk::ThreadIdType threadId );
diff --git a/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h b/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
index fd586c9474..a94a63f162 100644
--- a/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
+++ b/Modules/Radiometry/Indices/include/otbLandsatTMIndices.h
@@ -343,7 +343,7 @@ public:
   virtual std::string GetName() const = 0;
 
   LandsatTMIndex() {}
-  ~LandsatTMIndex() ITK_OVERRIDE {}
+  ~LandsatTMIndex() override {}
 
 
 };
@@ -370,13 +370,13 @@ class Bright : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "Bright";
   }
 
   Bright() {}
-  ~Bright() ITK_OVERRIDE {}
+  ~Bright() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -411,13 +411,13 @@ class Vis : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "Vis";
   }
 
   Vis() {}
-  ~Vis() ITK_OVERRIDE {}
+  ~Vis() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -444,13 +444,13 @@ class NIR : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NIR";
   }
 
   NIR() {}
-  ~NIR() ITK_OVERRIDE {}
+  ~NIR() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -476,13 +476,13 @@ class MIR1 : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "MIR1";
   }
 
   MIR1() {}
-  ~MIR1() ITK_OVERRIDE {}
+  ~MIR1() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -508,13 +508,13 @@ class MIR2 : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "MIR2";
   }
 
   MIR2() {}
-  ~MIR2() ITK_OVERRIDE {}
+  ~MIR2() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -540,13 +540,13 @@ class TIR : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "TIR";
   }
 
   TIR() {}
-  ~TIR() ITK_OVERRIDE {}
+  ~TIR() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -586,13 +586,13 @@ class MIRTIR : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "MIRTIR";
   }
 
   MIRTIR() {}
-  ~MIRTIR() ITK_OVERRIDE {}
+  ~MIRTIR() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -626,13 +626,13 @@ class NDVI : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDVI";
   }
 
   NDVI() {}
-  ~NDVI() ITK_OVERRIDE {}
+  ~NDVI() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -673,13 +673,13 @@ class NDBSI : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDBSI";
   }
 
   NDBSI() {}
-  ~NDBSI() ITK_OVERRIDE {}
+  ~NDBSI() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -716,13 +716,13 @@ class BIO : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "BIO";
   }
 
   BIO() {}
-  ~BIO() ITK_OVERRIDE {}
+  ~BIO() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -762,13 +762,13 @@ class NDSI : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDSI";
   }
 
   NDSI() {}
-  ~NDSI() ITK_OVERRIDE {}
+  ~NDSI() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -819,13 +819,13 @@ class NDSIVis : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDSIVis";
   }
 
   NDSIVis() {}
-  ~NDSIVis() ITK_OVERRIDE {}
+  ~NDSIVis() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -864,13 +864,13 @@ class NDBBBI : public LandsatTMIndex<TInput, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDBBBI";
   }
 
   NDBBBI() {}
-  ~NDBBBI() ITK_OVERRIDE {}
+  ~NDBBBI() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -984,7 +984,7 @@ public:
     m_FvNDBSI->SetMembership(Medium, -0.20, -0.20, 0.0, 0.0);
     m_FvNDBSI->SetMembership(High, 0.0, 0.0, maximumValue, maximumValue);
     }
-  ~LinguisticVariables() ITK_OVERRIDE {}
+  ~LinguisticVariables() override {}
 
   inline itk::FixedArray<unsigned int, 11> operator ()(const TInput& inputPixel)
   {
@@ -1068,7 +1068,7 @@ public:
   }
 
   KernelSpectralRule() : m_TV1(0.7), m_TV2(0.5) { }
-  ~KernelSpectralRule() ITK_OVERRIDE {}
+  ~KernelSpectralRule() override {}
 
   void SetTV1(PrecisionType tv1)
   {
@@ -1163,13 +1163,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM ThickCloudsSpectralRule";
   }
 
   ThickCloudsSpectralRule() { }
-  ~ThickCloudsSpectralRule() ITK_OVERRIDE {}
+  ~ThickCloudsSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1221,13 +1221,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM ThinCloudsSpectralRule";
   }
 
   ThinCloudsSpectralRule() { }
-  ~ThinCloudsSpectralRule() ITK_OVERRIDE {}
+  ~ThinCloudsSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1282,13 +1282,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM SnowOrIceSpectralRule";
   }
 
   SnowOrIceSpectralRule() { }
-  ~SnowOrIceSpectralRule() ITK_OVERRIDE {}
+  ~SnowOrIceSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1341,13 +1341,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM WaterOrShadowSpectralRule";
   }
 
   WaterOrShadowSpectralRule() { }
-  ~WaterOrShadowSpectralRule() ITK_OVERRIDE {}
+  ~WaterOrShadowSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1388,13 +1388,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM PitbogOrGreenhouseSpectralRule";
   }
 
   PitbogOrGreenhouseSpectralRule() { }
-  ~PitbogOrGreenhouseSpectralRule() ITK_OVERRIDE {}
+  ~PitbogOrGreenhouseSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1446,13 +1446,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM DominantBlueSpectralRule";
   }
 
   DominantBlueSpectralRule() { }
-  ~DominantBlueSpectralRule() ITK_OVERRIDE {}
+  ~DominantBlueSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1494,13 +1494,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM VegetationSpectralRule";
   }
 
   VegetationSpectralRule() { }
-  ~VegetationSpectralRule() ITK_OVERRIDE {}
+  ~VegetationSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1554,13 +1554,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM RangelandSpectralRule";
   }
 
   RangelandSpectralRule() { }
-  ~RangelandSpectralRule() ITK_OVERRIDE {}
+  ~RangelandSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1615,13 +1615,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM BarrenLandOrBuiltUpOrCloudsSpectralRule";
   }
 
   BarrenLandOrBuiltUpOrCloudsSpectralRule() { }
-  ~BarrenLandOrBuiltUpOrCloudsSpectralRule() ITK_OVERRIDE {}
+  ~BarrenLandOrBuiltUpOrCloudsSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1673,13 +1673,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM FlatResponseBarrenLandOrBuiltUpSpectralRule";
   }
 
   FlatResponseBarrenLandOrBuiltUpSpectralRule() { }
-  ~FlatResponseBarrenLandOrBuiltUpSpectralRule() ITK_OVERRIDE {}
+  ~FlatResponseBarrenLandOrBuiltUpSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1727,13 +1727,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM ShadowWithBarrenLandSpectralRule";
   }
 
   ShadowWithBarrenLandSpectralRule() { }
-  ~ShadowWithBarrenLandSpectralRule() ITK_OVERRIDE {}
+  ~ShadowWithBarrenLandSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1774,13 +1774,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM ShadowWithVegetationSpectralRule";
   }
 
   ShadowWithVegetationSpectralRule() { }
-  ~ShadowWithVegetationSpectralRule() ITK_OVERRIDE {}
+  ~ShadowWithVegetationSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1822,13 +1822,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM ShadowCloudOrSnowSpectralRule";
   }
 
   ShadowCloudOrSnowSpectralRule() { }
-  ~ShadowCloudOrSnowSpectralRule() ITK_OVERRIDE {}
+  ~ShadowCloudOrSnowSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
@@ -1877,13 +1877,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM WetlandSpectralRule";
   }
 
   WetlandSpectralRule() { }
-  ~WetlandSpectralRule() ITK_OVERRIDE {}
+  ~WetlandSpectralRule() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h
index d6a1b16768..3a230c4a10 100644
--- a/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbMultiChannelGAndRIndexImageFilter.h
@@ -98,9 +98,9 @@ protected:
   /// Constructor
   MultiChannelGAndRIndexImageFilter() : m_GreenIndex(1), m_RedIndex(2) {};
   /// Destructor
-  ~MultiChannelGAndRIndexImageFilter() ITK_OVERRIDE {}
+  ~MultiChannelGAndRIndexImageFilter() override {}
   /// Before generating data, set functor parameters
-  void BeforeThreadedGenerateData() ITK_OVERRIDE
+  void BeforeThreadedGenerateData() override
   {
     unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel();
     if (m_GreenIndex < 1 || m_RedIndex < 1 ||
@@ -112,7 +112,7 @@ protected:
     this->GetFunctor().SetRedIndex(m_RedIndex);
   }
   /// PrintSelf Method
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     this->Superclass::PrintSelf(os, indent);
     os << indent << "Green index: " << m_GreenIndex << std::endl;
diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h
index f01f00d11b..8094f66ac4 100644
--- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbMultiChannelRAndBAndNIRIndexImageFilter.h
@@ -110,9 +110,9 @@ protected:
   /// Constructor
   MultiChannelRAndBAndNIRIndexImageFilter() : m_RedIndex(3), m_BlueIndex(1), m_NIRIndex(4) {};
   /// Destructor
-  ~MultiChannelRAndBAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~MultiChannelRAndBAndNIRIndexImageFilter() override {}
   /// Before generating data, set functor parameters
-  void BeforeThreadedGenerateData() ITK_OVERRIDE
+  void BeforeThreadedGenerateData() override
   {
     unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel();
     if (m_RedIndex < 1 || m_BlueIndex < 1 || m_NIRIndex < 1 ||
@@ -125,7 +125,7 @@ protected:
     this->GetFunctor().SetNIRIndex(m_NIRIndex);
   }
   /// PrintSelf
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     this->Superclass::PrintSelf(os, indent);
     os << indent << "Red  index: " << m_RedIndex << std::endl;
diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h
index bdd0cb1045..6b8daf81ed 100644
--- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbMultiChannelRAndGAndNIRIndexImageFilter.h
@@ -110,9 +110,9 @@ protected:
   /// Constructor
   MultiChannelRAndGAndNIRIndexImageFilter() : m_RedIndex(3), m_GreenIndex(2), m_NIRIndex(4) {};
   /// Destructor
-  ~MultiChannelRAndGAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~MultiChannelRAndGAndNIRIndexImageFilter() override {}
   /// Before generating data, set functor parameters
-  void BeforeThreadedGenerateData() ITK_OVERRIDE
+  void BeforeThreadedGenerateData() override
   {
 
     unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel();
@@ -126,7 +126,7 @@ protected:
     this->GetFunctor().SetNIRIndex(m_NIRIndex);
   }
   /// PrintSelf
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     this->Superclass::PrintSelf(os, indent);
     os << indent << "Red  index: " << m_RedIndex << std::endl;
diff --git a/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h
index 3bc1c49d72..7b07d757d8 100644
--- a/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbMultiChannelRAndNIRIndexImageFilter.h
@@ -98,9 +98,9 @@ protected:
   /// Constructor
   MultiChannelRAndNIRIndexImageFilter() : m_RedIndex(3), m_NIRIndex(4) {};
   /// Destructor
-  ~MultiChannelRAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~MultiChannelRAndNIRIndexImageFilter() override {}
   /// Before generating data, set functor parameters
-  void BeforeThreadedGenerateData() ITK_OVERRIDE
+  void BeforeThreadedGenerateData() override
   {
     unsigned int lNbChan = this->GetInput()->GetNumberOfComponentsPerPixel();
     if (m_RedIndex < 1 || m_NIRIndex < 1 ||
@@ -112,7 +112,7 @@ protected:
     this->GetFunctor().SetNIRIndex(m_NIRIndex);
   }
   /// PrintSelf Method
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     this->Superclass::PrintSelf(os, indent);
     os << indent << "Red index: " << m_RedIndex << std::endl;
diff --git a/Modules/Radiometry/Indices/include/otbNDVIDataNodeFeatureFunction.h b/Modules/Radiometry/Indices/include/otbNDVIDataNodeFeatureFunction.h
index f3e704d08c..028adb1623 100644
--- a/Modules/Radiometry/Indices/include/otbNDVIDataNodeFeatureFunction.h
+++ b/Modules/Radiometry/Indices/include/otbNDVIDataNodeFeatureFunction.h
@@ -88,7 +88,7 @@ public:
 
   typedef std::vector<PrecisionType>                  OutputType;
 
-  OutputType Evaluate( const DataNodeType& node ) const ITK_OVERRIDE;
+  OutputType Evaluate( const DataNodeType& node ) const override;
 
   /** Set/Get methods */
   itkGetConstMacro(NDVIThreshold, PrecisionType);
@@ -117,8 +117,8 @@ public:
 
 protected:
   NDVIDataNodeFeatureFunction();
-  ~NDVIDataNodeFeatureFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~NDVIDataNodeFeatureFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   NDVIDataNodeFeatureFunction(const Self&); //purposely not implemented
diff --git a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h
index 04646b1f18..ad01b1b2c6 100644
--- a/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbRAndBAndNIRIndexImageFilter.h
@@ -74,9 +74,9 @@ public:
 
 protected:
   RAndBAndNIRIndexImageFilter();
-  ~RAndBAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~RAndBAndNIRIndexImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RAndBAndNIRIndexImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h
index 5a721b6746..26cb6eb0a4 100644
--- a/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbRAndGAndNIRIndexImageFilter.h
@@ -74,9 +74,9 @@ public:
 
 protected:
   RAndGAndNIRIndexImageFilter();
-  ~RAndGAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~RAndGAndNIRIndexImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RAndGAndNIRIndexImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h b/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h
index fc118fb663..c93b6df863 100644
--- a/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbRAndNIRIndexImageFilter.h
@@ -71,9 +71,9 @@ public:
 
 protected:
   RAndNIRIndexImageFilter();
-  ~RAndNIRIndexImageFilter() ITK_OVERRIDE {}
+  ~RAndNIRIndexImageFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /*  void ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread,
                               itk::ThreadIdType threadId );
diff --git a/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
index 57d2179871..6ed1b201c0 100644
--- a/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbSoilIndicesFunctor.h
@@ -287,7 +287,7 @@ class IR : public GAndRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "IR";
   }
@@ -295,10 +295,10 @@ public:
   /// Constructor
   IR() {}
   /// Desctructor
-  ~IR() ITK_OVERRIDE {}
+  ~IR() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const override
   {
     double dGreen = static_cast<double>(pGreen);
     double dRed = static_cast<double>(pRed);
@@ -330,7 +330,7 @@ class IC : public GAndRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "IC";
   }
@@ -338,10 +338,10 @@ public:
   /// Constructor
   IC() {}
   /// Desctructor
-  ~IC() ITK_OVERRIDE {}
+  ~IC() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const override
   {
     double dGreen = static_cast<double>(pGreen);
     double dRed = static_cast<double>(pRed);
@@ -369,7 +369,7 @@ class IB : public GAndRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "IB";
   }
@@ -377,10 +377,10 @@ public:
   /// Constructor
   IB() {}
   /// Desctructor
-  ~IB() ITK_OVERRIDE {}
+  ~IB() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed) const override
   {
     double dGreen = static_cast<double>(pGreen);
     double dRed = static_cast<double>(pRed);
@@ -404,7 +404,7 @@ class IB2 : public GAndRAndNirIndexBase<TInput1, TInput2, TInput3, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "IB2";
   }
@@ -412,10 +412,10 @@ public:
   /// Constructor
   IB2() {}
   /// Desctructor
-  ~IB2() ITK_OVERRIDE {}
+  ~IB2() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed, const TInput2& pNir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& pGreen, const TInput2& pRed, const TInput2& pNir) const override
   {
     double dGreen = static_cast<double>(pGreen);
     double dRed = static_cast<double>(pRed);
diff --git a/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
index 48b3402d8f..a83cc354d7 100644
--- a/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbVegetationIndicesFunctor.h
@@ -414,7 +414,7 @@ class NDVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 public:
 
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDVI";
   }
@@ -422,10 +422,10 @@ public:
   /// Constructor
   NDVI() {}
   /// Desctructor
-  ~NDVI() ITK_OVERRIDE {}
+  ~NDVI() override {}
   // Operator on r and nir single pixel values
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dr = static_cast<double>(r);
     double dnir = static_cast<double>(nir);
@@ -454,15 +454,15 @@ class RVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 public:
 
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "RVI";
   }
 
   RVI() {}
-  ~RVI() ITK_OVERRIDE {}
+  ~RVI() override {}
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dr = static_cast<double>(r);
     double dnir = static_cast<double>(nir);
@@ -493,13 +493,13 @@ class PVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "PVI";
   }
 
   PVI() : m_A(0.90893), m_B(7.46216), m_Coeff(0.74) {}
-  ~PVI() ITK_OVERRIDE {}
+  ~PVI() override {}
   /** Set/Get A and B parameters */
   void SetA(const double A)
   {
@@ -519,7 +519,7 @@ public:
     return (m_B);
   }
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -552,13 +552,13 @@ class SAVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 public:
 
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "SAVI";
   }
 
   SAVI() : m_L(0.5) {}
-  ~SAVI() ITK_OVERRIDE {}
+  ~SAVI() override {}
 
   /** Set/Get L correction */
   void SetL(const double L)
@@ -571,7 +571,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -606,13 +606,13 @@ class TSAVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 public:
 
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "TSAVI";
   }
 
   TSAVI() : m_A(0.7), m_S(0.9), m_X(0.08) {}
-  ~TSAVI() ITK_OVERRIDE {}
+  ~TSAVI() override {}
 
   /** Set/Get S and A parameters */
   void SetS(const double S)
@@ -642,7 +642,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -679,7 +679,7 @@ class WDVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "WDVI";
   }
@@ -687,7 +687,7 @@ public:
   /// Constructor
   WDVI() : m_S(0.4) {}
   /// Desctructor
-  ~WDVI() ITK_OVERRIDE {}
+  ~WDVI() override {}
   // Operator on r and nir single pixel values
 /** Set/Get Slop of soil line */
   void SetS(const double s)
@@ -699,7 +699,7 @@ public:
     return (m_S);
   }
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dr = static_cast<double>(r);
     double dnir = static_cast<double>(nir);
@@ -727,7 +727,7 @@ class MSAVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "MSAVI";
   }
@@ -739,7 +739,7 @@ public:
   {
     m_WDVIfunctor.SetS(m_S);
   }
-  ~MSAVI() ITK_OVERRIDE {}
+  ~MSAVI() override {}
 /** Set/Get Slop of soil line */
   void SetS(const double s)
   {
@@ -760,7 +760,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -802,16 +802,16 @@ class MSAVI2 : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "MSAVI2";
   }
 
   MSAVI2() {}
-  ~MSAVI2() ITK_OVERRIDE {}
+  ~MSAVI2() override {}
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -840,16 +840,16 @@ class GEMI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "GEMI";
   }
 
   GEMI() {}
-  ~GEMI() ITK_OVERRIDE {}
+  ~GEMI() override {}
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dnir = static_cast<double>(nir);
     double dr = static_cast<double>(r);
@@ -894,13 +894,13 @@ class AVI : public RAndGAndNIRIndexBase<TInput1, TInput2, TInput3, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "AVI";
   }
 
   AVI() : m_LambdaG(560.), m_LambdaR(660.), m_LambdaNir(830.) {}
-  ~AVI() ITK_OVERRIDE {}
+  ~AVI() override {}
 /** Set/Get Lambda red parameter*/
   void SetLambdaR(const double lr)
   {
@@ -929,7 +929,7 @@ public:
     return (m_LambdaNir);
   }
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& g, const TInput3& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& g, const TInput3& nir) const override
   {
     double dr = static_cast<double>(r);
     double dg = static_cast<double>(g);
@@ -989,13 +989,13 @@ class ARVI : public RAndBAndNIRIndexBase<TInput1, TInput2, TInput3, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "ARVI";
   }
 
   ARVI() : m_Gamma(0.5) {}
-  ~ARVI() ITK_OVERRIDE {}
+  ~ARVI() override {}
 
   /** Set/Get Gamma parameter */
   void SetGamma(const double gamma)
@@ -1008,7 +1008,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const override
   {
     double dr = static_cast<double>(r);
     double db = static_cast<double>(b);
@@ -1043,13 +1043,13 @@ class TSARVI : public RAndBAndNIRIndexBase<TInput1, TInput2, TInput3, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "TSARVI";
   }
 
   TSARVI() : m_A(0.0), m_B(0.0), m_X(0.08), m_Gamma(0.5) {}
-  ~TSARVI() ITK_OVERRIDE {}
+  ~TSARVI() override {}
 
   /** Set/Get A and B parameters */
   void SetA(const double A)
@@ -1088,7 +1088,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const override
   {
     double dr = static_cast<double>(r);
     double db = static_cast<double>(b);
@@ -1131,13 +1131,13 @@ class EVI : public RAndBAndNIRIndexBase<TInput1, TInput2, TInput3, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "EVI";
   }
 
   EVI() : m_G(2.5), m_C1(6.0), m_C2(7.5), m_L(1.0) {}
-  ~EVI() ITK_OVERRIDE {}
+  ~EVI() override {}
 /** Set/Get G parameter */
   void SetG(const double g)
   {
@@ -1175,7 +1175,7 @@ public:
     return (m_L);
   }
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& b, const TInput3& nir) const override
   {
     double dr = static_cast<double>(r);
     double db = static_cast<double>(b);
@@ -1218,16 +1218,16 @@ class IPVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "IPVI";
   }
 
   IPVI() {}
-  ~IPVI() ITK_OVERRIDE {}
+  ~IPVI() override {}
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dr = static_cast<double>(r);
     double dnir = static_cast<double>(nir);
@@ -1257,14 +1257,14 @@ class TNDVI : public RAndNIRIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "TNDVI";
   }
 
   typedef NDVI<TInput1, TInput2, TOutput> NDVIFunctorType;
   TNDVI() {}
-  ~TNDVI() ITK_OVERRIDE {}
+  ~TNDVI() override {}
 
   NDVIFunctorType GetNDVI(void) const
   {
@@ -1272,7 +1272,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dval = this->GetNDVI() (r, nir) + 0.5;
     if (dval < 0)
@@ -1309,14 +1309,14 @@ class LAIFromNDVILogarithmic : public RAndNIRIndexBase<TInput1, TInput2, TOutput
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LAIFromNDVILogarithmic";
   }
 
   typedef NDVI<TInput1, TInput2, TOutput> NDVIFunctorType;
   LAIFromNDVILogarithmic() : m_NdviSoil(0.10), m_NdviInf(0.89), m_ExtinctionCoefficient(0.71) {}
-  ~LAIFromNDVILogarithmic() ITK_OVERRIDE {}
+  ~LAIFromNDVILogarithmic() override {}
 
   NDVIFunctorType GetNDVI(void) const
   {
@@ -1351,7 +1351,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
     double dval = this->GetNDVI() (r, nir);
     if (dval < 0)
@@ -1395,14 +1395,14 @@ class LAIFromReflectancesLinear : public RAndNIRIndexBase<TInput1, TInput2, TOut
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LAIFromReflectancesLinear";
   }
 
   typedef NDVI<TInput1, TInput2, TOutput> NDVIFunctorType;
   LAIFromReflectancesLinear() : m_RedCoef(-17.91), m_NirCoef(12.26) {}
-  ~LAIFromReflectancesLinear() ITK_OVERRIDE {}
+  ~LAIFromReflectancesLinear() override {}
 
   NDVIFunctorType GetReflectances(void) const
   {
@@ -1428,7 +1428,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
   {
       return (static_cast<TOutput>(m_RedCoef*r+m_NirCoef*nir));
   }
@@ -1464,7 +1464,7 @@ private:
   public:
 
     /** Return the index name */
-    std::string GetName() const ITK_OVERRIDE
+    std::string GetName() const override
     {
       return "LAIFromNDVIFormosat2Functor";
     }
@@ -1472,10 +1472,10 @@ private:
     /// Constructor
     LAIFromNDVIFormosat2Functor() {}
     /// Desctructor
-    ~LAIFromNDVIFormosat2Functor() ITK_OVERRIDE {}
+    ~LAIFromNDVIFormosat2Functor() override {}
     // Operator on r and nir single pixel values
   protected:
-    inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const ITK_OVERRIDE
+    inline TOutput Evaluate(const TInput1& r, const TInput2& nir) const override
     {
     double a = 0.1519;
     double b = 3.9443;
diff --git a/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h b/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
index 10f11fa3a8..feb14fc3c9 100644
--- a/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
+++ b/Modules/Radiometry/Indices/include/otbWaterIndicesFunctor.h
@@ -126,15 +126,15 @@ class WaterIndexFunctor : public WaterIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "WaterIndexFunctor";
   }
 
   WaterIndexFunctor() {}
-  ~WaterIndexFunctor() ITK_OVERRIDE {}
+  ~WaterIndexFunctor() override {}
 protected:
-  inline TOutput Evaluate(const TInput1& id1, const TInput2& id2) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& id1, const TInput2& id2) const override
   {
     double dindex1 = static_cast<double>(id1);
     double dindex2 = static_cast<double>(id2);
@@ -202,7 +202,7 @@ class NDWI : public WaterIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDWI";
   }
@@ -211,7 +211,7 @@ public:
   /// Constructor
   NDWI() {}
   /// Desctructor
-  ~NDWI() ITK_OVERRIDE {}
+  ~NDWI() override {}
   WIFunctorType GetWIFunctor(void) const
   {
     return (m_WIFunctor);
@@ -263,7 +263,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& nir, const TInput2& mir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& nir, const TInput2& mir) const override
   {
     return (static_cast<TOutput>(GetWIFunctor() (nir, mir)));
   }
@@ -287,7 +287,7 @@ class NDWI2 : public WaterIndexBase<TInput1, TInput2, TOutput>
 {
 public:
   /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "NDWI2";
   }
@@ -296,7 +296,7 @@ public:
   /// Constructor
   NDWI2() {}
   /// Desctructor
-  ~NDWI2() ITK_OVERRIDE {}
+  ~NDWI2() override {}
   WIFunctorType GetWIFunctor(void) const
   {
     return (m_WIFunctor);
@@ -348,7 +348,7 @@ public:
   }
 
 protected:
-  inline TOutput Evaluate(const TInput1& g, const TInput2& nir) const ITK_OVERRIDE
+  inline TOutput Evaluate(const TInput1& g, const TInput2& nir) const override
   {
     return (static_cast<TOutput>(GetWIFunctor() (g, nir)));
   }
@@ -650,7 +650,7 @@ public:
     reference[0] = 136.0; reference[1] = 132.0; reference[2] = 47.0; reference[3] = 24.0;
     this->SetReferenceWaterPixel(reference);
   }
-  ~WaterSqrtSpectralAngleFunctor() ITK_OVERRIDE {}
+  ~WaterSqrtSpectralAngleFunctor() override {}
 
   /** Set Reference Pixel */
   void SetReferenceWaterPixel(InputVectorPixelType ref)
@@ -742,7 +742,7 @@ public:
   }
 
 protected:
-  inline TOutputPixel Evaluate(const TInputVectorPixel& inPix) const ITK_OVERRIDE
+  inline TOutputPixel Evaluate(const TInputVectorPixel& inPix) const override
   {
     return static_cast<TOutputPixel>(Superclass::Evaluate(inPix));
   }
diff --git a/Modules/Radiometry/Indices/include/otbWaterSqrtSpectralAngleImageFilter.h b/Modules/Radiometry/Indices/include/otbWaterSqrtSpectralAngleImageFilter.h
index d90d827fd4..0ad1616833 100644
--- a/Modules/Radiometry/Indices/include/otbWaterSqrtSpectralAngleImageFilter.h
+++ b/Modules/Radiometry/Indices/include/otbWaterSqrtSpectralAngleImageFilter.h
@@ -73,7 +73,7 @@ public:
 
 protected:
   WaterSqrtSpectralAngleImageFilter() {}
-  ~WaterSqrtSpectralAngleImageFilter() ITK_OVERRIDE {}
+  ~WaterSqrtSpectralAngleImageFilter() override {}
 
 private:
   WaterSqrtSpectralAngleImageFilter(Self &); // purposely not implemented
diff --git a/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h b/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
index 284312d819..f3bc345849 100644
--- a/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
+++ b/Modules/Radiometry/LandSatClassifier/include/otbLandsatTMSpectralRuleBasedClassifier.h
@@ -183,13 +183,13 @@ public:
   typedef bool OutputPixelType;
 
     /** Return the index name */
-  std::string GetName() const ITK_OVERRIDE
+  std::string GetName() const override
   {
     return "LandsatTM SpectralRuleBasedClassifier";
   }
 
   SpectralRuleBasedClassifier() { }
-  ~SpectralRuleBasedClassifier() ITK_OVERRIDE {}
+  ~SpectralRuleBasedClassifier() override {}
 
   inline TOutput operator ()(const TInput& inputPixel)
   {
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h b/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
index 801554d157..20adbd6e39 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAeronetData.h
@@ -87,9 +87,9 @@ protected:
   /** Constructor */
   AeronetData();
   /** Destructor */
-  ~AeronetData() ITK_OVERRIDE {}
+  ~AeronetData() override {}
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** Angstrom coefficient */
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAeronetFileReader.h b/Modules/Radiometry/OpticalCalibration/include/otbAeronetFileReader.h
index 93b16a7979..74a514a465 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAeronetFileReader.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAeronetFileReader.h
@@ -126,12 +126,12 @@ protected:
   /** Constructor */
   AeronetFileReader();
   /** Destructor */
-  ~AeronetFileReader() ITK_OVERRIDE;
+  ~AeronetFileReader() override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
 
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
index 56f45de702..f1516e26ef 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericCorrectionParameters.h
@@ -137,12 +137,12 @@ public:
   /** Constructor */
   AtmosphericCorrectionParameters();
   /** Destructor */
-  ~AtmosphericCorrectionParameters() ITK_OVERRIDE {}
+  ~AtmosphericCorrectionParameters() override {}
 
 protected:
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   AtmosphericCorrectionParameters(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericRadiativeTerms.h b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericRadiativeTerms.h
index b219982e79..5daf902b5a 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericRadiativeTerms.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbAtmosphericRadiativeTerms.h
@@ -119,9 +119,9 @@ protected:
   /** Constructor */
   AtmosphericRadiativeTermsSingleChannel();
   /** Destructor */
-  ~AtmosphericRadiativeTermsSingleChannel() ITK_OVERRIDE {}
+  ~AtmosphericRadiativeTermsSingleChannel() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   AtmosphericRadiativeTermsSingleChannel(const Self &); //purposely not implemented
@@ -266,9 +266,9 @@ protected:
   /** Constructor */
   AtmosphericRadiativeTerms();
   /** Destructor */
-  ~AtmosphericRadiativeTerms() ITK_OVERRIDE {}
+  ~AtmosphericRadiativeTerms() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   AtmosphericRadiativeTerms(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h b/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
index 6bcb770447..3a1b75de08 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbImageMetadataCorrectionParameters.h
@@ -145,12 +145,12 @@ public:
   /** Constructor */
   ImageMetadataCorrectionParameters();
   /** Destructor */
-  ~ImageMetadataCorrectionParameters() ITK_OVERRIDE {}
+  ~ImageMetadataCorrectionParameters() override {}
 
 protected:
 
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageMetadataCorrectionParameters(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbImageToRadianceImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbImageToRadianceImageFilter.h
index fc8b7c3bbd..695bdf33e1 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbImageToRadianceImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbImageToRadianceImageFilter.h
@@ -171,10 +171,10 @@ protected:
     };
 
   /** Destructor */
-  ~ImageToRadianceImageFilter() ITK_OVERRIDE {}
+  ~ImageToRadianceImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
       this->GetInput()->GetMetaDataDictionary());
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbImageToReflectanceImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbImageToReflectanceImageFilter.h
index 6dbc688a7f..8bca51abee 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbImageToReflectanceImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbImageToReflectanceImageFilter.h
@@ -251,10 +251,10 @@ protected:
     };
 
   /** Destructor */
-  ~ImageToReflectanceImageFilter() ITK_OVERRIDE {}
+  ~ImageToReflectanceImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
 
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbRadianceToImageImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbRadianceToImageImageFilter.h
index b52793fb48..b7585dbfff 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbRadianceToImageImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbRadianceToImageImageFilter.h
@@ -172,10 +172,10 @@ protected:
     };
 
   /** Destructor */
-  ~RadianceToImageImageFilter() ITK_OVERRIDE {}
+  ~RadianceToImageImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
       this->GetInput()->GetMetaDataDictionary());
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbRadianceToReflectanceImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbRadianceToReflectanceImageFilter.h
index 9e4d667b5e..07c6de1dac 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbRadianceToReflectanceImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbRadianceToReflectanceImageFilter.h
@@ -247,10 +247,10 @@ protected:
     };
 
   /** Destructor */
-  ~RadianceToReflectanceImageFilter() ITK_OVERRIDE {}
+  ~RadianceToReflectanceImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
       this->GetInput()->GetMetaDataDictionary());
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToImageImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToImageImageFilter.h
index 6050d66777..cba938f79d 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToImageImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToImageImageFilter.h
@@ -237,10 +237,10 @@ protected:
     };
 
   /** Destructor */
-  ~ReflectanceToImageImageFilter() ITK_OVERRIDE {}
+  ~ReflectanceToImageImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
 
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToRadianceImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToRadianceImageFilter.h
index 69352382fe..64e72fa0cd 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToRadianceImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToRadianceImageFilter.h
@@ -231,10 +231,10 @@ protected:
     };
 
   /** Destructor */
-  ~ReflectanceToRadianceImageFilter() ITK_OVERRIDE {}
+  ~ReflectanceToRadianceImageFilter() override {}
 
   /** Update the functor list and input parameters */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     OpticalImageMetadataInterface::Pointer imageMetadataInterface = OpticalImageMetadataInterfaceFactory::CreateIMI(
       this->GetInput()->GetMetaDataDictionary());
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToSurfaceReflectanceImageFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToSurfaceReflectanceImageFilter.h
index 7fc9c22350..df71735c0f 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToSurfaceReflectanceImageFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbReflectanceToSurfaceReflectanceImageFilter.h
@@ -240,18 +240,18 @@ protected:
   /** Constructor */
   ReflectanceToSurfaceReflectanceImageFilter();
   /** Destructor */
-  ~ReflectanceToSurfaceReflectanceImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~ReflectanceToSurfaceReflectanceImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Initialize the parameters of the functor before the threads run. */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /** Fill AtmosphericRadiativeTerms using image metadata*/
   void UpdateAtmosphericRadiativeTerms();
   /** Update Functors parameters */
   void UpdateFunctors();
 
   /** If modified, we need to compute the functor parameters again */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
 
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h b/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
index f1cb28992a..ddd04f0ef5 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbSpectralSensitivityReader.h
@@ -79,16 +79,16 @@ public:
 
 protected:
   SpectralSensitivityReader();
-  ~SpectralSensitivityReader() ITK_OVERRIDE;
+  ~SpectralSensitivityReader() override;
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Find the filename using image metadata */
   void FindFileName();
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Struct use to remove multiple spaces in file */
   struct BothAre
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbSurfaceAdjacencyEffectCorrectionSchemeFilter.h b/Modules/Radiometry/OpticalCalibration/include/otbSurfaceAdjacencyEffectCorrectionSchemeFilter.h
index 435a88c001..8b1290f976 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbSurfaceAdjacencyEffectCorrectionSchemeFilter.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbSurfaceAdjacencyEffectCorrectionSchemeFilter.h
@@ -267,11 +267,11 @@ public:
 
 protected:
   SurfaceAdjacencyEffectCorrectionSchemeFilter();
-  ~SurfaceAdjacencyEffectCorrectionSchemeFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SurfaceAdjacencyEffectCorrectionSchemeFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Initialize the parameters of the functor before the threads run. */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Fill AtmosphericRadiativeTerms using image metadata*/
   void UpdateAtmosphericRadiativeTerms();
@@ -280,7 +280,7 @@ protected:
   void UpdateFunctors();
 
   /** If modified, we need to compute the functor parameters again */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
 
diff --git a/Modules/Radiometry/OpticalCalibration/include/otbWavelengthSpectralBands.h b/Modules/Radiometry/OpticalCalibration/include/otbWavelengthSpectralBands.h
index 94d5afcb8b..444e811611 100644
--- a/Modules/Radiometry/OpticalCalibration/include/otbWavelengthSpectralBands.h
+++ b/Modules/Radiometry/OpticalCalibration/include/otbWavelengthSpectralBands.h
@@ -63,10 +63,10 @@ protected:
   /** Constructor */
   WavelengthSpectralBands();
   /** Destructor */
-  ~WavelengthSpectralBands() ITK_OVERRIDE {}
+  ~WavelengthSpectralBands() override {}
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   WavelengthSpectralBands(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarBrightnessFunction.h b/Modules/Radiometry/SARCalibration/include/otbSarBrightnessFunction.h
index 6284aba4f7..2b4ae21d3f 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarBrightnessFunction.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarBrightnessFunction.h
@@ -85,17 +85,17 @@ public:
   typedef typename ParametricFunctionType::ConstPointer               ParametricFunctionConstPointer;
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
   OutputType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -106,7 +106,7 @@ public:
    * \warning this method caches BufferedRegion information.
    * If the BufferedRegion has changed, user must call
    * SetInputImage again to update cached values. */
-  void SetInputImage( const InputImageType * ptr ) ITK_OVERRIDE;
+  void SetInputImage( const InputImageType * ptr ) override;
 
 
   /** Get/Set the Scale value */
@@ -140,8 +140,8 @@ public:
 
 protected:
   SarBrightnessFunction();
-  ~SarBrightnessFunction() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SarBrightnessFunction() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SarBrightnessFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarBrightnessToImageFilter.h b/Modules/Radiometry/SARCalibration/include/otbSarBrightnessToImageFilter.h
index 7fa55f16c2..f7587b4130 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarBrightnessToImageFilter.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarBrightnessToImageFilter.h
@@ -84,12 +84,12 @@ public:
 
 protected:
   SarBrightnessToImageFilter();
-  ~SarBrightnessToImageFilter() ITK_OVERRIDE {}
+  ~SarBrightnessToImageFilter() override {}
 
   /** Update the function list and input parameters*/
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 private:
   SarBrightnessToImageFilter(const Self &); //purposely not implemented
   void operator =(const Self&); //purposely not implemented
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarDeburstImageFilter.h b/Modules/Radiometry/SARCalibration/include/otbSarDeburstImageFilter.h
index 9733b50c1d..e65b7e6809 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarDeburstImageFilter.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarDeburstImageFilter.h
@@ -70,16 +70,16 @@ protected:
   SarDeburstImageFilter();
 
   // Destructor
-  virtual ~SarDeburstImageFilter() ITK_OVERRIDE {};
+  virtual ~SarDeburstImageFilter() override {};
 
   // Needs to be re-implemented since size of output is modified
-  virtual void GenerateOutputInformation() ITK_OVERRIDE;
+  virtual void GenerateOutputInformation() override;
 
   // Needs to be re-implemented since size of output is modified
-  virtual void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  virtual void GenerateInputRequestedRegion() override;
 
   // Actual processing
-  virtual void ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  virtual void ThreadedGenerateData(const RegionType& outputRegionForThread, itk::ThreadIdType threadId) override;
 
   RegionType OutputRegionToInputRegion(const RegionType& outputRegion) const;
   
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarParametricMapFunction.h b/Modules/Radiometry/SARCalibration/include/otbSarParametricMapFunction.h
index 0ce4d69bb9..17dd6372fd 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarParametricMapFunction.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarParametricMapFunction.h
@@ -79,10 +79,10 @@ public:
   typedef typename itk::NumericTraits<InputPixelType>::ScalarRealType                       RealType;
 
   /** Evaluate the function at specific positions */
-  RealType Evaluate(const PointType& point) const ITK_OVERRIDE;
+  RealType Evaluate(const PointType& point) const override;
 
   /** Evalulate the function at specified index */
-  RealType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE
+  RealType EvaluateAtIndex(const IndexType& index) const override
   {
     PointType point;
     point[0] = static_cast<typename PointType::ValueType>(index[0]);
@@ -91,7 +91,7 @@ public:
   }
 
   RealType EvaluateAtContinuousIndex(
-    const ContinuousIndexType& cindex) const ITK_OVERRIDE
+    const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -127,8 +127,8 @@ public:
 
 protected:
   SarParametricMapFunction();
-  ~SarParametricMapFunction() ITK_OVERRIDE{}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~SarParametricMapFunction() override{}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   SarParametricMapFunction(const Self &);  //purposely not implemented
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationFunction.h b/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationFunction.h
index eb78e1d765..3fb6463376 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationFunction.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationFunction.h
@@ -82,17 +82,17 @@ public:
   typedef typename ParametricFunctionType::ConstPointer               ParametricFunctionConstPointer;
 
   /** Evalulate the function at specified index */
-  OutputType EvaluateAtIndex(const IndexType& index) const ITK_OVERRIDE;
+  OutputType EvaluateAtIndex(const IndexType& index) const override;
 
   /** Evaluate the function at non-integer positions */
-  OutputType Evaluate(const PointType& point) const ITK_OVERRIDE
+  OutputType Evaluate(const PointType& point) const override
   {
     IndexType index;
     this->ConvertPointToNearestIndex(point, index);
     return this->EvaluateAtIndex(index);
   }
 
-  OutputType EvaluateAtContinuousIndex(const ContinuousIndexType& cindex) const ITK_OVERRIDE
+  OutputType EvaluateAtContinuousIndex(const ContinuousIndexType& cindex) const override
   {
     IndexType index;
     this->ConvertContinuousIndexToNearestIndex(cindex, index);
@@ -103,7 +103,7 @@ public:
    * \warning this method caches BufferedRegion information.
    * If the BufferedRegion has changed, user must call
    * SetInputImage again to update cached values. */
-  void SetInputImage( const InputImageType * ptr ) ITK_OVERRIDE;
+  void SetInputImage( const InputImageType * ptr ) override;
 
 
   /** Get/Set the Scale value */
@@ -172,10 +172,10 @@ protected:
   SarRadiometricCalibrationFunction();
 
   /** default, empty, virtual dtor */
-  ~SarRadiometricCalibrationFunction() ITK_OVERRIDE{}
+  ~SarRadiometricCalibrationFunction() override{}
 
   /** print method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Flags to indicate if these values needs to be applied in calibration*/
 
diff --git a/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationToImageFilter.h b/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationToImageFilter.h
index 9910ddf76e..19e49832d8 100644
--- a/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationToImageFilter.h
+++ b/Modules/Radiometry/SARCalibration/include/otbSarRadiometricCalibrationToImageFilter.h
@@ -112,13 +112,13 @@ protected:
   SarRadiometricCalibrationToImageFilter();
 
   /** Empty, default virtual dtor */
-  ~SarRadiometricCalibrationToImageFilter() ITK_OVERRIDE {}
+  ~SarRadiometricCalibrationToImageFilter() override {}
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Update the function list and input parameters*/
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
 private:
 
diff --git a/Modules/Radiometry/SARCalibration/include/otbTerraSarBrightnessImageFilter.h b/Modules/Radiometry/SARCalibration/include/otbTerraSarBrightnessImageFilter.h
index 0fe02d2e35..ca65a82c49 100644
--- a/Modules/Radiometry/SARCalibration/include/otbTerraSarBrightnessImageFilter.h
+++ b/Modules/Radiometry/SARCalibration/include/otbTerraSarBrightnessImageFilter.h
@@ -143,10 +143,10 @@ protected:
   /** Constructor */
   TerraSarBrightnessImageFilter(){};
   /** Destructor */
-  ~TerraSarBrightnessImageFilter() ITK_OVERRIDE {}
+  ~TerraSarBrightnessImageFilter() override {}
 
   /** Initialize the functor vector */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
 private:
   TerraSarBrightnessImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/Simulation/include/otbAtmosphericEffects.h b/Modules/Radiometry/Simulation/include/otbAtmosphericEffects.h
index 1ed84cf295..bf33680f86 100644
--- a/Modules/Radiometry/Simulation/include/otbAtmosphericEffects.h
+++ b/Modules/Radiometry/Simulation/include/otbAtmosphericEffects.h
@@ -96,7 +96,7 @@ class AtmosphericEffects
            /** Constructor from a ASCII file */
            //AtmosphericEffects( const std::string & filename );
            /** Destructor */
-           ~AtmosphericEffects() ITK_OVERRIDE {};
+           ~AtmosphericEffects() override {};
            /** PrintSelf method */
            //void PrintSelf(std::ostream& os, itk::Indent indent) const;
 
diff --git a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
index 999d65aafe..04973ed9a7 100644
--- a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
+++ b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
@@ -166,13 +166,13 @@ public:
 
 protected:
   ImageSimulationMethod();
-  ~ImageSimulationMethod() ITK_OVERRIDE
+  ~ImageSimulationMethod() override
   {
   }
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   //    virtual void GenerateData();
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
   ImageSimulationMethod(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h b/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
index 2bbed5e700..c8dd54ea89 100644
--- a/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
+++ b/Modules/Radiometry/Simulation/include/otbLabelMapToSimulatedImageFilter.h
@@ -120,12 +120,12 @@ public:
 
 protected:
    LabelMapToSimulatedImageFilter();
-   ~LabelMapToSimulatedImageFilter() ITK_OVERRIDE {}
-   void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+   ~LabelMapToSimulatedImageFilter() override {}
+   void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-   void BeforeThreadedGenerateData() ITK_OVERRIDE;
-   void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
-   void GenerateOutputInformation() ITK_OVERRIDE;
+   void BeforeThreadedGenerateData() override;
+   void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
+   void GenerateOutputInformation() override;
 
 
 private:
diff --git a/Modules/Radiometry/Simulation/include/otbLabelToProSailParameters.h b/Modules/Radiometry/Simulation/include/otbLabelToProSailParameters.h
index a91fbae793..a65f6998e4 100644
--- a/Modules/Radiometry/Simulation/include/otbLabelToProSailParameters.h
+++ b/Modules/Radiometry/Simulation/include/otbLabelToProSailParameters.h
@@ -86,11 +86,11 @@ public:
   // virtual const ParametersType & GetStep1Parameters();
   //virtual const ParametersType & GetStep2Parameters();
 
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
 protected:
    LabelToProSailParameters();
-   ~LabelToProSailParameters() ITK_OVERRIDE {}
+   ~LabelToProSailParameters() override {}
 
 
 private:
diff --git a/Modules/Radiometry/Simulation/include/otbLabelToSimulationParametersBase.h b/Modules/Radiometry/Simulation/include/otbLabelToSimulationParametersBase.h
index 0b52497155..db03b1bbe2 100644
--- a/Modules/Radiometry/Simulation/include/otbLabelToSimulationParametersBase.h
+++ b/Modules/Radiometry/Simulation/include/otbLabelToSimulationParametersBase.h
@@ -93,7 +93,7 @@ public:
 
 protected:
    LabelToSimulationParametersBase(){};
-   ~LabelToSimulationParametersBase() ITK_OVERRIDE {}
+   ~LabelToSimulationParametersBase() override {}
 
 
 private:
diff --git a/Modules/Radiometry/Simulation/include/otbLeafParameters.h b/Modules/Radiometry/Simulation/include/otbLeafParameters.h
index 1ed4e20a10..ed7af69394 100644
--- a/Modules/Radiometry/Simulation/include/otbLeafParameters.h
+++ b/Modules/Radiometry/Simulation/include/otbLeafParameters.h
@@ -78,9 +78,9 @@ class OTBSimulation_EXPORT LeafParameters : public itk::DataObject
       /** Constructor */
       LeafParameters();
       /** Destructor */
-      ~LeafParameters() ITK_OVERRIDE;
+      ~LeafParameters() override;
       /** PrintSelf method */
-      void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+      void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
    private:
       LeafParameters(const Self&); //purposely not implemented
diff --git a/Modules/Radiometry/Simulation/include/otbProSailParameters.h b/Modules/Radiometry/Simulation/include/otbProSailParameters.h
index c2264c104c..5790a66ed3 100644
--- a/Modules/Radiometry/Simulation/include/otbProSailParameters.h
+++ b/Modules/Radiometry/Simulation/include/otbProSailParameters.h
@@ -115,7 +115,7 @@ class ITK_EXPORT ProSailParameters : public itk::DataObject
       /** Destructor */
       virtual ~ProSailParameters() {};
       /** PrintSelf method */
-      void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+      void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
    private:
diff --git a/Modules/Radiometry/Simulation/include/otbProspectModel.h b/Modules/Radiometry/Simulation/include/otbProspectModel.h
index 7b7468068a..668659c09d 100644
--- a/Modules/Radiometry/Simulation/include/otbProspectModel.h
+++ b/Modules/Radiometry/Simulation/include/otbProspectModel.h
@@ -66,21 +66,21 @@ class OTBSimulation_EXPORT ProspectModel : public SimulationStep1Base
       LeafParametersType * GetInput();
 
       /** GenerateData */
-      void GenerateData() ITK_OVERRIDE;
+      void GenerateData() override;
 
       /** Get Output reflectance/transmittance*/
-      SpectralResponseType * GetReflectance() ITK_OVERRIDE;
-      SpectralResponseType * GetTransmittance() ITK_OVERRIDE;
+      SpectralResponseType * GetReflectance() override;
+      SpectralResponseType * GetTransmittance() override;
 
    protected:
       /** Constructor */
       ProspectModel();
       /** Destructor */
-      ~ProspectModel() ITK_OVERRIDE;
+      ~ProspectModel() override;
       /** PrintSelf method */
-      void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+      void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-      DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE;
+      DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) override;
       using Superclass::MakeOutput;
 
       /** Compute Transmission of isotropic radiation across an interface between two dielectrics*/
diff --git a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
index d9a944bf7d..4a97b1ec99 100644
--- a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
+++ b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
@@ -113,7 +113,7 @@ public:
   virtual bool Clear();
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * \param PrecisionType
@@ -135,7 +135,7 @@ protected:
   /** Constructor from a ASCII file */
   //ReduceSpectralResponse( const std::string & filename );
   /** Destructor */
-  ~ReduceSpectralResponse() ITK_OVERRIDE
+  ~ReduceSpectralResponse() override
   {
   }
 ;
diff --git a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponseClassifierRAndNIR.h b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponseClassifierRAndNIR.h
index 7050b8c0a5..c8e334ae5e 100644
--- a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponseClassifierRAndNIR.h
+++ b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponseClassifierRAndNIR.h
@@ -109,7 +109,7 @@ namespace otb
 
 
           /** PrintSelf method */
-          void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+          void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 
           /**
@@ -125,7 +125,7 @@ namespace otb
           /** Constructor from a ASCII file */
           //ReduceSpectralResponseClassifierRAndNIR( const std::string & filename );
           /** Destructor */
-          ~ReduceSpectralResponseClassifierRAndNIR() ITK_OVERRIDE {};
+          ~ReduceSpectralResponseClassifierRAndNIR() override {};
           /** PrintSelf method */
           //void PrintSelf(std::ostream& os, itk::Indent indent) const;
 
diff --git a/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h b/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
index 4cc13e1598..2fde7522df 100644
--- a/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
+++ b/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
@@ -127,7 +127,7 @@ public:
   inline ValuePrecisionType operator()(const PrecisionType & lambda, const unsigned int numBand);
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** get vector of RSR */
   RSRVectorType & GetRSR()
@@ -147,7 +147,7 @@ protected:
   /** Constructor from a ASCII file */
   //SatelliteRSR( const std::string & filename );
   /** Destructor */
-  ~SatelliteRSR() ITK_OVERRIDE
+  ~SatelliteRSR() override
   {
   }
 ;
diff --git a/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h b/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
index 9bb396188b..ecf5472ab0 100644
--- a/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
+++ b/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
@@ -69,7 +69,7 @@ public:
 
 protected:
    SimulationStep1Base(){};
-   ~SimulationStep1Base() ITK_OVERRIDE {}
+   ~SimulationStep1Base() override {}
 
 
 private:
diff --git a/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h b/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
index 10db201a36..5aed410ef7 100644
--- a/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
+++ b/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
@@ -70,7 +70,7 @@ protected:
   {
   }
 ;
-  ~SimulationStep2Base() ITK_OVERRIDE
+  ~SimulationStep2Base() override
   {
   }
 
diff --git a/Modules/Radiometry/Simulation/include/otbSpatialisationFilter.h b/Modules/Radiometry/Simulation/include/otbSpatialisationFilter.h
index 3009be20fe..7e5b72aa98 100644
--- a/Modules/Radiometry/Simulation/include/otbSpatialisationFilter.h
+++ b/Modules/Radiometry/Simulation/include/otbSpatialisationFilter.h
@@ -112,12 +112,12 @@ public:
 
 protected:
    SpatialisationFilter();
-   ~SpatialisationFilter() ITK_OVERRIDE {}
-   void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+   ~SpatialisationFilter() override {}
+   void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
    virtual void ProcessObject(unsigned int obj);
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 private:
    SpatialisationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Radiometry/Simulation/include/otbSpectralResponse.h b/Modules/Radiometry/Simulation/include/otbSpectralResponse.h
index 5ccd1fa935..789924e4f5 100644
--- a/Modules/Radiometry/Simulation/include/otbSpectralResponse.h
+++ b/Modules/Radiometry/Simulation/include/otbSpectralResponse.h
@@ -104,7 +104,7 @@ public:
   void Load(const std::string & filename, ValuePrecisionType coefNormalization = 1.0);
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** get vector of spectral responses */
   VectorPairType & GetResponse()
@@ -163,7 +163,7 @@ protected:
   /** Constructor from a ASCII file */
   //SpectralResponse( const std::string & filename );
   /** Destructor */
-  ~SpectralResponse() ITK_OVERRIDE
+  ~SpectralResponse() override
   {
   }
 ;
diff --git a/Modules/Radiometry/Simulation/include/otbSurfaceReflectanceToReflectanceFilter.h b/Modules/Radiometry/Simulation/include/otbSurfaceReflectanceToReflectanceFilter.h
index c07fbd4c97..840f880dbe 100644
--- a/Modules/Radiometry/Simulation/include/otbSurfaceReflectanceToReflectanceFilter.h
+++ b/Modules/Radiometry/Simulation/include/otbSurfaceReflectanceToReflectanceFilter.h
@@ -263,18 +263,18 @@ protected:
   /** Constructor */
   SurfaceReflectanceToReflectanceFilter();
   /** Destructor */
-  ~SurfaceReflectanceToReflectanceFilter() ITK_OVERRIDE {};
+  ~SurfaceReflectanceToReflectanceFilter() override {};
 
 
   /** Initialize the functor vector */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
   /** Fill AtmosphericRadiativeTerms using image metadata*/
   void UpdateAtmosphericRadiativeTerms();
   /** Update Functors parameters */
   void UpdateFunctors();
 
   /** If modified, we need to compute the functor parameters again */
-  void Modified() const ITK_OVERRIDE;
+  void Modified() const override;
 
 private:
 
diff --git a/Modules/Registration/DisparityMap/include/otbDisparityMapEstimationMethod.h b/Modules/Registration/DisparityMap/include/otbDisparityMapEstimationMethod.h
index 0ace44f23c..56a89eeccb 100644
--- a/Modules/Registration/DisparityMap/include/otbDisparityMapEstimationMethod.h
+++ b/Modules/Registration/DisparityMap/include/otbDisparityMapEstimationMethod.h
@@ -184,15 +184,15 @@ protected:
   /**
    * Destructor.
    */
-  ~DisparityMapEstimationMethod() ITK_OVERRIDE;
+  ~DisparityMapEstimationMethod() override;
   /**
    * Standard PrintSelf method.
    */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /**
    * Main computation method.
    */
-  void  GenerateData() ITK_OVERRIDE;
+  void  GenerateData() override;
 
 private:
   DisparityMapEstimationMethod(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbDisparityMapMedianFilter.h b/Modules/Registration/DisparityMap/include/otbDisparityMapMedianFilter.h
index 3c8b7d22e7..1031f95bbf 100644
--- a/Modules/Registration/DisparityMap/include/otbDisparityMapMedianFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbDisparityMapMedianFilter.h
@@ -151,8 +151,8 @@ public:
 
 protected:
   DisparityMapMedianFilter();
-  ~DisparityMapMedianFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~DisparityMapMedianFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** MedianImageFilter needs a larger input requested region than
    * the output requested region.  As such, MedianImageFilter needs
@@ -160,13 +160,13 @@ protected:
    * in order to inform the pipeline execution model.
    *
    * \sa ImageToImageFilter::GenerateInputRequestedRegion() */
-  void GenerateInputRequestedRegion() throw(itk::InvalidRequestedRegionError) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() throw(itk::InvalidRequestedRegionError) override;
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** apply median filter */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   DisparityMapMedianFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbDisparityMapTo3DFilter.h b/Modules/Registration/DisparityMap/include/otbDisparityMapTo3DFilter.h
index eb505e58dd..1558f7592f 100644
--- a/Modules/Registration/DisparityMap/include/otbDisparityMapTo3DFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbDisparityMapTo3DFilter.h
@@ -144,26 +144,26 @@ protected:
   DisparityMapTo3DFilter();
 
   /** Destructor */
-  ~DisparityMapTo3DFilter() ITK_OVERRIDE;
+  ~DisparityMapTo3DFilter() override;
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
     * not need to occupy the same physical space.
     *
     * \sa ProcessObject::VerifyInputInformation
     */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Registration/DisparityMap/include/otbDisparityMapToDEMFilter.h b/Modules/Registration/DisparityMap/include/otbDisparityMapToDEMFilter.h
index 0e3bb5905d..7ed891c1f2 100644
--- a/Modules/Registration/DisparityMap/include/otbDisparityMapToDEMFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbDisparityMapToDEMFilter.h
@@ -149,29 +149,29 @@ protected:
   DisparityMapToDEMFilter();
 
   /** Destructor */
-  ~DisparityMapToDEMFilter() ITK_OVERRIDE;
+  ~DisparityMapToDEMFilter() override;
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** After threaded generate data : sum up temporary DEMs */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
     * not need to occupy the same physical space.
     *
     * \sa ProcessObject::VerifyInputInformation
     */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Registration/DisparityMap/include/otbDisparityTranslateFilter.h b/Modules/Registration/DisparityMap/include/otbDisparityTranslateFilter.h
index fb811e230f..92133ed381 100644
--- a/Modules/Registration/DisparityMap/include/otbDisparityTranslateFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbDisparityTranslateFilter.h
@@ -119,23 +119,23 @@ protected:
   DisparityTranslateFilter();
 
   /** Destructor */
-  ~DisparityTranslateFilter() ITK_OVERRIDE{};
+  ~DisparityTranslateFilter() override{};
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
     * not need to occupy the same physical space.
     *
     * \sa ProcessObject::VerifyInputInformation
     */
- void VerifyInputInformation() ITK_OVERRIDE {}
+ void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Registration/DisparityMap/include/otbFineRegistrationImageFilter.h b/Modules/Registration/DisparityMap/include/otbFineRegistrationImageFilter.h
index 18bd032b64..5d909dd279 100644
--- a/Modules/Registration/DisparityMap/include/otbFineRegistrationImageFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbFineRegistrationImageFilter.h
@@ -189,16 +189,16 @@ protected:
   /** Constructor */
   FineRegistrationImageFilter();
   /** Destructor */
-  ~FineRegistrationImageFilter() ITK_OVERRIDE {};
+  ~FineRegistrationImageFilter() override {};
 
   /** Threaded generate data */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Generate the input requested regions  */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 private:
   FineRegistrationImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbMultiDisparityMapTo3DFilter.h b/Modules/Registration/DisparityMap/include/otbMultiDisparityMapTo3DFilter.h
index c6cdc5f211..94a28101d5 100644
--- a/Modules/Registration/DisparityMap/include/otbMultiDisparityMapTo3DFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbMultiDisparityMapTo3DFilter.h
@@ -157,19 +157,19 @@ protected:
   MultiDisparityMapTo3DFilter();
 
   /** Destructor */
-  ~MultiDisparityMapTo3DFilter() ITK_OVERRIDE;
+  ~MultiDisparityMapTo3DFilter() override;
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   MultiDisparityMapTo3DFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbNCCRegistrationFilter.h b/Modules/Registration/DisparityMap/include/otbNCCRegistrationFilter.h
index c33bb17914..b7b7a72436 100644
--- a/Modules/Registration/DisparityMap/include/otbNCCRegistrationFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbNCCRegistrationFilter.h
@@ -137,18 +137,18 @@ public:
 
 protected:
   NCCRegistrationFilter();
-  ~NCCRegistrationFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~NCCRegistrationFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Initialize the state of filter and equation before each iteration. */
-  void InitializeIteration() ITK_OVERRIDE;
+  void InitializeIteration() override;
 
   /** Apply update. */
   using Superclass::ApplyUpdate;
   virtual void ApplyUpdate(TimeStepType dt);
 
   /** Update the Input requested region. */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
 private:
   NCCRegistrationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbNCCRegistrationFunction.h b/Modules/Registration/DisparityMap/include/otbNCCRegistrationFunction.h
index 352ea6d16c..ac5580ab6f 100644
--- a/Modules/Registration/DisparityMap/include/otbNCCRegistrationFunction.h
+++ b/Modules/Registration/DisparityMap/include/otbNCCRegistrationFunction.h
@@ -120,38 +120,38 @@ public:
   }
 
   /** This class uses a constant timestep of 1. */
-  TimeStepType ComputeGlobalTimeStep(void * itkNotUsed(GlobalData)) const ITK_OVERRIDE
+  TimeStepType ComputeGlobalTimeStep(void * itkNotUsed(GlobalData)) const override
   {
     return m_TimeStep;
   }
 
   /** Return a pointer to a global data structure that is passed to
    * this object from the solver at each calculation.  */
-  void *GetGlobalDataPointer() const ITK_OVERRIDE
+  void *GetGlobalDataPointer() const override
   {
     GlobalDataStruct *global = new GlobalDataStruct();
     return global;
   }
 
   /** Release memory for global data structure. */
-  void ReleaseGlobalDataPointer(void *GlobalData) const ITK_OVERRIDE
+  void ReleaseGlobalDataPointer(void *GlobalData) const override
   {
     delete (GlobalDataStruct *) GlobalData;
   }
 
   /** Set the object's state before each iteration. */
-  void InitializeIteration() ITK_OVERRIDE;
+  void InitializeIteration() override;
 
   /** This method is called by a finite difference solver image filter at
    * each pixel that does not lie on a data set boundary */
   PixelType  ComputeUpdate(const NeighborhoodType& neighborhood,
                                    void *globalData,
-                                   const FloatOffsetType& offset = FloatOffsetType(0.0)) ITK_OVERRIDE;
+                                   const FloatOffsetType& offset = FloatOffsetType(0.0)) override;
 
 protected:
   NCCRegistrationFunction();
-  ~NCCRegistrationFunction() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~NCCRegistrationFunction() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** FixedImage image neighborhood iterator type. */
   typedef itk::ConstNeighborhoodIterator<FixedImageType> FixedImageNeighborhoodIteratorType;
diff --git a/Modules/Registration/DisparityMap/include/otbPixelWiseBlockMatchingImageFilter.h b/Modules/Registration/DisparityMap/include/otbPixelWiseBlockMatchingImageFilter.h
index 824e65da5d..496ee3a423 100644
--- a/Modules/Registration/DisparityMap/include/otbPixelWiseBlockMatchingImageFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbPixelWiseBlockMatchingImageFilter.h
@@ -418,10 +418,10 @@ public:
     return m_Functor;
   }
 
-  /** Set initial horizontal disparity field (optional, ITK_OVERRIDE m_InitHorizontalDisparity) */
+  /** Set initial horizontal disparity field (optional, override m_InitHorizontalDisparity) */
   void SetHorizontalDisparityInput( const TOutputDisparityImage * hfield);
 
-  /** Set initial vertical disparity field (optional, ITK_OVERRIDE m_InitVerticalDisparity) */
+  /** Set initial vertical disparity field (optional, override m_InitVerticalDisparity) */
   void SetVerticalDisparityInput( const TOutputDisparityImage * vfield);
 
   /** Get the initial disparity fields */
@@ -447,19 +447,19 @@ protected:
   PixelWiseBlockMatchingImageFilter();
 
   /** Destructor */
-  ~PixelWiseBlockMatchingImageFilter() ITK_OVERRIDE;
+  ~PixelWiseBlockMatchingImageFilter() override;
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   PixelWiseBlockMatchingImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/DisparityMap/include/otbSubPixelDisparityImageFilter.h b/Modules/Registration/DisparityMap/include/otbSubPixelDisparityImageFilter.h
index 316930a2aa..c5489f78ea 100644
--- a/Modules/Registration/DisparityMap/include/otbSubPixelDisparityImageFilter.h
+++ b/Modules/Registration/DisparityMap/include/otbSubPixelDisparityImageFilter.h
@@ -210,29 +210,29 @@ protected:
   SubPixelDisparityImageFilter();
 
   /** Destructor */
-  ~SubPixelDisparityImageFilter() ITK_OVERRIDE;
+  ~SubPixelDisparityImageFilter() override;
 
   /** \brief Verify that the input images are compatible
    *
    * This method needs to be re-implemented from ImageToImageFilter since
    * the initial images and disparity maps may not have the same size
    */
-  void VerifyInputInformation() ITK_OVERRIDE;
+  void VerifyInputInformation() override;
   
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** After threaded generate data */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
 private:
   SubPixelDisparityImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateDisplacementFieldGenerator.h
index 8f89e63155..93d440ead4 100644
--- a/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateDisplacementFieldGenerator.h
@@ -66,11 +66,11 @@ protected:
   /** Constructor */
   BSplinesInterpolateDisplacementFieldGenerator() {};
   /** Destructor */
-  ~BSplinesInterpolateDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~BSplinesInterpolateDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   BSplinesInterpolateDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateTransformDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateTransformDisplacementFieldGenerator.h
index 4af2d2a82e..8ead3ebe92 100644
--- a/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateTransformDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbBSplinesInterpolateTransformDisplacementFieldGenerator.h
@@ -106,13 +106,13 @@ protected:
   /** Constructor */
   BSplinesInterpolateTransformDisplacementFieldGenerator();
   /** Destructor */
-  ~BSplinesInterpolateTransformDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~BSplinesInterpolateTransformDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /**
    * Test whether a parameter is angular or not.
diff --git a/Modules/Registration/DisplacementField/include/otbNNearestPointsLinearInterpolateDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbNNearestPointsLinearInterpolateDisplacementFieldGenerator.h
index 341499979f..0aaa57fcca 100644
--- a/Modules/Registration/DisplacementField/include/otbNNearestPointsLinearInterpolateDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbNNearestPointsLinearInterpolateDisplacementFieldGenerator.h
@@ -67,11 +67,11 @@ protected:
   /** Constructor */
   NNearestPointsLinearInterpolateDisplacementFieldGenerator() {};
   /** Destructor */
-  ~NNearestPointsLinearInterpolateDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~NNearestPointsLinearInterpolateDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   NNearestPointsLinearInterpolateDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbNNearestTransformsLinearInterpolateDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbNNearestTransformsLinearInterpolateDisplacementFieldGenerator.h
index e83a367561..a3f307fb40 100644
--- a/Modules/Registration/DisplacementField/include/otbNNearestTransformsLinearInterpolateDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbNNearestTransformsLinearInterpolateDisplacementFieldGenerator.h
@@ -74,11 +74,11 @@ protected:
   /** Constructor */
   NNearestTransformsLinearInterpolateDisplacementFieldGenerator() {};
   /** Destructor */
-  ~NNearestTransformsLinearInterpolateDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~NNearestTransformsLinearInterpolateDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   NNearestTransformsLinearInterpolateDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbNearestPointDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbNearestPointDisplacementFieldGenerator.h
index cfe80219b1..b52405d6c1 100644
--- a/Modules/Registration/DisplacementField/include/otbNearestPointDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbNearestPointDisplacementFieldGenerator.h
@@ -64,11 +64,11 @@ protected:
   /** Constructor */
   NearestPointDisplacementFieldGenerator() {};
   /** Destructor */
-  ~NearestPointDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~NearestPointDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   NearestPointDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbNearestTransformDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbNearestTransformDisplacementFieldGenerator.h
index 0ddae1eb84..cda5218322 100644
--- a/Modules/Registration/DisplacementField/include/otbNearestTransformDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbNearestTransformDisplacementFieldGenerator.h
@@ -67,11 +67,11 @@ protected:
   /** Constructor */
   NearestTransformDisplacementFieldGenerator() {};
   /** Destructor */
-  ~NearestTransformDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~NearestTransformDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   NearestTransformDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/DisplacementField/include/otbPointSetToDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbPointSetToDisplacementFieldGenerator.h
index 77028b48b4..bbd237cb10 100644
--- a/Modules/Registration/DisplacementField/include/otbPointSetToDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbPointSetToDisplacementFieldGenerator.h
@@ -125,11 +125,11 @@ protected:
   /** Constructor */
   PointSetToDisplacementFieldGenerator();
   /** Destructor */
-  ~PointSetToDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~PointSetToDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
   /**
    * Generate the n nearest valid point in point set, where a valid point has a sufficient metric value.
    *  \param index The index of the pixel to compute.
diff --git a/Modules/Registration/DisplacementField/include/otbPointSetWithTransformToDisplacementFieldGenerator.h b/Modules/Registration/DisplacementField/include/otbPointSetWithTransformToDisplacementFieldGenerator.h
index 998c1f57c2..7618deceb6 100644
--- a/Modules/Registration/DisplacementField/include/otbPointSetWithTransformToDisplacementFieldGenerator.h
+++ b/Modules/Registration/DisplacementField/include/otbPointSetWithTransformToDisplacementFieldGenerator.h
@@ -84,9 +84,9 @@ protected:
   /** Constructor */
   PointSetWithTransformToDisplacementFieldGenerator();
   /** Destructor */
-  ~PointSetWithTransformToDisplacementFieldGenerator() ITK_OVERRIDE {}
+  ~PointSetWithTransformToDisplacementFieldGenerator() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   PointSetWithTransformToDisplacementFieldGenerator(const Self &); //purposely not implemented
diff --git a/Modules/Registration/Stereo/include/otbAdhesionCorrectionFilter.h b/Modules/Registration/Stereo/include/otbAdhesionCorrectionFilter.h
index 1f3e48d177..9e6542dfd2 100644
--- a/Modules/Registration/Stereo/include/otbAdhesionCorrectionFilter.h
+++ b/Modules/Registration/Stereo/include/otbAdhesionCorrectionFilter.h
@@ -151,16 +151,16 @@ protected:
   /** Constructor */
   AdhesionCorrectionFilter();
   /** Destructor */
-  ~AdhesionCorrectionFilter() ITK_OVERRIDE {};
+  ~AdhesionCorrectionFilter() override {};
 
   /** Threaded generate data */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Generate the input requested regions  */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Generate output information */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
 private:
   AdhesionCorrectionFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/Stereo/include/otbBijectionCoherencyFilter.h b/Modules/Registration/Stereo/include/otbBijectionCoherencyFilter.h
index a9f620fbc2..07cd1703d7 100644
--- a/Modules/Registration/Stereo/include/otbBijectionCoherencyFilter.h
+++ b/Modules/Registration/Stereo/include/otbBijectionCoherencyFilter.h
@@ -114,16 +114,16 @@ protected:
   BijectionCoherencyFilter();
 
   /** Destructor */
-  ~BijectionCoherencyFilter() ITK_OVERRIDE{};
+  ~BijectionCoherencyFilter() override{};
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const OutputRegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const OutputRegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
 private:
   BijectionCoherencyFilter(const Self&); //purposely not implemented
diff --git a/Modules/Registration/Stereo/include/otbLineOfSightOptimizer.h b/Modules/Registration/Stereo/include/otbLineOfSightOptimizer.h
index 419381bc19..c7e96cbb10 100644
--- a/Modules/Registration/Stereo/include/otbLineOfSightOptimizer.h
+++ b/Modules/Registration/Stereo/include/otbLineOfSightOptimizer.h
@@ -87,7 +87,7 @@ protected:
   LineOfSightOptimizer();
 
   /** Destructor */
-  ~LineOfSightOptimizer() ITK_OVERRIDE{};
+  ~LineOfSightOptimizer() override{};
 
 
 private:
diff --git a/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h b/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
index 21e8287b64..6dc2c0e1a9 100644
--- a/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
+++ b/Modules/Registration/Stereo/include/otbMulti3DMapToDEMFilter.h
@@ -232,29 +232,29 @@ protected:
   Multi3DMapToDEMFilter();
 
   /** Destructor */
-  ~Multi3DMapToDEMFilter() ITK_OVERRIDE;
+  ~Multi3DMapToDEMFilter() override;
 
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Before threaded generate data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Threaded generate data */
-  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) ITK_OVERRIDE;
+  void ThreadedGenerateData(const RegionType & outputRegionForThread, itk::ThreadIdType threadId) override;
 
   /** After threaded generate data */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
     * not need to occupy the same physical space.
     *
     * \sa ProcessObject::VerifyInputInformation
     */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Registration/Stereo/include/otbStereoSensorModelToElevationMapFilter.h b/Modules/Registration/Stereo/include/otbStereoSensorModelToElevationMapFilter.h
index 8a5137c4f6..40d1423006 100644
--- a/Modules/Registration/Stereo/include/otbStereoSensorModelToElevationMapFilter.h
+++ b/Modules/Registration/Stereo/include/otbStereoSensorModelToElevationMapFilter.h
@@ -190,24 +190,24 @@ protected:
   StereoSensorModelToElevationFilter();
 
   /** Destructor */
-  ~StereoSensorModelToElevationFilter() ITK_OVERRIDE;
+  ~StereoSensorModelToElevationFilter() override;
 
   /** Threaded generate data */
   void ThreadedGenerateData(const OutputRegionType& outputRegionForThread,
-                                    itk::ThreadIdType threadId) ITK_OVERRIDE;
+                                    itk::ThreadIdType threadId) override;
 
   /** Generate the input requested regions  */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Things to do before the threaded generate-data */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Override VerifyInputInformation() since this filter's inputs do
       * not need to occupy the same physical space.
       *
       * \sa ProcessObject::VerifyInputInformation
       */
-  void VerifyInputInformation() ITK_OVERRIDE {}
+  void VerifyInputInformation() override {}
 
 
 private:
diff --git a/Modules/Registration/Stereo/include/otbStereorectificationDisplacementFieldSource.h b/Modules/Registration/Stereo/include/otbStereorectificationDisplacementFieldSource.h
index 8fe1adc44f..efd6ed38cf 100644
--- a/Modules/Registration/Stereo/include/otbStereorectificationDisplacementFieldSource.h
+++ b/Modules/Registration/Stereo/include/otbStereorectificationDisplacementFieldSource.h
@@ -166,19 +166,19 @@ protected:
   StereorectificationDisplacementFieldSource( void );
 
   /** Destructor */
-  ~StereorectificationDisplacementFieldSource( void ) ITK_OVERRIDE {};
+  ~StereorectificationDisplacementFieldSource( void ) override {};
 
   /** Generate output images information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** Enlarge output requested region (no streaming) */
-  void EnlargeOutputRequestedRegion(itk::DataObject * itkNotUsed(output)) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion(itk::DataObject * itkNotUsed(output)) override;
 
   /** Compute the deformation field */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** PrintSelf method */
-  void PrintSelf( std::ostream& os, itk::Indent indent ) const ITK_OVERRIDE;
+  void PrintSelf( std::ostream& os, itk::Indent indent ) const override;
 
 private:
   StereorectificationDisplacementFieldSource( const Self& ); // purposely
diff --git a/Modules/Segmentation/CCOBIA/include/otbLabelObjectOpeningMuParserFilter.h b/Modules/Segmentation/CCOBIA/include/otbLabelObjectOpeningMuParserFilter.h
index 867b94ec40..b5bf076015 100644
--- a/Modules/Segmentation/CCOBIA/include/otbLabelObjectOpeningMuParserFilter.h
+++ b/Modules/Segmentation/CCOBIA/include/otbLabelObjectOpeningMuParserFilter.h
@@ -111,18 +111,18 @@ public:
   /** return list of Mu Parser functions**/
   Parser::FunctionMapType GetFunList() const;
 
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
-  void EnlargeOutputRequestedRegion(itk::DataObject *) ITK_OVERRIDE {}
+  void EnlargeOutputRequestedRegion(itk::DataObject *) override {}
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 protected:
   LabelObjectOpeningMuParserFilter();
-  ~LabelObjectOpeningMuParserFilter() ITK_OVERRIDE;
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabelObjectOpeningMuParserFilter() override;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   LabelObjectOpeningMuParserFilter(const Self&); //purposely not implemented
diff --git a/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h b/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
index a33dd9d86c..047c0efafc 100644
--- a/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
+++ b/Modules/Segmentation/CCOBIA/include/otbStreamingConnectedComponentSegmentationOBIAToVectorDataFilter.h
@@ -181,9 +181,9 @@ public:
 protected:
   PersistentConnectedComponentSegmentationOBIAToVectorDataFilter();
 
-  ~PersistentConnectedComponentSegmentationOBIAToVectorDataFilter() ITK_OVERRIDE;
+  ~PersistentConnectedComponentSegmentationOBIAToVectorDataFilter() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 private:
 
   ObjectSizeType m_MinimumObjectSize;
@@ -199,7 +199,7 @@ private:
   bool m_ComputeFeretDiameter;
   bool m_ComputePerimeter;
 
-  VectorDataPointerType ProcessTile() ITK_OVERRIDE;
+  VectorDataPointerType ProcessTile() override;
 };
 
 /** \class StreamingConnectedComponentSegmentationOBIAToVectorDataFilter
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageRegionMergingFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageRegionMergingFilter.h
index b3781f7237..0664c20e27 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageRegionMergingFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageRegionMergingFilter.h
@@ -115,20 +115,20 @@ public:
   InputSpectralImageType * GetInputSpectralImage();
 
 protected:
-  void EnlargeOutputRequestedRegion( itk::DataObject *output ) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion( itk::DataObject *output ) override;
 
-   void GenerateOutputInformation(void) ITK_OVERRIDE;
+   void GenerateOutputInformation(void) override;
 
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
   /** Constructor */
   LabelImageRegionMergingFilter();
 
   /** Destructor */
-  ~LabelImageRegionMergingFilter() ITK_OVERRIDE;
+  ~LabelImageRegionMergingFilter() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Method to build a map of adjacent regions */
   RegionAdjacencyMapType LabelImageToRegionAdjacencyMap(typename OutputLabelImageType::Pointer inputLabelImage);
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageRegionPruningFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageRegionPruningFilter.h
index b881185a76..932d64309a 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageRegionPruningFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageRegionPruningFilter.h
@@ -114,20 +114,20 @@ public:
   InputSpectralImageType * GetInputSpectralImage();
 
 protected:
-  void EnlargeOutputRequestedRegion( itk::DataObject *output ) ITK_OVERRIDE;
+  void EnlargeOutputRequestedRegion( itk::DataObject *output ) override;
 
-   void GenerateOutputInformation(void) ITK_OVERRIDE;
+   void GenerateOutputInformation(void) override;
 
-   void GenerateData() ITK_OVERRIDE;
+   void GenerateData() override;
 
   /** Constructor */
   LabelImageRegionPruningFilter();
 
   /** Destructor */
-  ~LabelImageRegionPruningFilter() ITK_OVERRIDE;
+  ~LabelImageRegionPruningFilter() override;
 
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Method to build a map of adjacent regions */
   RegionAdjacencyMapType LabelImageToRegionAdjacencyMap(typename OutputLabelImageType::Pointer inputLabelImage);
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
index eef1020ad7..9e0202ef81 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.h
@@ -114,17 +114,17 @@ public:
 
 protected:
   LabelImageToOGRDataSourceFilter();
-  ~LabelImageToOGRDataSourceFilter() ITK_OVERRIDE {}
+  ~LabelImageToOGRDataSourceFilter() override {}
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Generate Data method*/
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** DataObject pointer */
   typedef itk::DataObject::Pointer DataObjectPointer;
 
-  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
+  DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override;
   using Superclass::MakeOutput;
 
 private:
diff --git a/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
index a72ae77386..6d1b189be3 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelImageToVectorDataFilter.h
@@ -104,12 +104,12 @@ public:
 
 protected:
   LabelImageToVectorDataFilter();
-  ~LabelImageToVectorDataFilter() ITK_OVERRIDE {}
+  ~LabelImageToVectorDataFilter() override {}
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
 
   /** Generate Data method*/
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   LabelImageToVectorDataFilter(const Self &);  //purposely not implemented
diff --git a/Modules/Segmentation/Conversion/include/otbLabelMapToVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbLabelMapToVectorDataFilter.h
index 8b81e03653..3e17c8983f 100644
--- a/Modules/Segmentation/Conversion/include/otbLabelMapToVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbLabelMapToVectorDataFilter.h
@@ -115,9 +115,9 @@ public:
 
 protected:
   LabelMapToVectorDataFilter();
-  ~LabelMapToVectorDataFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  ~LabelMapToVectorDataFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
+  void GenerateData() override;
 
 private:
   LabelMapToVectorDataFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h b/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
index 421075334f..bec0926d8d 100644
--- a/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbOGRDataSourceToLabelImageFilter.h
@@ -140,14 +140,14 @@ public:
   void SetOutputParametersFromImage(const ImageBaseType * image);
 
 protected:
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   OGRDataSourceToLabelImageFilter();
-  ~OGRDataSourceToLabelImageFilter() ITK_OVERRIDE {}
+  ~OGRDataSourceToLabelImageFilter() override {}
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   OGRDataSourceToLabelImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Segmentation/Conversion/include/otbPersistentImageToOGRLayerFilter.h b/Modules/Segmentation/Conversion/include/otbPersistentImageToOGRLayerFilter.h
index 433917b811..98c5760c62 100644
--- a/Modules/Segmentation/Conversion/include/otbPersistentImageToOGRLayerFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbPersistentImageToOGRLayerFilter.h
@@ -74,9 +74,9 @@ public:
   typedef ogr::Layer                                 OGRLayerType;
   typedef ogr::Feature                               OGRFeatureType;
 
-  void AllocateOutputs() ITK_OVERRIDE;
-  void Reset(void) ITK_OVERRIDE;
-  void Synthetize(void) ITK_OVERRIDE;
+  void AllocateOutputs() override;
+  void Reset(void) override;
+  void Synthetize(void) override;
 
   /** This method creates the output layer in the OGRLayer set by the user.
    * \note This methode must be called before the call of Update .
@@ -96,11 +96,11 @@ public:
 
 protected:
   PersistentImageToOGRLayerFilter();
-  ~PersistentImageToOGRLayerFilter() ITK_OVERRIDE;
+  ~PersistentImageToOGRLayerFilter() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 
 private:
diff --git a/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
index e5f1aef461..3b49caaa61 100644
--- a/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbPersistentImageToVectorDataFilter.h
@@ -86,11 +86,11 @@ public:
 
   OutputVectorDataType* GetOutputVectorData() const;
 
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
-  void Reset(void) ITK_OVERRIDE;
+  void Reset(void) override;
 
-  void Synthetize(void) ITK_OVERRIDE;
+  void Synthetize(void) override;
 
   /** Specify the name of the output shapefile to write. */
   itkSetStringMacro(FileName);
@@ -98,11 +98,11 @@ public:
 
 protected:
   PersistentImageToVectorDataFilter();
-  ~PersistentImageToVectorDataFilter() ITK_OVERRIDE {}
+  ~PersistentImageToVectorDataFilter() override {}
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   ExtractImageFilterPointerType          m_ExtractFilter;
 
diff --git a/Modules/Segmentation/Conversion/include/otbRasterizeVectorDataFilter.h b/Modules/Segmentation/Conversion/include/otbRasterizeVectorDataFilter.h
index be354efbb6..eb197d050f 100644
--- a/Modules/Segmentation/Conversion/include/otbRasterizeVectorDataFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbRasterizeVectorDataFilter.h
@@ -136,10 +136,10 @@ public:
   }
 
 protected:
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   RasterizeVectorDataFilter();
-  ~RasterizeVectorDataFilter() ITK_OVERRIDE
+  ~RasterizeVectorDataFilter() override
   {
     if (m_OGRDataSourcePointer != ITK_NULLPTR)
       {
@@ -147,9 +147,9 @@ protected:
       }
   }
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   RasterizeVectorDataFilter(const Self&); //purposely not implemented
diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
index c7a0627250..d240df3fc7 100644
--- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelImageFilter.h
@@ -124,10 +124,10 @@ public:
   void SetOutputParametersFromImage(const ImageBaseType * image);
 
 protected:
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   VectorDataToLabelImageFilter();
-  ~VectorDataToLabelImageFilter() ITK_OVERRIDE
+  ~VectorDataToLabelImageFilter() override
   {
     // Destroy the geometries stored
     for (unsigned int idx = 0; idx < m_SrcDataSetGeometries.size(); ++idx)
@@ -141,9 +141,9 @@ protected:
       }
   }
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   VectorDataToLabelImageFilter(const Self&); //purposely not implemented
diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapFilter.h
index 924b6ff894..9c3656dd34 100644
--- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapFilter.h
@@ -161,18 +161,18 @@ public:
   const InputVectorDataType * GetInput(void);
   const InputVectorDataType * GetInput(unsigned int idx);
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 protected:
   VectorDataToLabelMapFilter();
-  ~VectorDataToLabelMapFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~VectorDataToLabelMapFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * Standard pipeline method.
    */
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** VectorDataToLabelMapFilter needs the entire input. Therefore
    * it must provide an implementation GenerateInputRequestedRegion().
diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
index acedfcebeb..28a2baec1e 100644
--- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
@@ -187,20 +187,20 @@ public:
 ; itkGetMacro(InitialLabel, LabelType)
 ;
 
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
 protected:
   VectorDataToLabelMapWithAttributesFilter();
-  ~VectorDataToLabelMapWithAttributesFilter() ITK_OVERRIDE
+  ~VectorDataToLabelMapWithAttributesFilter() override
   {
   }
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /**
    * Standard pipeline method.
    */
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** VectorDataToLabelMapWithAttributesFilter needs the entire input. Therefore
    * it must provide an implementation GenerateInputRequestedRegion().
diff --git a/Modules/Segmentation/Labelling/include/otbLabelToBoundaryImageFilter.h b/Modules/Segmentation/Labelling/include/otbLabelToBoundaryImageFilter.h
index b1a67e4200..4e34052d21 100644
--- a/Modules/Segmentation/Labelling/include/otbLabelToBoundaryImageFilter.h
+++ b/Modules/Segmentation/Labelling/include/otbLabelToBoundaryImageFilter.h
@@ -98,7 +98,7 @@ protected:
   {
     this->SetRadius(1);
   }
-  ~LabelToBoundaryImageFilter() ITK_OVERRIDE { }
+  ~LabelToBoundaryImageFilter() override { }
 
 private:
   LabelToBoundaryImageFilter( const Self & ); // Not implemented
diff --git a/Modules/Segmentation/Labelling/include/otbLabelizeConfidenceConnectedImageFilter.h b/Modules/Segmentation/Labelling/include/otbLabelizeConfidenceConnectedImageFilter.h
index 3e8c27e092..be83bcb2a2 100644
--- a/Modules/Segmentation/Labelling/include/otbLabelizeConfidenceConnectedImageFilter.h
+++ b/Modules/Segmentation/Labelling/include/otbLabelizeConfidenceConnectedImageFilter.h
@@ -109,11 +109,11 @@ public:
 
 protected:
   LabelizeConfidenceConnectedImageFilter();
-  ~LabelizeConfidenceConnectedImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabelizeConfidenceConnectedImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Region growing */
-  void RegionGrowing(const IndexType indexSeed) ITK_OVERRIDE;
+  void RegionGrowing(const IndexType indexSeed) override;
 
 private:
   LabelizeConfidenceConnectedImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/Labelling/include/otbLabelizeConnectedThresholdImageFilter.h b/Modules/Segmentation/Labelling/include/otbLabelizeConnectedThresholdImageFilter.h
index 37ce1dfd74..018f343997 100644
--- a/Modules/Segmentation/Labelling/include/otbLabelizeConnectedThresholdImageFilter.h
+++ b/Modules/Segmentation/Labelling/include/otbLabelizeConnectedThresholdImageFilter.h
@@ -82,11 +82,11 @@ public:
 
 protected:
   LabelizeConnectedThresholdImageFilter();
-  ~LabelizeConnectedThresholdImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabelizeConnectedThresholdImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Region growing */
-  void RegionGrowing(const IndexType indexSeed) ITK_OVERRIDE;
+  void RegionGrowing(const IndexType indexSeed) override;
 
 private:
   LabelizeConnectedThresholdImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/Labelling/include/otbLabelizeImageFilterBase.h b/Modules/Segmentation/Labelling/include/otbLabelizeImageFilterBase.h
index d817bb3f6b..1f8b5305bd 100644
--- a/Modules/Segmentation/Labelling/include/otbLabelizeImageFilterBase.h
+++ b/Modules/Segmentation/Labelling/include/otbLabelizeImageFilterBase.h
@@ -96,11 +96,11 @@ public:
 
 protected:
   LabelizeImageFilterBase();
-  ~LabelizeImageFilterBase() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabelizeImageFilterBase() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
   /** Region growing */
   virtual void RegionGrowing(const IndexType itkNotUsed(indexSeed)) {}
diff --git a/Modules/Segmentation/Labelling/include/otbLabelizeNeighborhoodConnectedImageFilter.h b/Modules/Segmentation/Labelling/include/otbLabelizeNeighborhoodConnectedImageFilter.h
index 768377f48c..9264ba669e 100644
--- a/Modules/Segmentation/Labelling/include/otbLabelizeNeighborhoodConnectedImageFilter.h
+++ b/Modules/Segmentation/Labelling/include/otbLabelizeNeighborhoodConnectedImageFilter.h
@@ -104,11 +104,11 @@ public:
 
 protected:
   LabelizeNeighborhoodConnectedImageFilter();
-  ~LabelizeNeighborhoodConnectedImageFilter() ITK_OVERRIDE {}
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  ~LabelizeNeighborhoodConnectedImageFilter() override {}
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
   /** Region growing */
-  void RegionGrowing(const IndexType indexSeed) ITK_OVERRIDE;
+  void RegionGrowing(const IndexType indexSeed) override;
 
 private:
   LabelizeNeighborhoodConnectedImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h b/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
index c02dd8e432..b065125bc7 100644
--- a/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
+++ b/Modules/Segmentation/MeanShift/include/otbMeanShiftConnectedComponentSegmentationFilter.h
@@ -130,10 +130,10 @@ public:
 protected:
   MeanShiftConnectedComponentSegmentationFilter();
 
-  ~MeanShiftConnectedComponentSegmentationFilter() ITK_OVERRIDE;
+  ~MeanShiftConnectedComponentSegmentationFilter() override;
 
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
index 5f33cefe4a..03c19157eb 100644
--- a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
+++ b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
@@ -173,11 +173,11 @@ public:
 protected:
   MeanShiftSegmentationFilter();
 
-  ~MeanShiftSegmentationFilter() ITK_OVERRIDE;
+  ~MeanShiftSegmentationFilter() override;
 
 //  virtual void GenerateOutputInformation(void);
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
 
diff --git a/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h b/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
index fa71ec68ab..cae56e1625 100644
--- a/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
+++ b/Modules/Segmentation/Metrics/include/otbHooverInstanceFilter.h
@@ -210,30 +210,30 @@ public:
 
 protected:
   HooverInstanceFilter();
-  ~HooverInstanceFilter() ITK_OVERRIDE {};
+  ~HooverInstanceFilter() override {};
 
   /** Re implement the allocate output method to handle the second output correctly */
-  void AllocateOutputs() ITK_OVERRIDE;
+  void AllocateOutputs() override;
 
   /** Re implement the release input method to handle the second input correctly */
-  void ReleaseInputs() ITK_OVERRIDE;
+  void ReleaseInputs() override;
 
   /** Actions :
    *    - Fill cardinalities of GT regions
    */
-  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
+  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
 
   /** Actions:
    *    - Check matrix size
    *    - Init cardinalities lists
    *    - Fill cardinalities list for MS (GT is done by ThreadedProcessLabelObject)
    */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Actions :
    *    - Compute Hoover instances
    */
-  void AfterThreadedGenerateData() ITK_OVERRIDE;
+  void AfterThreadedGenerateData() override;
 
 private:
 
diff --git a/Modules/Segmentation/Metrics/include/otbHooverMatrixFilter.h b/Modules/Segmentation/Metrics/include/otbHooverMatrixFilter.h
index 2daca45480..efedebd57f 100644
--- a/Modules/Segmentation/Metrics/include/otbHooverMatrixFilter.h
+++ b/Modules/Segmentation/Metrics/include/otbHooverMatrixFilter.h
@@ -89,16 +89,16 @@ protected:
   /** Constructor */
   HooverMatrixFilter();
 
-  ~HooverMatrixFilter() ITK_OVERRIDE {};
+  ~HooverMatrixFilter() override {};
 
   /** Action :  Resize the matrix
    */
-  void BeforeThreadedGenerateData() ITK_OVERRIDE;
+  void BeforeThreadedGenerateData() override;
 
   /** Action : fill the line of the confusion matrix corresponding to
    * the given label object
    */
-  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) ITK_OVERRIDE;
+  void ThreadedProcessLabelObject( LabelObjectType * labelObject ) override;
 
 private:
 
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbClosingOpeningMorphologicalFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbClosingOpeningMorphologicalFilter.h
index c3639adf0a..f1d5e29ae6 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbClosingOpeningMorphologicalFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbClosingOpeningMorphologicalFilter.h
@@ -79,15 +79,15 @@ protected:
   /** Constructor */
   ClosingOpeningMorphologicalFilter();
   /** Destructor */
-  ~ClosingOpeningMorphologicalFilter() ITK_OVERRIDE {}
+  ~ClosingOpeningMorphologicalFilter() override {}
 
   /* void GenerateInputRequestedRegion(); */
   /*   void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)); */
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ClosingOpeningMorphologicalFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbConvexOrConcaveClassificationFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbConvexOrConcaveClassificationFilter.h
index f409881fcb..dcd0f39432 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbConvexOrConcaveClassificationFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbConvexOrConcaveClassificationFilter.h
@@ -215,7 +215,7 @@ public:
    *
    */
   using Superclass::SetInput;
-  void SetInput(const TInputImage * image) ITK_OVERRIDE
+  void SetInput(const TInputImage * image) override
   {
     this->SetInput1(image);
   }
@@ -242,7 +242,7 @@ public:
   itkGetMacro(Sigma, double);
 
   /** Set the functor parameters before calling the ThreadedGenerateData() */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     this->GetFunctor().SetConvexLabel(m_ConvexLabel);
     this->GetFunctor().SetConcaveLabel(m_ConcaveLabel);
@@ -260,9 +260,9 @@ protected:
     m_Sigma        = 0.0;
     };
   /** Destructor */
-  ~ConvexOrConcaveClassificationFilter() ITK_OVERRIDE {}
+  ~ConvexOrConcaveClassificationFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << indent << "ConvexLabel: " << m_ConvexLabel << std::endl;
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyDecompositionImageFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyDecompositionImageFilter.h
index 6c2174532a..d2e77b8772 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyDecompositionImageFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyDecompositionImageFilter.h
@@ -149,13 +149,13 @@ public:
 
 protected:
   /** GenerateData */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   GeodesicMorphologyDecompositionImageFilter();
   /** Destructor */
-  ~GeodesicMorphologyDecompositionImageFilter() ITK_OVERRIDE {}
+  ~GeodesicMorphologyDecompositionImageFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   GeodesicMorphologyDecompositionImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyIterativeDecompositionImageFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyIterativeDecompositionImageFilter.h
index 92cfb85df6..91d51758e8 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyIterativeDecompositionImageFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyIterativeDecompositionImageFilter.h
@@ -116,7 +116,7 @@ public:
    * Get The leveling images for each scale.
    * \return The leveling images for each scale.
    */
-  OutputImageListType* GetOutput(void) ITK_OVERRIDE;
+  OutputImageListType* GetOutput(void) override;
   /**
    * Get convex membership function for each scale
    * \return The convex membership function for each scale.
@@ -132,15 +132,15 @@ protected:
   /** Constructor */
   GeodesicMorphologyIterativeDecompositionImageFilter();
   /** Destructor */
-  ~GeodesicMorphologyIterativeDecompositionImageFilter() ITK_OVERRIDE {}
+  ~GeodesicMorphologyIterativeDecompositionImageFilter() override {}
   /** Generate output information */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
   /** Generate input requested region */
-  void GenerateInputRequestedRegion() ITK_OVERRIDE;
+  void GenerateInputRequestedRegion() override;
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** Printself method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   /** The step for the scale analysis */
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyLevelingFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyLevelingFilter.h
index 3c7a16920d..6211c59697 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyLevelingFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbGeodesicMorphologyLevelingFilter.h
@@ -117,7 +117,7 @@ public:
    * Set the original input image
    */
   using Superclass::SetInput;
-  void SetInput(const TInputImage * input) ITK_OVERRIDE
+  void SetInput(const TInputImage * input) override
   {
     this->SetInput1(input);
   }
@@ -126,9 +126,9 @@ protected:
   /** Constructor */
   GeodesicMorphologyLevelingFilter() {};
   /** Destructor */
-  ~GeodesicMorphologyLevelingFilter() ITK_OVERRIDE {}
+  ~GeodesicMorphologyLevelingFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbImageToProfileFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbImageToProfileFilter.h
index 0c6a3f6604..85223e736c 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbImageToProfileFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbImageToProfileFilter.h
@@ -91,17 +91,17 @@ protected:
   /** Get the pointer to the filter */
   itkGetObjectMacro(Filter, FilterType);
   /** GenerateData method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** GenerateOutputInformation method */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
   /** Generate input requested region */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
   /** Constructor */
   ImageToProfileFilter();
   /** Destructor */
-  ~ImageToProfileFilter() ITK_OVERRIDE {}
+  ~ImageToProfileFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ImageToProfileFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalClosingProfileFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalClosingProfileFilter.h
index f3d08451e3..a5af964287 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalClosingProfileFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalClosingProfileFilter.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   /** Set the profile parameter */
-  void SetProfileParameter(ParameterType param) ITK_OVERRIDE
+  void SetProfileParameter(ParameterType param) override
   {
     StructuringElementType se;
     se.SetRadius(param);
@@ -87,9 +87,9 @@ protected:
   /** Constructor */
   MorphologicalClosingProfileFilter() {};
   /** Destructor */
-  ~MorphologicalClosingProfileFilter() ITK_OVERRIDE {}
+  ~MorphologicalClosingProfileFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalOpeningProfileFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalOpeningProfileFilter.h
index 83fde0a9f8..2c8d5bdbbf 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalOpeningProfileFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalOpeningProfileFilter.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   /** Set the profile parameter */
-  void SetProfileParameter(ParameterType param) ITK_OVERRIDE
+  void SetProfileParameter(ParameterType param) override
   {
     StructuringElementType se;
     se.SetRadius(param);
@@ -87,9 +87,9 @@ protected:
   /** Constructor */
   MorphologicalOpeningProfileFilter() {};
   /** Destructor */
-  ~MorphologicalOpeningProfileFilter() ITK_OVERRIDE {}
+  ~MorphologicalOpeningProfileFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
   }
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalProfilesSegmentationFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalProfilesSegmentationFilter.h
index 401c3fde23..f61f87fc82 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalProfilesSegmentationFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbMorphologicalProfilesSegmentationFilter.h
@@ -106,9 +106,9 @@ itkGetConstReferenceMacro(Sigma,double);
 protected:
 MorphologicalProfilesSegmentationFilter();
 
-~MorphologicalProfilesSegmentationFilter() ITK_OVERRIDE;
+~MorphologicalProfilesSegmentationFilter() override;
 
-void GenerateData() ITK_OVERRIDE;
+void GenerateData() override;
 
 private:
 typename OpeningProfileFilterType::Pointer m_OpeningProfile;
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbMultiScaleConvexOrConcaveClassificationFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbMultiScaleConvexOrConcaveClassificationFilter.h
index 5bf49f3356..bcb21040a6 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbMultiScaleConvexOrConcaveClassificationFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbMultiScaleConvexOrConcaveClassificationFilter.h
@@ -222,7 +222,7 @@ public:
   itkGetMacro(LabelSeparator, LabelType);
 
   /** Set the functor parameters before calling the ThreadedGenerateData() */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE
+  void BeforeThreadedGenerateData(void) override
   {
     this->GetFunctor().SetLabelSeparator(m_LabelSeparator);
     this->GetFunctor().SetSigma(m_Sigma);
@@ -236,9 +236,9 @@ protected:
     m_Sigma          = 0.0;
     };
   /** Destructor */
-  ~MultiScaleConvexOrConcaveClassificationFilter() ITK_OVERRIDE {}
+  ~MultiScaleConvexOrConcaveClassificationFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override
   {
     Superclass::PrintSelf(os, indent);
     os << indent << "LabelSeparator: " << m_LabelSeparator << std::endl;
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbOpeningClosingMorphologicalFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbOpeningClosingMorphologicalFilter.h
index d434913a51..4e69011508 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbOpeningClosingMorphologicalFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbOpeningClosingMorphologicalFilter.h
@@ -79,15 +79,15 @@ protected:
   /** Constructor */
   OpeningClosingMorphologicalFilter();
   /** Destructor */
-  ~OpeningClosingMorphologicalFilter() ITK_OVERRIDE {}
+  ~OpeningClosingMorphologicalFilter() override {}
 
   /* void GenerateInputRequestedRegion(); */
   /*   void EnlargeOutputRequestedRegion(itk::DataObject *itkNotUsed(output)); */
 
   /** Main computation method */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
   /** PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   OpeningClosingMorphologicalFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbProfileDerivativeToMultiScaleCharacteristicsFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbProfileDerivativeToMultiScaleCharacteristicsFilter.h
index 64ed396fa0..805070251d 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbProfileDerivativeToMultiScaleCharacteristicsFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbProfileDerivativeToMultiScaleCharacteristicsFilter.h
@@ -86,26 +86,26 @@ public:
 
 protected:
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
 
   /** GenerateOutputInformation
    * Set the number of bands of the output.
    * Copy information from the first image of the list if existing.
    **/
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /**
    * GenerateInputRequestedRegion
    * Set the requested region of each image in the list.
    */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
   /** Constructor */
   ProfileDerivativeToMultiScaleCharacteristicsFilter();
   /** Destructor */
-  ~ProfileDerivativeToMultiScaleCharacteristicsFilter() ITK_OVERRIDE {}
+  ~ProfileDerivativeToMultiScaleCharacteristicsFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ProfileDerivativeToMultiScaleCharacteristicsFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/MorphologicalProfiles/include/otbProfileToProfileDerivativeFilter.h b/Modules/Segmentation/MorphologicalProfiles/include/otbProfileToProfileDerivativeFilter.h
index f71b7c5536..cef78cc730 100644
--- a/Modules/Segmentation/MorphologicalProfiles/include/otbProfileToProfileDerivativeFilter.h
+++ b/Modules/Segmentation/MorphologicalProfiles/include/otbProfileToProfileDerivativeFilter.h
@@ -78,20 +78,20 @@ public:
 
   /** Generate output information for the ImageList and for each image
       in the list. */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Generate input requested region for each image in the list. */
-  void GenerateInputRequestedRegion(void) ITK_OVERRIDE;
+  void GenerateInputRequestedRegion(void) override;
 
 protected:
   /** Main computation method */
-  void GenerateData(void) ITK_OVERRIDE;
+  void GenerateData(void) override;
   /** Constructor */
   ProfileToProfileDerivativeFilter();
   /** Destructor */
-  ~ProfileToProfileDerivativeFilter() ITK_OVERRIDE {}
+  ~ProfileToProfileDerivativeFilter() override {}
   /**PrintSelf method */
-  void PrintSelf(std::ostream& os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream& os, itk::Indent indent) const override;
 
 private:
   ProfileToProfileDerivativeFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/OGRProcessing/include/otbOGRLayerStreamStitchingFilter.h b/Modules/Segmentation/OGRProcessing/include/otbOGRLayerStreamStitchingFilter.h
index 9f111d292a..9149fbf213 100644
--- a/Modules/Segmentation/OGRProcessing/include/otbOGRLayerStreamStitchingFilter.h
+++ b/Modules/Segmentation/OGRProcessing/include/otbOGRLayerStreamStitchingFilter.h
@@ -106,11 +106,11 @@ public:
   itkGetMacro(StreamSize, SizeType);
 
   /** Generate Data method. This method must be called explicitly (not through the \c Update method). */
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 protected:
   OGRLayerStreamStitchingFilter();
-  ~OGRLayerStreamStitchingFilter() ITK_OVERRIDE {}
+  ~OGRLayerStreamStitchingFilter() override {}
 
   struct FusionStruct
   {
diff --git a/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h b/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
index a64db1a245..f797bafee2 100644
--- a/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
+++ b/Modules/Segmentation/OGRProcessing/include/otbStreamingImageToOGRLayerSegmentationFilter.h
@@ -144,14 +144,14 @@ public:
 protected:
   PersistentImageToOGRLayerSegmentationFilter();
 
-  ~PersistentImageToOGRLayerSegmentationFilter() ITK_OVERRIDE;
+  ~PersistentImageToOGRLayerSegmentationFilter() override;
 
 
 private:
   PersistentImageToOGRLayerSegmentationFilter(const Self &); //purposely not implemented
   void operator =(const Self&); //purposely not implemented
 
-  OGRDataSourcePointerType ProcessTile() ITK_OVERRIDE;
+  OGRDataSourcePointerType ProcessTile() override;
 
 
   int m_TileMaxLabel;
@@ -349,7 +349,7 @@ protected:
   /** Constructor */
   StreamingImageToOGRLayerSegmentationFilter() {}
   /** Destructor */
-  ~StreamingImageToOGRLayerSegmentationFilter() ITK_OVERRIDE {}
+  ~StreamingImageToOGRLayerSegmentationFilter() override {}
 
 private:
   StreamingImageToOGRLayerSegmentationFilter(const Self &); //purposely not implemented
diff --git a/Modules/Segmentation/Watersheds/include/otbWatershedSegmentationFilter.h b/Modules/Segmentation/Watersheds/include/otbWatershedSegmentationFilter.h
index 9d35385b12..32239f115a 100644
--- a/Modules/Segmentation/Watersheds/include/otbWatershedSegmentationFilter.h
+++ b/Modules/Segmentation/Watersheds/include/otbWatershedSegmentationFilter.h
@@ -84,9 +84,9 @@ public:
 protected:
   WatershedSegmentationFilter();
 
-  ~WatershedSegmentationFilter() ITK_OVERRIDE;
+  ~WatershedSegmentationFilter() override;
 
-  void GenerateData() ITK_OVERRIDE;
+  void GenerateData() override;
 
 private:
   typename CastImageFilterType::Pointer m_CastFilter;
diff --git a/Modules/ThirdParty/ITK/include/itkImageRegionSplitter.h b/Modules/ThirdParty/ITK/include/itkImageRegionSplitter.h
index f9304f511b..13fc872f86 100644
--- a/Modules/ThirdParty/ITK/include/itkImageRegionSplitter.h
+++ b/Modules/ThirdParty/ITK/include/itkImageRegionSplitter.h
@@ -121,12 +121,12 @@ public:
 
 protected:
   ImageRegionSplitter() {}
-  ~ImageRegionSplitter() ITK_OVERRIDE {}
+  ~ImageRegionSplitter() override {}
 
   unsigned int GetNumberOfSplitsInternal(unsigned int,
                                          const IndexValueType regionIndex[],
                                          const SizeValueType regionSize[],
-                                         unsigned int requestedNumber) const ITK_OVERRIDE
+                                         unsigned int requestedNumber) const override
   {
     // this function adapts the legecy method, defined in this class
     // be used by the ImageRegionSplitterBase.
@@ -145,7 +145,7 @@ protected:
                                 unsigned int i,
                                 unsigned int numberOfPieces,
                                 IndexValueType regionIndex[],
-                                SizeValueType regionSize[]) const ITK_OVERRIDE
+                                SizeValueType regionSize[]) const override
   {
     // this function adapts the legecy method, defined in this class
     // be used by the ImageRegionSplitterBase.
@@ -166,7 +166,7 @@ protected:
     return numberOfPieces;
   }
 
-  void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream & os, Indent indent) const override;
 
 private:
   ImageRegionSplitter(const ImageRegionSplitter &); //purposely not implemented
diff --git a/Modules/ThirdParty/ITK/include/itkTransformToDisplacementFieldSource.h b/Modules/ThirdParty/ITK/include/itkTransformToDisplacementFieldSource.h
index ecdc5a421a..2a9b77c394 100644
--- a/Modules/ThirdParty/ITK/include/itkTransformToDisplacementFieldSource.h
+++ b/Modules/ThirdParty/ITK/include/itkTransformToDisplacementFieldSource.h
@@ -37,9 +37,9 @@ namespace itk
  * spacing, origin and direction of the reference image will be used.
  *
  * Since this filter produces an image which is a different size than
- * its input, it needs to ITK_OVERRIDE several of the methods defined
+ * its input, it needs to override several of the methods defined
  * in ProcessObject in order to properly manage the pipeline execution model.
- * In particular, this filter ITK_OVERRIDEs
+ * In particular, this filter overrides
  * ProcessObject::GenerateInputRequestedRegion() and
  * ProcessObject::GenerateOutputInformation().
  *
@@ -154,13 +154,13 @@ public:
   void SetOutputParametersFromImage(const ImageBaseType *image);
 
   /** DisplacementFieldImageFilter produces a vector image. */
-  void GenerateOutputInformation(void) ITK_OVERRIDE;
+  void GenerateOutputInformation(void) override;
 
   /** Just checking if transform is set. */
-  void BeforeThreadedGenerateData(void) ITK_OVERRIDE;
+  void BeforeThreadedGenerateData(void) override;
 
   /** Compute the Modified Time based on changes to the components. */
-  ModifiedTimeType GetMTime(void) const ITK_OVERRIDE;
+  ModifiedTimeType GetMTime(void) const override;
 
 #ifdef ITK_USE_CONCEPT_CHECKING
   /** Begin concept checking */
@@ -173,16 +173,16 @@ public:
 
 protected:
   TransformToDisplacementFieldSource(void);
-  ~TransformToDisplacementFieldSource(void) ITK_OVERRIDE {}
+  ~TransformToDisplacementFieldSource(void) override {}
 
-  void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream & os, Indent indent) const override;
 
   /** TransformToDisplacementFieldSource can be implemented as a multithreaded
    * filter.
    */
   void ThreadedGenerateData(
     const OutputImageRegionType & outputRegionForThread,
-    ThreadIdType threadId) ITK_OVERRIDE;
+    ThreadIdType threadId) override;
 
   /** Default implementation for resampling that works for any
    * transformation type.
diff --git a/Modules/ThirdParty/ITK/include/itkUnaryFunctorImageFilter.h b/Modules/ThirdParty/ITK/include/itkUnaryFunctorImageFilter.h
index a47d8cf82a..8e268752d5 100644
--- a/Modules/ThirdParty/ITK/include/itkUnaryFunctorImageFilter.h
+++ b/Modules/ThirdParty/ITK/include/itkUnaryFunctorImageFilter.h
@@ -102,7 +102,7 @@ public:
 
 protected:
   UnaryFunctorImageFilter();
-  ~UnaryFunctorImageFilter() ITK_OVERRIDE {}
+  ~UnaryFunctorImageFilter() override {}
 
   /** UnaryFunctorImageFilter can produce an image which is a different
    * resolution than its input image.  As such, UnaryFunctorImageFilter
@@ -112,7 +112,7 @@ protected:
    * below.
    *
    * \sa ProcessObject::GenerateOutputInformaton()  */
-  void GenerateOutputInformation() ITK_OVERRIDE;
+  void GenerateOutputInformation() override;
 
   /** UnaryFunctorImageFilter can be implemented as a multithreaded filter.
    * Therefore, this implementation provides a ThreadedGenerateData() routine
@@ -125,7 +125,7 @@ protected:
    * \sa ImageToImageFilter::ThreadedGenerateData(),
    *     ImageToImageFilter::GenerateData()  */
   void ThreadedGenerateData(const OutputImageRegionType & outputRegionForThread,
-                            ThreadIdType threadId) ITK_OVERRIDE;
+                            ThreadIdType threadId) override;
 
 private:
   UnaryFunctorImageFilter(const Self &); //purposely not implemented
diff --git a/Modules/Visualization/Ice/include/otbFragmentShader.h b/Modules/Visualization/Ice/include/otbFragmentShader.h
index 99559dd163..7b931c8699 100644
--- a/Modules/Visualization/Ice/include/otbFragmentShader.h
+++ b/Modules/Visualization/Ice/include/otbFragmentShader.h
@@ -58,7 +58,7 @@ public:
 protected:
   FragmentShader();
 
-  ~FragmentShader() ITK_OVERRIDE;
+  ~FragmentShader() override;
 
   void BuildShader();
 
diff --git a/Modules/Visualization/Ice/include/otbFragmentShaderRegistry.h b/Modules/Visualization/Ice/include/otbFragmentShaderRegistry.h
index 6e5fc6e08f..f1aae8be0d 100644
--- a/Modules/Visualization/Ice/include/otbFragmentShaderRegistry.h
+++ b/Modules/Visualization/Ice/include/otbFragmentShaderRegistry.h
@@ -55,7 +55,7 @@ public:
 protected:
   FragmentShaderRegistry();
 
-  ~FragmentShaderRegistry() ITK_OVERRIDE;
+  ~FragmentShaderRegistry() override;
 
 private:
   typedef std::map<std::string, std::pair<unsigned int, unsigned int> > ShaderMapType;
diff --git a/Modules/Visualization/Ice/include/otbGlActor.h b/Modules/Visualization/Ice/include/otbGlActor.h
index 2c20ce7bc3..d11a4ef3c1 100644
--- a/Modules/Visualization/Ice/include/otbGlActor.h
+++ b/Modules/Visualization/Ice/include/otbGlActor.h
@@ -72,7 +72,7 @@ public:
 protected:
   GlActor();
 
-  ~GlActor() ITK_OVERRIDE;
+  ~GlActor() override;
 
 private:
   // prevent implementation
diff --git a/Modules/Visualization/Ice/include/otbGlImageActor.h b/Modules/Visualization/Ice/include/otbGlImageActor.h
index b70ecc429b..9f2c4b7ac1 100644
--- a/Modules/Visualization/Ice/include/otbGlImageActor.h
+++ b/Modules/Visualization/Ice/include/otbGlImageActor.h
@@ -80,16 +80,16 @@ public:
   void Initialize(const std::string & filename);
 
   // Retrieve the full extent of the actor
-  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const ITK_OVERRIDE;
+  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const override;
 
   // Update internal actor state with respect to ViewSettings
-  void ProcessViewSettings() ITK_OVERRIDE;
+  void ProcessViewSettings() override;
 
   // Heavy load/unload operations of data
-  void UpdateData() ITK_OVERRIDE;
+  void UpdateData() override;
 
   // Gl rendering of current state
-  void Render() ITK_OVERRIDE;
+  void Render() override;
 
   // Automatic color adjustment
   void AutoColorAdjustment( double & minRed, double & maxRed,
@@ -101,15 +101,15 @@ public:
 
   const PointType & GetOrigin() const;
 
-  const GeoInterface::Spacing2 & GetSpacing() const ITK_OVERRIDE;
+  const GeoInterface::Spacing2 & GetSpacing() const override;
 
-  std::string GetWkt() const ITK_OVERRIDE;
+  std::string GetWkt() const override;
 
   ImageKeywordlistType GetKwl() const;
 
-  bool HasKwl() const ITK_OVERRIDE;
+  bool HasKwl() const override;
 
-  bool GetKwl( ImageKeywordlist & ) const ITK_OVERRIDE;
+  bool GetKwl( ImageKeywordlist & ) const override;
 
   MetaDataDictionaryType & GetMetaDataDictionary() const;
 
@@ -191,11 +191,11 @@ public:
 
   bool TransformFromViewport( Point2d & out,
                                       const Point2d & in,
-                                      bool isPhysical = true ) const ITK_OVERRIDE;
+                                      bool isPhysical = true ) const override;
 
   bool TransformToViewport( Point2d & out,
                                     const Point2d & in,
-                                    bool isPhysical = true ) const ITK_OVERRIDE;
+                                    bool isPhysical = true ) const override;
 
 
   void UpdateTransforms();
@@ -203,7 +203,7 @@ public:
 protected:
   GlImageActor();
   
-  ~GlImageActor() ITK_OVERRIDE;
+  ~GlImageActor() override;
 
   typedef ImageFileReader<VectorImageType>                                        ReaderType;
   typedef MultiChannelExtractROI<float,float>                                     ExtractROIFilterType;
diff --git a/Modules/Visualization/Ice/include/otbGlROIActor.h b/Modules/Visualization/Ice/include/otbGlROIActor.h
index 769bb414e8..907b424afc 100644
--- a/Modules/Visualization/Ice/include/otbGlROIActor.h
+++ b/Modules/Visualization/Ice/include/otbGlROIActor.h
@@ -49,16 +49,16 @@ public:
   itkNewMacro(Self);
 
   // Retrieve the full extent of the actor
-  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const ITK_OVERRIDE;
+  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const override;
 
   // Update internal actor state with respect to ViewSettings
-  void ProcessViewSettings() ITK_OVERRIDE;
+  void ProcessViewSettings() override;
 
   // Heavy load/unload operations of data
-  void UpdateData() ITK_OVERRIDE;
+  void UpdateData() override;
 
   // Gl rendering of current state
-  void Render() ITK_OVERRIDE;
+  void Render() override;
 
   void SetUL( const PointType & );
 
@@ -87,7 +87,7 @@ public:
 protected:
   GlROIActor();
   
-  ~GlROIActor() ITK_OVERRIDE;
+  ~GlROIActor() override;
   
 private:
   // prevent implementation
diff --git a/Modules/Visualization/Ice/include/otbGlVectorActor.h b/Modules/Visualization/Ice/include/otbGlVectorActor.h
index 3ab74c1ac7..7c40b41ef9 100644
--- a/Modules/Visualization/Ice/include/otbGlVectorActor.h
+++ b/Modules/Visualization/Ice/include/otbGlVectorActor.h
@@ -67,19 +67,19 @@ public:
   void SetCurrentLayer(const std::string & layername);
 
   // Retrieve the full extent of the actor
-  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const ITK_OVERRIDE;
+  void GetExtent(double & ulx, double & uly, double & lrx, double & lry) const override;
 
   // Return actor extent in its own geometry
   void GetBoundingBox(double & ulx, double & uly, double & lrx, double & lry) const;
 
   // Update internal actor state with respect to ViewSettings
-  void ProcessViewSettings() ITK_OVERRIDE;
+  void ProcessViewSettings() override;
 
   // Heavy load/unload operations of data
-  void UpdateData() ITK_OVERRIDE;
+  void UpdateData() override;
 
   // Gl rendering of current state
-  void Render() ITK_OVERRIDE;
+  void Render() override;
 
   PointType ViewportToVectorTransform(const PointType & point) const;
 
@@ -106,7 +106,7 @@ public:
   itkSetMacro(LineWidth,double);
   itkGetConstReferenceMacro(LineWidth,double);
 
-  std::string GetWkt() const ITK_OVERRIDE;
+  std::string GetWkt() const override;
 
   //
   // otb::GlActor overloads.
@@ -114,13 +114,13 @@ public:
 
   bool TransformFromViewport( Point2d & out,
                                       const Point2d & in,
-                                      bool isPhysical = true ) const ITK_OVERRIDE;
+                                      bool isPhysical = true ) const override;
 
 
 protected:
   GlVectorActor();
   
-  ~GlVectorActor() ITK_OVERRIDE;
+  ~GlVectorActor() override;
 
 
   // Internal class to hold tiles
diff --git a/Modules/Visualization/Ice/include/otbGlView.h b/Modules/Visualization/Ice/include/otbGlView.h
index 58c2022941..63c43a3753 100644
--- a/Modules/Visualization/Ice/include/otbGlView.h
+++ b/Modules/Visualization/Ice/include/otbGlView.h
@@ -280,7 +280,7 @@ public:
 protected:
   GlView();
 
-  ~GlView() ITK_OVERRIDE;
+  ~GlView() override;
 
 private:
   // prevent implementation
diff --git a/Modules/Visualization/Ice/include/otbImageSettings.h b/Modules/Visualization/Ice/include/otbImageSettings.h
index 5b026f0bf4..a530f45494 100644
--- a/Modules/Visualization/Ice/include/otbImageSettings.h
+++ b/Modules/Visualization/Ice/include/otbImageSettings.h
@@ -81,7 +81,7 @@ public:
 protected:
   ImageSettings();
 
-  ~ImageSettings() ITK_OVERRIDE;
+  ~ImageSettings() override;
 
 
 private:
diff --git a/Modules/Visualization/Ice/include/otbStandardShader.h b/Modules/Visualization/Ice/include/otbStandardShader.h
index 1b31793023..1553f39bd1 100644
--- a/Modules/Visualization/Ice/include/otbStandardShader.h
+++ b/Modules/Visualization/Ice/include/otbStandardShader.h
@@ -89,18 +89,18 @@ public:
   itkSetMacro(Center,PointType);
   itkGetConstReferenceMacro(Center,PointType);
 
-  void SetupShader() ITK_OVERRIDE;
+  void SetupShader() override;
 
   itkNewMacro(Self);
 
 protected:
   StandardShader();
 
-  ~StandardShader() ITK_OVERRIDE;
+  ~StandardShader() override;
 
-  std::string GetSource() const ITK_OVERRIDE;
+  std::string GetSource() const override;
 
-  std::string GetName() const ITK_OVERRIDE;
+  std::string GetName() const override;
 
 private:
   // prevent implementation
diff --git a/Modules/Visualization/Ice/include/otbViewSettings.h b/Modules/Visualization/Ice/include/otbViewSettings.h
index 40637d0890..a29ea74d02 100644
--- a/Modules/Visualization/Ice/include/otbViewSettings.h
+++ b/Modules/Visualization/Ice/include/otbViewSettings.h
@@ -148,7 +148,7 @@ public:
 protected:
   ViewSettings();
 
-  ~ViewSettings() ITK_OVERRIDE;
+  ~ViewSettings() override;
 
 private:
   // prevent implementation
diff --git a/Modules/Visualization/IceViewer/include/otbIceViewer.h b/Modules/Visualization/IceViewer/include/otbIceViewer.h
index af409bdbab..75539f0979 100644
--- a/Modules/Visualization/IceViewer/include/otbIceViewer.h
+++ b/Modules/Visualization/IceViewer/include/otbIceViewer.h
@@ -76,7 +76,7 @@ protected:
 
   IceViewer();
 
-  ~IceViewer() ITK_OVERRIDE;
+  ~IceViewer() override;
 
  // Non-static callbacks
   virtual void scroll_callback(GLFWwindow * window, double xoffset, double yoffset);
diff --git a/Modules/Visualization/Mapla/include/mvdMaplaApplication.h b/Modules/Visualization/Mapla/include/mvdMaplaApplication.h
index c425d8fede..dcb85aefea 100644
--- a/Modules/Visualization/Mapla/include/mvdMaplaApplication.h
+++ b/Modules/Visualization/Mapla/include/mvdMaplaApplication.h
@@ -100,7 +100,7 @@ public:
   MaplaApplication( QApplication* qtApp );
 
   /** \brief Destructor. */
-  ~MaplaApplication() ITK_OVERRIDE;
+  ~MaplaApplication() override;
 
   //
   // STATIC METHODS.
@@ -143,7 +143,7 @@ protected:
 // Protected attributes.
 protected:
 
-  void virtual_InitializeCore() ITK_OVERRIDE;
+  void virtual_InitializeCore() override;
 
   /*-[ PRIVATE SECTION ]-----------------------------------------------------*/
 
diff --git a/Modules/Visualization/Mapla/include/mvdMaplaMainWindow.h b/Modules/Visualization/Mapla/include/mvdMaplaMainWindow.h
index e66c4a9548..2af3740a50 100644
--- a/Modules/Visualization/Mapla/include/mvdMaplaMainWindow.h
+++ b/Modules/Visualization/Mapla/include/mvdMaplaMainWindow.h
@@ -104,7 +104,7 @@ public:
   MaplaMainWindow( QWidget* Parent =0, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~MaplaMainWindow() ITK_OVERRIDE;
+  ~MaplaMainWindow() override;
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
 
@@ -121,7 +121,7 @@ protected:
   //
   // QMainWindow methods.
 
-  void closeEvent( QCloseEvent* event ) ITK_OVERRIDE;
+  void closeEvent( QCloseEvent* event ) override;
 
 //
 // Protected attributes.
@@ -135,11 +135,11 @@ protected slots:
 
   /**
    */
-  void OnAboutToChangeModel( const AbstractModel* ) ITK_OVERRIDE;
+  void OnAboutToChangeModel( const AbstractModel* ) override;
 
   /**
    */
-  void OnModelChanged( AbstractModel* ) ITK_OVERRIDE;
+  void OnModelChanged( AbstractModel* ) override;
 
   /**
    */
@@ -178,9 +178,9 @@ private:
   //
   // I18nMainWindow methods.
 
-  void virtual_SetupUI() ITK_OVERRIDE;
+  void virtual_SetupUI() override;
 
-  void virtual_ConnectUI() ITK_OVERRIDE;
+  void virtual_ConnectUI() override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/Monteverdi/include/mvdApplication.h b/Modules/Visualization/Monteverdi/include/mvdApplication.h
index dff4eed963..c9cf8b6e87 100644
--- a/Modules/Visualization/Monteverdi/include/mvdApplication.h
+++ b/Modules/Visualization/Monteverdi/include/mvdApplication.h
@@ -99,7 +99,7 @@ public:
   Application( QApplication* qtApp );
 
   /** \brief Destructor. */
-  ~Application() ITK_OVERRIDE;
+  ~Application() override;
 
   /**
    * \return The number of outdated dataset-models present in the
@@ -160,7 +160,7 @@ protected:
 // Protected attributes.
 protected:
 
-  void virtual_InitializeCore() ITK_OVERRIDE;
+  void virtual_InitializeCore() override;
 
   /*-[ PRIVATE SECTION ]-----------------------------------------------------*/
 
diff --git a/Modules/Visualization/Monteverdi/include/mvdMainWindow.h b/Modules/Visualization/Monteverdi/include/mvdMainWindow.h
index f8523b7f5d..3ae223763f 100644
--- a/Modules/Visualization/Monteverdi/include/mvdMainWindow.h
+++ b/Modules/Visualization/Monteverdi/include/mvdMainWindow.h
@@ -125,7 +125,7 @@ public:
   MainWindow( QWidget* p =0, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~MainWindow() ITK_OVERRIDE;
+  ~MainWindow() override;
 
   /**
    */
@@ -183,7 +183,7 @@ protected:
   //
   // QMainWindow methods.
 
-  void closeEvent( QCloseEvent* event ) ITK_OVERRIDE;
+  void closeEvent( QCloseEvent* event ) override;
 
 //
 // Protected attributes.
@@ -197,11 +197,11 @@ protected slots:
 
   /**
    */
-  void OnAboutToChangeModel( const AbstractModel * ) ITK_OVERRIDE;
+  void OnAboutToChangeModel( const AbstractModel * ) override;
 
   /**
    */
-  void OnModelChanged( AbstractModel * ) ITK_OVERRIDE;
+  void OnModelChanged( AbstractModel * ) override;
 
   /**
    */
@@ -344,11 +344,11 @@ private:
   //
   // I18nMainWindow methods.
 
-  void virtual_SetupUI() ITK_OVERRIDE;
+  void virtual_SetupUI() override;
 
-  void virtual_ConnectUI() ITK_OVERRIDE;
+  void virtual_ConnectUI() override;
 
-  void virtual_InitializeUI() ITK_OVERRIDE;
+  void virtual_InitializeUI() override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/Monteverdi/include/mvdPreferencesDialog.h b/Modules/Visualization/Monteverdi/include/mvdPreferencesDialog.h
index c330308498..25a555cb99 100644
--- a/Modules/Visualization/Monteverdi/include/mvdPreferencesDialog.h
+++ b/Modules/Visualization/Monteverdi/include/mvdPreferencesDialog.h
@@ -92,7 +92,7 @@ public:
   PreferencesDialog( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** Destructor */
-  ~PreferencesDialog() ITK_OVERRIDE;
+  ~PreferencesDialog() override;
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h
index 8eff3030eb..d2e6723d4b 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractImageModel.h
@@ -171,7 +171,7 @@ public:
 public:
 
   /** Destructor */
-  ~AbstractImageModel() ITK_OVERRIDE;
+  ~AbstractImageModel() override;
 
   /** */
   inline int GetId() const;
@@ -322,7 +322,7 @@ protected:
   //
   // AbstractModel methods.
 
-  void virtual_BuildModel( void* context ) ITK_OVERRIDE;
+  void virtual_BuildModel( void* context ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
index ab4065a91b..e556edf4c4 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractLayerModel.h
@@ -121,7 +121,7 @@ class OTBMonteverdiCore_EXPORT AbstractLayerModel :
 public:
 
   /** \brief Destructor. */
-  ~AbstractLayerModel() ITK_OVERRIDE;
+  ~AbstractLayerModel() override;
 
   /**
    */
@@ -201,7 +201,7 @@ private:
 
   //
   // VisibleInterface overloads.
-  void virtual_SignalVisibilityChanged( bool ) ITK_OVERRIDE;
+  void virtual_SignalVisibilityChanged( bool ) override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h
index e6b9178c3c..f6f84f3782 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractModel.h
@@ -91,7 +91,7 @@ class OTBMonteverdiCore_EXPORT AbstractModel :
 public:
 
   /** Destructor */
-  ~AbstractModel() ITK_OVERRIDE;
+  ~AbstractModel() override;
 
   /** */
   template< typename TModel >
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h b/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h
index 800bbbc130..4ae16dc4ee 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdAbstractWorker.h
@@ -91,7 +91,7 @@ class OTBMonteverdiCore_EXPORT AbstractWorker :
 public:
 
   /** \brief Destructor. */
-  ~AbstractWorker() ITK_OVERRIDE;
+  ~AbstractWorker() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
index 68956e666a..eeeb38fc12 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdApplicationsBrowser.h
@@ -112,7 +112,7 @@ public:
   ApplicationsBrowser( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~ApplicationsBrowser() ITK_OVERRIDE;
+  ~ApplicationsBrowser() override;
 
   /** set the path where to look for applications */
   void SetAutoLoadPath(const std::string & itk_auto_load_path);
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h b/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h
index 3baa0ceed2..9fc7805114 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdBackgroundTask.h
@@ -100,7 +100,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~BackgroundTask() ITK_OVERRIDE;
+  ~BackgroundTask() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h b/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h
index 52d3b56043..aa1aec0371 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdHistogramModel.h
@@ -175,7 +175,7 @@ public:
   HistogramModel( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~HistogramModel() ITK_OVERRIDE;
+  ~HistogramModel() override;
 
   /**
    */
@@ -234,7 +234,7 @@ protected:
   // AbstractModel methods.
 
   /** */
-  void virtual_BuildModel( void* context =NULL ) ITK_OVERRIDE;
+  void virtual_BuildModel( void* context =NULL ) override;
 
 //
 // Protected attributes.
@@ -276,9 +276,9 @@ private:
   // SerializableInterface methods.
   //
 
-  void virtual_Read( QIODevice* device ) ITK_OVERRIDE;
+  void virtual_Read( QIODevice* device ) override;
 
-  void virtual_Write( QIODevice& device ) const ITK_OVERRIDE;
+  void virtual_Write( QIODevice& device ) const override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h b/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h
index 52a2f263a7..778030ccdb 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdI18nCoreApplication.h
@@ -142,7 +142,7 @@ public:
   I18nCoreApplication( QCoreApplication* qtApp );
 
   /** \brief Destructor. */
-  ~I18nCoreApplication() ITK_OVERRIDE;
+  ~I18nCoreApplication() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h b/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h
index ab735e5cc8..00e574ff5a 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdImageImporter.h
@@ -122,7 +122,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~ImageImporter() ITK_OVERRIDE;
+  ~ImageImporter() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -177,9 +177,9 @@ private:
   //
   // AbstractWorker oveloads.
 
-  QObject* virtual_Do() ITK_OVERRIDE;
+  QObject* virtual_Do() override;
 
-  QString virtual_GetFirstProgressText() const ITK_OVERRIDE;
+  QString virtual_GetFirstProgressText() const override;
 
 
 //
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h b/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h
index 854ebbb31e..2dcf415eb2 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdMyClass.h
@@ -94,7 +94,7 @@ public:
   MyClass( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~MyClass() ITK_OVERRIDE;
+  ~MyClass() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h b/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h
index eb40330126..a7cdbc3330 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdOverviewBuilder.h
@@ -110,12 +110,12 @@ public:
   /**
    * \brief Destructor.
    */
-  ~OverviewBuilder() ITK_OVERRIDE;
+  ~OverviewBuilder() override;
 
   //
   // ProgressInterface overloads.
 
-  void SetProgress( double ) ITK_OVERRIDE;
+  void SetProgress( double ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -166,9 +166,9 @@ private:
   //
   // AbstractWorker oveloads.
 
-  QObject * virtual_Do() ITK_OVERRIDE;
+  QObject * virtual_Do() override;
 
-  QString virtual_GetFirstProgressText() const ITK_OVERRIDE;
+  QString virtual_GetFirstProgressText() const override;
 
 
 //
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h b/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h
index b4468924cd..207cec9d22 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdProcessObjectObserver.h
@@ -101,7 +101,7 @@ public:
 public:
 
   /** \brief Destructor. */
-  ~ProcessObjectObserver() ITK_OVERRIDE;
+  ~ProcessObjectObserver() override;
 
   const ProgressInterface * GetProgressInterface() const;
   ProgressInterface * GetProgressInterface();
@@ -112,10 +112,10 @@ public:
   // itk::Command overloads.
 
   void Execute( itk::Object * caller,
-			const itk::EventObject & event ) ITK_OVERRIDE;
+			const itk::EventObject & event ) override;
 
   void Execute( const itk::Object * caller,
-			const itk::EventObject & event ) ITK_OVERRIDE;
+			const itk::EventObject & event ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h b/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h
index e34adf8a50..1930cb73d9 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdQuicklookModel.h
@@ -100,7 +100,7 @@ public:
   QuicklookModel( QObject* p =NULL );
 
   /** Destructor */
-  ~QuicklookModel() ITK_OVERRIDE;
+  ~QuicklookModel() override;
 
   /**
    * \brief Get the parent image-model of this quicklook image as an
@@ -161,7 +161,7 @@ signals:
 protected:
 
   /** */
-  void virtual_BuildModel( void* context =NULL ) ITK_OVERRIDE;
+  void virtual_BuildModel( void* context =NULL ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
index 035914cb21..8291038e15 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdStackedLayerModel.h
@@ -116,7 +116,7 @@ public:
   StackedLayerModel( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~StackedLayerModel() ITK_OVERRIDE;
+  ~StackedLayerModel() override;
 
   inline const AbstractLayerModel * operator[]( SizeType ) const;
   inline AbstractLayerModel * operator[]( SizeType );
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h b/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h
index b14a1207f4..6fe4b0329d 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdSystemError.h
@@ -96,7 +96,7 @@ public:
         + ": " + message) {};
 
   /** \brief Destructor. */
-  ~SystemError() throw() ITK_OVERRIDE {};
+  ~SystemError() throw() override {};
 
   /*-[ PROTECTED SECTION ]---------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
index 29e9aba7e3..a54dfa0fe6 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageModel.h
@@ -118,7 +118,7 @@ public:
   VectorImageModel( QObject* p =NULL );
 
   /** Destructor */
-  ~VectorImageModel() ITK_OVERRIDE;
+  ~VectorImageModel() override;
 
   /** */
   static void EnsureValidImage( const QString& filename );
@@ -166,17 +166,17 @@ public:
   /**
    * Get the number of available LOD.
    */
-  CountType GetNbLod() const ITK_OVERRIDE;
+  CountType GetNbLod() const override;
 
   /**
    * Get a smart-pointer to the current LOD image-base.
    */
-  ImageBaseType::ConstPointer ToImageBase() const ITK_OVERRIDE;
+  ImageBaseType::ConstPointer ToImageBase() const override;
 
   /**
    * Get a smart-pointer to the current LOD image-base.
    */
-  ImageBaseType::Pointer ToImageBase() ITK_OVERRIDE;
+  ImageBaseType::Pointer ToImageBase() override;
 
   /**
    * Get the placename from the center pixel
@@ -186,9 +186,9 @@ public:
   //
   // AbstractModel methods.
 
-  bool IsModified() const ITK_OVERRIDE;
+  bool IsModified() const override;
 
-  void ClearModified() ITK_OVERRIDE;
+  void ClearModified() override;
 
   // get image size in byte
   std::streamoff GetImageSizeInBytes()
@@ -242,7 +242,7 @@ protected:
   //
   // AbstractModel methods.
 
-  void virtual_BuildModel( void* context =NULL ) ITK_OVERRIDE;
+  void virtual_BuildModel( void* context =NULL ) override;
 
   //
   // AbstractImageModel methods.
@@ -292,18 +292,18 @@ private:
   //
   // AbstractLayerModel methods.
 
-  std::string virtual_GetWkt() const ITK_OVERRIDE;
-  bool virtual_HasKwl() const ITK_OVERRIDE;
+  std::string virtual_GetWkt() const override;
+  bool virtual_HasKwl() const override;
   void virtual_ToWgs84( const PointType &,
 				PointType &,
-				double & alt ) const ITK_OVERRIDE;
+				double & alt ) const override;
 
   //
   // AbstractImageModel methods.
 
-  void virtual_SetCurrentLod( CountType lod ) ITK_OVERRIDE;
+  void virtual_SetCurrentLod( CountType lod ) override;
 
-  void virtual_RefreshHistogram() ITK_OVERRIDE;
+  void virtual_RefreshHistogram() override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h
index 441ffdca5f..01c78d04f6 100644
--- a/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h
+++ b/Modules/Visualization/MonteverdiCore/include/mvdVectorImageSettings.h
@@ -110,7 +110,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~VectorImageSettings() ITK_OVERRIDE;
+  ~VectorImageSettings() override;
 
   /**
    * \brief Assignment operator.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdAboutDialog.h b/Modules/Visualization/MonteverdiGui/include/mvdAboutDialog.h
index b8ee19010e..10be3b5e7d 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdAboutDialog.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdAboutDialog.h
@@ -77,7 +77,7 @@ public:
   AboutDialog( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** Destructor */
-  ~AboutDialog() ITK_OVERRIDE;
+  ~AboutDialog() override;
 
 //
 // SIGNALS.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdAbstractDragAndDropEventFilter.h b/Modules/Visualization/MonteverdiGui/include/mvdAbstractDragAndDropEventFilter.h
index babdc18145..8b9169530e 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdAbstractDragAndDropEventFilter.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdAbstractDragAndDropEventFilter.h
@@ -90,7 +90,7 @@ class OTBMonteverdiGUI_EXPORT AbstractDragAndDropEventFilter :
 public:
 
   /** \brief Destructor. */
-  ~AbstractDragAndDropEventFilter() ITK_OVERRIDE;
+  ~AbstractDragAndDropEventFilter() override;
 
   //
   // QObject overloads.
@@ -98,7 +98,7 @@ public:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qobject.html#eventFilter
    */
-  bool eventFilter( QObject* watched, QEvent* event ) ITK_OVERRIDE;
+  bool eventFilter( QObject* watched, QEvent* event ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewManipulator.h b/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewManipulator.h
index 3d34198cef..28b2038b25 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewManipulator.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewManipulator.h
@@ -90,7 +90,7 @@ class OTBMonteverdiGUI_EXPORT AbstractImageViewManipulator :
 public:
 
   /** \brief Destructor. */
-  ~AbstractImageViewManipulator() ITK_OVERRIDE {};
+  ~AbstractImageViewManipulator() override {};
 
   //
   // Accessors
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewRenderer.h b/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewRenderer.h
index 28a6891f2c..eb0a0f26ba 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewRenderer.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdAbstractImageViewRenderer.h
@@ -122,7 +122,7 @@ public:
   /**
    * Destructor.
    */
-  ~AbstractImageViewRenderer() ITK_OVERRIDE{};
+  ~AbstractImageViewRenderer() override{};
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdAbstractModelController.h b/Modules/Visualization/MonteverdiGui/include/mvdAbstractModelController.h
index fbefaee858..01c38d2725 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdAbstractModelController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdAbstractModelController.h
@@ -90,7 +90,7 @@ public:
 public:
 
   /** Destructor */
-  ~AbstractModelController() ITK_OVERRIDE;
+  ~AbstractModelController() override;
 
   /** */
   void SetModel( AbstractModel* );
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h b/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h
index 8e5e155b3a..47ae4d2c8c 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdApplicationLauncher.h
@@ -96,7 +96,7 @@ public:
   ApplicationLauncher( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~ApplicationLauncher() ITK_OVERRIDE;
+  ~ApplicationLauncher() override;
 
   /**
    * \return A new instance of the automatically-generated widget of
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBox.h b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBox.h
index 2cc6cc13e5..64b9939b0f 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBox.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBox.h
@@ -99,7 +99,7 @@ public:
   ApplicationsToolBox( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~ApplicationsToolBox() ITK_OVERRIDE;
+  ~ApplicationsToolBox() override;
 
   /** Get TreeWidget */
   // QTreeWidget * GetAlgorithmsTree();
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h
index b8f36d5db6..2c9c3209c8 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdApplicationsToolBoxController.h
@@ -105,7 +105,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~ApplicationsToolBoxController() ITK_OVERRIDE;
+  ~ApplicationsToolBoxController() override;
 
   /** Get the seleceted application Gui */
   // QWidget * GetSelectedApplicationWidget(const QString& appName);
@@ -126,13 +126,13 @@ protected:
   //
   // AbstractModelController methods.
 
-  void Connect( AbstractModel* ) ITK_OVERRIDE;
+  void Connect( AbstractModel* ) override;
 
-  void ClearWidget() ITK_OVERRIDE;
+  void ClearWidget() override;
 
-  void virtual_ResetWidget( bool ) ITK_OVERRIDE;
+  void virtual_ResetWidget( bool ) override;
 
-  void Disconnect( AbstractModel* ) ITK_OVERRIDE;
+  void Disconnect( AbstractModel* ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdColorBandDynamicsWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdColorBandDynamicsWidget.h
index 1130f1b106..57695a9051 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdColorBandDynamicsWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdColorBandDynamicsWidget.h
@@ -142,7 +142,7 @@ public:
   ColorBandDynamicsWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** Destructor */
-  ~ColorBandDynamicsWidget() ITK_OVERRIDE;
+  ~ColorBandDynamicsWidget() override;
 
   /** */
   RgbwChannel GetChannelLabel() const;
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsController.h b/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsController.h
index 4acdf66eb8..2fe26daa79 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsController.h
@@ -98,7 +98,7 @@ public:
   ColorDynamicsController( ColorDynamicsWidget* widget, QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~ColorDynamicsController() ITK_OVERRIDE;
+  ~ColorDynamicsController() override;
 
   /*-[ PUBLIC SLOTS SECTION ]-----------------------------------------------**/
 
@@ -168,13 +168,13 @@ private:
   //
   // AbstractModelController methods.
 
-  void Connect( AbstractModel* ) ITK_OVERRIDE;
+  void Connect( AbstractModel* ) override;
 
-  void ClearWidget() ITK_OVERRIDE;
+  void ClearWidget() override;
 
-  void virtual_ResetWidget( bool ) ITK_OVERRIDE;
+  void virtual_ResetWidget( bool ) override;
 
-  void Disconnect( AbstractModel* ) ITK_OVERRIDE;
+  void Disconnect( AbstractModel* ) override;
 
   /**
    * \brief Reset intensity ranges to default values for given RGB
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsWidget.h
index 4866fc70d5..288005ce89 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdColorDynamicsWidget.h
@@ -122,7 +122,7 @@ public:
   ColorDynamicsWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** Destructor. */
-  ~ColorDynamicsWidget() ITK_OVERRIDE;
+  ~ColorDynamicsWidget() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdColorSetupController.h b/Modules/Visualization/MonteverdiGui/include/mvdColorSetupController.h
index d9f6ff02d0..aadf7f3920 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdColorSetupController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdColorSetupController.h
@@ -100,7 +100,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~ColorSetupController() ITK_OVERRIDE;
+  ~ColorSetupController() override;
 
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
@@ -168,13 +168,13 @@ private:
   //
   // AbstractModelController methods.
 
-  void Connect( AbstractModel* ) ITK_OVERRIDE;
+  void Connect( AbstractModel* ) override;
 
-  void ClearWidget() ITK_OVERRIDE;
+  void ClearWidget() override;
 
-  void virtual_ResetWidget( bool ) ITK_OVERRIDE;
+  void virtual_ResetWidget( bool ) override;
 
-  void Disconnect( AbstractModel* ) ITK_OVERRIDE;
+  void Disconnect( AbstractModel* ) override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdColorSetupWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdColorSetupWidget.h
index 1a09ed3c10..ae1cd0331c 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdColorSetupWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdColorSetupWidget.h
@@ -89,7 +89,7 @@ public:
   ColorSetupWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~ColorSetupWidget() ITK_OVERRIDE;
+  ~ColorSetupWidget() override;
 
   /**
    * \brief Set the component-name list.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdDoubleValidator.h b/Modules/Visualization/MonteverdiGui/include/mvdDoubleValidator.h
index 8872a4ce90..bb17e54a05 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdDoubleValidator.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdDoubleValidator.h
@@ -99,12 +99,12 @@ public:
 		   QObject *p = 0 );
 
   /** \brief Destructor. */
-  ~DoubleValidator() ITK_OVERRIDE;
+  ~DoubleValidator() override;
 
   //
   // QDoubleValidator overloads.
 
-  void fixup( QString& input ) const ITK_OVERRIDE;
+  void fixup( QString& input ) const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdDropLineEdit.h b/Modules/Visualization/MonteverdiGui/include/mvdDropLineEdit.h
index 4c2a83be25..837b28795e 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdDropLineEdit.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdDropLineEdit.h
@@ -100,7 +100,7 @@ public:
   DropLineEdit( const QString& contents, QWidget* p =0 );
 
   /** \brief Destructor. */
-  ~DropLineEdit() ITK_OVERRIDE;
+  ~DropLineEdit() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -120,9 +120,9 @@ signals:
 // Protected methods.
 protected:
 
-  void dragEnterEvent( QDragEnterEvent* event ) ITK_OVERRIDE;
-  void dragMoveEvent( QDragMoveEvent* event ) ITK_OVERRIDE;
-  void dropEvent( QDropEvent* event ) ITK_OVERRIDE;
+  void dragEnterEvent( QDragEnterEvent* event ) override;
+  void dragMoveEvent( QDragMoveEvent* event ) override;
+  void dropEvent( QDropEvent* event ) override;
 
   /*-[ PRIVATE SECTION ]-----------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdFilenameDragAndDropEventFilter.h b/Modules/Visualization/MonteverdiGui/include/mvdFilenameDragAndDropEventFilter.h
index 9595df1c0c..003d313a56 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdFilenameDragAndDropEventFilter.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdFilenameDragAndDropEventFilter.h
@@ -93,7 +93,7 @@ public:
   FilenameDragAndDropEventFilter( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~FilenameDragAndDropEventFilter() ITK_OVERRIDE;
+  ~FilenameDragAndDropEventFilter() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -125,22 +125,22 @@ protected:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragEnterEvent
    */
-  bool DragEnterEvent( QObject* object, QDragEnterEvent* event ) ITK_OVERRIDE;
+  bool DragEnterEvent( QObject* object, QDragEnterEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragLeaveEvent
    */
-  bool DragLeaveEvent( QObject* object, QDragLeaveEvent* event ) ITK_OVERRIDE;
+  bool DragLeaveEvent( QObject* object, QDragLeaveEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragMoveEvent
    */
-  bool DragMoveEvent( QObject* object, QDragMoveEvent* event ) ITK_OVERRIDE;
+  bool DragMoveEvent( QObject* object, QDragMoveEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dropEvent
    */
-  bool DropEvent( QObject* object, QDropEvent* event ) ITK_OVERRIDE;
+  bool DropEvent( QObject* object, QDropEvent* event ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdHistogramController.h b/Modules/Visualization/MonteverdiGui/include/mvdHistogramController.h
index a28ba38fe7..2416c58ddd 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdHistogramController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdHistogramController.h
@@ -101,7 +101,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~HistogramController() ITK_OVERRIDE;
+  ~HistogramController() override;
 
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
@@ -134,13 +134,13 @@ private:
   //
   // AbstractModelController methods.
 
-  void Connect( AbstractModel* ) ITK_OVERRIDE;
+  void Connect( AbstractModel* ) override;
 
-  void ClearWidget() ITK_OVERRIDE;
+  void ClearWidget() override;
 
-  void virtual_ResetWidget( bool = false ) ITK_OVERRIDE;
+  void virtual_ResetWidget( bool = false ) override;
 
-  void Disconnect( AbstractModel* ) ITK_OVERRIDE;
+  void Disconnect( AbstractModel* ) override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdHistogramPlotPicker.h b/Modules/Visualization/MonteverdiGui/include/mvdHistogramPlotPicker.h
index 0e58a1f5d8..d7a3690c12 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdHistogramPlotPicker.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdHistogramPlotPicker.h
@@ -123,7 +123,7 @@ public:
 		       QwtPlotCanvas* canvas );
 
   /** \brief Destructor. */
-  ~HistogramPlotPicker() ITK_OVERRIDE;
+  ~HistogramPlotPicker() override;
 
   /**
    */
@@ -136,7 +136,7 @@ public:
   //
   // QwtPlotPicker methods.
 
-  void drawRubberBand( QPainter* painter ) const ITK_OVERRIDE;
+  void drawRubberBand( QPainter* painter ) const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -161,7 +161,7 @@ protected:
 
   using QwtPlotPicker::trackerText;
 
-  QwtText trackerTextF( const QPointF & ) const ITK_OVERRIDE;
+  QwtText trackerTextF( const QPointF & ) const override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdHistogramWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdHistogramWidget.h
index cbda62ba08..91f9d90f44 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdHistogramWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdHistogramWidget.h
@@ -113,7 +113,7 @@ public:
   HistogramWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~HistogramWidget() ITK_OVERRIDE;
+  ~HistogramWidget() override;
 
   /**
    * \brief
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdI18nApplication.h b/Modules/Visualization/MonteverdiGui/include/mvdI18nApplication.h
index 39e9b08f97..8fdcb9e941 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdI18nApplication.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdI18nApplication.h
@@ -105,7 +105,7 @@ public:
   I18nApplication( QApplication* qtApp );
 
   /** \brief Destructor. */
-  ~I18nApplication() ITK_OVERRIDE;
+  ~I18nApplication() override;
 
   //
   // APPLICATION SINGLETON.
@@ -147,7 +147,7 @@ signals:
 // Protected methods.
 protected:
 
-  void virtual_InitializeCore() ITK_OVERRIDE;
+  void virtual_InitializeCore() override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdI18nMainWindow.h b/Modules/Visualization/MonteverdiGui/include/mvdI18nMainWindow.h
index e4414dfac5..15af81cc82 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdI18nMainWindow.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdI18nMainWindow.h
@@ -103,7 +103,7 @@ public:
 // Public methods.
 public:
   /** \brief Destructor. */
-  ~I18nMainWindow() ITK_OVERRIDE;
+  ~I18nMainWindow() override;
 
   /**
    */
@@ -194,7 +194,7 @@ protected:
   //
   // QMainWindow methods.
 
-  void closeEvent( QCloseEvent* event ) ITK_OVERRIDE;
+  void closeEvent( QCloseEvent* event ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImageViewManipulator.h b/Modules/Visualization/MonteverdiGui/include/mvdImageViewManipulator.h
index 477e50206e..ed63a785f3 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdImageViewManipulator.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdImageViewManipulator.h
@@ -123,7 +123,7 @@ public:
 #endif // USE_VIEW_SETTINGS_SIDE_EFFECT
 
   /** \brief Destructor. */
-  ~ImageViewManipulator() ITK_OVERRIDE;
+  ~ImageViewManipulator() override;
 
   //
   // AbstractImageViewManipulator overloads.
@@ -132,29 +132,29 @@ public:
   //
   // Accessors.
 
-  void SetViewportSize( int width, int height ) ITK_OVERRIDE;
+  void SetViewportSize( int width, int height ) override;
 
-  SizeType GetViewportSize() const ITK_OVERRIDE;
+  SizeType GetViewportSize() const override;
 
-  void SetOrigin( const PointType& origin ) ITK_OVERRIDE;
+  void SetOrigin( const PointType& origin ) override;
 
-  PointType GetOrigin() const ITK_OVERRIDE;
+  PointType GetOrigin() const override;
 
-  void SetSpacing( const SpacingType& spacing ) ITK_OVERRIDE;
+  void SetSpacing( const SpacingType& spacing ) override;
 
-  SpacingType GetSpacing() const ITK_OVERRIDE;
+  SpacingType GetSpacing() const override;
 
-  void SetNativeSpacing( const SpacingType& ) ITK_OVERRIDE;
+  void SetNativeSpacing( const SpacingType& ) override;
 
-  void SetWkt( const std::string& wkt ) ITK_OVERRIDE;
+  void SetWkt( const std::string& wkt ) override;
 
   void SetKeywordList(
     const DefaultImageType::ImageKeywordlistType& kwl
-  ) ITK_OVERRIDE;
+  ) override;
 
-  PointType GetCenter() const ITK_OVERRIDE;
+  PointType GetCenter() const override;
 
-  ZoomType GetFixedZoomType() const ITK_OVERRIDE;
+  ZoomType GetFixedZoomType() const override;
 
   //
   // Controls.
@@ -162,34 +162,34 @@ public:
   
     void
     SetupRenderingContext(
-      AbstractImageViewRenderer::RenderingContext * const ) const ITK_OVERRIDE;
+      AbstractImageViewRenderer::RenderingContext * const ) const override;
 
-  void ZoomIn() ITK_OVERRIDE;
+  void ZoomIn() override;
 
-  void ZoomOut() ITK_OVERRIDE;
+  void ZoomOut() override;
 
-  const PointType& Transform( PointType&, const QPoint& ) const ITK_OVERRIDE;
+  const PointType& Transform( PointType&, const QPoint& ) const override;
 
-  void ResetViewport() ITK_OVERRIDE;
+  void ResetViewport() override;
 
   //
   // Events.
 
-  void MouseMoveEvent( QMouseEvent* event ) ITK_OVERRIDE;
+  void MouseMoveEvent( QMouseEvent* event ) override;
 
-  void MousePressEvent( QMouseEvent* event ) ITK_OVERRIDE;
+  void MousePressEvent( QMouseEvent* event ) override;
 
-  void MouseReleaseEvent( QMouseEvent* event ) ITK_OVERRIDE;
+  void MouseReleaseEvent( QMouseEvent* event ) override;
 
-  void MouseDoubleClickEvent( QMouseEvent * ) ITK_OVERRIDE;
+  void MouseDoubleClickEvent( QMouseEvent * ) override;
 
-  void WheelEvent( QWheelEvent* event) ITK_OVERRIDE;
+  void WheelEvent( QWheelEvent* event) override;
 
-  void ResizeEvent( QResizeEvent* event ) ITK_OVERRIDE;
+  void ResizeEvent( QResizeEvent* event ) override;
 
-  void KeyPressEvent( QKeyEvent* event ) ITK_OVERRIDE;
+  void KeyPressEvent( QKeyEvent* event ) override;
 
-  void KeyReleaseEvent( QKeyEvent* event ) ITK_OVERRIDE;
+  void KeyReleaseEvent( QKeyEvent* event ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]-----------------------------------------------**/
 
@@ -200,9 +200,9 @@ public slots:
   //
   // AbstractImageViewManipulator overloads.
 
-  void CenterOn( const PointType& point ) ITK_OVERRIDE;
+  void CenterOn( const PointType& point ) override;
 
-  void ZoomTo( double scale ) ITK_OVERRIDE;
+  void ZoomTo( double scale ) override;
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h b/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h
index c1d68cc82e..e8c3599d33 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdImageViewRenderer.h
@@ -111,7 +111,7 @@ public:
 
     /**
      */
-    ~RenderingContext() ITK_OVERRIDE;
+    ~RenderingContext() override;
 
     /**
      */
@@ -136,11 +136,11 @@ public:
   ImageViewRenderer( QObject* p = NULL );
 
   /** Destructor */
-  ~ImageViewRenderer() ITK_OVERRIDE;
+  ~ImageViewRenderer() override;
 
   /**
    */
-  bool CheckGLCapabilities( int * ) ITK_OVERRIDE;
+  bool CheckGLCapabilities( int * ) override;
 
   /**
    */
@@ -154,43 +154,43 @@ public:
 
   bool GetLayerDynamics( const StackedLayerModel::KeyType & key,
 				 ParametersType & params,
-				 bool isGlobal ) const ITK_OVERRIDE;
+				 bool isGlobal ) const override;
 
-  const AbstractLayerModel* GetReferenceModel() const ITK_OVERRIDE;
+  const AbstractLayerModel* GetReferenceModel() const override;
 
-  AbstractLayerModel * GetReferenceModel() ITK_OVERRIDE;
+  AbstractLayerModel * GetReferenceModel() override;
 
   void GetLayerExtent( const StackedLayerModel::KeyType & key,
                                PointType& origin,
-                               PointType& extent ) const ITK_OVERRIDE;
+                               PointType& extent ) const override;
 
   void GetReferenceExtent( PointType& origin,
-                                   PointType& extent ) const ITK_OVERRIDE;
+                                   PointType& extent ) const override;
 
   void GetViewExtent( PointType& origin,
-                              PointType& extent ) const ITK_OVERRIDE;
+                              PointType& extent ) const override;
 
   
-  AbstractImageViewRenderer::RenderingContext* NewRenderingContext() const ITK_OVERRIDE;
+  AbstractImageViewRenderer::RenderingContext* NewRenderingContext() const override;
 
-  void InitializeGL() ITK_OVERRIDE;
+  void InitializeGL() override;
 
-  void ResizeGL( int width, int height ) ITK_OVERRIDE;
+  void ResizeGL( int width, int height ) override;
 
   
-  void PaintGL( const AbstractImageViewRenderer::RenderingContext* context ) ITK_OVERRIDE;
+  void PaintGL( const AbstractImageViewRenderer::RenderingContext* context ) override;
 
   void Pick( const PointType & view,
-                     PixelInfo::Vector & pixels ) const ITK_OVERRIDE;
+                     PixelInfo::Vector & pixels ) const override;
 
-  void GetResolutions( PixelInfo::Vector & pixels ) const ITK_OVERRIDE;
+  void GetResolutions( PixelInfo::Vector & pixels ) const override;
 
   bool TransformToView( PointType & point,
 				const StackedLayerModel::KeyType &,
 				const IndexType &,
-				bool isPhysical ) const ITK_OVERRIDE;
+				bool isPhysical ) const override;
 
-  void SaveScreenshot( const QString & ) const ITK_OVERRIDE;
+  void SaveScreenshot( const QString & ) const override;
 
   bool
     Reproject( PointType & center,
@@ -198,7 +198,7 @@ public:
                const PointType & vcenter,
                const SpacingType & vspacing ) const;
 
-  bool IsEffectsEnabled() const ITK_OVERRIDE;
+  bool IsEffectsEnabled() const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -206,7 +206,7 @@ public:
 public slots:
   void UpdatePixelInfo( const QPoint & screen,
 				const PointType & view,
-				const PixelInfo::Vector & pixels ) ITK_OVERRIDE;
+				const PixelInfo::Vector & pixels ) override;
 
   /*-[ SIGNALS SECTION ]-----------------------------------------------------*/
 
@@ -271,24 +271,24 @@ private:
   //
   // AbstractImageViewRenderer overloads.
 
-  void virtual_ClearScene( bool ) ITK_OVERRIDE;
-  void virtual_UpdateScene() ITK_OVERRIDE;
-  void virtual_RefreshScene() ITK_OVERRIDE;
+  void virtual_ClearScene( bool ) override;
+  void virtual_UpdateScene() override;
+  void virtual_RefreshScene() override;
 
   bool virtual_ZoomToRegion( const PointType & origin,
 				     const PointType & extent,
 				     PointType & center,
-				     SpacingType & spacing ) const ITK_OVERRIDE;
+				     SpacingType & spacing ) const override;
 
-  bool virtual_ZoomToExtent( PointType & center, SpacingType & spacing ) const ITK_OVERRIDE;
+  bool virtual_ZoomToExtent( PointType & center, SpacingType & spacing ) const override;
 
   bool virtual_ZoomToLayer( const StackedLayerModel::KeyType & key,
 				    PointType & center,
-				    SpacingType & spacing ) const ITK_OVERRIDE;
+				    SpacingType & spacing ) const override;
 
   bool virtual_ZoomToFull( const StackedLayerModel::KeyType & key,
 				   PointType & center,
-				   SpacingType & spacing ) const ITK_OVERRIDE;
+				   SpacingType & spacing ) const override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImageViewWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdImageViewWidget.h
index c32699f712..9c917ec68f 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdImageViewWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdImageViewWidget.h
@@ -117,7 +117,7 @@ public:
                    Qt::WindowFlags f =0 );
 
   /** \brief Destructor. */
-  ~ImageViewWidget() ITK_OVERRIDE;
+  ~ImageViewWidget() override;
 
   /**
    */
@@ -255,21 +255,21 @@ protected:
   //
   // Qt overloads.
 
-  void initializeGL() ITK_OVERRIDE;
-  void resizeGL( int widgth, int height ) ITK_OVERRIDE;
-  void paintGL() ITK_OVERRIDE;
+  void initializeGL() override;
+  void resizeGL( int widgth, int height ) override;
+  void paintGL() override;
 
-  void mouseMoveEvent( QMouseEvent* event ) ITK_OVERRIDE;
-  void mouseReleaseEvent( QMouseEvent* event ) ITK_OVERRIDE;
-  void mousePressEvent( QMouseEvent* event ) ITK_OVERRIDE;
-  void mouseDoubleClickEvent( QMouseEvent * event ) ITK_OVERRIDE;
+  void mouseMoveEvent( QMouseEvent* event ) override;
+  void mouseReleaseEvent( QMouseEvent* event ) override;
+  void mousePressEvent( QMouseEvent* event ) override;
+  void mouseDoubleClickEvent( QMouseEvent * event ) override;
 
-  void wheelEvent( QWheelEvent* event) ITK_OVERRIDE;
+  void wheelEvent( QWheelEvent* event) override;
 
-  void keyPressEvent( QKeyEvent* event ) ITK_OVERRIDE;
-  void keyReleaseEvent( QKeyEvent* event ) ITK_OVERRIDE;
+  void keyPressEvent( QKeyEvent* event ) override;
+  void keyReleaseEvent( QKeyEvent* event ) override;
 
-  void resizeEvent( QResizeEvent* event ) ITK_OVERRIDE;
+  void resizeEvent( QResizeEvent* event ) override;
 
 
 //
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImportImagesDialog.h b/Modules/Visualization/MonteverdiGui/include/mvdImportImagesDialog.h
index 0441b49919..bee6287291 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdImportImagesDialog.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdImportImagesDialog.h
@@ -105,7 +105,7 @@ public:
 		      Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~ImportImagesDialog() ITK_OVERRIDE;
+  ~ImportImagesDialog() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdImportSubDatasetDialog.h b/Modules/Visualization/MonteverdiGui/include/mvdImportSubDatasetDialog.h
index e1fe0659cf..09b2b13149 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdImportSubDatasetDialog.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdImportSubDatasetDialog.h
@@ -104,7 +104,7 @@ public:
 		     Qt::WindowFlags flags = 0 );
 
   /** \brief Destructor. */
-  ~ImportSubDatasetDialog() ITK_OVERRIDE;
+  ~ImportSubDatasetDialog() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdKeymapDialog.h b/Modules/Visualization/MonteverdiGui/include/mvdKeymapDialog.h
index 3d8400db1d..3abb2722f5 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdKeymapDialog.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdKeymapDialog.h
@@ -77,7 +77,7 @@ public:
   KeymapDialog( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** Destructor */
-  ~KeymapDialog() ITK_OVERRIDE;
+  ~KeymapDialog() override;
 
 //
 // SIGNALS.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackController.h b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackController.h
index 084945ebe4..80af1a4f8e 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackController.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackController.h
@@ -93,7 +93,7 @@ public:
   LayerStackController( LayerStackWidget * widget, QObject * p =NULL );
 
   /** \brief Destructor. */
-  ~LayerStackController() ITK_OVERRIDE;
+  ~LayerStackController() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -135,19 +135,19 @@ private:
 
   /**
    */
-  void Connect( AbstractModel * ) ITK_OVERRIDE;
+  void Connect( AbstractModel * ) override;
 
   /**
    */
-  void Disconnect( AbstractModel * ) ITK_OVERRIDE;
+  void Disconnect( AbstractModel * ) override;
 
   /**
    */
-  void ClearWidget() ITK_OVERRIDE;
+  void ClearWidget() override;
 
   /**
    */
-  void virtual_ResetWidget( bool ) ITK_OVERRIDE;
+  void virtual_ResetWidget( bool ) override;
 
 
 //
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
index 97f096ad9f..44b557b5cd 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackItemModel.h
@@ -136,7 +136,7 @@ public:
   LayerStackItemModel( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~LayerStackItemModel() ITK_OVERRIDE;
+  ~LayerStackItemModel() override;
 
   /**
    */
@@ -152,13 +152,13 @@ public:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#columnCount
    */
-  int columnCount( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  int columnCount( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#data
    */
   QVariant
-    data( const QModelIndex & index, int role = Qt::DisplayRole ) const ITK_OVERRIDE;
+    data( const QModelIndex & index, int role = Qt::DisplayRole ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#dropMimeData
@@ -168,24 +168,24 @@ public:
                   Qt::DropAction action,
                   int row,
                   int column,
-                  const QModelIndex & p ) ITK_OVERRIDE;
+                  const QModelIndex & p ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#flags
    */
-  Qt::ItemFlags flags( const QModelIndex & index ) const ITK_OVERRIDE;
+  Qt::ItemFlags flags( const QModelIndex & index ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#hasChildren
    */
-  bool hasChildren( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  bool hasChildren( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#headerData
    */
   QVariant headerData( int section,
                                Qt::Orientation orientation,
-                               int role = Qt::DisplayRole ) const ITK_OVERRIDE;
+                               int role = Qt::DisplayRole ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#index
@@ -193,7 +193,7 @@ public:
   QModelIndex
     index( int row,
            int column,
-           const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+           const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#insertRows
@@ -201,22 +201,22 @@ public:
   bool
     insertRows( int row,
                 int count,
-                const QModelIndex & p = QModelIndex() ) ITK_OVERRIDE;
+                const QModelIndex & p = QModelIndex() ) override;
 
   /**
    * \see http://doc.qt.io/qt-4.8/qabstractitemmodel.html#mimeData
    */
-  QMimeData * mimeData( const QModelIndexList & indexes ) const ITK_OVERRIDE;
+  QMimeData * mimeData( const QModelIndexList & indexes ) const override;
 
   /**
    * \see http://doc.qt.io/qt-4.8/qabstractitemmodel.html#mimeTypes
    */
-  QStringList mimeTypes() const ITK_OVERRIDE;
+  QStringList mimeTypes() const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#parent
    */
-  QModelIndex parent( const QModelIndex & index ) const ITK_OVERRIDE;
+  QModelIndex parent( const QModelIndex & index ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#removeRows
@@ -224,12 +224,12 @@ public:
   bool
     removeRows( int row,
                 int count,
-                const QModelIndex & p = QModelIndex() ) ITK_OVERRIDE;
+                const QModelIndex & p = QModelIndex() ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#rowCount
    */
-  int rowCount( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  int rowCount( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#setData
@@ -237,12 +237,12 @@ public:
   bool
     setData( const QModelIndex & index,
              const QVariant & value,
-             int role = Qt::EditRole ) ITK_OVERRIDE;
+             int role = Qt::EditRole ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#supportedDropActions
    */
-  Qt::DropActions supportedDropActions() const ITK_OVERRIDE;
+  Qt::DropActions supportedDropActions() const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
index 25b402072c..0eb357d2f2 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdLayerStackWidget.h
@@ -99,7 +99,7 @@ public:
   LayerStackWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~LayerStackWidget() ITK_OVERRIDE;
+  ~LayerStackWidget() override;
 
   /**
    */
@@ -146,7 +146,7 @@ public:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qobject.html#eventFilter
    */
-  bool eventFilter( QObject * watched, QEvent * event ) ITK_OVERRIDE;
+  bool eventFilter( QObject * watched, QEvent * event ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdMultiResolutionPyramidWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdMultiResolutionPyramidWidget.h
index 0ff225da38..52e4995814 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdMultiResolutionPyramidWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdMultiResolutionPyramidWidget.h
@@ -100,7 +100,7 @@ public:
 				Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~MultiResolutionPyramidWidget() ITK_OVERRIDE;
+  ~MultiResolutionPyramidWidget() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h b/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h
index 25c96da09a..89a0a78503 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdOTBApplicationsModel.h
@@ -99,7 +99,7 @@ public:
   OTBApplicationsModel( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~OTBApplicationsModel() ITK_OVERRIDE;
+  ~OTBApplicationsModel() override;
 
   /** \brief Fill Widget Tree */
   void FillTree();
@@ -135,7 +135,7 @@ protected:
   //
   // AbstractModel methods.
 
-  void virtual_BuildModel( void* context =NULL ) ITK_OVERRIDE;
+  void virtual_BuildModel( void* context =NULL ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdPixelDescriptionWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdPixelDescriptionWidget.h
index 615ba575e1..94addba237 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdPixelDescriptionWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdPixelDescriptionWidget.h
@@ -95,7 +95,7 @@ public:
   PixelDescriptionWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~PixelDescriptionWidget() ITK_OVERRIDE;
+  ~PixelDescriptionWidget() override;
 
   /** Get TreeWidget */
   QTreeWidget * GetDescriptionTree();
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h
index be92647e61..c934d84dad 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdProjectionBarWidget.h
@@ -82,7 +82,7 @@ public:
   explicit ProjectionBarWidget(QWidget *p = NULL, Qt::WindowFlags flags = Qt::Widget );
 
   /** \brief Destructor. */
-  ~ProjectionBarWidget() ITK_OVERRIDE;
+  ~ProjectionBarWidget() override;
 
 public slots:
   void SetProjectionScale(double scale_x, double scale_y);
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h
index 9aba72c53a..c55664e2dc 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdQtWidgetView.h
@@ -110,7 +110,7 @@ public:
 		Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~QtWidgetView() ITK_OVERRIDE;
+  ~QtWidgetView() override;
 
   /** \brief Gui Creation. */
   void CreateGui();
@@ -163,7 +163,7 @@ protected:
   //
   // QWidget overloads.
 
-  void closeEvent( QCloseEvent * event ) ITK_OVERRIDE;
+  void closeEvent( QCloseEvent * event ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewManipulator.h b/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewManipulator.h
index 052a39a470..a3ef9066d0 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewManipulator.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewManipulator.h
@@ -98,36 +98,36 @@ public:
 #endif // USE_VIEW_SETTINGS_SIDE_EFFECT
 
   /** \brief Destructor. */
-  ~QuicklookViewManipulator() ITK_OVERRIDE;
+  ~QuicklookViewManipulator() override;
 
   //
   // ImageViewManipulator overloads.
 
-  ZoomType GetFixedZoomType() const ITK_OVERRIDE;
+  ZoomType GetFixedZoomType() const override;
 
   
     void
     SetupRenderingContext(
-      AbstractImageViewRenderer::RenderingContext * const ) const ITK_OVERRIDE;
+      AbstractImageViewRenderer::RenderingContext * const ) const override;
 
 
-  void MousePressEvent( QMouseEvent* event ) ITK_OVERRIDE;
+  void MousePressEvent( QMouseEvent* event ) override;
 
-  void MouseMoveEvent( QMouseEvent* event ) ITK_OVERRIDE;
+  void MouseMoveEvent( QMouseEvent* event ) override;
 
   // virtual void MousePressEvent( QMouseEvent* event );
 
   // virtual void MouseReleaseEvent( QMouseEvent* event );
 
-  void MouseDoubleClickEvent( QMouseEvent * ) ITK_OVERRIDE {};
+  void MouseDoubleClickEvent( QMouseEvent * ) override {};
 
-  void WheelEvent( QWheelEvent* event) ITK_OVERRIDE;
+  void WheelEvent( QWheelEvent* event) override;
 
-  void ResizeEvent( QResizeEvent * event ) ITK_OVERRIDE;
+  void ResizeEvent( QResizeEvent * event ) override;
 
-  void KeyPressEvent( QKeyEvent* event ) ITK_OVERRIDE;
+  void KeyPressEvent( QKeyEvent* event ) override;
 
-  void KeyReleaseEvent( QKeyEvent* event ) ITK_OVERRIDE;
+  void KeyReleaseEvent( QKeyEvent* event ) override;
 
   /*-[ PUBLIC SLOTS SECTION ]-----------------------------------------------**/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewRenderer.h b/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewRenderer.h
index 5c86c1f943..d0124848c2 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewRenderer.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdQuicklookViewRenderer.h
@@ -108,7 +108,7 @@ public:
       m_RoiOrigin.Fill( 0 );
     }
 
-    ~RenderingContext() ITK_OVERRIDE {}
+    ~RenderingContext() override {}
 
     PointType m_RoiOrigin;
     PointType m_RoiExtent;
@@ -121,13 +121,13 @@ public:
   QuicklookViewRenderer( QObject* p = NULL );
 
   /** Destructor */
-  ~QuicklookViewRenderer() ITK_OVERRIDE;
+  ~QuicklookViewRenderer() override;
 
   //
   // ImageViewRenderer overloads.
 
   
-  AbstractImageViewRenderer::RenderingContext* NewRenderingContext() const ITK_OVERRIDE;
+  AbstractImageViewRenderer::RenderingContext* NewRenderingContext() const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -150,7 +150,7 @@ protected:
   // ImageViewRenderer overloads.
 
   
-  void UpdateActors( const AbstractImageViewRenderer::RenderingContext* c ) ITK_OVERRIDE;
+  void UpdateActors( const AbstractImageViewRenderer::RenderingContext* c ) override;
 
 //
 // Protected attributes.
@@ -170,13 +170,13 @@ private:
 
   //
   // ImageViewRenderer methods.
-  void virtual_SetProjection() ITK_OVERRIDE;
-  void virtual_UpdateProjection() ITK_OVERRIDE;
+  void virtual_SetProjection() override;
+  void virtual_UpdateProjection() override;
 
   //
   // AbstractImageViewRenderer overloads.
   // TODO: Move virtual_*Scene() methods to protected section.
-  void virtual_FinishScene() ITK_OVERRIDE;
+  void virtual_FinishScene() override;
 
 //
 // Private attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdSearchableTreeWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdSearchableTreeWidget.h
index cafadc9473..a6d12edee2 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdSearchableTreeWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdSearchableTreeWidget.h
@@ -102,7 +102,7 @@ public:
   SearchableTreeWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~SearchableTreeWidget() ITK_OVERRIDE;
+  ~SearchableTreeWidget() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h
index 4d1b55c63c..22bae26ea0 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdShaderWidget.h
@@ -101,7 +101,7 @@ public:
 		Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~ShaderWidget() ITK_OVERRIDE;
+  ~ShaderWidget() override;
 
   /**
    */
@@ -144,7 +144,7 @@ private:
   void SetEffectVisible(const Effect & effect, bool visible);
   
   /** */
-  void virtual_SetSettings( ImageSettings * ) ITK_OVERRIDE;
+  void virtual_SetSettings( ImageSettings * ) override;
 
   /**
    * Set the ComboBox effects item for the corresponding image settings.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdStatusBarWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdStatusBarWidget.h
index 6ff51de45d..8377dcffd6 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdStatusBarWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdStatusBarWidget.h
@@ -97,7 +97,7 @@ public:
   StatusBarWidget( QWidget* p =NULL, Qt::WindowFlags flags =0 );
 
   /** \brief Destructor. */
-  ~StatusBarWidget() ITK_OVERRIDE;
+  ~StatusBarWidget() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdTaskProgressDialog.h b/Modules/Visualization/MonteverdiGui/include/mvdTaskProgressDialog.h
index 700399768f..8c4765d337 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdTaskProgressDialog.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdTaskProgressDialog.h
@@ -99,7 +99,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~TaskProgressDialog() ITK_OVERRIDE;
+  ~TaskProgressDialog() override;
 
   /**
    */
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidget.h b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidget.h
index 7f4d0f0c40..ba83567d72 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidget.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidget.h
@@ -124,7 +124,7 @@ public:
   TreeWidget( QWidget* p =NULL );
 
   /** \brief Destructor. */
-  ~TreeWidget() ITK_OVERRIDE;
+  ~TreeWidget() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -151,17 +151,17 @@ protected:
   //
   // QTreeWidget overloads.
 
-  QStringList mimeTypes() const ITK_OVERRIDE;
+  QStringList mimeTypes() const override;
 
-  QMimeData* mimeData( const QList< QTreeWidgetItem* > items ) const ITK_OVERRIDE;
+  QMimeData* mimeData( const QList< QTreeWidgetItem* > items ) const override;
 
-  void dragEnterEvent( QDragEnterEvent* event ) ITK_OVERRIDE;
-  void dragMoveEvent( QDragMoveEvent* event ) ITK_OVERRIDE;
-  void dragLeaveEvent( QDragLeaveEvent* event ) ITK_OVERRIDE;
-  void dropEvent( QDropEvent* event ) ITK_OVERRIDE;
+  void dragEnterEvent( QDragEnterEvent* event ) override;
+  void dragMoveEvent( QDragMoveEvent* event ) override;
+  void dragLeaveEvent( QDragLeaveEvent* event ) override;
+  void dropEvent( QDropEvent* event ) override;
 
-  Qt::DropActions supportedDropActions() const ITK_OVERRIDE;
-  void startDrag( Qt::DropActions supportedActions ) ITK_OVERRIDE;
+  Qt::DropActions supportedDropActions() const override;
+  void startDrag( Qt::DropActions supportedActions ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItem.h b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItem.h
index 248c831483..a1950223da 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItem.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItem.h
@@ -120,7 +120,7 @@ public:
   /**
    * \brief Destructor.
    */
-  ~TreeWidgetItem() ITK_OVERRIDE;
+  ~TreeWidgetItem() override;
 
   /**
    */
@@ -145,7 +145,7 @@ public:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qtreewidgetitem.html#clone
    */
-  QTreeWidgetItem* clone() const ITK_OVERRIDE;
+  QTreeWidgetItem* clone() const override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
diff --git a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItemDragAndDropEventFilter.h b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItemDragAndDropEventFilter.h
index b66b4e991e..c09a9ff1b1 100644
--- a/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItemDragAndDropEventFilter.h
+++ b/Modules/Visualization/MonteverdiGui/include/mvdTreeWidgetItemDragAndDropEventFilter.h
@@ -93,7 +93,7 @@ public:
   TreeWidgetItemDragAndDropEventFilter( QObject* p =NULL );
 
   /** \brief Destructor. */
-  ~TreeWidgetItemDragAndDropEventFilter() ITK_OVERRIDE;
+  ~TreeWidgetItemDragAndDropEventFilter() override;
 
   /*-[ PUBLIC SLOTS SECTION ]------------------------------------------------*/
 
@@ -121,22 +121,22 @@ protected:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragEnterEvent
    */
-  bool DragEnterEvent( QObject* object, QDragEnterEvent* event ) ITK_OVERRIDE;
+  bool DragEnterEvent( QObject* object, QDragEnterEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragLeaveEvent
    */
-  bool DragLeaveEvent( QObject* object, QDragLeaveEvent* event ) ITK_OVERRIDE;
+  bool DragLeaveEvent( QObject* object, QDragLeaveEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dragMoveEvent
    */
-  bool DragMoveEvent( QObject* object, QDragMoveEvent* event ) ITK_OVERRIDE;
+  bool DragMoveEvent( QObject* object, QDragMoveEvent* event ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qwidget.html#dropEvent
    */
-  bool DropEvent( QObject* object, QDropEvent* event ) ITK_OVERRIDE;
+  bool DropEvent( QObject* object, QDropEvent* event ) override;
 
 //
 // Protected attributes.
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbLogger.h b/Modules/Wrappers/ApplicationEngine/include/otbLogger.h
index ba43072a19..c1c87e05e3 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbLogger.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbLogger.h
@@ -45,7 +45,7 @@ public:
   itkNewMacro(Self);
 
   // Overwrite this to provide custom formatting of log entries
-  std::string BuildFormattedEntry(itk::Logger::PriorityLevelType, std::string const&) ITK_OVERRIDE;
+  std::string BuildFormattedEntry(itk::Logger::PriorityLevelType, std::string const&) override;
 
 protected:
     Logger();
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
index 3cf9114c81..9dec89465c 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperAddProcessToWatchEvent.h
@@ -46,7 +46,7 @@ public:
 
   AddProcessToWatchEvent(){}
   AddProcessToWatchEvent(const Self& s) :itk::EventObject(s){};
-  ~AddProcessToWatchEvent() ITK_OVERRIDE {}
+  ~AddProcessToWatchEvent() override {}
 
   /** Set/Get the process to watch */
   virtual void SetProcess(itk::ProcessObject * process)
@@ -70,16 +70,16 @@ public:
   }
 
   /** Virtual pure method to implement */
-  itk::EventObject* MakeObject() const ITK_OVERRIDE
+  itk::EventObject* MakeObject() const override
   {
     return new Self;
   }
 
-  const char* GetEventName() const ITK_OVERRIDE
+  const char* GetEventName() const override
   {
     return "AddProcess";
   }
-  bool CheckEvent(const itk::EventObject* e) const ITK_OVERRIDE
+  bool CheckEvent(const itk::EventObject* e) const override
   {
     return dynamic_cast<const Self*>(e);
   }
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
index c6317be142..bf5ac14c5d 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplication.h
@@ -849,7 +849,7 @@ protected:
   Application();
 
   /** Destructor */
-  ~Application() ITK_OVERRIDE;
+  ~Application() override;
 
   /* Register a ProcessObject as a new progress source */
   void AddProcess(itk::ProcessObject* object, std::string description);
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
index 4b3119096c..f0461e2982 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactory.h
@@ -40,12 +40,12 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Class methods used to interface with the registered factories. */
-  const char* GetITKSourceVersion(void) const ITK_OVERRIDE
+  const char* GetITKSourceVersion(void) const override
     {
     return ITK_SOURCE_VERSION;
     }
 
-  const char* GetDescription(void) const ITK_OVERRIDE
+  const char* GetDescription(void) const override
     {
     return "ApplicationFactory";
     }
@@ -74,7 +74,7 @@ protected:
 
   }
 
-  ~ApplicationFactory() ITK_OVERRIDE
+  ~ApplicationFactory() override
   {
 
   }
@@ -82,7 +82,7 @@ protected:
   /** This method is provided by sub-classes of ObjectFactoryBase.
    * It should create the named itk object or return 0 if that object
    * is not supported by the factory implementation. */
-  LightObject::Pointer CreateObject(const char* itkclassname ) ITK_OVERRIDE
+  LightObject::Pointer CreateObject(const char* itkclassname ) override
   {
     LightObject::Pointer ret;
     if ( m_ClassName == itkclassname)
@@ -95,7 +95,7 @@ protected:
    * itkclass name, which are provide by this object
    */
   std::list<LightObject::Pointer>
-  CreateAllObject(const char* itkclassname) ITK_OVERRIDE
+  CreateAllObject(const char* itkclassname) override
   {
     const std::string applicationClass("otbWrapperApplication");
     std::list<LightObject::Pointer> list;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactoryBase.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactoryBase.h
index cafab0a141..2012736f81 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactoryBase.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationFactoryBase.h
@@ -48,7 +48,7 @@ public:
 protected:
   ApplicationFactoryBase(){}
 
-  ~ApplicationFactoryBase() ITK_OVERRIDE{}
+  ~ApplicationFactoryBase() override{}
 
 private:
   ApplicationFactoryBase(const Self &); //purposely not implemented
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationRegistry.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationRegistry.h
index 0bb290c71e..b31c8ed3b0 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationRegistry.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperApplicationRegistry.h
@@ -79,7 +79,7 @@ public:
 
 protected:
   ApplicationRegistry();
-  ~ApplicationRegistry() ITK_OVERRIDE;
+  ~ApplicationRegistry() override;
 
 private:
   ApplicationRegistry(const Self&); //purposely not implemented
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
index b376323214..b2bd1d55f7 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperChoiceParameter.h
@@ -88,12 +88,12 @@ public:
   /** Return any value */
   virtual unsigned int GetValue();
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return !m_ChoiceList.empty();
   }
 
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     // Same as constructor init value
     // Note that this may be invalid if HasValue() == false
@@ -105,7 +105,7 @@ protected:
   ChoiceParameter();
 
   /** Destructor */
-  ~ChoiceParameter() ITK_OVERRIDE;
+  ~ChoiceParameter() override;
 
   struct Choice
   {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
index 264967e376..0c9fdfe7e7 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexInputImageParameter.h
@@ -106,9 +106,9 @@ the macro otbGetParameterImageMacro of otbWrapperApplication.h */
   template <class TComplexInputImage, class TOutputImage>
     TOutputImage* CastImage();
 
-  bool HasValue() const ITK_OVERRIDE;
+  bool HasValue() const override;
 
-  void ClearValue() ITK_OVERRIDE;
+  void ClearValue() override;
 
 
 protected:
@@ -116,7 +116,7 @@ protected:
   ComplexInputImageParameter();
 
   /** Destructor */
-  ~ComplexInputImageParameter() ITK_OVERRIDE;
+  ~ComplexInputImageParameter() override;
 
   ImageBaseType::Pointer m_Image;
   std::string m_FileName;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
index 0613816b47..c43b21cdef 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperComplexOutputImageParameter.h
@@ -77,7 +77,7 @@ public:
   itkGetMacro(RAMValue, unsigned int);
 
   /** Implement the reset method (replace pixel type by default type) */
-  void Reset() ITK_OVERRIDE
+  void Reset() override
   {
     m_ComplexPixelType = m_DefaultComplexPixelType;
   }
@@ -90,7 +90,7 @@ public:
   static bool ConvertStringToPixelType(const std::string &value, ComplexImagePixelType &type);
 
   /** Return true if a filename is set */
-  bool HasValue() const ITK_OVERRIDE;
+  bool HasValue() const override;
 
   void SetFileName (const char* filename)
   {
@@ -114,7 +114,7 @@ protected:
   /** Constructor */
   ComplexOutputImageParameter();
   /** Destructor */
-  ~ComplexOutputImageParameter() ITK_OVERRIDE;
+  ~ComplexOutputImageParameter() override;
 
   template <class TInputImageType>
     void SwitchImageWrite();
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
index 601b9450a9..49c46aef40 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperCompositeApplication.h
@@ -72,7 +72,7 @@ protected:
   CompositeApplication();
 
   /** Destructor */
-  ~CompositeApplication() ITK_OVERRIDE;
+  ~CompositeApplication() override;
 
   /**
    * Callback function to retrieve the process watchers on internal filters
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperDirectoryParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperDirectoryParameter.h
index 252ea13f57..9e461109d9 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperDirectoryParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperDirectoryParameter.h
@@ -52,7 +52,7 @@ public:
   /** RTTI support */
   itkTypeMacro(DirectoryParameter, Parameter);
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return m_StringParam->HasValue();
   }
@@ -62,13 +62,13 @@ public:
   otbGetObjectMemberMacro(StringParam, Value , std::string);
 
   // Clear Value
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_StringParam->ClearValue();
   }
 
   // Reimplement the SetActive method
-  void SetActive(  const bool value ) ITK_OVERRIDE
+  void SetActive(  const bool value ) override
   {
     Superclass::SetActive( value );
     m_StringParam->SetActive( value );
@@ -85,7 +85,7 @@ protected:
   }
 
   /** Destructor */
-  ~DirectoryParameter() ITK_OVERRIDE
+  ~DirectoryParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperDocExampleStructure.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperDocExampleStructure.h
index b7ab6885a1..c8bdf7a960 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperDocExampleStructure.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperDocExampleStructure.h
@@ -120,7 +120,7 @@ protected:
   /** Constructor */
   DocExampleStructure();
   /** Destructor */
-  ~DocExampleStructure() ITK_OVERRIDE;
+  ~DocExampleStructure() override;
 
 private:
   DocExampleStructure(const DocExampleStructure &); //purposely not implemented
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperEmptyParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperEmptyParameter.h
index 7978c5fb4f..fd6fbc3aa2 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperEmptyParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperEmptyParameter.h
@@ -50,12 +50,12 @@ public:
   itkTypeMacro(EmptyParameter, Parameter);
 
   /** HasValue */
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return false;
   }
 
-  bool HasUserValue() const ITK_OVERRIDE
+  bool HasUserValue() const override
   {
     return this->m_UserValue;
   }
@@ -69,7 +69,7 @@ protected:
   }
 
   /** Destructor */
-  ~EmptyParameter() ITK_OVERRIDE
+  ~EmptyParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputFilenameParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputFilenameParameter.h
index 5186853f01..2fafb3ecd5 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputFilenameParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputFilenameParameter.h
@@ -51,7 +51,7 @@ public:
   itkTypeMacro(InputFilenameParameter, Parameter);
 
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return m_StringParam->HasValue();
   }
@@ -69,7 +69,7 @@ public:
     }
 
   // Clear Value
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_StringParam->ClearValue();
   }
@@ -85,7 +85,7 @@ protected:
   }
 
   /** Destructor */
-  ~InputFilenameParameter() ITK_OVERRIDE
+  ~InputFilenameParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
index 3f83839de1..a12dba6efe 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputImageParameter.h
@@ -107,9 +107,9 @@ public:
   template <class TInputImage, class TOutputImage>
   TOutputImage*  CastImage();
 
-  bool HasValue() const ITK_OVERRIDE;
+  bool HasValue() const override;
 
-  void ClearValue() ITK_OVERRIDE;
+  void ClearValue() override;
 
 
 protected:
@@ -117,7 +117,7 @@ protected:
   InputImageParameter();
 
   /** Destructor */
-  ~InputImageParameter() ITK_OVERRIDE;
+  ~InputImageParameter() override;
 
   ImageBaseType::Pointer m_Image;
   std::string m_FileName;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
index 889d79600d..b896b7f23d 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputProcessXMLParameter.h
@@ -52,7 +52,7 @@ public:
 
   itkGetStringMacro(FileName);
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     if(m_FileName.empty())
       return false;
@@ -86,7 +86,7 @@ protected:
   InputProcessXMLParameter();
 
   /** Destructor */
-  ~InputProcessXMLParameter() ITK_OVERRIDE;
+  ~InputProcessXMLParameter() override;
 
 private:
 
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
index f84a3834eb..9442815771 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperInputVectorDataParameter.h
@@ -62,16 +62,16 @@ public:
 
   void SetVectorData(VectorDataType* vectorData);
 
-  bool HasValue() const ITK_OVERRIDE;
+  bool HasValue() const override;
 
-  void ClearValue() ITK_OVERRIDE;
+  void ClearValue() override;
 
 protected:
   /** Constructor */
   InputVectorDataParameter();
 
   /** Destructor */
-  ~InputVectorDataParameter() ITK_OVERRIDE;
+  ~InputVectorDataParameter() override;
 
   typedef otb::VectorDataFileReader<VectorDataType> VectorDataFileReaderType;
   VectorDataType::Pointer m_VectorData;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
index fb03f066f0..aa5e3feb57 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperListViewParameter.h
@@ -84,13 +84,13 @@ public:
   /** Return any value */
   virtual unsigned int GetValue();
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     // a choice parameter always has a value
     return true;
   }
 
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     // nothing to do : a choice parameter always has a value
   }
@@ -155,7 +155,7 @@ protected:
   ListViewParameter();
 
   /** Destructor */
-  ~ListViewParameter() ITK_OVERRIDE;
+  ~ListViewParameter() override;
 
   struct ListViewChoice
   {
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperNumericalParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperNumericalParameter.h
index 6fc5d551ae..de97a3471b 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperNumericalParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperNumericalParameter.h
@@ -54,7 +54,7 @@ public:
   typedef T ScalarType;
 
   /** Implement the reset method (replace value by default value) */
-  void Reset() ITK_OVERRIDE
+  void Reset() override
   {
     m_Value = m_DefaultValue;
   }
@@ -88,12 +88,12 @@ public:
     return boost::any_cast<ScalarType>(m_Value);
   }
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return !m_Value.empty();
   }
 
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_Value = boost::any();
   }
@@ -125,7 +125,7 @@ protected:
   {}
 
   /** Destructor */
-  ~NumericalParameter() ITK_OVERRIDE
+  ~NumericalParameter() override
   {}
 
   /** Value */
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputFilenameParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputFilenameParameter.h
index c8b7437b55..a528a39927 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputFilenameParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputFilenameParameter.h
@@ -51,7 +51,7 @@ public:
   itkTypeMacro(OutputFilenameParameter, Parameter);
 
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return m_StringParam->HasValue();
   }
@@ -69,7 +69,7 @@ public:
     }
 
   // Clear Value
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_StringParam->ClearValue();
   }
@@ -85,7 +85,7 @@ protected:
   }
 
   /** Destructor */
-  ~OutputFilenameParameter() ITK_OVERRIDE
+  ~OutputFilenameParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
index fd0c392b70..aab831aba8 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputImageParameter.h
@@ -78,7 +78,7 @@ public:
   itkGetMacro(RAMValue, unsigned int);
 
   /** Implement the reset method (replace pixel type by default type) */
-  void Reset() ITK_OVERRIDE
+  void Reset() override
   {
     m_PixelType = m_DefaultPixelType;
   }
@@ -91,7 +91,7 @@ public:
   static bool ConvertStringToPixelType(const std::string &value, ImagePixelType &type);
 
   /** Return true if a filename is set */
-  bool HasValue() const ITK_OVERRIDE;
+  bool HasValue() const override;
 
   void SetFileName (const char* filename)
   {
@@ -117,7 +117,7 @@ protected:
   /** Constructor */
   OutputImageParameter();
   /** Destructor */
-  ~OutputImageParameter() ITK_OVERRIDE;
+  ~OutputImageParameter() override;
 
   template <class TInputVectorImageType>
     void SwitchVectorImageWrite();
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
index 7f247f2baa..d870ee8023 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputProcessXMLParameter.h
@@ -66,7 +66,7 @@ public:
     this->Modified();
     }
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     if(m_FileName.empty())
       return false;
@@ -74,7 +74,7 @@ public:
       return true;
   }
 
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_FileName = "";
   }
@@ -94,7 +94,7 @@ protected:
   OutputProcessXMLParameter();
 
   /** Destructor */
-  ~OutputProcessXMLParameter() ITK_OVERRIDE;
+  ~OutputProcessXMLParameter() override;
 
 private:
 
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
index fb90702544..d1b9c31d37 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperOutputVectorDataParameter.h
@@ -59,7 +59,7 @@ public:
   itkGetObjectMacro(VectorData, VectorDataType);
 
   /** Return true if a filename is set */
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     std::string filename(this->GetFileName());
     return !filename.empty();
@@ -116,7 +116,7 @@ protected:
   }
 
   /** Destructor */
-  ~OutputVectorDataParameter() ITK_OVERRIDE
+  ~OutputVectorDataParameter() override
   {}
 
 
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
index 236411f8f2..bbd0e47ff6 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameter.h
@@ -231,7 +231,7 @@ protected:
   {}
 
   /** Destructor */
-  ~Parameter() ITK_OVERRIDE {}
+  ~Parameter() override {}
 
   /** Name of the parameter */
   std::string                        m_Name;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
index f6d552c6d3..36c8240990 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperParameterGroup.h
@@ -95,7 +95,7 @@ public:
   std::vector<std::string> GetParametersKeys(bool recursive = true);
 
   // Always has value
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return true;
   }
@@ -106,7 +106,7 @@ public:
 
 protected:
   ParameterGroup();
-  ~ParameterGroup() ITK_OVERRIDE;
+  ~ParameterGroup() override;
 
   typedef std::vector<Parameter::Pointer> ParameterListType;
   ParameterListType m_ParameterList;
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h
index c7594f8c5d..1bc45bbd74 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperProxyParameter.h
@@ -77,7 +77,7 @@ public:
 
 protected:
   ProxyParameter() {}
-  ~ProxyParameter() ITK_OVERRIDE {}
+  ~ProxyParameter() override {}
 
 private:
   ProxyParameter(const Self &); //purposely not implemented
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperRAMParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperRAMParameter.h
index 0d6b36c229..e9c4fb97d5 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperRAMParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperRAMParameter.h
@@ -52,7 +52,7 @@ public:
   typedef NumericalParameter<unsigned int>     UnsignedIntParameter;
   typedef UnsignedIntParameter::ScalarType     ScalarType;
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return m_UnsignedIntParam->HasValue();
   }
@@ -71,19 +71,19 @@ public:
   otbGetObjectMemberMacro(UnsignedIntParam,  MaximumValue, ScalarType);
 
   // Clear Value
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_UnsignedIntParam->ClearValue();
   }
 
   // Reset
-  void Reset() ITK_OVERRIDE
+  void Reset() override
   {
     m_UnsignedIntParam->Reset();
   }
 
   // Reimplement the SetActive method
-  void SetActive(  const bool value ) ITK_OVERRIDE
+  void SetActive(  const bool value ) override
   {
     Superclass::SetActive( value );
     m_UnsignedIntParam->SetActive( value );
@@ -107,7 +107,7 @@ protected:
   }
 
   /** Destructor */
-  ~RAMParameter() ITK_OVERRIDE
+  ~RAMParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperRadiusParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperRadiusParameter.h
index 27e9e726fe..020e647bbf 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperRadiusParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperRadiusParameter.h
@@ -49,7 +49,7 @@ public:
   /** RTTI support */
   itkTypeMacro(RadiusParameter, Parameter);
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return true;
   }
@@ -64,7 +64,7 @@ protected:
   }
 
   /** Destructor */
-  ~RadiusParameter() ITK_OVERRIDE
+  ~RadiusParameter() override
   {}
 
 private:
diff --git a/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringParameter.h b/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringParameter.h
index 9c8b1e88a9..861e0b428c 100644
--- a/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringParameter.h
+++ b/Modules/Wrappers/ApplicationEngine/include/otbWrapperStringParameter.h
@@ -63,12 +63,12 @@ public:
     return m_Value;
   }
 
-  bool HasValue() const ITK_OVERRIDE
+  bool HasValue() const override
   {
     return !m_Value.empty();
   }
 
-  void ClearValue() ITK_OVERRIDE
+  void ClearValue() override
   {
     m_Value = "";
   }
@@ -79,7 +79,7 @@ protected:
   {}
 
   /** Destructor */
-  ~StringParameter() ITK_OVERRIDE
+  ~StringParameter() override
   {}
 
   std::string  m_Value;
diff --git a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
index c54d4a9fed..51b76e9b0b 100644
--- a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
+++ b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineLauncher.h
@@ -122,7 +122,7 @@ protected:
   CommandLineLauncher();
 
   /** Destructor */
-  ~CommandLineLauncher() ITK_OVERRIDE;
+  ~CommandLineLauncher() override;
 
   /** Load the executable path. It looks for the key --modulePath,
     * extract and interpret as path the following strings.
diff --git a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
index 42c449f18c..9f35a7b892 100644
--- a/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
+++ b/Modules/Wrappers/CommandLine/include/otbWrapperCommandLineParser.h
@@ -90,7 +90,7 @@ protected:
   CommandLineParser();
 
   /** Destructor */
-  ~CommandLineParser() ITK_OVERRIDE;
+  ~CommandLineParser() override;
 
 private:
   CommandLineParser(const CommandLineParser &); //purposely not implemented
diff --git a/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h b/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h
index 5dd5b1b482..c158f64d11 100644
--- a/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h
+++ b/Modules/Wrappers/QtWidget/include/itkQtProgressBar.h
@@ -42,7 +42,7 @@ public:
   QtProgressBar( QWidget *parent );
 
   /** Destructor */
-  ~QtProgressBar() ITK_OVERRIDE;
+  ~QtProgressBar() override;
 
   /** Get Command */
   RedrawCommandType * GetRedrawCommand( void ) const;
diff --git a/Modules/Wrappers/QtWidget/include/otbQtApplication.h b/Modules/Wrappers/QtWidget/include/otbQtApplication.h
index 3950aaf3a5..24b10bdceb 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtApplication.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtApplication.h
@@ -40,7 +40,7 @@ class OTBQtWidget_EXPORT QtApplication : public QApplication
 public:
   QtApplication(int& argc, char** argv);
 
-  bool notify(QObject *object, QEvent* event) ITK_OVERRIDE;
+  bool notify(QObject *object, QEvent* event) override;
 
 signals:
 
diff --git a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
index ec1977b33a..ad51f5af1d 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtFileSelectionWidget.h
@@ -51,7 +51,7 @@ public:
   };
 
   QtFileSelectionWidget();
-  ~QtFileSelectionWidget() ITK_OVERRIDE;
+  ~QtFileSelectionWidget() override;
 
   bool IsChecked()
   {
diff --git a/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h b/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h
index b4ca74de99..cdf9a6e806 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtLogOutput.h
@@ -55,16 +55,16 @@ public:
   itkNewMacro(QtLogOutput);
 
   /** flush a buffer */
-  void Flush() ITK_OVERRIDE;
+  void Flush() override;
 
   /** Write to multiple outputs */
-  void Write(double timestamp) ITK_OVERRIDE;
+  void Write(double timestamp) override;
 
   /** Write to a buffer */
-  void Write(std::string const &content) ITK_OVERRIDE;
+  void Write(std::string const &content) override;
 
   /** Write to a buffer */
-  void Write(std::string const &content, double timestamp) ITK_OVERRIDE;
+  void Write(std::string const &content, double timestamp) override;
 
 signals:
   void NewContentLog(QString);
@@ -74,9 +74,9 @@ protected:
   QtLogOutput();
 
   /** Destructor */
-  ~QtLogOutput() ITK_OVERRIDE;
+  ~QtLogOutput() override;
 
-  void PrintSelf(std::ostream &os, itk::Indent indent) const ITK_OVERRIDE;
+  void PrintSelf(std::ostream &os, itk::Indent indent) const override;
 };
 
 }
diff --git a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
index 1b65bb6d2e..90db3a01cb 100644
--- a/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
+++ b/Modules/Wrappers/QtWidget/include/otbQtStringSelectionWidget.h
@@ -49,7 +49,7 @@ signals:
 
 public:
   QtStringSelectionWidget();
-  ~QtStringSelectionWidget() ITK_OVERRIDE;
+  ~QtStringSelectionWidget() override;
 
   bool IsChecked()
   {
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h
index 855a26e9c8..0d6067c68f 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetChoiceParameter.h
@@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetChoiceParameter : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetChoiceParameter(ChoiceParameter*, QtWidgetModel*);
-  ~QtWidgetChoiceParameter() ITK_OVERRIDE;
+  ~QtWidgetChoiceParameter() override;
 
 protected slots:
   void SetValue( int value );
@@ -51,9 +51,9 @@ private:
   QtWidgetChoiceParameter(const QtWidgetChoiceParameter&); //purposely not implemented
   void operator=(const QtWidgetChoiceParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   ChoiceParameter::Pointer m_ChoiceParam;
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h
index 249283011e..ec2a3c4a6e 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexInputImageParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetComplexInputImageParameter : public QtWidgetPar
   Q_OBJECT
 public:
   QtWidgetComplexInputImageParameter(ComplexInputImageParameter*, QtWidgetModel*);
-  ~QtWidgetComplexInputImageParameter() ITK_OVERRIDE;
+  ~QtWidgetComplexInputImageParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -56,9 +56,9 @@ private:
   QtWidgetComplexInputImageParameter(const QtWidgetComplexInputImageParameter&); //purposely not implemented
   void operator=(const QtWidgetComplexInputImageParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   ComplexInputImageParameter::Pointer m_ComplexInputImageParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
index 1ec7b3f325..0dbda46016 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetComplexOutputImageParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetComplexOutputImageParameter : public QtWidgetPa
   Q_OBJECT
 public:
   QtWidgetComplexOutputImageParameter(ComplexOutputImageParameter*, QtWidgetModel*);
-  ~QtWidgetComplexOutputImageParameter() ITK_OVERRIDE;
+  ~QtWidgetComplexOutputImageParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -62,9 +62,9 @@ private:
   QtWidgetComplexOutputImageParameter(const QtWidgetComplexOutputImageParameter&); //purposely not implemented
   void operator=(const QtWidgetComplexOutputImageParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   std::string m_FileName;
   ComplexOutputImageParameter::Pointer m_OutputImageParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h
index 8a9a4951bb..e7d051f72d 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetDirectoryParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetDirectoryParameter : public QtWidgetParameterBa
   Q_OBJECT
 public:
   QtWidgetDirectoryParameter(DirectoryParameter*, QtWidgetModel*);
-  ~QtWidgetDirectoryParameter() ITK_OVERRIDE;
+  ~QtWidgetDirectoryParameter() override;
 
 protected slots:
   void SetFileName( const QString& value );
@@ -53,9 +53,9 @@ private:
   QtWidgetDirectoryParameter(const QtWidgetDirectoryParameter&); //purposely not implemented
   void operator=(const QtWidgetDirectoryParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   DirectoryParameter::Pointer m_DirectoryParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h
index c5c9f6a7bd..44f0625ceb 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetEmptyParameter.h
@@ -43,15 +43,15 @@ class OTBQtWidget_EXPORT QtWidgetEmptyParameter : public QtWidgetParameterBase
 
 public:
   QtWidgetEmptyParameter(EmptyParameter*, QtWidgetModel*);
-  ~QtWidgetEmptyParameter() ITK_OVERRIDE;
+  ~QtWidgetEmptyParameter() override;
 
 private:
   QtWidgetEmptyParameter(const QtWidgetEmptyParameter&); //purposely not implemented
   void operator=(const QtWidgetEmptyParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 };
 
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h
index 47275ef86c..3eb2b23890 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetFloatParameter.h
@@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetFloatParameter : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetFloatParameter(FloatParameter*, QtWidgetModel*);
-  ~QtWidgetFloatParameter() ITK_OVERRIDE;
+  ~QtWidgetFloatParameter() override;
 
 protected slots:
   void SetValue( double value );
@@ -51,9 +51,9 @@ private:
   QtWidgetFloatParameter(const QtWidgetFloatParameter&); //purposely not implemented
   void operator=(const QtWidgetFloatParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   QHBoxLayout *           m_QHBoxLayout;
   QDoubleSpinBox *        m_QDoubleSpinBox;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h
index 110c18a292..9069ccabc3 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputFilenameParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetInputFilenameParameter : public QtWidgetParamet
   Q_OBJECT
 public:
   QtWidgetInputFilenameParameter(InputFilenameParameter*, QtWidgetModel*);
-  ~QtWidgetInputFilenameParameter() ITK_OVERRIDE;
+  ~QtWidgetInputFilenameParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -56,9 +56,9 @@ private:
   QtWidgetInputFilenameParameter(const QtWidgetInputFilenameParameter&); //purposely not implemented
   void operator=(const QtWidgetInputFilenameParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   InputFilenameParameter::Pointer m_FilenameParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
index 5c970fc5c7..a335ee5e06 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputImageParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetInputImageParameter : public QtWidgetParameterB
   Q_OBJECT
 public:
   QtWidgetInputImageParameter(InputImageParameter*, QtWidgetModel*);
-  ~QtWidgetInputImageParameter() ITK_OVERRIDE;
+  ~QtWidgetInputImageParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -62,9 +62,9 @@ private:
   QtWidgetInputImageParameter(const QtWidgetInputImageParameter&); //purposely not implemented
   void operator=(const QtWidgetInputImageParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   InputImageParameter::Pointer m_InputImageParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h
index 407d76c3ad..0c78193d4d 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputProcessXMLParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetInputProcessXMLParameter : public QtWidgetParam
   Q_OBJECT
 public:
   QtWidgetInputProcessXMLParameter(InputProcessXMLParameter*, QtWidgetModel*);
-  ~QtWidgetInputProcessXMLParameter() ITK_OVERRIDE;
+  ~QtWidgetInputProcessXMLParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -56,9 +56,9 @@ private:
   QtWidgetInputProcessXMLParameter(const QtWidgetInputProcessXMLParameter&); //purposely not implemented
   void operator=(const QtWidgetInputProcessXMLParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   InputProcessXMLParameter::Pointer m_XMLParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h
index 8b7a6d785c..9106b98550 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetInputVectorDataParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetInputVectorDataParameter : public QtWidgetParam
   Q_OBJECT
 public:
   QtWidgetInputVectorDataParameter(InputVectorDataParameter*, QtWidgetModel*);
-  ~QtWidgetInputVectorDataParameter() ITK_OVERRIDE;
+  ~QtWidgetInputVectorDataParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -56,9 +56,9 @@ private:
   QtWidgetInputVectorDataParameter(const QtWidgetInputVectorDataParameter&); //purposely not implemented
   void operator=(const QtWidgetInputVectorDataParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   InputVectorDataParameter::Pointer m_InputVectorDataParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h
index aa39992d98..1acab2f590 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetIntParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetIntParameter : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetIntParameter(IntParameter*, QtWidgetModel*);
-  ~QtWidgetIntParameter() ITK_OVERRIDE;
+  ~QtWidgetIntParameter() override;
 
 protected slots:
   void SetValue( int value );
@@ -52,9 +52,9 @@ private:
   QtWidgetIntParameter(const QtWidgetIntParameter&); //purposely not implemented
   void operator=(const QtWidgetIntParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   QHBoxLayout *         m_QHBoxLayout;
   QSpinBox *            m_QSpinBox;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h
index 34000ebc98..4c87960744 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListEditItemModel.h
@@ -122,7 +122,7 @@ public:
 		     QObject * p = nullptr );
 
   /** \brief Destructor. */
-  ~ListEditItemModel() ITK_OVERRIDE;
+  ~ListEditItemModel() override;
 
   //
   // QAbstractItemModel overloads.
@@ -130,31 +130,31 @@ public:
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#columnCount
    */
-  int columnCount( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  int columnCount( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#data
    */
   QVariant
     data( const QModelIndex & index,
-	  int role = Qt::DisplayRole ) const ITK_OVERRIDE;
+	  int role = Qt::DisplayRole ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#flags
    */
-  Qt::ItemFlags flags( const QModelIndex & index ) const ITK_OVERRIDE;
+  Qt::ItemFlags flags( const QModelIndex & index ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#hasChildren
    */
-  bool hasChildren( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  bool hasChildren( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#headerData
    */
   QVariant headerData( int section,
                                Qt::Orientation orientation,
-                               int role = Qt::DisplayRole ) const ITK_OVERRIDE;
+                               int role = Qt::DisplayRole ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#index
@@ -162,7 +162,7 @@ public:
   QModelIndex
     index( int row,
            int column,
-           const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+           const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://doc.qt.io/qt-4.8/qabstractitemmodel.html#insertRow
@@ -176,12 +176,12 @@ public:
   bool
     insertRows( int row,
                 int count,
-                const QModelIndex & p = QModelIndex() ) ITK_OVERRIDE;
+                const QModelIndex & p = QModelIndex() ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#parent
    */
-  QModelIndex parent( const QModelIndex & index ) const ITK_OVERRIDE;
+  QModelIndex parent( const QModelIndex & index ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#removeRows
@@ -189,12 +189,12 @@ public:
   bool
     removeRows( int row,
                 int count,
-                const QModelIndex & p = QModelIndex() ) ITK_OVERRIDE;
+                const QModelIndex & p = QModelIndex() ) override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#rowCount
    */
-  int rowCount( const QModelIndex & p = QModelIndex() ) const ITK_OVERRIDE;
+  int rowCount( const QModelIndex & p = QModelIndex() ) const override;
 
   /**
    * \see http://qt-project.org/doc/qt-4.8/qabstractitemmodel.html#setData
@@ -202,7 +202,7 @@ public:
   bool
     setData( const QModelIndex & index,
              const QVariant & value,
-             int role = Qt::EditRole ) ITK_OVERRIDE;
+             int role = Qt::EditRole ) override;
 
   /** */
   virtual bool Swap( int, int );
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h
index 3f8685810f..afef1c44d4 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetListViewParameter.h
@@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetListViewParameter : public QtWidgetParameterBas
   Q_OBJECT
 public:
   QtWidgetListViewParameter(ListViewParameter*, QtWidgetModel*);
-  ~QtWidgetListViewParameter() ITK_OVERRIDE;
+  ~QtWidgetListViewParameter() override;
 
   std::vector<int>  GetSelectedItems()
   {
@@ -56,9 +56,9 @@ private:
   QtWidgetListViewParameter(const QtWidgetListViewParameter&); //purposely not implemented
   void operator=(const QtWidgetListViewParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   ListViewParameter::Pointer m_ListViewParam;
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h
index 92c135dd6e..2fefeda56e 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetModel.h
@@ -44,7 +44,7 @@ class OTBQtWidget_EXPORT AppliThread : public QThread
       m_Application = app;
     }
 
-  ~AppliThread() ITK_OVERRIDE;
+  ~AppliThread() override;
 
   inline void Execute()
   {
@@ -69,7 +69,7 @@ signals:
   void ExceptionRaised( QString what );
 
 protected:
-  void run() ITK_OVERRIDE;
+  void run() override;
 
 private:
   AppliThread(const AppliThread&); //purposely not implemented
@@ -90,7 +90,7 @@ class OTBQtWidget_EXPORT QtWidgetModel : public QObject
 public:
   QtWidgetModel(Application* app);
 
-  ~QtWidgetModel() ITK_OVERRIDE;
+  ~QtWidgetModel() override;
 
   Application* GetApplication()
   {
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h
index fc39587360..4a8d089f52 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputFilenameParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputFilenameParameter : public QtWidgetParame
   Q_OBJECT
 public:
   QtWidgetOutputFilenameParameter(OutputFilenameParameter*, QtWidgetModel*);
-  ~QtWidgetOutputFilenameParameter() ITK_OVERRIDE;
+  ~QtWidgetOutputFilenameParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -58,9 +58,9 @@ private:
   QtWidgetOutputFilenameParameter(const QtWidgetOutputFilenameParameter&); //purposely not implemented
   void operator=(const QtWidgetOutputFilenameParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   OutputFilenameParameter::Pointer m_FilenameParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
index 878f7ee56f..8ae053cf1b 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputImageParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputImageParameter : public QtWidgetParameter
   Q_OBJECT
 public:
   QtWidgetOutputImageParameter(OutputImageParameter*, QtWidgetModel*);
-  ~QtWidgetOutputImageParameter() ITK_OVERRIDE;
+  ~QtWidgetOutputImageParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -62,9 +62,9 @@ private:
   QtWidgetOutputImageParameter(const QtWidgetOutputImageParameter&); //purposely not implemented
   void operator=(const QtWidgetOutputImageParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   std::string m_FileName;
   OutputImageParameter::Pointer m_OutputImageParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h
index 10cd6481e7..9b8d519f73 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputProcessXMLParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputProcessXMLParameter : public QtWidgetPara
   Q_OBJECT
 public:
   QtWidgetOutputProcessXMLParameter(OutputProcessXMLParameter*, QtWidgetModel*);
-  ~QtWidgetOutputProcessXMLParameter() ITK_OVERRIDE;
+  ~QtWidgetOutputProcessXMLParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -58,9 +58,9 @@ private:
   QtWidgetOutputProcessXMLParameter(const QtWidgetOutputProcessXMLParameter&); //purposely not implemented
   void operator=(const QtWidgetOutputProcessXMLParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
 
   OutputProcessXMLParameter::Pointer m_XMLParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
index 2e9fcae1ee..f859b8a60e 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetOutputVectorDataParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetOutputVectorDataParameter : public QtWidgetPara
   Q_OBJECT
 public:
   QtWidgetOutputVectorDataParameter(OutputVectorDataParameter*, QtWidgetModel*);
-  ~QtWidgetOutputVectorDataParameter() ITK_OVERRIDE;
+  ~QtWidgetOutputVectorDataParameter() override;
 
   inline const QLineEdit* GetInput() const;
   inline QLineEdit* GetInput();
@@ -61,9 +61,9 @@ private:
   QtWidgetOutputVectorDataParameter(const QtWidgetOutputVectorDataParameter&); //purposely not implemented
   void operator=(const QtWidgetOutputVectorDataParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   std::string m_FileName;
   OutputVectorDataParameter::Pointer m_OutputVectorDataParam;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h
index db88ca9ace..225427ef18 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterBase.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterBase : public QWidget
   Q_OBJECT
 public:
   QtWidgetParameterBase( Parameter *, QtWidgetModel * );
-  ~QtWidgetParameterBase() ITK_OVERRIDE;
+  ~QtWidgetParameterBase() override;
 
   void CreateWidget();
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h
index d5ae3f2a48..6fd1f14f41 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterFactory.h
@@ -64,7 +64,7 @@ public:
 
 protected:
   QtWidgetParameterFactory();
-  ~QtWidgetParameterFactory() ITK_OVERRIDE;
+  ~QtWidgetParameterFactory() override;
 
 private:
   QtWidgetParameterFactory(const Self&); //purposely not implemented
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h
index 3e3969739f..0ecf0bd6cb 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterGroup.h
@@ -46,18 +46,18 @@ class OTBQtWidget_EXPORT QtWidgetParameterGroup : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetParameterGroup(ParameterGroup::Pointer, QtWidgetModel*);
-  ~QtWidgetParameterGroup() ITK_OVERRIDE;
+  ~QtWidgetParameterGroup() override;
 
 public slots:
-  void SetActivationState( bool value ) ITK_OVERRIDE;
+  void SetActivationState( bool value ) override;
 
 private:
   QtWidgetParameterGroup(const QtWidgetParameterGroup&); //purposely not implemented
   void operator=(const QtWidgetParameterGroup&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   virtual void ProcessChild(Parameter * currentNode, bool status);
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h
index bbe31014cb..1bb699dfff 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetParameterLabel.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetParameterLabel : public QWidget
   Q_OBJECT
 public:
   QtWidgetParameterLabel(Parameter*);
-  ~QtWidgetParameterLabel() ITK_OVERRIDE;
+  ~QtWidgetParameterLabel() override;
 
 private:
   QtWidgetParameterLabel(const QtWidgetParameterLabel&); //purposely not implemented
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
index 521a109acb..3c3f017aa4 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetProgressReport.h
@@ -45,7 +45,7 @@ class OTBQtWidget_EXPORT QtWidgetProgressReport : public QWidget
   Q_OBJECT
 public:
   QtWidgetProgressReport(QtWidgetModel * model);
-  ~QtWidgetProgressReport() ITK_OVERRIDE;
+  ~QtWidgetProgressReport() override;
 
   void SetApplication(Application::Pointer app);
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h
index eabf78f1e9..c8fcc31011 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetRAMParameter.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetRAMParameter : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetRAMParameter(RAMParameter*, QtWidgetModel*);
-  ~QtWidgetRAMParameter() ITK_OVERRIDE;
+  ~QtWidgetRAMParameter() override;
 
 protected slots:
   void SetValue( int value );
@@ -52,9 +52,9 @@ private:
   QtWidgetRAMParameter(const QtWidgetRAMParameter&); //purposely not implemented
   void operator=(const QtWidgetRAMParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   QHBoxLayout *         m_QHBoxLayout;
   QSpinBox *            m_QSpinBox;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
index 3f5c4605bf..df13944c65 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetSimpleProgressReport.h
@@ -45,7 +45,7 @@ class OTBQtWidget_EXPORT QtWidgetSimpleProgressReport : public QWidget
   Q_OBJECT
 public:
   QtWidgetSimpleProgressReport(QtWidgetModel * model);
-  ~QtWidgetSimpleProgressReport() ITK_OVERRIDE;
+  ~QtWidgetSimpleProgressReport() override;
 
   void SetApplication(Application::Pointer app);
 
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h
index b639cf3797..bf3bb78275 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetStringParameter.h
@@ -42,7 +42,7 @@ class OTBQtWidget_EXPORT QtWidgetStringParameter : public QtWidgetParameterBase
   Q_OBJECT
 public:
   QtWidgetStringParameter(StringParameter*, QtWidgetModel*);
-  ~QtWidgetStringParameter() ITK_OVERRIDE;
+  ~QtWidgetStringParameter() override;
 
 protected slots:
   void SetValue( const QString& value );
@@ -51,9 +51,9 @@ private:
   QtWidgetStringParameter(const QtWidgetStringParameter&); //purposely not implemented
   void operator=(const QtWidgetStringParameter&); //purposely not implemented
 
-  void DoCreateWidget() ITK_OVERRIDE;
+  void DoCreateWidget() override;
 
-  void DoUpdateGUI() ITK_OVERRIDE;
+  void DoUpdateGUI() override;
 
   StringParameter::Pointer m_StringParam;
   QHBoxLayout *            m_HLayout;
diff --git a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
index 08857a2420..5a004af2dc 100644
--- a/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
+++ b/Modules/Wrappers/QtWidget/include/otbWrapperQtWidgetView.h
@@ -43,7 +43,7 @@ class OTBQtWidget_EXPORT QtWidgetView : public QWidget
   Q_OBJECT
 public:
   QtWidgetView(Application* app);
-  ~QtWidgetView() ITK_OVERRIDE;
+  ~QtWidgetView() override;
 
   void CreateGui();
 
diff --git a/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetParameterFactory.cxx b/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetParameterFactory.cxx
index 9ff2a0eea2..e830bd1324 100644
--- a/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetParameterFactory.cxx
+++ b/Modules/Wrappers/QtWidget/test/otbWrapperQtWidgetParameterFactory.cxx
@@ -54,19 +54,19 @@ protected:
   {
   }
 
-  ~StubApplication() ITK_OVERRIDE
+  ~StubApplication() override
   {
   }
 
-  void DoInit() ITK_OVERRIDE
+  void DoInit() override
   {
   }
 
-  void DoUpdateParameters() ITK_OVERRIDE
+  void DoUpdateParameters() override
   {
   }
 
-  void DoExecute() ITK_OVERRIDE
+  void DoExecute() override
   {
   }
 };
diff --git a/Modules/Wrappers/SWIG/src/python/itkPyCommand.h b/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
index f7f28333ea..5537bd56c3 100644
--- a/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
+++ b/Modules/Wrappers/SWIG/src/python/itkPyCommand.h
@@ -70,8 +70,8 @@ public:
 
   PyObject * GetCommandCallable();
 
-  void Execute(Object *, const EventObject&) ITK_OVERRIDE;
-  void Execute(const Object *, const EventObject&) ITK_OVERRIDE;
+  void Execute(Object *, const EventObject&) override;
+  void Execute(const Object *, const EventObject&) override;
 
 protected:
   PyCommand();
-- 
GitLab