OTB  6.7.0
Orfeo Toolbox
Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage > Class Template Reference

#include <otbMeanShiftSmoothingImageFilter.h>

+ Inheritance diagram for otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >:
+ Collaboration diagram for otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >:

Public Types

typedef itk::SmartPointer
< const Self
ConstPointer
 
typedef InputImageType::Pointer InputImagePointerType
 
typedef TInputImage InputImageType
 
typedef InputImageType::IndexType InputIndexType
 
typedef
InputImageType::IndexValueType 
InputIndexValueType
 
typedef InputImageType::PixelType InputPixelType
 
typedef InputImageType::SizeType InputSizeType
 
typedef TKernel KernelType
 
typedef unsigned long LabelType
 
typedef otb::Image< unsigned
short,
InputImageType::ImageDimension > 
ModeTableImageType
 
typedef OutputImageType::Pointer OutputImagePointerType
 
typedef TOutputImage OutputImageType
 
typedef TOutputIterationImage OutputIterationImageType
 
typedef otb::Image< LabelType,
InputImageType::ImageDimension > 
OutputLabelImageType
 
typedef OutputImageType::PixelType OutputPixelType
 
typedef OutputImageType::RegionType OutputRegionType
 
typedef
OutputSpatialImageType::Pointer 
OutputSpatialImagePointerType
 
typedef otb::VectorImage
< RealType,
InputImageType::ImageDimension > 
OutputSpatialImageType
 
typedef
OutputSpatialImageType::PixelType 
OutputSpatialPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef InputImageType::PointType PointType
 
typedef double RealType
 
typedef
itk::VariableLengthVector
< RealType
RealVector
 
typedef otb::VectorImage
< RealType,
InputImageType::ImageDimension > 
RealVectorImageType
 
typedef InputImageType::RegionType RegionType
 
typedef
MeanShiftSmoothingImageFilter 
Self
 
typedef InputImageType::SizeType SizeType
 
typedef
itk::ImageToImageFilter
< TInputImage, TOutputImage > 
Superclass
 
- Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef SmartPointer< const SelfConstPointer
 
typedef
InputImageType::ConstPointer 
InputImageConstPointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::RegionType InputImageRegionType
 
typedef TInputImage InputImageType
 
typedef
Superclass::OutputImagePixelType 
OutputImagePixelType
 
typedef
Superclass::OutputImageRegionType 
OutputImageRegionType
 
typedef SmartPointer< SelfPointer
 
typedef ImageToImageFilter Self
 
typedef ImageSource< TOutputImage > Superclass
 
- Public Types inherited from itk::ImageSource< TOutputImage >
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef
Superclass::DataObjectPointerArraySizeType 
DataObjectPointerArraySizeType
 
typedef OutputImageType::PixelType OutputImagePixelType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef OutputImageType::RegionType OutputImageRegionType
 
typedef TOutputImage OutputImageType
 
typedef SmartPointer< SelfPointer
 
typedef ImageSource Self
 
typedef ProcessObject Superclass
 
- Public Types inherited from itk::ProcessObject
typedef SmartPointer< const SelfConstPointer
 
typedef
DataObject::DataObjectIdentifierType 
DataObjectIdentifierType
 
typedef DataObject::Pointer DataObjectPointer
 
typedef std::vector
< DataObjectPointer
DataObjectPointerArray
 
typedef
DataObjectPointerArray::size_type 
DataObjectPointerArraySizeType
 
typedef std::vector
< DataObjectIdentifierType
NameArray
 
typedef SmartPointer< SelfPointer
 
typedef ProcessObject Self
 
typedef Object Superclass
 
- Public Types inherited from itk::Object
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef Object Self
 
typedef LightObject Superclass
 
- Public Types inherited from itk::LightObject
typedef SmartPointer< const SelfConstPointer
 
typedef SmartPointer< SelfPointer
 
typedef LightObject Self
 

Public Member Functions

const OutputIterationImageTypeGetIterationOutput () const
 
OutputIterationImageTypeGetIterationOutput ()
 
const OutputLabelImageTypeGetLabelOutput () const
 
OutputLabelImageTypeGetLabelOutput ()
 
const OutputImageTypeGetRangeOutput () const
 
OutputImageTypeGetRangeOutput ()
 
