18#ifndef itkGaussianSpatialObject_h
19#define itkGaussianSpatialObject_h
43template <
unsigned int TDimension = 3>
56 using typename Superclass::TransformType;
57 using typename Superclass::BoundingBoxType;
59 static constexpr unsigned int ObjectDimensions = TDimension;
73 itkGetConstReferenceMacro(RadiusInObjectSpace,
ScalarType);
79 itkGetConstReferenceMacro(SigmaInObjectSpace,
ScalarType);
83 itkGetConstReferenceMacro(CenterInObjectSpace,
PointType);
114 using Superclass::IsInsideInObjectSpace;
120 unsigned int depth = 0,
121 const std::string & name =
"")
const override;
128#if !defined(ITK_LEGACY_REMOVE)
129 itkLegacyMacro(
void SetSigma(
double sigma))
131 return this->SetSigmaInObjectSpace(sigma);
134 itkLegacyMacro(
double GetSigma()
const)
136 return this->GetSigmaInObjectSpace();
162#ifndef ITK_MANUAL_INSTANTIATION
163# include "itkGaussianSpatialObject.hxx"
Base class for all data objects in ITK.
Represents a multivariate Gaussian function.
ScalarType SquaredZScoreInObjectSpace(const PointType &point) const
void ComputeMyBoundingBox() override
bool IsInsideInObjectSpace(const PointType &point) const override
EllipseSpatialObject< TDimension >::Pointer GetEllipsoid() const
ScalarType SquaredZScoreInWorldSpace(const PointType &point) const
void PrintSelf(std::ostream &os, Indent indent) const override
~GaussianSpatialObject() override=default
LightObject::Pointer InternalClone() const override
bool ValueAtInObjectSpace(const PointType &point, double &value, unsigned int depth=0, const std::string &name="") const override
Control indentation during Print() invocation.
Base class for most ITK classes.
A templated class holding a geometric point in n-Dimensional space.
Implementation of the composite pattern.
ImageBaseType::PointType PointType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
*par Constraints *The filter image with at least two dimensions and a vector *length of at least The theory supports extension to scalar but *the implementation of the itk vector classes do not **The template parameter TRealType must be floating point(float or double) or *a user-defined "real" numerical type with arithmetic operations defined *sufficient to compute derivatives. **\par Performance *This filter will automatically multithread if run with *SetUsePrincipleComponents