ITK
6.0.0
Insight Toolkit
|
#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 72 of file itkAnnulusOperator.h.
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, TDimension, TAllocator > | |
using | PixelRealType = typename NumericTraits< TPixel >::RealType |
using | PixelType = TPixel |
using | Self = NeighborhoodOperator |
using | SizeType = itk::Size< VDimension > |
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 Member Functions | |
void | Fill (const CoefficientVector &coeff) override |
CoefficientVector | GenerateCoefficients () override |
Protected Member Functions inherited from itk::NeighborhoodOperator< TPixel, TDimension, 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 Types inherited from itk::NeighborhoodOperator< TPixel, TDimension, TAllocator > | |
using | CoefficientVector = typename std::vector< PixelRealType > |
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 178 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 173 of file itkAnnulusOperator.h.
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, TDimension, TAllocator >.
|
overrideprotectedvirtual |
Calculates operator coefficients.
Implements itk::NeighborhoodOperator< TPixel, TDimension, TAllocator >.
|
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 204 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 168 of file itkAnnulusOperator.h.
|
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 214 of file itkAnnulusOperator.h.
|
inline |
Set/Get the inner radius of the annulus. Radius is specified in physical units (mm).
Definition at line 101 of file itkAnnulusOperator.h.
|
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 194 of file itkAnnulusOperator.h.
|
overridevirtual |
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 144 of file itkAnnulusOperator.h.
|
inline |
Set/Get the pixel spacings. Setting these ensures the annulus is round in physical space. Defaults to 1.
Definition at line 130 of file itkAnnulusOperator.h.
|
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 116 of file itkAnnulusOperator.h.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 154 of file itkAnnulusOperator.h.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 149 of file itkAnnulusOperator.h.
|
inlineoverridevirtual |
Standard itk object method.
Reimplemented from itk::Neighborhood< TPixel, VDimension, TAllocator >.
Definition at line 221 of file itkAnnulusOperator.h.
|
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 199 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 163 of file itkAnnulusOperator.h.
|
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 209 of file itkAnnulusOperator.h.
|
inline |
Set/Get the inner radius of the annulus. Radius is specified in physical units (mm).
Definition at line 96 of file itkAnnulusOperator.h.
|
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 189 of file itkAnnulusOperator.h.
|
inline |
Set/Get whether kernel values are computed automatically or specified manually
Definition at line 139 of file itkAnnulusOperator.h.
|
inline |
Set/Get the pixel spacings. Setting these ensures the annulus is round in physical space. Defaults to 1.
Definition at line 125 of file itkAnnulusOperator.h.
|
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 111 of file itkAnnulusOperator.h.
|
private |
Definition at line 256 of file itkAnnulusOperator.h.
|
private |
Definition at line 254 of file itkAnnulusOperator.h.
|
private |
Definition at line 257 of file itkAnnulusOperator.h.
|
private |
Definition at line 251 of file itkAnnulusOperator.h.
|
private |
Definition at line 255 of file itkAnnulusOperator.h.
|
private |
Definition at line 253 of file itkAnnulusOperator.h.
|
private |
Definition at line 258 of file itkAnnulusOperator.h.
|
private |
Definition at line 252 of file itkAnnulusOperator.h.