const OutputSpatialImageTypeGetSpatialOutput () const
 
OutputSpatialImageTypeGetSpatialOutput ()
 
virtual void SetGlobalShift (InputIndexType _arg)
 
virtual void SetSpatialBandwidth (RealType _arg)
 
virtual const RealTypeGetSpatialBandwidth () const
 
virtual void SetRangeBandwidth (RealType _arg)
 
virtual const RealTypeGetRangeBandwidth () const
 
virtual void SetRangeBandwidthRamp (RealType _arg)
 
virtual const RealTypeGetRangeBandwidthRamp () const
 
virtual const unsigned int & GetMaxIterationNumber () const
 
virtual void SetMaxIterationNumber (unsigned int _arg)
 
virtual const double & GetThreshold () const
 
virtual void SetThreshold (double _arg)
 
virtual void SetModeSearch (bool _arg)
 
virtual const bool & GetModeSearch () const
 
- Public Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
virtual double GetCoordinateTolerance () const
 
virtual double GetDirectionTolerance () const
 
const InputImageTypeGetInput () const
 
const InputImageTypeGetInput (unsigned int idx) const
 
virtual void PopBackInput () override
 
virtual void PopFrontInput () override
 
virtual void PushBackInput (const InputImageType *image)
 
virtual void PushFrontInput (const InputImageType *image)
 
virtual void SetCoordinateTolerance (double _arg)
 
virtual void SetDirectionTolerance (double _arg)
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int, const TInputImage *image)
 
- Public Member Functions inherited from itk::ImageSource< TOutputImage >
OutputImageTypeGetOutput (unsigned int idx)
 
OutputImageTypeGetOutput ()
 
const OutputImageTypeGetOutput () const
 
virtual void GraftNthOutput (unsigned int idx, DataObject *output)
 
virtual void GraftOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void GraftOutput (DataObject *output)
 
virtual
ProcessObject::DataObjectPointer 
MakeOutput (ProcessObject::DataObjectPointerArraySizeType idx) override
 
virtual
ProcessObject::DataObjectPointer 
MakeOutput (const ProcessObject::DataObjectIdentifierType &) override
 
- Public Member Functions inherited from itk::ProcessObject
virtual void AbortGenerateDataOff ()
 
virtual void AbortGenerateDataOn ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *)
 
virtual const bool & GetAbortGenerateData () const
 
DataObjectPointerArray GetIndexedInputs ()
 
DataObjectPointerArray GetIndexedOutputs ()
 
NameArray GetInputNames () const
 
DataObjectPointerArray GetInputs ()
 
MultiThreader * GetMultiThreader () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedInputs () const
 
DataObjectPointerArraySizeType GetNumberOfIndexedOutputs () const
 
DataObjectPointerArraySizeType GetNumberOfInputs () const
 
DataObjectPointerArraySizeType GetNumberOfOutputs () const
 
virtual const ThreadIdTypeGetNumberOfThreads () const
 
virtual
DataObjectPointerArraySizeType 
GetNumberOfValidRequiredInputs () const
 
NameArray GetOutputNames () const
 
DataObjectPointerArray GetOutputs ()
 
virtual const float & GetProgress () const
 
virtual const bool & GetReleaseDataBeforeUpdateFlag () const
 
virtual bool GetReleaseDataFlag () const
 
NameArray GetRequiredInputNames () const
 
bool HasInput (const DataObjectIdentifierType &key) const
 
bool HasOutput (const DataObjectIdentifierType &key) const
 
virtual void PrepareOutputs ()
 
virtual void PropagateRequestedRegion (DataObject *output)
 
virtual void ReleaseDataBeforeUpdateFlagOff ()
 
virtual void ReleaseDataBeforeUpdateFlagOn ()
 
void ReleaseDataFlagOff ()
 
void ReleaseDataFlagOn ()
 
virtual void ResetPipeline ()
 
virtual void SetAbortGenerateData (bool _arg)
 
virtual void SetNumberOfThreads (ThreadIdType _arg)
 
void SetProgress (float progress)
 
virtual void SetReleaseDataBeforeUpdateFlag (bool _arg)
 
virtual void SetReleaseDataFlag (bool flag)
 
virtual void Update ()
 
virtual void UpdateLargestPossibleRegion ()
 
virtual void UpdateOutputData (DataObject *output)
 
virtual void UpdateOutputInformation ()
 
void UpdateProgress (float progress)
 
- Public Member Functions inherited from itk::Object
unsigned long AddObserver (const EventObject &event, Command *)
 
unsigned long AddObserver (const EventObject &event, Command *) const
 
virtual void DebugOff () const
 
virtual void DebugOn () const
 
CommandGetCommand (unsigned long tag)
 
bool GetDebug () const
 
const MetaDataDictionaryGetMetaDataDictionary () const
 
MetaDataDictionaryGetMetaDataDictionary ()
 
virtual ModifiedTimeType GetMTime () const
 
virtual const std::string & GetObjectName () const
 
virtual const TimeStampGetTimeStamp () const
 
bool HasObserver (const EventObject &event) const
 
void InvokeEvent (const EventObject &)
 
void InvokeEvent (const EventObject &) const
 
virtual void Modified () const
 
virtual void Register () const override
 
void RemoveAllObservers ()
 
void RemoveObserver (unsigned long tag)
 
void SetDebug (bool debugFlag) const
 
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
 
virtual void SetObjectName (std::string _arg)
 
virtual void SetReferenceCount (int) override
 
virtual void UnRegister () const noexceptoverride
 
- Public Member Functions inherited from itk::LightObject
virtual void Delete ()
 
virtual int GetReferenceCount () const
 
 itkCloneMacro (Self)
 
void Print (std::ostream &os, Indent indent=0) const
 

Static Public Attributes

static const unsigned int ImageDimension = InputImageType::ImageDimension
 
- Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
static const unsigned int InputImageDimension
 
static const unsigned int OutputImageDimension
 
- Static Public Attributes inherited from itk::ImageSource< TOutputImage >
static const unsigned int OutputImageDimension
 

Protected Member Functions

void AfterThreadedGenerateData () override
 
void AllocateOutputs () override
 
void BeforeThreadedGenerateData () override
 
virtual void CalculateMeanShiftVector (const typename RealVectorImageType::Pointer inputImagePtr, const RealVector &jointPixel, const OutputRegionType &outputRegion, const RealVector &bandwidth, RealVector &meanShiftVector)
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation (void) override
 
 MeanShiftSmoothingImageFilter ()
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void ThreadedGenerateData (const OutputRegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
 ~MeanShiftSmoothingImageFilter () override
 
- Protected Member Functions inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
virtual void CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion)
 
virtual void CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion)
 
 ImageToImageFilter ()
 
void PushBackInput (const DataObject *input) override
 
void PushFrontInput (const DataObject *input) override
 
virtual void VerifyInputInformation () override
 
 ~ImageToImageFilter ()
 
- Protected Member Functions inherited from itk::ImageSource< TOutputImage >
virtual void GenerateData () override
 
virtual const
ImageRegionSplitterBase
GetImageRegionSplitter () const
 
 ImageSource ()
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion)
 
virtual ~ImageSource ()
 
- Protected Member Functions inherited from itk::ProcessObject
virtual void AddInput (DataObject *input)
 
virtual void AddOutput (DataObject *output)
 
bool AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx)
 
bool AddRequiredInputName (const DataObjectIdentifierType &)
 
virtual void CacheInputReleaseDataFlags ()
 
virtual void GenerateOutputRequestedRegion (DataObject *output)
 
const DataObjectGetInput (const DataObjectIdentifierType &key) const
 
DataObjectGetInput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetInput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetInput (const DataObjectIdentifierType &key)
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredInputs () const
 
virtual const
DataObjectPointerArraySizeType
GetNumberOfRequiredOutputs () const
 
DataObjectGetOutput (const DataObjectIdentifierType &key)
 
const DataObjectGetOutput (const DataObjectIdentifierType &key) const
 
DataObjectGetOutput (DataObjectPointerArraySizeType idx)
 
const DataObjectGetOutput (DataObjectPointerArraySizeType idx) const
 
DataObjectGetPrimaryInput ()
 
const DataObjectGetPrimaryInput () const
 
virtual const char * GetPrimaryInputName (void) const
 
DataObjectGetPrimaryOutput ()
 
const DataObjectGetPrimaryOutput () const
 
virtual const char * GetPrimaryOutputName (void) const
 
bool IsIndexedInputName (const DataObjectIdentifierType &) const
 
