template<typename TInputImage, typename TFeatureImage, typename TSharedData>
class itk::ScalarRegionBasedLevelSetFunction< TInputImage, TFeatureImage, TSharedData >
LevelSet function that computes a speed image based on regional integrals.
This class implements a level set function that computes the speed image by integrating values on the image domain. NOTE: The convention followed is inside of the level-set function is negative and outside is positive.
Based on the paper:
"An active contour model without edges"
T. Chan and L. Vese.
In Scale-Space Theories in Computer Vision, pages 141-151, 1999.
- Author
- Mosaliganti K., Smith B., Gelas A., Gouaillard A., Megason S.
This code was taken from the Insight Journal paper:
"Cell Tracking using Coupled Active Surfaces for Nuclei and Membranes"
https://doi.org/10.54294/wvwmf8
That is based on the papers:
"Level Set Segmentation: Active Contours without edge"
https://doi.org/10.54294/8jk6oy
and
"Level set segmentation using coupled active surfaces"
https://doi.org/10.54294/23ugmy
Definition at line 63 of file itkScalarRegionBasedLevelSetFunction.h.
|
const char * | GetNameOfClass () const override |
|
void | UpdatePixel (const unsigned int idx, NeighborhoodIterator< TInputImage > &iterator, InputPixelType &newValue, bool &status) |
|
virtual VectorType | AdvectionField (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
|
virtual void | CalculateAdvectionImage () |
|
virtual ScalarValueType | ComputeCurvature (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *gd) |
|
TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const override |
|
PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &=FloatOffsetType(0.0)) override |
|
virtual ScalarValueType | CurvatureSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
|
ScalarValueType | GetAdvectionWeight () const |
|
virtual const FeatureImageType * | GetFeatureImage () const |
|
void * | GetGlobalDataPointer () const override |
|
const char * | GetNameOfClass () const override |
|
virtual void | Initialize (const RadiusType &r) |
|
virtual ScalarValueType | LaplacianSmoothingSpeed (const NeighborhoodType &, const FloatOffsetType &, GlobalDataStruct *=0) const |
|
void | ReleaseGlobalDataPointer (void *GlobalData) const override |
|
void | SetAdvectionWeight (const ScalarValueType &iA) |
|
void | SetDomainFunction (const HeavisideFunctionType *f) |
|
virtual void | SetFeatureImage (const FeatureImageType *f) |
|
void | SetFunctionId (const unsigned int iFid) |
|
void | SetInitialImage (InputImageType *f) |
|
void | SetSharedData (SharedDataPointer sharedDataIn) |
|
void | UpdateSharedData (bool forceUpdate) |
|
void | SetAreaWeight (const ScalarValueType &nu) |
|
ScalarValueType | GetAreaWeight () const |
|
void | SetLambda1 (const ScalarValueType &lambda1) |
|
ScalarValueType | GetLambda1 () const |
|
void | SetLambda2 (const ScalarValueType &lambda2) |
|
ScalarValueType | GetLambda2 () const |
|
void | SetOverlapPenaltyWeight (const ScalarValueType &gamma) |
|
ScalarValueType | GetOverlapPenaltyWeight () const |
|
virtual void | SetCurvatureWeight (const ScalarValueType c) |
|
ScalarValueType | GetCurvatureWeight () const |
|
void | SetReinitializationSmoothingWeight (const ScalarValueType c) |
|
ScalarValueType | GetReinitializationSmoothingWeight () const |
|
void | SetVolumeMatchingWeight (const ScalarValueType &tau) |
|
ScalarValueType | GetVolumeMatchingWeight () const |
|
void | SetVolume (const ScalarValueType &volume) |
|
ScalarValueType | GetVolume () const |
|
virtual TimeStepType | ComputeGlobalTimeStep (void *GlobalData) const=0 |
|
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
|
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0 |
|
virtual void * | GetGlobalDataPointer () const=0 |
|
const char * | GetNameOfClass () const override |
|
const RadiusType & | GetRadius () const |
|
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
|
virtual void | InitializeIteration () |
|
virtual void | ReleaseGlobalDataPointer (void *GlobalData) const=0 |
|
void | SetRadius (const RadiusType &r) |
|
void | SetScaleCoefficients (const PixelRealType vals[ImageDimension]) |
|
Pointer | Clone () const |
|
virtual Pointer | CreateAnother () const |
|
virtual void | Delete () |
|
virtual const char * | GetNameOfClass () const |
|
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 |
|
|
ScalarValueType | ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &product) override |
|
| ScalarRegionBasedLevelSetFunction () |
|
virtual void | UpdateSharedDataInsideParameters (const unsigned int &iId, const FeaturePixelType &iVal, const ScalarValueType &iChange)=0 |
|
virtual void | UpdateSharedDataOutsideParameters (const unsigned int &iId, const FeaturePixelType &iVal, const ScalarValueType &iChange)=0 |
|
| ~ScalarRegionBasedLevelSetFunction () override=default |
|
virtual ScalarValueType | ComputeExternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0 |
|
ScalarValueType | ComputeGlobalTerm (const ScalarValueType &imagePixel, const InputIndexType &inputIndex) |
|
void | ComputeHessian (const NeighborhoodType &it, GlobalDataStruct *globalData) |
|
void | ComputeHImage () |
|
virtual ScalarValueType | ComputeInternalTerm (const FeaturePixelType &iValue, const FeatureIndexType &iIdx)=0 |
|
ScalarValueType | ComputeLaplacian (GlobalDataStruct *gd) |
|
virtual ScalarValueType | ComputeOverlapParameters (const FeatureIndexType &featIndex, ScalarValueType &pr)=0 |
|
virtual void | ComputeParameters ()=0 |
|
ScalarValueType | ComputeVolumeRegularizationTerm () |
|
| RegionBasedLevelSetFunction () |
|
virtual void | UpdateSharedDataParameters ()=0 |
|
| ~RegionBasedLevelSetFunction () override=default |
|
| FiniteDifferenceFunction () |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
| ~FiniteDifferenceFunction () override=default |
|
virtual LightObject::Pointer | InternalClone () const |
|
| LightObject () |
|
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
|
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
|
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
|
virtual | ~LightObject () |
|