DGtal  1.5.beta
DGtal::functors::FrontierPredicate< TKSpace, TImage > Class Template Reference

Aim: The predicate on surfels that represents the frontier between two regions in an image. It can be used with ExplicitDigitalSurface or LightExplicitDigitalSurface so as to define a digital surface. Such surfaces may of course be open. More...

#include <DGtal/topology/helpers/FrontierPredicate.h>

Public Types

typedef TKSpace KSpace
 
typedef TImage Image
 
typedef KSpace::Surfel Surfel
 
typedef KSpace::Point Point
 
typedef KSpace::SCell SCell
 
typedef Image::Value Value
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((concepts::CCellularGridSpaceND< TKSpace >))
 
 BOOST_CONCEPT_ASSERT ((concepts::CConstImage< TImage >))
 
 BOOST_STATIC_ASSERT ((concepts::ConceptUtils::SameType< typename KSpace::Point, typename Image::Point >::value))
 
 ~FrontierPredicate ()
 
 FrontierPredicate (ConstAlias< KSpace > aSpace, ConstAlias< Image > anImage, const Value &l1, const Value &l2)
 
 FrontierPredicate (const FrontierPredicate &other)
 
FrontierPredicateoperator= (const FrontierPredicate &other)
 
bool operator() (const Surfel &s) const
 
void selfDisplay (std::ostream &out) const
 
bool isValid () const
 

Private Attributes

const KSpacemyPtrSpace
 the cellular space where lies the image. More...
 
const ImagemyPtrImage
 
Value myLabel1
 the label of the inner region that defines the frontier. More...
 
Value myLabel2
 the label of the outer region that defines the frontier. More...
 

Detailed Description

template<typename TKSpace, typename TImage>
class DGtal::functors::FrontierPredicate< TKSpace, TImage >

Aim: The predicate on surfels that represents the frontier between two regions in an image. It can be used with ExplicitDigitalSurface or LightExplicitDigitalSurface so as to define a digital surface. Such surfaces may of course be open.

Description of class 'FrontierPredicate'

Template Parameters
TKSpaceany model of cellular space
TImageany model of Image

Definition at line 67 of file FrontierPredicate.h.

Member Typedef Documentation

◆ Image

template<typename TKSpace , typename TImage >
typedef TImage DGtal::functors::FrontierPredicate< TKSpace, TImage >::Image

Definition at line 74 of file FrontierPredicate.h.

◆ KSpace

template<typename TKSpace , typename TImage >
typedef TKSpace DGtal::functors::FrontierPredicate< TKSpace, TImage >::KSpace

Definition at line 73 of file FrontierPredicate.h.

◆ Point

template<typename TKSpace , typename TImage >
typedef KSpace::Point DGtal::functors::FrontierPredicate< TKSpace, TImage >::Point

Definition at line 76 of file FrontierPredicate.h.

◆ SCell

template<typename TKSpace , typename TImage >
typedef KSpace::SCell DGtal::functors::FrontierPredicate< TKSpace, TImage >::SCell

Definition at line 77 of file FrontierPredicate.h.

◆ Surfel

template<typename TKSpace , typename TImage >
typedef KSpace::Surfel DGtal::functors::FrontierPredicate< TKSpace, TImage >::Surfel

Definition at line 75 of file FrontierPredicate.h.

◆ Value

template<typename TKSpace , typename TImage >
typedef Image::Value DGtal::functors::FrontierPredicate< TKSpace, TImage >::Value

Definition at line 78 of file FrontierPredicate.h.

Constructor & Destructor Documentation

◆ ~FrontierPredicate()

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::~FrontierPredicate ( )

Destructor.

◆ FrontierPredicate() [1/2]

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::FrontierPredicate ( ConstAlias< KSpace aSpace,
ConstAlias< Image anImage,
const Value l1,
const Value l2 
)

Constructor. The frontier will be defined only with the image domain. The space must be large enough to contain the frontier.

Parameters
aSpacea cellular grid space (referenced).
anImageany image (referenced).
l1a label in the image that defines the inner region.
l2a label in the image that defines the outer region.

◆ FrontierPredicate() [2/2]

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::FrontierPredicate ( const FrontierPredicate< TKSpace, TImage > &  other)

Copy constructor.

Parameters
otherthe object to clone.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT() [1/2]

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::BOOST_CONCEPT_ASSERT ( (concepts::CCellularGridSpaceND< TKSpace >)  )

◆ BOOST_CONCEPT_ASSERT() [2/2]

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::BOOST_CONCEPT_ASSERT ( (concepts::CConstImage< TImage >)  )

◆ BOOST_STATIC_ASSERT()

template<typename TKSpace , typename TImage >
DGtal::functors::FrontierPredicate< TKSpace, TImage >::BOOST_STATIC_ASSERT ( (concepts::ConceptUtils::SameType< typename KSpace::Point, typename Image::Point >::value)  )

◆ isValid()

template<typename TKSpace , typename TImage >
bool DGtal::functors::FrontierPredicate< TKSpace, TImage >::isValid ( ) const

Checks the validity/consistency of the object.

Returns
'true' if the object is valid, 'false' otherwise.

◆ operator()()

template<typename TKSpace , typename TImage >
bool DGtal::functors::FrontierPredicate< TKSpace, TImage >::operator() ( const Surfel s) const

Predicate operator.

Parameters
sany surfel
Returns
'true' iff s has its inner voxel that has label myLabel1 in image myImage and its outer voxel that has label myLabel2 in image myImage.

◆ operator=()

template<typename TKSpace , typename TImage >
FrontierPredicate& DGtal::functors::FrontierPredicate< TKSpace, TImage >::operator= ( const FrontierPredicate< TKSpace, TImage > &  other)

Assignment. Required by CSurfelPredicate.

Parameters
otherthe object to clone.
Returns
a reference to this object.

◆ selfDisplay()

template<typename TKSpace , typename TImage >
void DGtal::functors::FrontierPredicate< TKSpace, TImage >::selfDisplay ( std::ostream &  out) const

Writes/Displays the object on an output stream.

Parameters
outthe output stream where the object is written.

Field Documentation

◆ myLabel1

template<typename TKSpace , typename TImage >
Value DGtal::functors::FrontierPredicate< TKSpace, TImage >::myLabel1
private

the label of the inner region that defines the frontier.

Definition at line 152 of file FrontierPredicate.h.

◆ myLabel2

template<typename TKSpace , typename TImage >
Value DGtal::functors::FrontierPredicate< TKSpace, TImage >::myLabel2
private

the label of the outer region that defines the frontier.

Definition at line 154 of file FrontierPredicate.h.

◆ myPtrImage

template<typename TKSpace , typename TImage >
const Image* DGtal::functors::FrontierPredicate< TKSpace, TImage >::myPtrImage
private

Definition at line 150 of file FrontierPredicate.h.

◆ myPtrSpace

template<typename TKSpace , typename TImage >
const KSpace* DGtal::functors::FrontierPredicate< TKSpace, TImage >::myPtrSpace
private

the cellular space where lies the image.

Definition at line 148 of file FrontierPredicate.h.


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