template<typename TImageType, typename TFeatureImageType = TImageType>
class itk::ThresholdSegmentationLevelSetFunction< TImageType, TFeatureImageType >
This function is used in ThresholdSegmentationLevelSetImageFilter to segment structures in images based on intensity values.
- SegmentationLevelSetFunction is a subclass of the generic LevelSetFunction.
- It is useful for segmentations based on intensity values in an image. It works by constructing a speed term (feature image) with positive values inside an intensity window (between a low and high threshold) and negative values outside that intensity window. The evolving level set front will lock onto regions that are at the edges of the intensity window.
You may optionally add a Laplacian calculation on the image to the threshold-based speed term by setting the EdgeWeight parameter to a non-zero value. The Laplacian term will cause the evolving surface to be more strongly attracted to image edges. Several parameters control a preprocessing FeatureImage smoothing stage applied only to the Laplacian calculation.
- Image \( f \) is thresholded pixel by pixel using upper threshold \( U \) and lower threshold \( L \) according to the following formula.
- \( f(x) = \left\{ \begin{array}{ll} g(x) - L & \mbox{if $(g)x < (U-L)/2 + L$} \\ U - g(x) & \mbox{otherwise} \end{array} \right. \)
- See also
- SegmentationLevelSetImageFunction
-
ThresholdSegmentationLevelSetImageFilter
Definition at line 57 of file itkThresholdSegmentationLevelSetFunction.h.
|
void | CalculateSpeedImage () override |
|
ScalarValueType | GetEdgeWeight () const |
|
const char * | GetNameOfClass () const override |
|
ScalarValueType | GetSmoothingConductance () const |
|
int | GetSmoothingIterations () const |
|
ScalarValueType | GetSmoothingTimeStep () const |
|
void | Initialize (const RadiusType &r) override |
|
void | SetEdgeWeight (const ScalarValueType p) |
|
void | SetSmoothingConductance (const ScalarValueType p) |
|
void | SetSmoothingIterations (const int p) |
|
void | SetSmoothingTimeStep (const ScalarValueType i) |
|
|
void | SetUpperThreshold (FeatureScalarType f) |
|
FeatureScalarType | GetUpperThreshold () const |
|
void | SetLowerThreshold (FeatureScalarType f) |
|
FeatureScalarType | GetLowerThreshold () const |
|
virtual void | AllocateAdvectionImage () |
|
virtual void | AllocateSpeedImage () |
|
virtual void | CalculateAdvectionImage () |
|
virtual void | ReverseExpansionDirection () |
|
virtual const FeatureImageType * | GetFeatureImage () const |
|
virtual void | SetFeatureImage (const FeatureImageType *f) |
|
virtual ImageType * | GetSpeedImage () |
|
void | SetSpeedImage (ImageType *s) |
|
virtual VectorImageType * | GetAdvectionImage () const |
|
void | SetAdvectionImage (VectorImageType *s) |
|
virtual ScalarValueType | Compute3DMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0) |
|
virtual ScalarValueType | ComputeCurvatureTerm (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0) |
|
TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
|
virtual ScalarValueType | ComputeMeanCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0) |
|
virtual ScalarValueType | ComputeMinimalCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd=0) |
|
PixelType | ComputeUpdate (const NeighborhoodType &it, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) override |
|
virtual ScalarValueType | CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=nullptr) const |
|
void * | GetGlobalDataPointer () const override |
|
bool | GetUseMinimalCurvature () const |
|
virtual ScalarValueType | LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
|
void | ReleaseGlobalDataPointer (void *GlobalData) const override |
|
void | SetUseMinimalCurvature (bool b) |
|
void | UseMinimalCurvatureOff () |
|
void | UseMinimalCurvatureOn () |
|
virtual void | SetAdvectionWeight (const ScalarValueType a) |
|
ScalarValueType | GetAdvectionWeight () const |
|
virtual void | SetPropagationWeight (const ScalarValueType p) |
|
ScalarValueType | GetPropagationWeight () const |
|
virtual void | SetCurvatureWeight (const ScalarValueType c) |
|
ScalarValueType | GetCurvatureWeight () const |
|
void | SetLaplacianSmoothingWeight (const ScalarValueType c) |
|
ScalarValueType | GetLaplacianSmoothingWeight () const |
|
void | SetEpsilonMagnitude (const ScalarValueType e) |
|
ScalarValueType | GetEpsilonMagnitude () const |
|
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
|
const RadiusType & | GetRadius () const |
|
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
|
virtual void | InitializeIteration () |
|
void | SetRadius (const RadiusType &r) |
|
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
|
Pointer | Clone () const |
|
virtual Pointer | CreateAnother () const |
|
virtual void | Delete () |
|
virtual int | GetReferenceCount () const |
|
void | Print (std::ostream &os, Indent indent=0) const |
|
virtual void | Register () const |
|
virtual void | SetReferenceCount (int) |
|
virtual void | UnRegister () const noexcept |
|