#include <itkLevelSetBase.h>
Abstract base class for the representation of a level-set function.
TInput | Input type where the level set function will be evaluated |
VDimension | Dimension of the input space |
TOutput | Returned type when evaluating the level set function |
TDomain | Support of the level-set function (e.g. Image or QuadEdgeMesh) |
Definition at line 43 of file itkLevelSetBase.h.
Classes | |
class | DataType |
struct | LevelSetDataType |
Public Member Functions | |
void | CopyInformation (const DataObject *data) override |
virtual OutputType | Evaluate (const InputType &iP) const =0 |
virtual void | Evaluate (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual void | EvaluateBackwardGradient (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual void | EvaluateForwardGradient (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual GradientType | EvaluateGradient (const InputType &iP) const =0 |
virtual void | EvaluateGradient (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual OutputRealType | EvaluateGradientNorm (const InputType &iP) const |
virtual void | EvaluateGradientNorm (const InputType &iP, LevelSetDataType &ioData) const |
virtual HessianType | EvaluateHessian (const InputType &iP) const =0 |
virtual void | EvaluateHessian (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual OutputRealType | EvaluateLaplacian (const InputType &iP) const =0 |
virtual void | EvaluateLaplacian (const InputType &iP, LevelSetDataType &ioData) const =0 |
virtual OutputRealType | EvaluateMeanCurvature (const InputType &iP) const =0 |
virtual void | EvaluateMeanCurvature (const InputType &iP, LevelSetDataType &ioData) const |
virtual RegionType | GetBufferedRegion () const |
virtual RegionType | GetMaximumNumberOfRegions () const |
const char * | GetNameOfClass () const override |
virtual RegionType | GetRequestedRegion () const |
void | Graft (const DataObject *data) override |
void | Initialize () override |
virtual bool | IsInside (const InputType &iP) const |
bool | RequestedRegionIsOutsideOfTheBufferedRegion () override |
virtual void | SetBufferedRegion (const RegionType ®ion) |
void | SetRequestedRegion (const DataObject *data) override |
virtual void | SetRequestedRegion (const RegionType ®ion) |
void | SetRequestedRegionToLargestPossibleRegion () override |
void | UpdateOutputInformation () override |
bool | VerifyRequestedRegion () override |
![]() | |
virtual void | DataHasBeenGenerated () |
void | DisconnectPipeline () |
bool | GetDataReleased () const |
virtual const bool & | GetReleaseDataFlag () const |
SmartPointer< ProcessObject > | GetSource () const |
DataObjectPointerArraySizeType | GetSourceOutputIndex () const |
const DataObjectIdentifierType & | GetSourceOutputName () const |
virtual ModifiedTimeType | GetUpdateMTime () const |
virtual void | PrepareForNewData () |
virtual void | PropagateRequestedRegion () |
void | ReleaseData () |
virtual void | ReleaseDataFlagOff () |
virtual void | ReleaseDataFlagOn () |
virtual void | ResetPipeline () |
void | SetReleaseDataFlag (bool flag) |
bool | ShouldIReleaseData () const |
virtual void | Update () |
virtual void | UpdateOutputData () |
void | UpdateSource () const |
void | SetPipelineMTime (ModifiedTimeType time) |
virtual const ModifiedTimeType & | GetPipelineMTime () const |
virtual void | SetRealTimeStamp (RealTimeStamp _arg) |
virtual const RealTimeStamp & | GetRealTimeStamp () const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
Static Public Attributes | |
static constexpr unsigned int | Dimension = VDimension |
Protected Member Functions | |
LevelSetBase () | |
~LevelSetBase () override=default | |
![]() | |
DataObject () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | PropagateResetPipeline () |
~DataObject () override | |
![]() | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
![]() | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Protected Attributes | |
RegionType | m_BufferedRegion { 0 } |
RegionType | m_MaximumNumberOfRegions { 0 } |
RegionType | m_NumberOfRegions { 0 } |
RegionType | m_RequestedNumberOfRegions { 0 } |
RegionType | m_RequestedRegion { 0 } |
![]() | |
std::atomic< int > | m_ReferenceCount {} |
Additional Inherited Members | |
![]() | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static Pointer | New () |
static void | SetGlobalReleaseDataFlag (bool val) |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::ConstPointer = SmartPointer<const Self> |
Definition at line 51 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::DomainType = TDomain |
Definition at line 60 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::GradientType = CovariantVector<OutputRealType, VDimension> |
Definition at line 62 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::HessianType = Matrix<OutputRealType, VDimension, VDimension> |
Definition at line 63 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::InputType = TInput |
Definition at line 58 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::OutputRealType = typename NumericTraits<OutputType>::RealType |
Definition at line 61 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::OutputType = TOutput |
Definition at line 59 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::Pointer = SmartPointer<Self> |
Definition at line 50 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::RegionType = IdentifierType |
Type used to define Regions
Definition at line 66 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::Self = LevelSetBase |
Definition at line 48 of file itkLevelSetBase.h.
using itk::LevelSetBase< TInput, VDimension, TOutput, TDomain >::Superclass = DataObject |
Definition at line 49 of file itkLevelSetBase.h.
|
protected |
|
overrideprotecteddefault |
|
overridevirtual |
Copy information from the specified data set. This method is part of the pipeline execution model. By default, a ProcessObject will copy meta-data from the first input to all of its outputs. See ProcessObject::GenerateOutputInformation(). Each subclass of DataObject is responsible for being able to copy whatever meta-data it needs from from another DataObject. The default implementation of this method is empty. If a subclass overrides this method, it should always call its superclass' version.
Reimplemented from itk::DataObject.
Reimplemented in itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, and itk::LevelSetSparseImage< int8_t, VDimension >.
|
pure virtual |
Returns the value of the level set function at a given location iP
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, itk::WhitakerSparseLevelSetImage< TOutput, VDimension >, itk::WhitakerSparseLevelSetImage< LevelSetOutputType, ImageDimension >, itk::WhitakerSparseLevelSetImage< LevelSetOutputType, ImageDimension >, itk::WhitakerSparseLevelSetImage< TOutput, TInput::ImageDimension >, and itk::WhitakerSparseLevelSetImage< TOutput, TInput::ImageDimension >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, and itk::LevelSetQuadEdgeMesh< TMesh >.
|
pure virtual |
|
pure virtual |
|
pure virtual |
Returns the gradient of the level set function at a given location iP
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, and itk::LevelSetQuadEdgeMesh< TMesh >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, and itk::LevelSetQuadEdgeMesh< TMesh >.
|
virtual |
|
virtual |
|
pure virtual |
Returns the hessian of the level set function at a given location iP
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
pure virtual |
Implemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
virtual |
Reimplemented in itk::DiscreteLevelSetImage< TOutput, VDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< PixelType, ImageType::ImageDimension >, itk::DiscreteLevelSetImage< TImage::PixelType, TImage::ImageDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, and itk::ShiSparseLevelSetImage< TInput::ImageDimension >.
|
virtual |
|
virtual |
Get the maximum number of regions that this data can be separated into.
|
overridevirtual |
Reimplemented from itk::DataObject.
Reimplemented in itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetImage< TInput, VDimension, TOutput >, itk::LevelSetImage< Index< VDimension >, VDimension, TImage::PixelType >, itk::LevelSetImage< Index< VDimension >, VDimension, TOutput >, itk::LevelSetImage< IndexType, VDimension, TOutput >, itk::LevelSetImage< IndexType, VDimension, TOutput >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, itk::MalcolmSparseLevelSetImage< VDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::MalcolmSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< VDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, itk::ShiSparseLevelSetImage< TInput::ImageDimension >, itk::WhitakerSparseLevelSetImage< TOutput, VDimension >, itk::WhitakerSparseLevelSetImage< LevelSetOutputType, ImageDimension >, itk::WhitakerSparseLevelSetImage< LevelSetOutputType, ImageDimension >, itk::WhitakerSparseLevelSetImage< TOutput, TInput::ImageDimension >, and itk::WhitakerSparseLevelSetImage< TOutput, TInput::ImageDimension >.
|
virtual |
|
overridevirtual |
Method for grafting the content of one data object into another one. This method is intended to be overloaded by derived classes. Each one of them should use dynamic_casting in order to verify that the grafted object is actually of the same type as the class on which the Graft() method was invoked.
Reimplemented from itk::DataObject.
Reimplemented in itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, and itk::LevelSetSparseImage< int8_t, VDimension >.
|
overridevirtual |
Initialize the level set function
Reimplemented from itk::DataObject.
Reimplemented in itk::LevelSetDenseImage< TImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetDenseImage< TLevelSetImage >, itk::LevelSetQuadEdgeMesh< TMesh >, itk::LevelSetSparseImage< TOutput, VDimension >, itk::LevelSetSparseImage< int8_t, VDimension >, and itk::LevelSetSparseImage< int8_t, VDimension >.
|
virtual |
Returns true if iP is inside the level set, i.e. \(\phi(p) \le 0 \)
|
overridevirtual |
Determine whether the RequestedRegion is outside of the BufferedRegion. This method returns true if the RequestedRegion is outside the BufferedRegion (true if at least one pixel is outside). This is used by the pipeline mechanism to determine whether a filter needs to re-execute in order to satisfy the current request. If the current RequestedRegion is already inside the BufferedRegion from the previous execution (and the current filter is up to date), then a given filter does not need to re-execute
Reimplemented from itk::DataObject.
|
virtual |
Set/Get the Buffered region
|
overridevirtual |
Set the requested region from this data object to match the requested region of the data object passed in as a parameter. This method implements the API from DataObject. The data object parameter must be castable to a PointSet.
Reimplemented from itk::DataObject.
|
virtual |
Set/Get the Requested region
|
overridevirtual |
Set the RequestedRegion to the LargestPossibleRegion. This forces a filter to produce all of the output in one execution (i.e. not streaming) on the next call to Update().
Reimplemented from itk::DataObject.
|
overridevirtual |
Methods to manage streaming.
Reimplemented from itk::DataObject.
|
overridevirtual |
Verify that the RequestedRegion is within the LargestPossibleRegion.
If the RequestedRegion is not within the LargestPossibleRegion, then the filter cannot possibly satisfy the request. This method returns true if the request can be satisfied (even if it will be necessary to process the entire LargestPossibleRegion) and returns false otherwise. This method is used by PropagateRequestedRegion(). PropagateRequestedRegion() throws a InvalidRequestedRegionError exception if the requested region is not within the LargestPossibleRegion. Default implementation simply returns true in order to support DataObjects that do not need regions (for instance itk::EquivalencyTable).
Reimplemented from itk::DataObject.
|
staticconstexpr |
Definition at line 56 of file itkLevelSetBase.h.
|
protected |
Definition at line 273 of file itkLevelSetBase.h.
|
protected |
Definition at line 270 of file itkLevelSetBase.h.
|
protected |
Definition at line 271 of file itkLevelSetBase.h.
|
protected |
Definition at line 272 of file itkLevelSetBase.h.
|
protected |
Definition at line 274 of file itkLevelSetBase.h.