diff --git a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
index bdad273d83e1ef015e0937227a6c01014976fa94..364310ce8c02354023969ec6aa20d3906ee8c845 100644
--- a/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
+++ b/Modules/Applications/AppClassification/include/otbLearningApplicationBase.h
@@ -82,7 +82,7 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard macro */
-  itkTypeMacro(LearningApplicationBase, otb::Application)
+  itkTypeMacro(LearningApplicationBase, otb::Application);
 
   typedef TInputValue                             InputValueType;
   typedef TOutputValue                            OutputValueType;
diff --git a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
index 6e7ffc57c2f779701ac7f81d34e9c6daeace62f7..ccba6ced548974d9e190d19f8cc46b3ef536d3de 100644
--- a/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainImagesBase.h
@@ -54,7 +54,7 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard macro */
-  itkTypeMacro( TrainImagesBase, Superclass )
+  itkTypeMacro( TrainImagesBase, Superclass );
 
   /** filters typedefs*/
   typedef otb::OGRDataToSamplePositionFilter<FloatVectorImageType, UInt8ImageType, otb::PeriodicSampler> PeriodicSamplerType;
diff --git a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
index ce6d04f39775e8183b63fb3c3c57521b3a966e75..6c23afbfdb6677a579f0953a0f8fa30571cd6c6c 100644
--- a/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
+++ b/Modules/Applications/AppClassification/include/otbTrainVectorBase.h
@@ -59,7 +59,7 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard macro */
-  itkTypeMacro(Self, Superclass)
+  itkTypeMacro(Self, Superclass);
 
   typedef Superclass::SampleType SampleType;
   typedef Superclass::ListSampleType ListSampleType;
diff --git a/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h b/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
index da91402fdaddd776926b1479205ca19238f82ac8..2d55a299415cf511403e94531e582369773a13df 100644
--- a/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
+++ b/Modules/Applications/AppDimensionalityReduction/include/otbTrainDimensionalityReductionApplicationBase.h
@@ -77,7 +77,7 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard macro */
-  itkTypeMacro(TrainDimensionalityReductionApplicationBase, otb::Application)
+  itkTypeMacro(TrainDimensionalityReductionApplicationBase, otb::Application);
 
   typedef TInputValue                             InputValueType;
   typedef TOutputValue                            OutputValueType;
diff --git a/Modules/Core/PointSet/include/otbRandomPointSetSource.h b/Modules/Core/PointSet/include/otbRandomPointSetSource.h
index 4659e73fadf8c2b3b2eb9c2c6f4f43cb7ef52123..bf337f49c391433e346dacb3473628990921004a 100644
--- a/Modules/Core/PointSet/include/otbRandomPointSetSource.h
+++ b/Modules/Core/PointSet/include/otbRandomPointSetSource.h
@@ -56,10 +56,10 @@ public:
   typedef itk::SmartPointer<const Self>   ConstPointer;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
 
   /** Run-time type information (and related methods). */
-  itkTypeMacro(RandomPointSetSource, PointSetSource)
+  itkTypeMacro(RandomPointSetSource, PointSetSource);
 
   /** Some convenient typedefs. */
   typedef itk::DataObject::Pointer                     DataObjectPointer;
@@ -72,13 +72,13 @@ public:
   typedef GeneratorType::Pointer                                 GeneratorPointerType;
   typedef GeneratorType::IntegerType                             SeedType;
 
-  itkSetMacro(NumberOfPoints, unsigned int)
-  itkGetMacro(NumberOfPoints, unsigned int)
+  itkSetMacro(NumberOfPoints, unsigned int);
+  itkGetMacro(NumberOfPoints, unsigned int);
 
