#include <itkRegionBasedLevelSetFunctionSharedData.h>
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 [22].
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 61 of file itkRegionBasedLevelSetFunctionSharedData.h.
Public Types | |
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 |
![]() | |
using | ConstPointer = SmartPointer<const Self> |
using | Pointer = SmartPointer<Self> |
using | Self = LightObject |
Public Member Functions | |
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) |
![]() | |
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 |
Public Attributes | |
unsigned int | m_FunctionCount {} |
KdTreePointer | m_KdTree {} |
LevelSetDataPointerVector | m_LevelSetDataPointerVector {} |
ListImagePointer | m_NearestNeighborListImage {} |
unsigned int | m_NumberOfNeighbors { 6 } |
Static Public Attributes | |
static constexpr unsigned int | ImageDimension = TFeatureImage::ImageDimension |
Protected Member Functions | |
RegionBasedLevelSetFunctionSharedData () | |
~RegionBasedLevelSetFunctionSharedData () 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 () |
Additional Inherited Members | |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::CentroidVectorType = Vector<float, Self::ImageDimension> |
Definition at line 111 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ConstPointer = SmartPointer<const Self> |
Definition at line 69 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureImageConstPointer = typename FeatureImageType::ConstPointer |
Definition at line 89 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureImagePointer = typename FeatureImageType::Pointer |
Definition at line 88 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureImageType = TFeatureImage |
Definition at line 87 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureIndexType = typename FeatureImageType::IndexType |
Definition at line 95 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeaturePixelType = typename FeatureImageType::PixelType |
Definition at line 90 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeaturePointType = typename FeatureImageType::PointType |
Definition at line 96 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureRegionType = typename FeatureImageType::RegionType |
Definition at line 91 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureSizeType = typename FeatureImageType::SizeType |
Definition at line 92 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureSizeValueType = typename FeatureSizeType::SizeValueType |
Definition at line 93 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::FeatureSpacingType = typename FeatureImageType::SpacingType |
Definition at line 94 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputImageConstPointer = typename InputImageType::ConstPointer |
Definition at line 77 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputImagePointer = typename InputImageType::Pointer |
Definition at line 76 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputImageType = TInputImage |
Definition at line 75 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputIndexType = typename InputImageType::IndexType |
Definition at line 83 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputIndexValueType = typename InputIndexType::IndexValueType |
Definition at line 84 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputPixelType = typename InputImageType::PixelType |
Definition at line 78 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputPointType = typename InputImageType::PointType |
Definition at line 85 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputRegionType = typename InputImageType::RegionType |
Definition at line 79 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputSizeType = typename InputImageType::SizeType |
Definition at line 80 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputSizeValueType = typename InputSizeType::SizeValueType |
Definition at line 81 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::InputSpacingType = typename InputImageType::SpacingType |
Definition at line 82 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::KdTreePointer = typename TreeType::Pointer |
Definition at line 116 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::LevelSetDataPointer = typename LevelSetDataType::Pointer |
Definition at line 119 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::LevelSetDataPointerVector = std::vector<LevelSetDataPointer> |
Definition at line 120 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::LevelSetDataPointerVectorIterator = typename LevelSetDataPointerVector::iterator |
Definition at line 121 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::LevelSetDataType = TSingleData |
Definition at line 118 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListImageConstPointer = typename ListImageType::ConstPointer |
Definition at line 101 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListImagePointer = typename ListImageType::Pointer |
Definition at line 100 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListImageType = Image<ListPixelType, Self::ImageDimension> |
Definition at line 99 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListIndexType = typename ListImageType::IndexType |
Definition at line 106 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListIndexValueType = typename ListIndexType::IndexValueType |
Definition at line 107 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListIteratorType = ImageRegionIteratorWithIndex<ListImageType> |
Definition at line 109 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListPixelType = std::list<unsigned int> |
Definition at line 98 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListPointType = typename ListImageType::PointType |
Definition at line 108 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListRegionType = typename ListImageType::RegionType |
Definition at line 102 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListSizeType = typename ListImageType::SizeType |
Definition at line 103 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListSizeValueType = typename ListSizeType::SizeValueType |
Definition at line 104 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::ListSpacingType = typename ListImageType::SpacingType |
Definition at line 105 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Pointer = SmartPointer<Self> |
Definition at line 68 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::SampleType = itk::Statistics::ListSample<CentroidVectorType> |
Definition at line 112 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Self = RegionBasedLevelSetFunctionSharedData |
Definition at line 66 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::Superclass = LightObject |
Definition at line 67 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::TreeGeneratorType = itk::Statistics::KdTreeGenerator<SampleType> |
Definition at line 113 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::TreePointer = typename TreeGeneratorType::Pointer |
Definition at line 114 of file itkRegionBasedLevelSetFunctionSharedData.h.
using itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::TreeType = typename TreeGeneratorType::KdTreeType |
Definition at line 115 of file itkRegionBasedLevelSetFunctionSharedData.h.
|
inlineprotected |
Definition at line 176 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_KdTree.
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
inline |
Definition at line 157 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_NearestNeighborListImage, and itk::Image< ListPixelType, Self::ImageDimension >::New().
|
inline |
Definition at line 145 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_LevelSetDataPointerVector.
|
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::LightObject.
Reimplemented in itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >.
References RegionBasedLevelSetFunctionSharedData().
|
pure virtual |
|
inline |
Definition at line 124 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_FunctionCount, and m_LevelSetDataPointerVector.
|
inline |
Definition at line 151 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_KdTree.
|
inline |
Definition at line 139 of file itkRegionBasedLevelSetFunctionSharedData.h.
References m_NumberOfNeighbors.
|
staticconstexpr |
Definition at line 71 of file itkRegionBasedLevelSetFunctionSharedData.h.
unsigned int itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::m_FunctionCount {} |
Definition at line 170 of file itkRegionBasedLevelSetFunctionSharedData.h.
Referenced by itk::ConstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage(), itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage(), and SetFunctionCount().
KdTreePointer itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::m_KdTree {} |
Definition at line 173 of file itkRegionBasedLevelSetFunctionSharedData.h.
Referenced by itk::ConstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage(), RegionBasedLevelSetFunctionSharedData(), and SetKdTree().
LevelSetDataPointerVector itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::m_LevelSetDataPointerVector {} |
ListImagePointer itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::m_NearestNeighborListImage {} |
Definition at line 172 of file itkRegionBasedLevelSetFunctionSharedData.h.
Referenced by AllocateListImage(), itk::ConstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage(), and itk::UnconstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage().
unsigned int itk::RegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::m_NumberOfNeighbors { 6 } |
Definition at line 171 of file itkRegionBasedLevelSetFunctionSharedData.h.
Referenced by itk::ConstrainedRegionBasedLevelSetFunctionSharedData< TInputImage, TFeatureImage, TSingleData >::PopulateListImage(), and SetNumberOfNeighbors().