SimpleITK
1.2.4
|
Dense implementation of the Chan and Vese multiphase level set image filter. More...
#include <sitkScalarChanAndVeseDenseLevelSetImageFilter.h>
Public Types | |
enum | HeavisideStepFunctionType { AtanRegularizedHeaviside, SinRegularizedHeaviside, Heaviside } |
typedef RealPixelIDTypeList | PixelIDTypeList |
typedef ScalarChanAndVeseDenseLevelSetImageFilter | Self |
Public Types inherited from itk::simple::ImageFilter< 2 > | |
typedef ImageFilter | Self |
Public Types inherited from itk::simple::ProcessObject | |
typedef ProcessObject | Self |
Public Member Functions | |
Image | Execute (const Image &image1, const Image &image2) |
Image | Execute (const Image &image1, const Image &image2, double maximumRMSError, uint32_t numberOfIterations, double lambda1, double lambda2, double epsilon, double curvatureWeight, double areaWeight, double reinitializationSmoothingWeight, double volume, double volumeMatchingWeight, ScalarChanAndVeseDenseLevelSetImageFilter::HeavisideStepFunctionType heavisideStepFunction, bool useImageSpacing) |
double | GetAreaWeight () const |
double | GetCurvatureWeight () const |
uint32_t | GetElapsedIterations () const |
Number of iterations run. More... | |
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. More... | |
bool | GetUseImageSpacing () const |
double | GetVolume () const |
double | GetVolumeMatchingWeight () const |
ScalarChanAndVeseDenseLevelSetImageFilter () | |
Self & | SetAreaWeight (double AreaWeight) |
Self & | SetCurvatureWeight (double CurvatureWeight) |
Self & | SetEpsilon (double Epsilon) |
Self & | SetHeavisideStepFunction (HeavisideStepFunctionType HeavisideStepFunction) |
Self & | SetLambda1 (double Lambda1) |
Self & | SetLambda2 (double Lambda2) |
Self & | SetMaximumRMSError (double MaximumRMSError) |
Self & | SetNumberOfIterations (uint32_t NumberOfIterations) |
Self & | SetReinitializationSmoothingWeight (double ReinitializationSmoothingWeight) |
Self & | SetUseImageSpacing (bool UseImageSpacing) |
Self & | SetVolume (double Volume) |
Self & | SetVolumeMatchingWeight (double VolumeMatchingWeight) |
std::string | ToString () const |
Self & | UseImageSpacingOff () |
Self & | UseImageSpacingOn () |
virtual | ~ScalarChanAndVeseDenseLevelSetImageFilter () |
Public Member Functions inherited from itk::simple::ImageFilter< 2 > | |
ImageFilter () | |
virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
virtual void | Abort () |
virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
Add a Command Object to observer the event. More... | |
virtual float | GetProgress () const |
An Active Measurement of the progress of execution. More... | |
virtual bool | HasCommand (itk::simple::EventEnum event) const |
Query of this object has any registered commands for event. More... | |
ProcessObject () | |
virtual void | RemoveAllCommands () |
Remove all registered commands. More... | |
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 |
Private Types | |
typedef Image(Self::* | MemberFunctionType) (const Image &image1, const Image &image2) |
Private Member Functions | |
template<class TImageType > | |
Image | ExecuteInternal (const Image &image1, const Image &image2) |
Private Attributes | |
double | m_AreaWeight |
double | m_CurvatureWeight |
uint32_t | m_ElapsedIterations |
double | m_Epsilon |
HeavisideStepFunctionType | m_HeavisideStepFunction |
double | m_Lambda1 |
double | m_Lambda2 |
double | m_MaximumRMSError |
nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
uint32_t | m_NumberOfIterations |
double | m_ReinitializationSmoothingWeight |
double | m_RMSChange |
bool | m_UseImageSpacing |
double | m_Volume |
double | m_VolumeMatchingWeight |
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 void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
static unsigned int | GetGlobalDefaultNumberOfThreads () |
static double | GetGlobalDefaultCoordinateTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultCoordinateTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
static double | GetGlobalDefaultDirectionTolerance () |
Access the global tolerance to determine congruent spaces. More... | |
static void | SetGlobalDefaultDirectionTolerance (double) |
Access the global tolerance to determine congruent spaces. More... | |
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) SITK_NOEXCEPT |
virtual void | PreUpdate (itk::ProcessObject *p) |
virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
NonCopyable () | |
Static Protected Member Functions inherited from itk::simple::ImageFilter< 2 > | |
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 TImageType > | |
static Image | CastITKToImage (TImageType *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) |
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) |
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" http://www.insight-journal.org/browse/publication/642 https://hdl.handle.net/10380/3055
That is based on the papers: "Level Set Segmentation: Active Contours without edge" http://www.insight-journal.org/browse/publication/322 https://hdl.handle.net/1926/1532
and
"Level set segmentation using coupled active surfaces" http://www.insight-journal.org/browse/publication/323 https://hdl.handle.net/1926/1533
Definition at line 60 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 215 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Define the pixels types supported by this filter
Definition at line 72 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
typedef ScalarChanAndVeseDenseLevelSetImageFilter itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::Self |
Definition at line 62 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
Enumerator | |
---|---|
AtanRegularizedHeaviside | |
SinRegularizedHeaviside | |
Heaviside |
Definition at line 156 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 & | image1, |
const Image & | image2 | ||
) |
Execute the filter on the input images
Image itk::simple::ScalarChanAndVeseDenseLevelSetImageFilter::Execute | ( | const Image & | image1, |
const Image & | image2, | ||
double | maximumRMSError, | ||
uint32_t | numberOfIterations, | ||
double | lambda1, | ||
double | lambda2, | ||
double | epsilon, | ||
double | curvatureWeight, | ||
double | areaWeight, | ||
double | reinitializationSmoothingWeight, | ||
double | volume, | ||
double | volumeMatchingWeight, | ||
ScalarChanAndVeseDenseLevelSetImageFilter::HeavisideStepFunctionType | heavisideStepFunction, | ||
bool | useImageSpacing | ||
) |
Execute the filter on the input images with the given parameters
|
private |
|
inline |
Definition at line 130 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 122 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
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 187 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 114 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 164 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 98 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 106 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 82 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 198 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 90 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 138 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
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 195 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
Definition at line 180 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 146 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 154 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 126 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 118 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 110 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 160 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 94 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 102 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 78 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 86 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 134 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.
Definition at line 170 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 142 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Definition at line 150 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
inline |
Definition at line 174 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
inline |
Set the value of UseImageSpacing to true or false respectfully.
Definition at line 173 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
friend |
Definition at line 219 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 237 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 235 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 248 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 233 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 245 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 229 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 231 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 225 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 221 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 227 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 239 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 250 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 246 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 241 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.
|
private |
Definition at line 243 of file sitkScalarChanAndVeseDenseLevelSetImageFilter.h.