bool IsIndexedOutputName (const DataObjectIdentifierType &) const
 
bool IsRequiredInputName (const DataObjectIdentifierType &) const
 
 itkLegacyMacro (virtual void RemoveInput(DataObject *input))
 
 itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num))
 
 itkLegacyMacro (virtual void RemoveOutput(DataObject *output))
 
 itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num))
 
DataObjectPointerArraySizeType MakeIndexFromInputName (const DataObjectIdentifierType &name) const
 
DataObjectPointerArraySizeType MakeIndexFromOutputName (const DataObjectIdentifierType &name) const
 
DataObjectIdentifierType MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const
 
DataObjectIdentifierType MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const
 
 ProcessObject ()
 
virtual void PropagateResetPipeline ()
 
virtual void ReleaseInputs ()
 
virtual void RemoveInput (const DataObjectIdentifierType &key)
 
virtual void RemoveInput (DataObjectPointerArraySizeType)
 
virtual void RemoveOutput (const DataObjectIdentifierType &key)
 
virtual void RemoveOutput (DataObjectPointerArraySizeType idx)
 
bool RemoveRequiredInputName (const DataObjectIdentifierType &)
 
virtual void RestoreInputReleaseDataFlags ()
 
virtual void SetInput (const DataObjectIdentifierType &key, DataObject *input)
 
virtual void SetNthInput (DataObjectPointerArraySizeType num, DataObject *input)
 
virtual void SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output)
 
void SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num)
 
void SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num)
 
virtual void SetNumberOfRequiredInputs (DataObjectPointerArraySizeType)
 
virtual void SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg)
 
virtual void SetOutput (const DataObjectIdentifierType &key, DataObject *output)
 
virtual void SetPrimaryInput (DataObject *input)
 
virtual void SetPrimaryInputName (const DataObjectIdentifierType &key)
 
virtual void SetPrimaryOutput (DataObject *output)
 
virtual void SetPrimaryOutputName (const DataObjectIdentifierType &key)
 
void SetRequiredInputNames (const NameArray &)
 
virtual void VerifyPreconditions ()
 
 ~ProcessObject ()
 
- Protected Member Functions inherited from itk::Object
 Object ()
 
bool PrintObservers (std::ostream &os, Indent indent) const
 
virtual void SetTimeStamp (const TimeStamp &time)
 
virtual ~Object ()
 
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 
 LightObject ()
 
virtual void PrintHeader (std::ostream &os, Indent indent) const
 
virtual void PrintTrailer (std::ostream &os, Indent indent) const
 
virtual ~LightObject ()
 

Private Member Functions

 MeanShiftSmoothingImageFilter (const Self &)=delete
 
void operator= (const Self &)=delete
 

Private Attributes

InputIndexType m_GlobalShift
 
RealVectorImageType::Pointer m_JointImage
 
KernelType m_Kernel
 
unsigned int m_MaxIterationNumber
 
bool m_ModeSearch
 
ModeTableImageType::Pointer m_ModeTable
 
unsigned int m_NumberOfComponentsPerPixel
 
itk::VariableLengthVector
< LabelType
m_NumLabels
 
RealType m_RangeBandwidth
 
RealType m_RangeBandwidthRamp
 
RealType m_SpatialBandwidth
 
InputSizeType m_SpatialRadius
 
unsigned int m_ThreadIdNumberOfBits
 
double m_Threshold
 
virtual const char * GetNameOfClass () const
 
virtual ::itk::LightObject::Pointer CreateAnother (void) const
 
static Pointer New ()
 

Additional Inherited Members

- Static Public Member Functions inherited from itk::Object
static bool GetGlobalWarningDisplay ()
 
static void GlobalWarningDisplayOff ()
 
static void GlobalWarningDisplayOn ()
 
static Pointer New ()
 
static void SetGlobalWarningDisplay (bool flag)
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 
- Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage >
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(OutputImageDimension),
itkGetStaticConstMacro(InputImageDimension) > 
InputToOutputRegionCopierType
 
typedef
ImageToImageFilterDetail::ImageRegionCopier
< itkGetStaticConstMacro(InputImageDimension),
itkGetStaticConstMacro(OutputImageDimension) > 
OutputToInputRegionCopierType
 
