|
SimpleITK
|
Dense implementation of the Chan and Vese multiphase level set image filter. More...
#include <sitkScalarChanAndVeseDenseLevelSetImageFilter.h>
Inheritance diagram for itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter:
Collaboration diagram for itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter:Dense implementation of the Chan and Vese multiphase level set image filter.
This code was adapted from the paper: "An active contour model without edges" T. Chan and L. Vese. In Scale-Space Theories in Computer Vision, pages 141-151, 1999.
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 58 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Public Types | |
| enum | HeavisideStepFunctionType { AtanRegularizedHeaviside , SinRegularizedHeaviside , Heaviside } |
| using | PixelIDTypeList = RealPixelIDTypeList |
| using | Self = ScalarChanAndVeseDenseLevelSetImageFilter |
Public Types inherited from itk::simple::ImageFilter | |
| using | Self = ImageFilter |
Public Types inherited from itk::simple::ProcessObject | |
| using | Self = ProcessObject |
Public Member Functions | |
| Image | Execute (const Image &initialImage, const Image &featureImage) |
| double | GetAreaWeight () const |
| double | GetCurvatureWeight () const |
| uint32_t | GetElapsedIterations () const |
| Number of iterations run. | |
| double | GetEpsilon () const |
| HeavisideStepFunctionType | GetHeavisideStepFunction () const |
| double | GetLambda1 () const |
| double | GetLambda2 () const |
| double | GetMaximumRMSError () const |
| std::string | GetName () const |
| uint32_t | GetNumberOfIterations () const |
| double | GetReinitializationSmoothingWeight () const |
| double | GetRMSChange () const |
| The Root Mean Square of the levelset upon termination. | |
| bool | GetUseImageSpacing () const |
| double | GetVolume () const |
| double | GetVolumeMatchingWeight () const |
| ScalarChanAndVeseDenseLevelSetImageFilter () | |
| void | SetAreaWeight (double AreaWeight) |
| void | SetCurvatureWeight (double CurvatureWeight) |
| void | SetEpsilon (double Epsilon) |
| void | SetHeavisideStepFunction (HeavisideStepFunctionType HeavisideStepFunction) |
| void | SetLambda1 (double Lambda1) |
| void | SetLambda2 (double Lambda2) |
| void | SetMaximumRMSError (double MaximumRMSError) |
| void | SetNumberOfIterations (uint32_t NumberOfIterations) |
| void | SetReinitializationSmoothingWeight (double ReinitializationSmoothingWeight) |
| void | SetUseImageSpacing (bool UseImageSpacing) |
| void | SetVolume (double Volume) |
| void | SetVolumeMatchingWeight (double VolumeMatchingWeight) |
| std::string | ToString () const |
| void | UseImageSpacingOff () |
| void | UseImageSpacingOn () |
| virtual | ~ScalarChanAndVeseDenseLevelSetImageFilter () |
Public Member Functions inherited from itk::simple::ImageFilter | |
| ImageFilter () | |
| virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
| virtual void | Abort () |
| virtual int | AddCommand (itk::simple::EventEnum event, const std::function< void()> &func) |
| Directly add a callback to observe an event. | |
| virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
| Add a Command Object to observer the event. | |
| virtual float | GetProgress () const |
| An Active Measurement of the progress of execution. | |
| virtual bool | HasCommand (itk::simple::EventEnum event) const |
| Query of this object has any registered commands for event. | |
| ProcessObject () | |
| virtual void | RemoveAllCommands () |
| Remove all registered commands. | |
| virtual | ~ProcessObject () |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| virtual bool | GetDebug () const |
| virtual void | SetDebug (bool debugFlag) |
| virtual void | SetNumberOfThreads (unsigned int n) |
| virtual unsigned int | GetNumberOfThreads () const |
| virtual void | SetNumberOfWorkUnits (unsigned int n) |
| virtual unsigned int | GetNumberOfWorkUnits () const |
Private Types | |
| using | MemberFunctionType |
Private Member Functions | |
| template<class TImageType> | |
| Image | ExecuteInternal (const Image *initialImage, const Image *featureImage) |
Static Private Member Functions | |
| static const detail::MemberFunctionFactory< MemberFunctionType > & | GetMemberFunctionFactory () |
Private Attributes | |
| double | m_AreaWeight { 0.0 } |
| double | m_CurvatureWeight { 1.0 } |
| uint32_t | m_ElapsedIterations { 0 } |
| double | m_Epsilon { 1.0 } |
| HeavisideStepFunctionType | m_HeavisideStepFunction { itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::AtanRegularizedHeaviside } |
| double | m_Lambda1 { 1.0 } |
| double | m_Lambda2 { 1.0 } |
| double | m_MaximumRMSError { 0.02 } |
| uint32_t | m_NumberOfIterations { 1000u } |
| double | m_ReinitializationSmoothingWeight { 0.0 } |
| double | m_RMSChange { 0.0 } |
| bool | m_UseImageSpacing { true } |
| double | m_Volume { 0.0 } |
| double | m_VolumeMatchingWeight { 0.0 } |
Friends | |
| struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::simple::ProcessObject | |
| static bool | GetGlobalDefaultDebug () |
| static void | GlobalDefaultDebugOff () |
| static void | GlobalDefaultDebugOn () |
| static void | SetGlobalDefaultDebug (bool debugFlag) |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static void | SetGlobalWarningDisplay (bool flag) |
| static bool | GetGlobalWarningDisplay () |
| static double | GetGlobalDefaultCoordinateTolerance () |
| Access the global tolerance to determine congruent spaces. | |
| static void | SetGlobalDefaultCoordinateTolerance (double) |
| Access the global tolerance to determine congruent spaces. | |
| static double | GetGlobalDefaultDirectionTolerance () |
| Access the global tolerance to determine congruent spaces. | |
| static void | SetGlobalDefaultDirectionTolerance (double) |
| Access the global tolerance to determine congruent spaces. | |
| static bool | SetGlobalDefaultThreader (const std::string &threader) |
| Set/Get the default threader used for process objects. | |
| static std::string | GetGlobalDefaultThreader () |
| Set/Get the default threader used for process objects. | |
| static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
| static unsigned int | GetGlobalDefaultNumberOfThreads () |
| Set/Get the default threader used for process objects. | |
Protected Member Functions inherited from itk::simple::ImageFilter | |
| void | CheckImageMatchingDimension (const Image &image1, const Image &image2, const std::string &image2Name) |
| void | CheckImageMatchingPixelType (const Image &image1, const Image &image2, const std::string &image2Name) |
| void | CheckImageMatchingSize (const Image &image1, const Image &image2, const std::string &image2Name) |
Protected Member Functions inherited from itk::simple::ProcessObject | |
| virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
| virtual itk::ProcessObject * | GetActiveProcess () |
| virtual void | OnActiveProcessDelete () |
| virtual void | onCommandDelete (const itk::simple::Command *cmd) noexcept |
| virtual void | PreUpdate (itk::ProcessObject *p) |
| virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
| NonCopyable ()=default | |
| NonCopyable (const NonCopyable &)=delete | |
| NonCopyable & | operator= (const NonCopyable &)=delete |
Static Protected Member Functions inherited from itk::simple::ImageFilter | |
| template<class TImageType> | |
| static void | FixNonZeroIndex (TImageType *img) |
Static Protected Member Functions inherited from itk::simple::ProcessObject | |
| template<class TImageType> | |
| static TImageType::ConstPointer | CastImageToITK (const Image &img) |
| template<class TPixelType, unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
| static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
| template<unsigned int VImageDimension, unsigned int VLength, template< unsigned int > class TVector> | |
| static Image | CastITKToImage (itk::Image< TVector< VLength >, VImageDimension > *img) |
| template<class TImageType> | |
| static Image | CastITKToImage (TImageType *img) |
| static const itk::EventObject & | GetITKEventObject (EventEnum e) |
| template<typename T> | |
| static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
Setup for member function dispatching
Definition at line 245 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Define the pixels types supported by this filter
Definition at line 70 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
| using itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::Self = ScalarChanAndVeseDenseLevelSetImageFilter |
Definition at line 60 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
| Enumerator | |
|---|---|
| AtanRegularizedHeaviside | |
| SinRegularizedHeaviside | |
| Heaviside | |
Definition at line 184 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
virtual |
Destructor
| itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::ScalarChanAndVeseDenseLevelSetImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
| Image itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::Execute | ( | const Image & | initialImage, |
| const Image & | featureImage ) |
Execute the filter on the input image
|
private |
Referenced by detail::MemberFunctionAddressor< MemberFunctionType >.
|
inline |
Definition at line 149 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_AreaWeight.
|
inline |
Definition at line 138 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_CurvatureWeight.
|
inline |
Number of iterations run.
This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
Definition at line 223 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_ElapsedIterations.
|
inline |
Definition at line 127 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Epsilon.
|
inline |
Definition at line 194 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_HeavisideStepFunction.
|
inline |
Definition at line 105 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Lambda1.
|
inline |
Definition at line 116 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Lambda2.
|
inline |
Definition at line 83 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_MaximumRMSError.
|
staticprivate |
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 233 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 94 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_NumberOfIterations.
|
inline |
Definition at line 160 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_ReinitializationSmoothingWeight.
|
inline |
The Root Mean Square of the levelset upon termination.
This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
Definition at line 230 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_RMSChange.
|
inline |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
Definition at line 215 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_UseImageSpacing.
|
inline |
Definition at line 171 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Volume.
|
inline |
Definition at line 182 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_VolumeMatchingWeight.
|
inline |
Definition at line 144 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_AreaWeight.
|
inline |
Definition at line 133 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_CurvatureWeight.
|
inline |
Definition at line 122 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Epsilon.
|
inline |
Definition at line 189 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_HeavisideStepFunction.
|
inline |
Definition at line 100 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Lambda1.
|
inline |
Definition at line 111 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Lambda2.
|
inline |
Definition at line 78 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_MaximumRMSError.
|
inline |
Definition at line 89 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_NumberOfIterations.
|
inline |
Definition at line 155 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_ReinitializationSmoothingWeight.
|
inline |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
Definition at line 202 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_UseImageSpacing.
Referenced by UseImageSpacingOff(), and UseImageSpacingOn().
|
inline |
Definition at line 166 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_Volume.
|
inline |
Definition at line 177 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References m_VolumeMatchingWeight.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 209 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References SetUseImageSpacing().
|
inline |
Set the value of UseImageSpacing to true or false respectfully.
Definition at line 207 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References SetUseImageSpacing().
|
friend |
Definition at line 248 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
References ExecuteInternal().
|
private |
Definition at line 274 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetAreaWeight(), and SetAreaWeight().
|
private |
Definition at line 271 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetCurvatureWeight(), and SetCurvatureWeight().
|
private |
Definition at line 292 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetElapsedIterations().
|
private |
Definition at line 268 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetEpsilon(), and SetEpsilon().
|
private |
Definition at line 286 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetHeavisideStepFunction(), and SetHeavisideStepFunction().
|
private |
Definition at line 262 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetLambda1(), and SetLambda1().
|
private |
Definition at line 265 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetLambda2(), and SetLambda2().
|
private |
Definition at line 256 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetMaximumRMSError(), and SetMaximumRMSError().
|
private |
Definition at line 259 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetNumberOfIterations(), and SetNumberOfIterations().
|
private |
Definition at line 277 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetReinitializationSmoothingWeight(), and SetReinitializationSmoothingWeight().
|
private |
Definition at line 293 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetRMSChange().
|
private |
Definition at line 288 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetUseImageSpacing(), and SetUseImageSpacing().
|
private |
Definition at line 280 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetVolume(), and SetVolume().
|
private |
Definition at line 283 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Referenced by GetVolumeMatchingWeight(), and SetVolumeMatchingWeight().
1.13.2 |
Privacy Policy