18 #ifndef itkGaussianSpatialObject_h
19 #define itkGaussianSpatialObject_h
43 template <
unsigned int TDimension = 3>
59 static constexpr
unsigned int ObjectDimensions = TDimension;
73 itkGetConstReferenceMacro(RadiusInObjectSpace,
ScalarType);
79 itkGetConstReferenceMacro(SigmaInObjectSpace,
ScalarType);
82 itkSetMacro(CenterInObjectSpace,
PointType);
83 itkGetConstReferenceMacro(CenterInObjectSpace,
PointType);
88 itkGetConstReferenceMacro(Maximum,
ScalarType);
92 SquaredZScoreInObjectSpace(
const PointType & point)
const;
95 SquaredZScoreInWorldSpace(
const PointType & point)
const;
99 IsInsideInObjectSpace(
const PointType & point)
const override;
102 using Superclass::IsInsideInObjectSpace;
106 ValueAtInObjectSpace(
const PointType & point,
108 unsigned int depth = 0,
109 const std::string & name =
"")
const override;
114 GetEllipsoid()
const;
116 #if !defined(ITK_LEGACY_REMOVE)
117 itkLegacyMacro(
void SetSigma(
double sigma)) {
return this->SetSigmaInObjectSpace(sigma); }
119 itkLegacyMacro(
double GetSigma()
const) {
return this->GetSigmaInObjectSpace(); }
125 ComputeMyBoundingBox()
override;
127 GaussianSpatialObject();
128 ~GaussianSpatialObject()
override =
default;
132 PrintSelf(std::ostream & os, Indent indent)
const override;
135 InternalClone()
const override;
145 #ifndef ITK_MANUAL_INSTANTIATION
146 # include "itkGaussianSpatialObject.hxx"
149 #endif // itkGaussianSpatialObject_h