- Static Protected Member Functions inherited from itk::ImageSource< TOutputImage >
static const
ImageRegionSplitterBase
GetGlobalDefaultSplitter ()
 
static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 
- Protected Attributes inherited from itk::ProcessObject
TimeStamp m_OutputInformationMTime
 
bool m_Updating
 
- Protected Attributes inherited from itk::LightObject
AtomicInt< int > m_ReferenceCount
 

Detailed Description

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
class otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >

Mean shift is an edge-preserving smoothing algorithm often used in image processing and segmentation. It will iteratively smooth a given pixel with its neighbors that are within a spatial distance (set using SetSpatialBandwidth()) and within a spectral range (set using SetRangeBandwidth()). The resulting filtered image can be retrieved by GetOutput() or GetRangeOutput(). Parameter SetRangeBandwidthRamp() allows linearly adapting the range bandwidth to the intensity of each channel if set greater than 0 (default value is 0).

There are additional output images, as explained below. Internally, the algorithm will iteratively update a pixel both in position and spectral value, with respect to its neighbors, until convergence to a local mode. The map of the distance traveled by pixels is obtained by GetSpatialOutput(). A map of detected local modes is also available in GetLabelOutput() if mode search is set to true (default set to false) and can be seen as a first segmentation of the input image, although usually highly oversegmented. Finally, GetIterationOutput() will return the number of algorithm iterations for each pixel.

The class template parameter TKernel allows one to choose how pixels in the spatial and spectral neighborhood of a given pixel participate in the smoothed result. By default, a uniform kernel is used (KernelUniform), giving an equal weight to all neighbor pixels. KernelGaussian can also be used, although the computation time is significantly higher. The TKernel class should define operator(), taking a squared norm as parameter and returning a real value between 0 and 1. It should also define GetRadius(), converting the spatial bandwidth parameter to the spatial radius defining how many pixels are in the processing window local to a pixel.

MeanShifVector squared norm is compared with Threshold (set using Get/Set accessor) to define pixel convergence (1e-3 by default). MaxIterationNumber defines maximum iteration number for each pixel convergence (set using Get/Set accessor). Set to 4 by default. ModeSearch is a boolean value, to choose between optimized and non optimized algorithm. If set to true (by default), assign mode value to each pixel on a path covered in convergence steps.

For more information on mean shift techniques, one might consider reading the following article:

D. Comaniciu, P. Meer, "Mean Shift: A Robust Approach Toward Feature Space Analysis," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 5, pp. 603-619, May, 2002 D. Comaniciu, P. Meer, "Robust analysis of feature spaces: color image segmentation," cvpr, p. 750, 1997 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'97), 1997 D. Comaniciu, P. Meer, "Mean Shift Analysis and Applications," iccv, p. 1197, Seventh International Conference on Computer Vision (ICCV'99) - Volume 2, 1999

See Also
MeanShiftSegmentationFilter

Definition at line 471 of file otbMeanShiftSmoothingImageFilter.h.

Member Typedef Documentation

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef itk::SmartPointer<const Self> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::ConstPointer

Definition at line 478 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputImagePointerType

Definition at line 490 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef TInputImage otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputImageType

Template parameters typedefs

Definition at line 483 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::IndexType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputIndexType

Definition at line 492 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::IndexValueType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputIndexValueType

Definition at line 494 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::PixelType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputPixelType

Definition at line 491 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::SizeType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::InputSizeType

Definition at line 493 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef TKernel otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::KernelType

Definition at line 513 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef unsigned long otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::LabelType

Definition at line 506 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef otb::Image<unsigned short, InputImageType::ImageDimension> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::ModeTableImageType

Definition at line 519 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef OutputImageType::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputImagePointerType

Definition at line 500 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef TOutputImage otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputImageType

Definition at line 499 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef TOutputIterationImage otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputIterationImageType

Definition at line 504 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef otb::Image<LabelType, InputImageType::ImageDimension> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputLabelImageType

Definition at line 507 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef OutputImageType::PixelType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputPixelType

Definition at line 501 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef OutputImageType::RegionType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputRegionType

Definition at line 502 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef OutputSpatialImageType::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputSpatialImagePointerType

Definition at line 510 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef otb::VectorImage<RealType, InputImageType::ImageDimension> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputSpatialImageType

Definition at line 509 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef OutputSpatialImageType::PixelType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputSpatialPixelType

Definition at line 511 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef itk::SmartPointer<Self> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::Pointer

Definition at line 477 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::PointType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::PointType

Definition at line 495 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef double otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::RealType

Definition at line 479 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef itk::VariableLengthVector<RealType> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::RealVector

Definition at line 517 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef otb::VectorImage<RealType, InputImageType::ImageDimension> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::RealVectorImageType

Definition at line 518 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::RegionType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::RegionType

Definition at line 496 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef MeanShiftSmoothingImageFilter otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::Self

Standard class typedef

Definition at line 475 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef InputImageType::SizeType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SizeType

Definition at line 497 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::Superclass

Definition at line 476 of file otbMeanShiftSmoothingImageFilter.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::MeanShiftSmoothingImageFilter ( )
protected
template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::~MeanShiftSmoothingImageFilter ( )
overrideprotected

Destructor

Definition at line 59 of file otbMeanShiftSmoothingImageFilter.hxx.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::MeanShiftSmoothingImageFilter ( const Self )
privatedelete

Member Function Documentation

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::AfterThreadedGenerateData ( void  )
overrideprotectedvirtual
template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::AllocateOutputs ( void  )
overrideprotectedvirtual

Allocates the outputs (need to be reimplemented since outputs have different type)

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 120 of file otbMeanShiftSmoothingImageFilter.hxx.

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::BeforeThreadedGenerateData ( void  )
overrideprotectedvirtual
template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::CalculateMeanShiftVector ( const typename RealVectorImageType::Pointer  inputImagePtr,
const RealVector jointPixel,
const OutputRegionType outputRegion,
const RealVector bandwidth,
RealVector meanShiftVector 
)
protectedvirtual
template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual::itk::LightObject::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::CreateAnother ( void  ) const
virtual

Type macro

Reimplemented from itk::Object.

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GenerateInputRequestedRegion ( void  )
overrideprotectedvirtual
template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GenerateOutputInformation ( void  )
overrideprotectedvirtual

GenerateOutputInformation Define output pixel size

Reimplemented from itk::ProcessObject.

Definition at line 141 of file otbMeanShiftSmoothingImageFilter.hxx.

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
const MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputIterationImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetIterationOutput ( ) const

Returns the const number of iterations map.

Definition at line 100 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputIterationImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetIterationOutput ( )

Returns the number of iterations done at each pixel

Definition at line 93 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
const MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputLabelImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetLabelOutput ( ) const

Returns the const image of region labels. This output does not have sense without mode search optimization (each label codes for one mode)

Definition at line 114 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputLabelImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetLabelOutput ( )

Returns the image of region labels. This output does not have sense without mode search optimization (each label codes for one mode)

Definition at line 107 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const unsigned int& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetMaxIterationNumber ( ) const
virtual

Sets the maximum number of algorithm iterations

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const bool& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetModeSearch ( ) const
virtual

Toggle mode search, which is enabled by default. When off, the output label image is not available Be careful, with this option, the result will slightly depend on thread number.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const char* otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetNameOfClass ( ) const
virtual
template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const RealType& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetRangeBandwidth ( ) const
virtual

Sets the spectral bandwidth (or radius for a uniform kernel) for pixels to be included in the same mode

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const RealType& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetRangeBandwidthRamp ( ) const
virtual

Sets the range bandwidth ramp. If > 0, the range bandwidth will be y = RangeBandwidthRamp * x + RangeBandwidth, where x is the band value.

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
const MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetRangeOutput ( ) const

Returns the const spectral image output

Definition at line 79 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetRangeOutput ( )

Returns the spectral image output

Definition at line 86 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const RealType& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetSpatialBandwidth ( ) const
virtual

Sets the spatial bandwidth (or radius in the case of a uniform kernel) of the neighborhood for each pixel

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
const MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputSpatialImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetSpatialOutput ( ) const

Returns the const spatial image output,spatial image output is a displacement map (pixel position after convergence minus pixel index)

Definition at line 65 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::OutputSpatialImageType * otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetSpatialOutput ( )

Returns the spatial image output,spatial image output is a displacement map (pixel position after convergence minus pixel index)

Definition at line 72 of file otbMeanShiftSmoothingImageFilter.hxx.

