ITK  6.0.0
Insight Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData > Class Template Reference

#include <itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h>

Detailed Description

template<typename TInputImage, typename TFeatureImage, typename TSingleData>
class itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >

Helper class used to share data in the ScalarChanAndVeseLevelSetFunction.

This class holds cache data used during the computation of the LevelSet updates.

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 58 of file itkUnconstrainedRegionBasedLevelSetFunctionSharedData.h.

+ Inheritance diagram for itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >:
+ Collaboration diagram for itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >:

Public Types

using ConstPointer = SmartPointer< const Self >
 
using FeatureImageType = TFeatureImage
 
using InputImageType = TInputImage
 
using LevelSetDataType = TSingleData
 
using Pointer = SmartPointer< Self >
 
using Self = UnconstrainedRegionBasedLevelSetFunctionSharedData
 
using Superclass = RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
 
- Public Types inherited from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
using CentroidVectorType = Vector< float, Self::ImageDimension >
 
using ConstPointer = SmartPointer< const Self >
 
using FeatureImageConstPointer = typename FeatureImageType::ConstPointer
 
using FeatureImagePointer = typename FeatureImageType::Pointer
 
using FeatureImageType = TFeatureImage
 
using FeatureIndexType = typename FeatureImageType::IndexType
 
using FeaturePixelType = typename FeatureImageType::PixelType
 
using FeaturePointType = typename FeatureImageType::PointType
 
using FeatureRegionType = typename FeatureImageType::RegionType
 
using FeatureSizeType = typename FeatureImageType::SizeType
 
using FeatureSizeValueType = typename FeatureSizeType::SizeValueType
 
using FeatureSpacingType = typename FeatureImageType::SpacingType
 
using InputImageConstPointer = typename InputImageType::ConstPointer
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageType = TInputImage
 
using InputIndexType = typename InputImageType::IndexType
 
using InputIndexValueType = typename InputIndexType::IndexValueType
 
using InputPixelType = typename InputImageType::PixelType
 
using InputPointType = typename InputImageType::PointType
 
using InputRegionType = typename InputImageType::RegionType
 
using InputSizeType = typename InputImageType::SizeType
 
using InputSizeValueType = typename InputSizeType::SizeValueType
 
using InputSpacingType = typename InputImageType::SpacingType
 
using KdTreePointer = typename TreeType::Pointer
 
using LevelSetDataPointer = typename LevelSetDataType::Pointer
 
using LevelSetDataPointerVector = std::vector< LevelSetDataPointer >
 
using LevelSetDataPointerVectorIterator = typename LevelSetDataPointerVector::iterator
 
using LevelSetDataType = TSingleData
 
using ListImageConstPointer = typename ListImageType::ConstPointer
 
using ListImagePointer = typename ListImageType::Pointer
 
using ListImageType = Image< ListPixelType, Self::ImageDimension >
 
using ListIndexType = typename ListImageType::IndexType
 
using ListIndexValueType = typename ListIndexType::IndexValueType
 
using ListIteratorType = ImageRegionIteratorWithIndex< ListImageType >
 
using ListPixelType = std::list< unsigned int >
 
using ListPointType = typename ListImageType::PointType
 
using ListRegionType = typename ListImageType::RegionType
 
using ListSizeType = typename ListImageType::SizeType
 
using ListSizeValueType = typename ListSizeType::SizeValueType
 
using ListSpacingType = typename ListImageType::SpacingType
 
using Pointer = SmartPointer< Self >
 
using SampleType = itk::Statistics::ListSample< CentroidVectorType >
 
using Self = RegionBasedLevelSetFunctionSharedData
 
using Superclass = LightObject
 
using TreeGeneratorType = itk::Statistics::KdTreeGenerator< SampleType >
 
using TreePointer = typename TreeGeneratorType::Pointer
 
using TreeType = typename TreeGeneratorType::KdTreeType
 
- Public Types inherited from itk::LightObject
using ConstPointer = SmartPointer< const Self >
 
using Pointer = SmartPointer< Self >
 
using Self = LightObject
 

Public Member Functions

const char * GetNameOfClass () const override
 
void PopulateListImage () override
 
- Public Member Functions inherited from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
void AllocateListImage (const FeatureImageType *featureImage)
 
void CreateHeavisideFunctionOfLevelSetImage (const unsigned int j, const InputImageType *image)
 
const char * GetNameOfClass () const override
 
virtual void PopulateListImage ()=0
 
void SetFunctionCount (const unsigned int n)
 
void SetKdTree (KdTreePointer kdtree)
 
void SetNumberOfNeighbors (const unsigned int n)
 
- Public Member Functions inherited from itk::LightObject
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
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from itk::LightObject
static void BreakOnError ()
 
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TFeatureImage::ImageDimension
 
- Static Public Attributes inherited from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
static constexpr unsigned int ImageDimension = TFeatureImage::ImageDimension
 

Protected Member Functions

 UnconstrainedRegionBasedLevelSetFunctionSharedData ()
 
 ~UnconstrainedRegionBasedLevelSetFunctionSharedData () override=default
 
- Protected Member Functions inherited from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
 RegionBasedLevelSetFunctionSharedData ()
 
 ~RegionBasedLevelSetFunctionSharedData () override=default
 
- Protected Member Functions inherited from itk::LightObject
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 ()
 

Additional Inherited Members

- Public Attributes inherited from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >
unsigned int m_FunctionCount {}
 
KdTreePointer m_KdTree {}
 
LevelSetDataPointerVector m_LevelSetDataPointerVector {}
 
ListImagePointer m_NearestNeighborListImage {}
 
unsigned int m_NumberOfNeighbors { 6 }
 
- Protected Attributes inherited from itk::LightObject
std::atomic< int > m_ReferenceCount {}
 

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ConstPointer = SmartPointer<const Self>

◆ FeatureImageType

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureImageType = TFeatureImage

◆ InputImageType

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputImageType = TInputImage

◆ LevelSetDataType

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::LevelSetDataType = TSingleData

◆ Pointer

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Pointer = SmartPointer<Self>

◆ Self

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Self = UnconstrainedRegionBasedLevelSetFunctionSharedData

◆ Superclass

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
using itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Superclass = RegionBasedLevelSetFunctionSharedData<TInputImage, TFeatureImage, TSingleData>

Constructor & Destructor Documentation

◆ UnconstrainedRegionBasedLevelSetFunctionSharedData()

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::UnconstrainedRegionBasedLevelSetFunctionSharedData ( )
inlineprotected

◆ ~UnconstrainedRegionBasedLevelSetFunctionSharedData()

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::~UnconstrainedRegionBasedLevelSetFunctionSharedData ( )
overrideprotecteddefault

Member Function Documentation

◆ GetNameOfClass()

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
const char * itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::GetNameOfClass ( ) const
overridevirtual

Return the name of this class as a string. Used by the object factory (implemented in New()) to instantiate objects of a named type. Also used for debugging and other output information.

Reimplemented from itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >.

◆ New()

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
static Pointer itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::New ( )
static

Method for creation through the object factory.

◆ PopulateListImage()

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
void itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage ( )
inlineoverridevirtual

Member Data Documentation

◆ ImageDimension

template<typename TInputImage , typename TFeatureImage , typename TSingleData >
constexpr unsigned int itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ImageDimension = TFeatureImage::ImageDimension
staticconstexpr

The documentation for this class was generated from the following file: