|
Medical Imaging Interaction Toolkit
2026.06.00
Medical Imaging Interaction Toolkit
|
Edge-preserving smoothing filter using bilateral filtering. More...
#include <mitkBilateralFilter.h>


Public Member Functions | |
| mitkClassMacro (BilateralFilter, ImageToImageFilter) | |
| Pointer | Clone () const |
| virtual void | SetDomainSigma (float _arg) |
| Set/Get the sigma of the spatial domain Gaussian kernel. More... | |
| virtual void | SetRangeSigma (float _arg) |
| Set/Get the sigma of the range (intensity) Gaussian kernel. More... | |
| virtual void | SetAutoKernel (bool _arg) |
| Set/Get whether the kernel size is automatically determined. More... | |
| virtual void | SetKernelRadius (unsigned int _arg) |
| Set/Get the manual kernel radius (used when AutoKernel is false). More... | |
| virtual float | GetDomainSigma () |
| Get the spatial domain sigma. More... | |
| virtual float | GetRangeSigma () |
| Get the range (intensity) sigma. More... | |
| virtual bool | GetAutoKernel () |
| Get whether automatic kernel sizing is enabled. More... | |
| virtual unsigned int | GetKernelRadius () |
| Get the manual kernel radius. More... | |
Public Member Functions inherited from mitk::ImageToImageFilter | |
| mitkClassMacro (ImageToImageFilter, ImageSource) | |
| Pointer | Clone () const |
| virtual void | SetInput (const InputImageType *image) |
| Set the image input of this process object. More... | |
| virtual void | SetInput (unsigned int idx, const InputImageType *image) |
| Set the image input at the specified index. More... | |
| InputImageType * | GetInput (void) |
| Get the input image (non-const). More... | |
| InputImageType * | GetInput (unsigned int idx) |
| Get the input image at the specified index (non-const). More... | |
| const InputImageType * | GetInput (void) const |
| Get the input image (const). More... | |
| const InputImageType * | GetInput (unsigned int idx) const |
| Get the input image at the specified index (const). More... | |
Public Member Functions inherited from mitk::ImageSource | |
| mitkClassMacro (ImageSource, BaseDataSource) | |
| Pointer | Clone () const |
| mitkBaseDataSourceGetOutputDeclarations itk::DataObject::Pointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
| Get the output data of this image source object. More... | |
| itk::DataObject::Pointer | MakeOutput (const DataObjectIdentifierType &name) override |
| virtual vtkImageData * | GetVtkImageData () |
| Get the output as VTK image data (non-const version). More... | |
| virtual const vtkImageData * | GetVtkImageData () const |
| Get the output as VTK image data (const version). More... | |
Public Member Functions inherited from mitk::BaseDataSource | |
| mitkClassMacroItkParent (BaseDataSource, itk::ProcessObject) | |
| OutputType * | GetOutput () |
| const OutputType * | GetOutput () const |
| OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
| const OutputType * | GetOutput (DataObjectPointerArraySizeType idx) const |
| virtual void | GraftOutput (OutputType *output) |
| Graft the specified BaseData onto this BaseDataSource's output. More... | |
| virtual void | GraftOutput (const DataObjectIdentifierType &key, OutputType *output) |
| Graft the specified base data object onto a named output. More... | |
| virtual void | GraftNthOutput (unsigned int idx, OutputType *output) |
| Graft the specified base data object onto this BaseDataSource's idx'th output. More... | |
| bool | Updating () const |
| Check whether the pipeline is currently executing. More... | |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from mitk::ImageToImageFilter | |
| static Pointer | New () |
| Method for creation through the object factory. More... | |
Static Public Member Functions inherited from mitk::ImageSource | |
| static Pointer | New () |
| Method for creation through the object factory. More... | |
Protected Member Functions | |
| BilateralFilter () | |
| standard constructor More... | |
| ~BilateralFilter () override | |
| standard destructor More... | |
| void | GenerateOutputInformation () override |
| Method generating the output information of this filter (e.g. image dimension, image type, etc.). The interface ImageToImageFilter requires this implementation. Everything is taken from the input image. More... | |
| void | GenerateData () override |
| Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the smoothed output image. More... | |
| template<typename TPixel , unsigned int VImageDimension> | |
| void | ItkImageProcessing (const itk::Image< TPixel, VImageDimension > *itkImage) |
| Internal templated method calling the ITK bilteral filter. Here the actual filtering is performed. More... | |
Protected Member Functions inherited from mitk::ImageToImageFilter | |
| ImageToImageFilter () | |
| ~ImageToImageFilter () override | |
| void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
| Print self information to the given stream. More... | |
| void | GenerateInputRequestedRegion () override |
| Determine the input requested region to produce the output requested region. More... | |
Protected Member Functions inherited from mitk::ImageSource | |
| ImageSource () | |
| ~ImageSource () override | |
| void | GenerateData () override |
| A version of GenerateData() specific for image processing filters. More... | |
| virtual void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId) |
| If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More... | |
| void | PrepareOutputs () override |
| This method is intentionally left blank. More... | |
| virtual void | AllocateOutputs () |
| The GenerateData method normally allocates the buffers for all of the outputs of a filter. More... | |
| virtual void | BeforeThreadedGenerateData () |
| If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can provide an implementation for BeforeThreadedGenerateData(). More... | |
| virtual void | AfterThreadedGenerateData () |
| If an imaging filter needs to perform processing after all processing threads have completed, the filter can provide an implementation for AfterThreadedGenerateData(). More... | |
| virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) |
| Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More... | |
Protected Member Functions inherited from mitk::BaseDataSource | |
| BaseDataSource () | |
| Constructor. More... | |
| ~BaseDataSource () override | |
| Destructor. More... | |
Protected Attributes | |
| float | m_DomainSigma |
| Sigma of the spatial domain Gaussian kernel. More... | |
| float | m_RangeSigma |
| Sigma of the range (intensity) Gaussian kernel. More... | |
| bool | m_AutoKernel |
| If true, kernel size is computed from DomainSigma; if false, m_KernelRadius is used. More... | |
| unsigned int | m_KernelRadius |
| Manual kernel radius, used when m_AutoKernel is false. More... | |
Additional Inherited Members | |
Public Types inherited from mitk::ImageToImageFilter | |
| typedef Superclass::OutputImageRegionType | OutputImageRegionType |
| Superclass typedefs. More... | |
| typedef mitk::Image | InputImageType |
| Some convenient typedefs. More... | |
| typedef InputImageType::Pointer | InputImagePointer |
| typedef InputImageType::ConstPointer | InputImageConstPointer |
| typedef SlicedData::RegionType | InputImageRegionType |
Public Types inherited from mitk::ImageSource | |
| typedef mitk::Image | OutputImageType |
| Some convenient typedefs. More... | |
| typedef OutputImageType | OutputType |
| typedef OutputImageType::Pointer | OutputImagePointer |
| typedef SlicedData::RegionType | OutputImageRegionType |
Public Types inherited from mitk::BaseDataSource | |
| typedef BaseData | OutputType |
| Output data type. More... | |
| typedef itk::DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
| Identifier type for named data objects. More... | |
Static Protected Member Functions inherited from mitk::ImageSource | |
| static itk::ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
| Static function used as a "callback" by the MultiThreader. More... | |
Static Protected Member Functions inherited from mitk::BaseDataSource | |
| static Pointer | New () |
Edge-preserving smoothing filter using bilateral filtering.
This filter wraps the ITK BilateralImageFilter and applies it to MITK images. Bilateral filtering smooths an image while preserving edges by combining a spatial (domain) Gaussian with a range (intensity) Gaussian. Pixels that are both spatially close and have similar intensities are averaged together, while pixels across edges (with large intensity differences) are not.
The filter supports 2D, 2D+t, 3D, 3D+t, and 4D images. Input images with fewer than 2 or more than 4 dimensions are rejected.
Default parameter values: DomainSigma = 2.0, RangeSigma = 50.0, AutoKernel = true, KernelRadius = 1.
Definition at line 43 of file mitkBilateralFilter.h.
|
protected |
standard constructor
|
overrideprotected |
standard destructor
| Pointer mitk::BilateralFilter::Clone | ( | ) | const |
|
overrideprotected |
Method generating the output of this filter. Called in the updated process of the pipeline. This method generates the smoothed output image.
|
overrideprotected |
Method generating the output information of this filter (e.g. image dimension, image type, etc.). The interface ImageToImageFilter requires this implementation. Everything is taken from the input image.
|
virtual |
Get whether automatic kernel sizing is enabled.
|
virtual |
Get the spatial domain sigma.
|
virtual |
Get the manual kernel radius.
|
virtual |
Get the range (intensity) sigma.
|
protected |
Internal templated method calling the ITK bilteral filter. Here the actual filtering is performed.
| mitk::BilateralFilter::mitkClassMacro | ( | BilateralFilter | , |
| ImageToImageFilter | |||
| ) |
|
static |
|
virtual |
Set/Get whether the kernel size is automatically determined.
When true, the kernel size is calculated from DomainSigma by ITK's BilateralImageFilter. When false, the kernel size is set manually via KernelRadius. Default is true.
|
virtual |
Set/Get the sigma of the spatial domain Gaussian kernel.
Controls how far apart spatially neighboring pixels can be to still influence each other. Larger values produce more spatial smoothing. Default is 2.0.
|
virtual |
Set/Get the manual kernel radius (used when AutoKernel is false).
Specifies the radius of the kernel in pixels. Only effective when AutoKernel is set to false. Default is 1.
|
virtual |
Set/Get the sigma of the range (intensity) Gaussian kernel.
Controls how different in intensity two pixels can be to still influence each other. Larger values allow pixels with bigger intensity differences to be averaged. Default is 50.0.
|
protected |
If true, kernel size is computed from DomainSigma; if false, m_KernelRadius is used.
Definition at line 122 of file mitkBilateralFilter.h.
|
protected |
Sigma of the spatial domain Gaussian kernel.
Definition at line 120 of file mitkBilateralFilter.h.
|
protected |
Manual kernel radius, used when m_AutoKernel is false.
Definition at line 123 of file mitkBilateralFilter.h.
|
protected |
Sigma of the range (intensity) Gaussian kernel.
Definition at line 121 of file mitkBilateralFilter.h.