#include <itkAnnulusOperator.h>
A NeighborhoodOperator for performing a matched filtering with an annulus (two concentric circles, spheres, hyperspheres, etc.)
AnnulusOperator defines a non-directional NeighborhoodOperator representing two concentric circles, spheres, hyperspheres, etc. The inner radius and the thickness of the annulus can be specified.
The values for the annulus can be specified in a variety of manners:
1) The values for the interior of the annulus (interior of inner circle), the values for annulus (the region between the inner and outer circle), and the values for the exterior of the annulus can be specified. This mode is useful in correlation based matched filter applications. For instance, defining a hollow (or even filled) circle.
2) The values can defined automatically for normalized correlation. The values in the kernel will be defined to have mean zero and norm 1. The area outside the annulus will have values of zero. In this mode, you can also specify whether you want the center of the annulus to be bright (intensity > 0) or dark (intensity < 0).
1) Set the annulus parameters: InnerRadius and Thickness 2) Set the intensities to use for interior, wall, and exterior kernel positions for correlation based operations or call NormalizeOn() to define kernel values automatically for use in normalized correlation. 3) If NormalizedOn(), indicate whether you want the center of the annulus to be bright or dark. 4) call CreateOperator()
Definition at line 73 of file itkAnnulusOperator.h.
Inheritance diagram for itk::AnnulusOperator< TPixel, TDimension, TAllocator >:
Collaboration diagram for itk::AnnulusOperator< TPixel, TDimension, TAllocator >:Public Types | |
| using | PixelType = TPixel |
| using | Self = AnnulusOperator |
| using | SpacingType = Vector<double, TDimension> |
| using | Superclass = NeighborhoodOperator<TPixel, TDimension, TAllocator> |
Public Types inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator > | |
| using | PixelRealType = typename NumericTraits<TPixel>::RealType |
| using | PixelType = TPixel |
| using | Self = NeighborhoodOperator |
| using | SliceIteratorType = SliceIterator<TPixel, Self> |
| using | Superclass = Neighborhood<TPixel, VDimension, TAllocator> |
Public Types inherited from itk::Neighborhood< TPixel, VDimension, TAllocator > | |
| using | AllocatorType = TAllocator |
| using | ConstIterator = typename AllocatorType::const_iterator |
| using | DimensionValueType = unsigned int |
| using | Iterator = typename AllocatorType::iterator |
| using | NeighborIndexType = SizeValueType |
| using | OffsetType = Offset<VDimension> |
| using | PixelType = TPixel |
| using | RadiusType = itk::Size<VDimension> |
| using | Self = Neighborhood |
| using | SizeType = itk::Size<VDimension> |
| using | SizeValueType = typename SizeType::SizeValueType |
| using | SliceIteratorType = SliceIterator<TPixel, Self> |
Protected Types | |
| using | CoefficientVector |
Protected Types inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator > | |
| using | CoefficientVector = typename std::vector<PixelRealType> |
Protected Member Functions | |
| void | Fill (const CoefficientVector &coeff) override |
| CoefficientVector | GenerateCoefficients () override |
Protected Member Functions inherited from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator > | |
| virtual void | FillCenteredDirectional (const CoefficientVector &) |
| void | InitializeToZero () |
Protected Member Functions inherited from itk::Neighborhood< TPixel, VDimension, TAllocator > | |
| virtual void | Allocate (NeighborIndexType i) |
| virtual void | ComputeNeighborhoodOffsetTable () |
| virtual void | ComputeNeighborhoodStrideTable () |
| void | SetSize () |
Private Attributes | |
| PixelType | m_AnnulusValue { NumericTraits<PixelType>::OneValue() } |
| bool | m_BrightCenter { false } |
| PixelType | m_ExteriorValue {} |
| double | m_InnerRadius { 1.0 } |
| PixelType | m_InteriorValue {} |
| bool | m_Normalize { false } |
| SpacingType | m_Spacing { MakeFilled<SpacingType>(1.0) } |
| double | m_Thickness { 1.0 } |
Additional Inherited Members | |
Static Public Attributes inherited from itk::Neighborhood< TPixel, VDimension, TAllocator > | |
| static constexpr unsigned int | NeighborhoodDimension = VDimension |
|
protected |
Type alias support for coefficient vector type. Necessary to fix bug in the microsoft VC++ compiler.
Definition at line 152 of file itkNeighborhoodOperator.h.
| using itk::AnnulusOperator< TPixel, TDimension, TAllocator >::PixelType = TPixel |
Additional type aliases.
Definition at line 81 of file itkAnnulusOperator.h.
| using itk::AnnulusOperator< TPixel, TDimension, TAllocator >::Self = AnnulusOperator |
Standard class type aliases.
Definition at line 77 of file itkAnnulusOperator.h.
| using itk::AnnulusOperator< TPixel, TDimension, TAllocator >::SpacingType = Vector<double, TDimension> |
Definition at line 84 of file itkAnnulusOperator.h.
| using itk::AnnulusOperator< TPixel, TDimension, TAllocator >::Superclass = NeighborhoodOperator<TPixel, TDimension, TAllocator> |
Definition at line 78 of file itkAnnulusOperator.h.
|
inline |
If Normalize is on, you define the annulus to have a bright center or a dark center.
Definition at line 179 of file itkAnnulusOperator.h.
References SetBrightCenter().
|
inline |
If Normalize is on, you define the annulus to have a bright center or a dark center.
Definition at line 174 of file itkAnnulusOperator.h.
References SetBrightCenter().
| void itk::AnnulusOperator< TPixel, TDimension, TAllocator >::CreateOperator | ( | ) |
Create the operator. The radius of the operator is determined automatically.
|
overrideprotectedvirtual |
Arranges coefficients spatially in the memory buffer.
Implements itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.
|
overrideprotectedvirtual |
Calculates operator coefficients.
Implements itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.
|
inlinenodiscard |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 205 of file itkAnnulusOperator.h.
References m_AnnulusValue.
|
inlinenodiscard |
If Normalize is on, you define the annulus to have a bright center or a dark center.
Definition at line 169 of file itkAnnulusOperator.h.
References m_BrightCenter.
|
inlinenodiscard |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 215 of file itkAnnulusOperator.h.
References m_ExteriorValue.
|
inlinenodiscard |
Set/Get the inner radius of the annulus. Radius is specified in physical units (mm).
Definition at line 102 of file itkAnnulusOperator.h.
References m_InnerRadius.
|
inlinenodiscard |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 195 of file itkAnnulusOperator.h.
References m_InteriorValue.
|
virtual |
Reimplemented from itk::NeighborhoodOperator< TPixel, VDimension, TAllocator >.
|
inlinenodiscard |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 145 of file itkAnnulusOperator.h.
References m_Normalize.
|
inlinenodiscard |
Set/Get the pixel spacings. Setting these ensures the annulus is round in physical space. Defaults to 1.
Definition at line 131 of file itkAnnulusOperator.h.
References m_Spacing.
|
inlinenodiscard |
Set/Get the thickness of the annulus. The outer radius of the annulus is defined as r = InnerRadius + Thickness. Thickness is specified in physical units (mm).
Definition at line 117 of file itkAnnulusOperator.h.
References m_Thickness.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 155 of file itkAnnulusOperator.h.
References SetNormalize().
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 150 of file itkAnnulusOperator.h.
References SetNormalize().
|
inlineoverridevirtual |
Standard itk object method.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 221 of file itkAnnulusOperator.h.
References m_AnnulusValue, m_BrightCenter, m_ExteriorValue, m_InnerRadius, m_InteriorValue, m_Normalize, m_Spacing, m_Thickness, itk::print_helper::PrintNumericTrait(), and itk::NeighborhoodOperator< TPixel, TDimension, TAllocator >::PrintSelf().
|
inline |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 200 of file itkAnnulusOperator.h.
References m_AnnulusValue.
|
inline |
If Normalize is on, you define the annulus to have a bright center or a dark center.
Definition at line 164 of file itkAnnulusOperator.h.
References m_BrightCenter.
Referenced by BrightCenterOff(), and BrightCenterOn().
|
inline |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 210 of file itkAnnulusOperator.h.
References m_ExteriorValue.
|
inline |
Set/Get the inner radius of the annulus. Radius is specified in physical units (mm).
Definition at line 97 of file itkAnnulusOperator.h.
References m_InnerRadius.
|
inline |
If Normalize is off, the interior to annulus, the annulus (region between the two circles), and the region exterior to the annulus to be defined manually. Defaults are 0, 1, 0 respectively.
Definition at line 190 of file itkAnnulusOperator.h.
References m_InteriorValue.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 140 of file itkAnnulusOperator.h.
References m_Normalize.
Referenced by NormalizeOff(), and NormalizeOn().
|
inline |
Set/Get the pixel spacings. Setting these ensures the annulus is round in physical space. Defaults to 1.
Definition at line 126 of file itkAnnulusOperator.h.
References m_Spacing.
|
inline |
Set/Get the thickness of the annulus. The outer radius of the annulus is defined as r = InnerRadius + Thickness. Thickness is specified in physical units (mm).
Definition at line 112 of file itkAnnulusOperator.h.
References m_Thickness.
|
private |
Definition at line 253 of file itkAnnulusOperator.h.
Referenced by GetAnnulusValue(), PrintSelf(), and SetAnnulusValue().
|
private |
Definition at line 251 of file itkAnnulusOperator.h.
Referenced by GetBrightCenter(), PrintSelf(), and SetBrightCenter().
|
private |
Definition at line 254 of file itkAnnulusOperator.h.
Referenced by GetExteriorValue(), PrintSelf(), and SetExteriorValue().
|
private |
Definition at line 248 of file itkAnnulusOperator.h.
Referenced by GetInnerRadius(), PrintSelf(), and SetInnerRadius().
|
private |
Definition at line 252 of file itkAnnulusOperator.h.
Referenced by GetInteriorValue(), PrintSelf(), and SetInteriorValue().
|
private |
Definition at line 250 of file itkAnnulusOperator.h.
Referenced by GetNormalize(), PrintSelf(), and SetNormalize().
|
private |
Definition at line 255 of file itkAnnulusOperator.h.
Referenced by GetSpacing(), PrintSelf(), and SetSpacing().
|
private |
Definition at line 249 of file itkAnnulusOperator.h.
Referenced by GetThickness(), PrintSelf(), and SetThickness().