ITK
5.0.0
Insight Segmentation and Registration Toolkit
|
#include <itkSmoothingRecursiveYvvGaussianImageFilter.h>
Recursive Gaussian blurring filter based on Young-Van Vliet's algorithm, implemented for CPU.
This CPU implementation is more efficient than the GPU implamentation for smaller images (e.g. 512x512 and smaller for quadcores at over 3GHz); use the benchmark tests to establish the size for which this implementation performs better for your particular hardware configuration.
More information in the Insight Journal publication: http://hdl.handle.net/10380/3425
Definition at line 48 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
Static Public Member Functions | |
static Pointer | New () |
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 () |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TInputImage::ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static constexpr unsigned int | InputImageDimension = TInputImage::ImageDimension |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static constexpr unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Additional Inherited Members | |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ImageSource< TOutputImage > | |
bool | m_DynamicMultiThreading |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::CastingFilterPointer = typename CastingFilterType::Pointer |
Pointer to the last filter, casting
Definition at line 116 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
typedef CastImageFilter< RealImageType, OutputImageType > itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::CastingFilterType |
The last in the pipeline
Definition at line 107 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::ConstPointer = SmartPointer< const Self > |
Definition at line 59 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::FirstGaussianFilterPointer = typename FirstGaussianFilterType::Pointer |
Pointer to the first gaussian filter.
Definition at line 113 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
typedef RecursiveLineYvvGaussianImageFilter< InputImageType, RealImageType > itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::FirstGaussianFilterType |
The first in the pipeline
Definition at line 95 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage |
Pixel Type of the input image
Definition at line 62 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::InternalGaussianFilterPointer = typename InternalGaussianFilterType::Pointer |
Pointer to a gaussian filter.
Definition at line 110 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
typedef RecursiveLineYvvGaussianImageFilter< RealImageType, RealImageType > itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::InternalGaussianFilterType |
Smoothing filter type
Definition at line 101 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::InternalRealType = typename NumericTraits< PixelType >::FloatType |
Define the image type for internal computations RealType is usually 'double' in NumericTraits. Here we prefer float in order to save memory.
Definition at line 88 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::OutputImagePointer = typename OutputImageType::Pointer |
Pointer to the Output Image
Definition at line 119 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage |
Definition at line 63 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::PixelType = typename TInputImage::PixelType |
Definition at line 64 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::Pointer = SmartPointer< Self > |
Definition at line 58 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::RealImageType = typename InputImageType::template Rebind< InternalRealType >::Type |
Definition at line 89 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::RealType = typename NumericTraits< PixelType >::FloatType |
Definition at line 69 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::ScalarRealType = typename NumericTraits< PixelType >::FloatType |
Definition at line 70 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::Self = SmoothingRecursiveYvvGaussianImageFilter |
Standard class type alias.
Definition at line 56 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::SigmaArrayType = FixedArray< ScalarRealType, itkGetStaticConstMacro(ImageDimension) > |
Define the type for the sigma array
Definition at line 82 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
using itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::Superclass = InPlaceImageFilter< TInputImage, TOutputImage > |
Definition at line 57 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
protected |
Begin concept checking End concept checking
|
inlineoverrideprotected |
Begin concept checking End concept checking
Definition at line 152 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
overridevirtual |
Can the filter run in place? To do so, the filter's first input and output must have the same dimension and pixel type. This method can be used in conjunction with the InPlace ivar to determine whether a particular use of the filter is really running in place. Some filters may be able to optimize their operation if the InPlace is true and CanRunInPlace is true. CanRunInPlace may also be overridded by InPlaceImageFilter subclasses to fine tune its behavior.
Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Give the process object a chance to indictate that it will produce more output than it was requested to produce. For example, many imaging filters must compute the entire output at once or can only produce output in complete slices. Such filters cannot handle smaller requested regions. These filters must provide an implementation of this method, setting the output requested region to the size they will produce. By default, a process object does not modify the size of the output requested region.
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
Generate Data
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
SmoothingRecursiveYvvGaussianImageFilter needs all of the input to produce an output. Therefore, SmoothingRecursiveYvvGaussianImageFilter needs to provide an implementation for GenerateInputRequestedRegion in order to inform the pipeline execution model.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
|
virtual |
Runtime information support.
Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.
|
virtual |
Define which normalization factor will be used for the Gaussian
ScalarRealType itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::GetSigma | ( | ) | const |
Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.
SigmaArrayType itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::GetSigmaArray | ( | ) | const |
Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
Begin concept checking End concept checking
Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.
void itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::SetNormalizeAcrossScale | ( | bool | normalizeInScaleSpace | ) |
Define which normalization factor will be used for the Gaussian
|
overridevirtual |
Get/Set the number of work units to create when executing.
Reimplemented from itk::ProcessObject.
void itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::SetSigma | ( | ScalarRealType | sigma | ) |
Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.
void itk::SmoothingRecursiveYvvGaussianImageFilter< TInputImage, TOutputImage >::SetSigmaArray | ( | const SigmaArrayType & | sigmas | ) |
Set Sigma value. Sigma is measured in the units of image spacing. You may use the method SetSigma to set the same value across each axis or use the method SetSigmaArray if you need different values along each axis.
|
static |
Image dimension.
Definition at line 78 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
private |
Definition at line 172 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
private |
Definition at line 171 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
private |
Normalize the image across scale space
Definition at line 175 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
private |
Standard deviation of the gaussian used for smoothing
Definition at line 178 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.
|
private |
Definition at line 170 of file itkSmoothingRecursiveYvvGaussianImageFilter.h.