References itk::ProcessObject::GetOutput().

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual const double& otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::GetThreshold ( ) const
virtual

Sets the threshold value for the mean shift vector's squared norm, under which convergence is assumed

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
static Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::New ( )
static

Type macro

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::operator= ( const Self )
privatedelete
template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotectedvirtual

PrintSelf method

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

Definition at line 823 of file otbMeanShiftSmoothingImageFilter.hxx.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetGlobalShift ( InputIndexType  _arg)
virtual

Global shift allows tackling down numerical instabilities by aligning pixel indices when performing tile processing

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetMaxIterationNumber ( unsigned int  _arg)
virtual

Sets the maximum number of algorithm iterations

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetModeSearch ( bool  _arg)
virtual

Toggle mode search, which is enabled by default. When off, the output label image is not available Be careful, with this option, the result will slightly depend on thread number.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetRangeBandwidth ( RealType  _arg)
virtual

Sets the spectral bandwidth (or radius for a uniform kernel) for pixels to be included in the same mode

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetRangeBandwidthRamp ( RealType  _arg)
virtual

Sets the range bandwidth ramp. If > 0, the range bandwidth will be y = RangeBandwidthRamp * x + RangeBandwidth, where x is the band value.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetSpatialBandwidth ( RealType  _arg)
virtual

Sets the spatial bandwidth (or radius in the case of a uniform kernel) of the neighborhood for each pixel

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
virtual void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::SetThreshold ( double  _arg)
virtual

Sets the threshold value for the mean shift vector's squared norm, under which convergence is assumed

template<class TInputImage , class TOutputImage , class TKernel , class TOutputIterationImage >
void otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::ThreadedGenerateData ( const OutputRegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
overrideprotectedvirtual

MeanShiftFilter 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 allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See Also
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Reimplemented from itk::ImageSource< TOutputImage >.

Definition at line 536 of file otbMeanShiftSmoothingImageFilter.hxx.

Member Data Documentation

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
const unsigned int otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::ImageDimension = InputImageType::ImageDimension
static

Definition at line 515 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
InputIndexType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_GlobalShift
private
template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
RealVectorImageType::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_JointImage
private

Input data in the joint spatial-range domain, scaled by the bandwidths

Definition at line 674 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
KernelType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_Kernel
private

Kernel object, implementing operator() which returns a weight between 0 and 1 depending on the squared norm given in parameter

Definition at line 668 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
unsigned int otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_MaxIterationNumber
private

Maximum number of iterations

Definition at line 664 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
bool otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_ModeSearch
private

Boolean to enable mode search

Definition at line 685 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
ModeTableImageType::Pointer otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_ModeTable
private

Image to store the status at each pixel: 0 : no mode has been found yet 1 : a mode has been assigned to this pixel 2 : pixel is in the path of the currently processed pixel and a mode will be assigned to it

Definition at line 682 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
unsigned int otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_NumberOfComponentsPerPixel
private

Number of components per pixel in the input image

Definition at line 671 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
itk::VariableLengthVector<LabelType> otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_NumLabels
private

Mode counters (local to each thread)

Definition at line 693 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
RealType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_RangeBandwidth
private

Range bandwidth

Definition at line 649 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
RealType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_RangeBandwidthRamp
private

Coefficient

Definition at line 652 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
RealType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_SpatialBandwidth
private

Spatial bandwidth

Definition at line 655 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
InputSizeType otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_SpatialRadius
private

Radius of pixel neighborhood, determined by the kernel from the spatial bandwidth

Definition at line 658 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
unsigned int otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_ThreadIdNumberOfBits
private

Number of bits used to represent the threadId in the most significant bits of labels

Definition at line 697 of file otbMeanShiftSmoothingImageFilter.h.

template<class TInputImage, class TOutputImage, class TKernel = Meanshift::KernelUniform, class TOutputIterationImage = otb::Image<unsigned int, TInputImage::ImageDimension>>
double otb::MeanShiftSmoothingImageFilter< TInputImage, TOutputImage, TKernel, TOutputIterationImage >::m_Threshold
private

Threshold on the squared norm of the mean shift vector to decide when to stop iterating

Definition at line 661 of file otbMeanShiftSmoothingImageFilter.h.


The documentation for this class was generated from the following files: