diff --git a/Code/OBIA/otbMeanShiftSegmentationFilter.h b/Code/OBIA/otbMeanShiftSegmentationFilter.h
index 3281d979475e2cf5a6c8245ab9bbbd7b4dcfb7e5..636a17a9c7b544af8d607b8b165cfbbad665225f 100644
--- a/Code/OBIA/otbMeanShiftSegmentationFilter.h
+++ b/Code/OBIA/otbMeanShiftSegmentationFilter.h
@@ -73,28 +73,22 @@ public:
   /** Sets the spatial bandwidth (or radius in the case of a uniform kernel)
     * of the neighborhood for each pixel
     */
-  virtual void SetSpatialBandwidth(const RealType _arg)
-  {
-    this->m_MeanShiftFilter->SetSpatialBandwidth(_arg);
-  }
-  virtual RealType GetSpatialBandwidth ()
-  {
-    return this->m_MeanShiftFilter->GetSpatialBandwidth();
-  }
-
+  otbSetObjectMemberMacro(MeanShiftFilter,SpatialBandwidth,RealType);
+  otbGetObjectMemberConstReferenceMacro(MeanShiftFilter,SpatialBandwidth,RealType);
 
   /** Sets the spectral bandwidth (or radius for a uniform kernel) for pixels
     * to be included in the same mode
     */
-  virtual void SetRangeBandwidth(const RealType _arg)
-  {
-    this->m_MeanShiftFilter->SetRangeBandwidth(_arg);
-  }
-  virtual RealType GetRangeBandwidth ()
-  {
-    return this->m_MeanShiftFilter->GetRangeBandwidth();
-  }
+  otbSetObjectMemberMacro(MeanShiftFilter,RangeBandwidth,RealType);
+  otbGetObjectMemberConstReferenceMacro(MeanShiftFilter,RangeBandwidth,RealType);
+
+  /** Set the maximum number of iterations */
+  otbSetObjectMemberMacro(MeanShiftFilter,MaxIterationNumber,unsigned int);
+  otbGetObjectMemberConstReferenceMacro(MeanShiftFilter,MaxIterationNumber,unsigned int);
 
+  /** Set the convergence threshold */
+  otbSetObjectMemberMacro(MeanShiftFilter,Threshold,RealType);
+  otbGetObjectMemberConstReferenceMacro(MeanShiftFilter,Threshold,RealType);
 
   /** Returns the const image of region labels */
   const OutputLabelImageType * GetLabelOutput() const;