-  itkSetMacro(MinPoint, PointType)
-  itkGetMacro(MinPoint, PointType)
-  itkSetMacro(MaxPoint, PointType)
-  itkGetMacro(MaxPoint, PointType)
+  itkSetMacro(MinPoint, PointType);
+  itkGetMacro(MinPoint, PointType);
+  itkSetMacro(MaxPoint, PointType);
+  itkGetMacro(MaxPoint, PointType);
 
   void SetSeed(SeedType seed)
   {
diff --git a/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h b/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
index a747383b911b32a6b814433e64008b30d78a395d..751d64d0df188c7643509e7a24a661b5150601fe 100644
--- a/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
+++ b/Modules/Detection/UrbanArea/include/otbUrbanAreaDetectionImageFilter.h
@@ -27,7 +27,7 @@
 #include "itkBinaryErodeImageFilter.h"
 #include "itkBinaryDilateImageFilter.h"
 #include "itkBinaryBallStructuringElement.h"
-
+#include "itkMacro.h"
 #include "itkSobelEdgeDetectionImageFilter.h"
 #include "otbEdgeDetectorImageFilter.h"
 #include "otbEdgeDensityImageFilter.h"
diff --git a/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h b/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
index e03748dc54cbe3539f34ae37b549127755ec418b..ab44998126a053778b72cd2f443b44b6b6327760 100644
--- a/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
+++ b/Modules/Feature/Textures/include/otbScalarImageToAdvancedTexturesFilter.h
@@ -22,8 +22,8 @@
 #define otbScalarImageToAdvancedTexturesFilter_h
 
 #include "otbGreyLevelCooccurrenceIndexedList.h"
+#include "itkMacro.h"
 #include "itkImageToImageFilter.h"
-
 namespace otb
 {
 /**
diff --git a/Modules/Filtering/Contrast/include/otbApplyGainFilter.h b/Modules/Filtering/Contrast/include/otbApplyGainFilter.h
index 89deb206440993133ec4b36a099e8026b5418185..08e02f74ac67c31646aae5cbb8c368bf1b5cf7ec 100644
--- a/Modules/Filtering/Contrast/include/otbApplyGainFilter.h
+++ b/Modules/Filtering/Contrast/include/otbApplyGainFilter.h
@@ -59,35 +59,35 @@ public :
   typedef typename OutputImageType::RegionType OutputImageRegionType;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
   /** Run-time type information (and related methods). */
-  itkTypeMacro(ComputeHistoFilter, ImageToImageFilter)
+  itkTypeMacro(ComputeHistoFilter, ImageToImageFilter);
 
   /** Get/Set macro to get/set the nodata value */
-  itkSetMacro(NoData, InputPixelType)
-  itkGetMacro(NoData, InputPixelType)
+  itkSetMacro(NoData, InputPixelType);
+  itkGetMacro(NoData, InputPixelType);
 
   /** Get/Set macro to get/set the nodata flag value */
-  itkBooleanMacro(NoDataFlag)
-  itkGetMacro(NoDataFlag, bool)
-  itkSetMacro(NoDataFlag, bool)
+  itkBooleanMacro(NoDataFlag);
+  itkGetMacro(NoDataFlag, bool);
+  itkSetMacro(NoDataFlag, bool);
 
   /** Get/Set macro to get/set the ThumbSizeFromSpacing flag value */
-  itkBooleanMacro(ThumbSizeFromSpacing)
-  itkGetMacro(ThumbSizeFromSpacing, bool)
-  itkSetMacro(ThumbSizeFromSpacing, bool)
+  itkBooleanMacro(ThumbSizeFromSpacing);
+  itkGetMacro(ThumbSizeFromSpacing, bool);
+  itkSetMacro(ThumbSizeFromSpacing, bool);
 
   /** Get/Set macro to get/set the thumbnail's size */
-  itkSetMacro(ThumbSize, typename InputImageType::SizeType)
-  itkGetMacro(ThumbSize, typename InputImageType::SizeType)
+  itkSetMacro(ThumbSize, typename InputImageType::SizeType);
+  itkGetMacro(ThumbSize, typename InputImageType::SizeType);
 
   /** Get/Set macro to get/set the minimum value */
-  itkSetMacro(Min, InputPixelType)
-  itkGetMacro(Min, InputPixelType)
+  itkSetMacro(Min, InputPixelType);
+  itkGetMacro(Min, InputPixelType);
 
   /** Get/Set macro to get/set the maximum value */
-  itkSetMacro(Max, InputPixelType)
-  itkGetMacro(Max, InputPixelType)
+  itkSetMacro(Max, InputPixelType);
+  itkGetMacro(Max, InputPixelType);
 
   /** Set the input look up table*/
   void SetInputLut( const LutType * lut) ;
diff --git a/Modules/Filtering/Contrast/include/otbCLHistogramEqualizationFilter.h b/Modules/Filtering/Contrast/include/otbCLHistogramEqualizationFilter.h
index d8fe0d2c66353d22bf1c5ee224479ec774acb8c5..2cff5480a98edf261fb5b66a6dbb1159d5efff36 100644
--- a/Modules/Filtering/Contrast/include/otbCLHistogramEqualizationFilter.h
+++ b/Modules/Filtering/Contrast/include/otbCLHistogramEqualizationFilter.h
@@ -78,12 +78,12 @@ public :
   typedef typename InputImageType::PixelType InputPixelType;
   typedef typename OutputImageType::RegionType OutputImageRegionType;
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
   /** Run-time type information (and related methods). */
-  itkTypeMacro(CLHistogramEqualizationFilter, ImageToImageFilter)
+  itkTypeMacro(CLHistogramEqualizationFilter, ImageToImageFilter);
 
-  itkGetMacro(Min , InputPixelType)
-  // itkSetMacro(Min, InputPixelType)
+  itkGetMacro(Min , InputPixelType);
+  // itkSetMacro(Min, InputPixelType);
   void SetMin( InputPixelType min )
     {
     m_HistoFilter->SetMin(min);
@@ -92,8 +92,8 @@ public :
     m_Min = min;
     };
 
-  itkGetMacro(Max , InputPixelType)
-  // itkSetMacro(Max, InputPixelType)
+  itkGetMacro(Max , InputPixelType);
+  // itkSetMacro(Max, InputPixelType);
   void SetMax( InputPixelType max )
     {
     m_HistoFilter->SetMax(max);
@@ -102,16 +102,16 @@ public :
     m_Max = max;
     };
 
-  itkGetMacro(NbBin , unsigned long)
-  // itkSetMacro(NbBin, unsigned long)
+  itkGetMacro(NbBin , unsigned long);
+  // itkSetMacro(NbBin, unsigned long);
   void SetNbBin( unsigned long bin )
     {
     m_HistoFilter->SetNbBin(bin);
     m_NbBin = bin;
     };
 
-  itkGetMacro(ThumbSize , typename InputImageType::SizeType)
-  // itkSetMacro(ThumbSize, typename InputImageType::SizeType)
+  itkGetMacro(ThumbSize , typename InputImageType::SizeType);
+  // itkSetMacro(ThumbSize, typename InputImageType::SizeType);
   void SetThumbSize( typename InputImageType::SizeType size )
     {
     m_HistoFilter->SetThumbSize(size);
@@ -120,16 +120,16 @@ public :
     m_ThumbSize = size;
     };
 
-  itkGetMacro(Threshold , double)
-  // itkSetMacro(Threshold, double)
+  itkGetMacro(Threshold , double);
+  // itkSetMacro(Threshold, double);
   void SetThreshold( double t )
     {
     m_HistoFilter->SetThreshold(t);
     m_Threshold = t;
     };
 
-  itkGetMacro(NoData , InputPixelType)
-  // itkSetMacro(NoData, InputPixelType)
+  itkGetMacro(NoData , InputPixelType);
+  // itkSetMacro(NoData, InputPixelType);
   void SetNoData( InputPixelType n )
     {
     m_HistoFilter->SetNoData(n);
@@ -138,8 +138,8 @@ public :
     }
 
 
-  itkGetMacro(NoDataFlag , bool)
-  // itkSetMacro(NoDataFlag, bool)
+  itkGetMacro(NoDataFlag , bool);
+  // itkSetMacro(NoDataFlag, bool);
   void SetNoDataFlag( bool flag )
     {
     m_HistoFilter->SetNoDataFlag(flag);
diff --git a/Modules/Filtering/Contrast/include/otbComputeGainLutFilter.h b/Modules/Filtering/Contrast/include/otbComputeGainLutFilter.h
index 0dd3c07c998d94661d98b83a88c534be9d6d9c56..d5df45e0212db055a76ecdb5d1d2561f7140ac9f 100644
--- a/Modules/Filtering/Contrast/include/otbComputeGainLutFilter.h
+++ b/Modules/Filtering/Contrast/include/otbComputeGainLutFilter.h
@@ -61,21 +61,21 @@ public:
   typedef typename OutputImageType::RegionType OutputImageRegionType;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
   /** Run-time type information (and related methods). */
-  itkTypeMacro(ComputeGainLutFilter, ImageToImageFilter)
+  itkTypeMacro(ComputeGainLutFilter, ImageToImageFilter);
 
   /** Get/Set macro to get/set the number of pixel by histogram */
-  itkSetMacro(NbPixel, unsigned long)
-  itkGetMacro(NbPixel, unsigned long)
+  itkSetMacro(NbPixel, unsigned long);
+  itkGetMacro(NbPixel, unsigned long);
 
   /** Get/Set macro to get/set the minimum value */
-  itkSetMacro(Min, double)
-  itkGetMacro(Min, double)
+  itkSetMacro(Min, double);
+  itkGetMacro(Min, double);
 
   /** Get/Set macro to get/set the maximum value */
-  itkSetMacro(Max, double)
-  itkGetMacro(Max, double)
+  itkSetMacro(Max, double);
+  itkGetMacro(Max, double);
 
 protected:
   ComputeGainLutFilter() ;
diff --git a/Modules/Filtering/Contrast/include/otbComputeHistoFilter.h b/Modules/Filtering/Contrast/include/otbComputeHistoFilter.h
index 5068cae0ab82336f90a67989ff4c58a7e22e9850..9a8bedca4684d8338b406031bc9ef2910349b897 100644
--- a/Modules/Filtering/Contrast/include/otbComputeHistoFilter.h
+++ b/Modules/Filtering/Contrast/include/otbComputeHistoFilter.h
@@ -60,39 +60,39 @@ public:
   typedef typename OutputImageType::RegionType OutputImageRegionType;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
 
   /** Run-time type information (and related methods). */
-  itkTypeMacro(ComputeHistoFilter, ImageToImageFilter)
+  itkTypeMacro(ComputeHistoFilter, ImageToImageFilter);
 
   /** Get/Set macro to get/set the number of bin. Default value is 256 */
-  itkSetMacro(NbBin, unsigned int)
-  itkGetMacro(NbBin, unsigned int)
+  itkSetMacro(NbBin, unsigned int);
+  itkGetMacro(NbBin, unsigned int);
 
   /** Get/Set macro to get/set the minimum value */
-  itkSetMacro(Min, InputPixelType)
-  itkGetMacro(Min, InputPixelType)
+  itkSetMacro(Min, InputPixelType);
+  itkGetMacro(Min, InputPixelType);
 
   /** Get/Set macro to get/set the maximum value */
-  itkSetMacro(Max, InputPixelType)
-  itkGetMacro(Max, InputPixelType)
+  itkSetMacro(Max, InputPixelType);
+  itkGetMacro(Max, InputPixelType);
 
   /** Get/Set macro to get/set the nodata value */
-  itkSetMacro(NoData, InputPixelType)
-  itkGetMacro(NoData, InputPixelType)
+  itkSetMacro(NoData, InputPixelType);
+  itkGetMacro(NoData, InputPixelType);
 
   /** Get/Set macro to get/set the nodata flag value */
-  itkBooleanMacro(NoDataFlag)
-  itkGetMacro(NoDataFlag, bool)
-  itkSetMacro(NoDataFlag, bool)
+  itkBooleanMacro(NoDataFlag);
+  itkGetMacro(NoDataFlag, bool);
+  itkSetMacro(NoDataFlag, bool);
 
   /** Get/Set macro to get/set the thumbnail's size */
-  itkSetMacro(ThumbSize, SizeType)
-  itkGetMacro(ThumbSize, SizeType)
+  itkSetMacro(ThumbSize, SizeType);
+  itkGetMacro(ThumbSize, SizeType);
 
   /** Get/Set macro to get/set the threshold parameter */
-  itkSetMacro(Threshold , float)
-  itkGetMacro(Threshold , float)
+  itkSetMacro(Threshold , float);
+  itkGetMacro(Threshold , float);
 
   typename OutputImageType::Pointer GetHistoOutput();
 
diff --git a/Modules/Filtering/ImageManipulation/include/otbInPlacePassFilter.h b/Modules/Filtering/ImageManipulation/include/otbInPlacePassFilter.h
index 22085dd00f9b5da1e3962550d4788e99d7855640..0eb620fad6bd11a8d5add06c105b3c391db65be1 100644
--- a/Modules/Filtering/ImageManipulation/include/otbInPlacePassFilter.h
+++ b/Modules/Filtering/ImageManipulation/include/otbInPlacePassFilter.h
@@ -56,10 +56,10 @@ public:
   typedef itk::SmartPointer< const Self > ConstPointer;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
 
   /** Run-time type information (and related methods). */
-  itkTypeMacro(InPlacePassFilter, InPlaceImageFilter)
+  itkTypeMacro(InPlacePassFilter, InPlaceImageFilter);
 
 protected:
   InPlacePassFilter() {
diff --git a/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h b/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
index bad5b738a9a2dbbd976a0f645fcb6a26ebb574c7..52b639eb2f7f17f0775df5953210128447d9c023 100644
--- a/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
+++ b/Modules/Filtering/MathParser/include/otbMaskMuParserFilter.h
@@ -81,11 +81,11 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Method for creation through the object factory. */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
 ;
 
   /** Run-time type information (and related methods). */
-  itkTypeMacro(MaskMuParserFilter, itk::ImageToImageFilter)
+  itkTypeMacro(MaskMuParserFilter, itk::ImageToImageFilter);
 ;
 
   /** Some convenient typedefs. */
diff --git a/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h b/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
index 316bd2f93949b149711c8a8812f25aebb7fae96c..b7b8ae9db12e36fee93200e4f6305d6369ecaff6 100644
--- a/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
+++ b/Modules/Filtering/Smoothing/include/otbMeanShiftSmoothingImageFilter.h
@@ -159,7 +159,7 @@ public:
   typedef typename TImage::PixelType PixelType;
   typedef typename TImage::InternalPixelType InternalPixelType;
 
-  itkTypeMacro(FastImageRegionConstIterator, ImageRegionConstIterator)
+  itkTypeMacro(FastImageRegionConstIterator, ImageRegionConstIterator);
 ;
 
   FastImageRegionConstIterator() :
@@ -468,8 +468,8 @@ public:
   typedef double RealType;
 
   /** Type macro */
-  itkTypeMacro(MeanShiftSmoothingImageFilter, ImageToImageFilter)
-; itkNewMacro(Self)
+  itkTypeMacro(MeanShiftSmoothingImageFilter, ImageToImageFilter);
+; itkNewMacro(Self);
 ;
 
   /** Template parameters typedefs */
diff --git a/Modules/IO/Carto/include/otbWorldFile.h b/Modules/IO/Carto/include/otbWorldFile.h
index 41ffaef2ae2c2ce7df5691d3db252d64bda63b02..934cdfcba3426ef03a0c05031702304ad147f05f 100644
--- a/Modules/IO/Carto/include/otbWorldFile.h
+++ b/Modules/IO/Carto/include/otbWorldFile.h
@@ -53,21 +53,21 @@ public:
   /** Method for creation through the object factory. */
   itkNewMacro(Self);
 
-  itkGetMacro(LonOrigin, double)
-  itkSetMacro(LonOrigin, double)
-  itkGetMacro(LatOrigin, double)
-  itkSetMacro(LatOrigin, double)
-  itkGetMacro(LonSpacing, double)
-  itkSetMacro(LonSpacing, double)
-  itkGetMacro(LatSpacing, double)
-  itkSetMacro(LatSpacing, double)
-  itkGetMacro(LonRotation, double)
-  itkSetMacro(LonRotation, double)
-  itkGetMacro(LatRotation, double)
-  itkSetMacro(LatRotation, double)
+  itkGetMacro(LonOrigin, double);
+  itkSetMacro(LonOrigin, double);
+  itkGetMacro(LatOrigin, double);
+  itkSetMacro(LatOrigin, double);
+  itkGetMacro(LonSpacing, double);
+  itkSetMacro(LonSpacing, double);
+  itkGetMacro(LatSpacing, double);
+  itkSetMacro(LatSpacing, double);
+  itkGetMacro(LonRotation, double);
+  itkSetMacro(LonRotation, double);
+  itkGetMacro(LatRotation, double);
+  itkSetMacro(LatRotation, double);
 
-  itkGetStringMacro(ImageFilename)
-  itkSetStringMacro(ImageFilename)
+  itkGetStringMacro(ImageFilename);
+  itkSetStringMacro(ImageFilename);
 
   void Update();
   
diff --git a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
index 6e89b686539a5ec0b1849e69e00ef25181f43a24..1600b022bc545ace4446d523d865e2b376f79b19 100644
--- a/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
+++ b/Modules/Learning/Supervised/include/otbLibSVMMachineLearningModel.h
@@ -93,7 +93,7 @@ public:
     }
 
   /** Set the SVM type to C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR */
-  otbSetSVMParameterMacro(SVMType, svm_type, int)
+  otbSetSVMParameterMacro(SVMType, svm_type, int);
 
   /** Get the SVM type (C_SVC, NU_SVC, ONE_CLASS, EPSILON_SVR, NU_SVR) */
   int GetSVMType(void) const
@@ -106,7 +106,7 @@ public:
   polynomial: (gamma*u'*v + coef0)^degree
   radial basis function: exp(-gamma*|u-v|^2)
   sigmoid: tanh(gamma*u'*v + coef0)*/
-  otbSetSVMParameterMacro(KernelType, kernel_type, int)
+  otbSetSVMParameterMacro(KernelType, kernel_type, int);
 
   /** Get the kernel type */
   int GetKernelType(void) const
@@ -115,7 +115,7 @@ public:
     }
 
   /** Set the degree of the polynomial kernel */
-  otbSetSVMParameterMacro(PolynomialKernelDegree,degree,int)
+  otbSetSVMParameterMacro(PolynomialKernelDegree,degree,int);
 
   /** Get the degree of the polynomial kernel */
   int GetPolynomialKernelDegree(void) const
@@ -124,7 +124,7 @@ public:
     }
 
   /** Set the gamma parameter for poly/rbf/sigmoid kernels */
-  otbSetSVMParameterMacro(KernelGamma,gamma,double)
+  otbSetSVMParameterMacro(KernelGamma,gamma,double);
 
   /** Get the gamma parameter for poly/rbf/sigmoid kernels */
   double GetKernelGamma(void) const
@@ -133,7 +133,7 @@ public:
     }
 
   /** Set the coef0 parameter for poly/sigmoid kernels */
-  otbSetSVMParameterMacro(KernelCoef0,coef0,double)
+  otbSetSVMParameterMacro(KernelCoef0,coef0,double);
 
   /** Get the coef0 parameter for poly/sigmoid kernels */
   double GetKernelCoef0(void) const
@@ -142,7 +142,7 @@ public:
   }
 
   /** Set the C parameter for the training for C_SVC, EPSILON_SVR and C_SVR */
-  otbSetSVMParameterMacro(C,C,double)
+  otbSetSVMParameterMacro(C,C,double);
 
   /** Get the C parameter for the training for C_SVC, EPSILON_SVR and NU_SVR */
   double GetC(void) const
@@ -169,7 +169,7 @@ public:
   bool HasProbabilities(void) const;
 
   /** Set the tolerance for the stopping criterion for the training*/
-  otbSetSVMParameterMacro(Epsilon,eps,double)
+  otbSetSVMParameterMacro(Epsilon,eps,double);
 
   /** Get the tolerance for the stopping criterion for the training*/
   double GetEpsilon(void) const
@@ -178,7 +178,7 @@ public:
   }
 
   /** Set the value of p for EPSILON_SVR */
-  otbSetSVMParameterMacro(P,p,double)
+  otbSetSVMParameterMacro(P,p,double);
 
   /** Get the value of p for EPSILON_SVR */
   double GetP(void) const
@@ -187,7 +187,7 @@ public:
   }
 
   /** Set the Nu parameter for the training */
-  otbSetSVMParameterMacro(Nu,nu,double)
+  otbSetSVMParameterMacro(Nu,nu,double);
 
   /** Set the Nu parameter for the training */
   double GetNu(void) const
diff --git a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
index 36b3e2b6757da85fc8a736a9d4318b1fb7eb2e35..61c0aa964d74d91686a0bfe96cc72e5fbf607551 100644
--- a/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
+++ b/Modules/Radiometry/Simulation/include/otbImageSimulationMethod.h
@@ -117,44 +117,44 @@ public:
   typedef typename LabelMapToLabelImageFilterType::Pointer LabelMapToLabelImageFilterPointer;
 
   /** Standard Macro*/
-  itkTypeMacro(ImageSimulationMethod, ImageSource)
-; itkNewMacro(Self)
+  itkTypeMacro(ImageSimulationMethod, ImageSource);
+; itkNewMacro(Self);
 ;
 
-  itkSetMacro(NumberOfComponentsPerPixel, unsigned int)
-; itkGetMacro(NumberOfComponentsPerPixel, unsigned int)
+  itkSetMacro(NumberOfComponentsPerPixel, unsigned int);
+; itkGetMacro(NumberOfComponentsPerPixel, unsigned int);
 ;
 
   //prolate radius
-  itkSetMacro(Radius, unsigned int)
-; itkGetMacro(Radius, unsigned int)
+  itkSetMacro(Radius, unsigned int);
+; itkGetMacro(Radius, unsigned int);
 ;
 
-  itkSetMacro(SatRSRFilename, std::string)
-; itkGetMacro(SatRSRFilename, std::string)
+  itkSetMacro(SatRSRFilename, std::string);
+; itkGetMacro(SatRSRFilename, std::string);
 ;
 
-  itkSetMacro(PathRoot, std::string)
-; itkGetMacro(PathRoot, std::string)
+  itkSetMacro(PathRoot, std::string);
+; itkGetMacro(PathRoot, std::string);
 ;
 
-  itkSetMacro(Mean, double)
-; itkGetMacro(Mean, double)
+  itkSetMacro(Mean, double);
+; itkGetMacro(Mean, double);
 ;
 
-  itkSetMacro(Variance, double)
-; itkGetMacro(Variance, double)
+  itkSetMacro(Variance, double);
+; itkGetMacro(Variance, double);
 ;
 
-  itkSetObjectMacro(Spatialisation, SpatialisationType)
+  itkSetObjectMacro(Spatialisation, SpatialisationType);
 ;
   //    itkSetObjectMacro(LabelMapToSimulatedImage, LabelMapToSimulatedImageType);
   //    itkSetObjectMacro(FTM, FTMType);
 
 
   /** Set/Get Input */
-  itkSetObjectMacro(InputVectorData, InputVectorDataType)
-; itkGetConstObjectMacro(InputVectorData, InputVectorDataType)
+  itkSetObjectMacro(InputVectorData, InputVectorDataType);
+; itkGetConstObjectMacro(InputVectorData, InputVectorDataType);
 ;
   //    void SetInput(const InputVectorDataType *object);
   //    InputVectorDataType * GetInput();
diff --git a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
index 4ac6a19766e2d13155b74177c66d60c269623c72..fbf13cc064e8e96b308d84307c3453f18ea8fa6d 100644
--- a/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
+++ b/Modules/Radiometry/Simulation/include/otbReduceSpectralResponse.h
@@ -89,20 +89,20 @@ public:
   typedef typename InputRSRType::RSRVectorType RSRVectorType;
   typedef typename std::vector<ValuePrecisionType> ReduceSpectralResponseVectorType;
   /** Standard macros */
-  itkNewMacro(Self)
-; itkTypeMacro(ReduceSpectralResponse, DataObject)
+  itkNewMacro(Self);
+; itkTypeMacro(ReduceSpectralResponse, DataObject);
 ;
 
-  itkGetConstObjectMacro(InputSatRSR, InputRSRType)
-; itkSetObjectMacro(InputSatRSR, InputRSRType)
+  itkGetConstObjectMacro(InputSatRSR, InputRSRType);
+; itkSetObjectMacro(InputSatRSR, InputRSRType);
 ;
 
-  itkGetConstObjectMacro(InputSpectralResponse, InputSpectralResponseType)
-; itkSetObjectMacro(InputSpectralResponse, InputSpectralResponseType)
+  itkGetConstObjectMacro(InputSpectralResponse, InputSpectralResponseType);
+; itkSetObjectMacro(InputSpectralResponse, InputSpectralResponseType);
 ;
 
   /** The GetReduceResponse method gives the output. The first value in the pair is the central wavelength of the band (see SpectralResponse). */
-  itkGetObjectMacro(ReduceResponse, InputSpectralResponseType)
+  itkGetObjectMacro(ReduceResponse, InputSpectralResponseType);
 ;
 
   itkSetMacro(ReflectanceMode, bool);
diff --git a/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h b/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
index 4a1d3880a2c29ae24446e6a5e1c86472eac6c6ad..46b14f6041c24c0454ed1fa727474920d4d35ad2 100644
--- a/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
+++ b/Modules/Radiometry/Simulation/include/otbSatelliteRSR.h
@@ -55,17 +55,17 @@ public:
   typedef itk::SmartPointer<const Self> ConstPointer;
 
   /** Standard macros */
-  itkNewMacro(Self)
-; itkTypeMacro(SatelliteRSR, DataObject)
+  itkNewMacro(Self);
+; itkTypeMacro(SatelliteRSR, DataObject);
 ;
 
   /** Set the number of band of the satellite from an ASCII file
    * Need to parse first all the file to determine the number of columns */
-  itkGetConstMacro(NbBands, unsigned int)
-; itkSetMacro(NbBands, unsigned int)
+  itkGetConstMacro(NbBands, unsigned int);
+; itkSetMacro(NbBands, unsigned int);
 ;
 
-  itkSetMacro(SortBands, bool)
+  itkSetMacro(SortBands, bool);
 ;
 
   /** Template parameters typedef */
diff --git a/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h b/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
index ca71ba4639f05e4ccc6f09987740745be944fbdc..e1e2737b12212752fed20184beeaadaf1798ab0a 100644
--- a/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
+++ b/Modules/Radiometry/Simulation/include/otbSimulationStep1Base.h
@@ -59,8 +59,8 @@ public:
    /** Standard Macro*/
    itkTypeMacro(SimulationStep1Base, ProcessObject);
 
-   itkSetMacro(Parameters, ParametersType)
-   itkGetMacro(Parameters, ParametersType)
+   itkSetMacro(Parameters, ParametersType);
+   itkGetMacro(Parameters, ParametersType);
    //virtual  void SetInput(const ParametersType &) = 0;
 
    virtual SpectralResponseType * GetReflectance() = 0;
diff --git a/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h b/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
index 040d7bb552d0d9f71022acaa64949e8009d4fdd6..5a351fe3b9d68b0614cdd966ee7ff85c1b8a17fa 100644
--- a/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
+++ b/Modules/Radiometry/Simulation/include/otbSimulationStep2Base.h
@@ -55,11 +55,11 @@ public:
   typedef itk::Array<ParametersValueType> ParametersType;
 
   /** Standard Macro*/
-  itkTypeMacro(SimulationStep2Base, ProcessObject)
+  itkTypeMacro(SimulationStep2Base, ProcessObject);
 ;
 
-  itkSetMacro(Parameters, ParametersType)
-  itkGetMacro(Parameters, ParametersType)
+  itkSetMacro(Parameters, ParametersType);
+  itkGetMacro(Parameters, ParametersType);
  //;
 
   virtual void SetReflectance(const SpectralResponseType *) = 0;
diff --git a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
index 72c9f1b455ef4b87b14bc5daea60ec2c53c9c8b6..c8a2a059c165f48df3d07ba32885977bee2d71b3 100644
--- a/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
+++ b/Modules/Segmentation/Conversion/include/otbVectorDataToLabelMapWithAttributesFilter.h
@@ -122,44 +122,44 @@ public:
   /**
    * Run-time type information (and related methods)
    */
-  itkTypeMacro(VectorDataToLabelMapWithAttributesFilter, ImageToImageFilter)
+  itkTypeMacro(VectorDataToLabelMapWithAttributesFilter, ImageToImageFilter);
 ;
 
   /**
    * Method for creation through the object factory.
    */
-  itkNewMacro(Self)
+  itkNewMacro(Self);
 ;
 
   /**
    * Set/Get the value used as "background" in the output image.
    * Defaults to NumericTraits<PixelType>::NonpositiveMin().
    */
-  itkSetMacro(BackgroundValue, OutputLabelMapPixelType)
-; itkGetConstMacro(BackgroundValue, OutputLabelMapPixelType)
+  itkSetMacro(BackgroundValue, OutputLabelMapPixelType);
+; itkGetConstMacro(BackgroundValue, OutputLabelMapPixelType);
 ;
 
   /** Set the size of the output image. */
-  itkSetMacro(Size, SizeType)
+  itkSetMacro(Size, SizeType);
 ;
 
   /** Get the size of the output image. */
-  itkGetConstReferenceMacro(Size, SizeType)
+  itkGetConstReferenceMacro(Size, SizeType);
 ;
 
   /** Set the origin of the vector data.
    * \sa GetOrigin() */
-  itkSetMacro(Origin, OriginType)
+  itkSetMacro(Origin, OriginType);
 ;
   virtual void SetOrigin(const double origin[2]);
   virtual void SetOrigin(const float origin[2]);
 
-  itkGetConstReferenceMacro(Origin, OriginType)
+  itkGetConstReferenceMacro(Origin, OriginType);
 ;
 
   /** Get/Set start index*/
-  itkGetConstReferenceMacro(StartIndex, IndexType)
-; itkSetMacro(StartIndex, IndexType)
+  itkGetConstReferenceMacro(StartIndex, IndexType);
+; itkSetMacro(StartIndex, IndexType);
 ;
   /** Set the spacing (size of a pixel) of the vector data.
    * \sa GetSignedSpacing() */
@@ -167,7 +167,7 @@ public:
   virtual void SetSpacing(const double spacing[2]);
   virtual void SetSpacing(const float spacing[2]);
 
-  itkGetConstReferenceMacro(Spacing, SpacingType)
+  itkGetConstReferenceMacro(Spacing, SpacingType);
 ;
 
   /** Set/Get the Vector data input of this process object.  */
@@ -178,13 +178,13 @@ public:
   const InputVectorDataType * GetInput(unsigned int idx);
 
   /** Set/Get Automatic size computation mode*/
-  itkSetMacro(AutomaticSizeComputation, bool)
-; itkGetMacro(AutomaticSizeComputation, bool)
+  itkSetMacro(AutomaticSizeComputation, bool);
+; itkGetMacro(AutomaticSizeComputation, bool);
 ;
 
   /** Set/Get Initial label value */
-  itkSetMacro(InitialLabel, LabelType)
-; itkGetMacro(InitialLabel, LabelType)
+  itkSetMacro(InitialLabel, LabelType);
+; itkGetMacro(InitialLabel, LabelType);
 ;
 
   void GenerateOutputInformation() override;
diff --git a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
index d67452592e1e220fbaf3c1f537d48ed6f1382d05..4e231d374a52eb9f159de362fc2ebf6e0934f26f 100644
--- a/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
+++ b/Modules/Segmentation/MeanShift/include/otbMeanShiftSegmentationFilter.h
@@ -22,7 +22,7 @@
 #define otbMeanShiftSegmentationFilter_h
 
 #include "itkMacro.h"
-
+#include "otbMacro.h"
 #include "otbMeanShiftSmoothingImageFilter.h"
 #include "otbLabelImageRegionMergingFilter.h"
 #include "otbLabelImageRegionPruningFilter.h"