$extrastylesheet
Namespaces | |
namespace | internal |
namespace | skeleton |
Classes | |
class | adj_higher_dim_connected_n_face_bkd_iter |
class | adj_higher_dim_connected_n_face_fwd_iter |
class | adj_higher_face_bkd_iter |
class | adj_higher_face_fwd_iter |
class | adj_lower_dim_connected_n_face_bkd_iter |
class | adj_lower_dim_connected_n_face_fwd_iter |
class | adj_lower_face_bkd_iter |
class | adj_lower_face_fwd_iter |
class | adj_lower_higher_face_bkd_iter |
class | adj_lower_higher_face_fwd_iter |
class | adj_m_face_bkd_iter |
class | adj_m_face_fwd_iter |
class | algebraic_face |
Algebraic face handle in a complex; the face dimension is dynamic. More... | |
class | algebraic_n_face |
Algebraic N-face handle in a complex. More... | |
class | center_only_iter |
class | centered_bkd_iter_adapter |
class | centered_fwd_iter_adapter |
class | complex |
General complex of dimension D . More... | |
class | detach_cell |
A functor detaching a cell from a binary (probably complex-based) image. More... | |
class | detach_pair |
\ brief A functor detaching a simple pair from a binary (probably complex-based) image (elementary collapse operation). More... | |
class | detach_point |
Functor detaching a point from a binary image. More... | |
class | face |
Face handle in a complex; the face dimension is dynamic. More... | |
class | face_bkd_iter |
class | face_data |
class | face_data< 0u, 0u > |
class | face_data< 0u, D > |
class | face_data< D, D > |
class | face_fwd_iter |
class | faces_bkd_iter_ |
class | faces_fwd_iter_ |
struct | is_n_face |
A functor testing wheter a psite (presumably an mln::complex_psite) is an N -face. More... | |
struct | is_not_1d_isthmus |
struct | is_not_end_point |
Functor determining whether a point is not an end point in image of type I , based on neighborhood of type N . More... | |
struct | is_simple_2d_t |
class | is_simple_cell |
A predicate for the simplicity of a point based on the collapse property of the attachment. More... | |
class | is_simple_pair |
A predicate for the simplicity of a pair (or a face that might belong to a simple pair). More... | |
class | is_simple_point2d |
A predicate for the simplicity of an mln::point2d based on the mask-based criterion mln::topo::is_simple_2d. More... | |
class | is_simple_point3d |
A predicate for the simplicity of an mln::point3d based on a look-up table. More... | |
class | n_face |
N-face handle in a complex. More... | |
class | n_face_bkd_iter |
class | n_face_fwd_iter |
class | n_faces_set |
Set of face handles of dimension N . More... | |
struct | no_constraint |
A constraint functor always returning true . More... | |
class | static_n_face_bkd_iter |
class | static_n_face_fwd_iter |
Typedefs | |
typedef mln::value::int_u32 | config_3d_t |
typedef mln::value::int_u8 | conn_number_t |
Functions | |
template<typename I , typename N > | |
unsigned | connectivity_number_2d (const Image< I > &ima, const Neighborhood< N > &nbh, const typename I::psite &p, bool b) |
template<typename I > | |
conn_number_t | connectivity_number_2d_c4 (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I > | |
conn_number_t | connectivity_number_2d_c8 (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I > | |
conn_number_t | connectivity_number_3d_c18 (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I > | |
conn_number_t | connectivity_number_3d_c26 (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I > | |
conn_number_t | connectivity_number_3d_c6 (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I > | |
conn_number_t | connectivity_number_3d_c6p (const Image< I > &ima, const typename I::psite &p, bool ref_val) |
template<typename I , typename NH > | |
bool | is_facet (const Image< I > &ima, const typename I::psite &f, const Neighborhood< NH > &higher_adj_nbh) |
template<typename I , typename N > | |
bool | is_simple_2d (const Image< I > &ima, const Neighborhood< N > &nbh, const typename I::psite &p) |
template<unsigned D> | |
algebraic_face< D > | make_algebraic_face (const face< D > &f, bool sign) |
template<unsigned N, unsigned D> | |
algebraic_n_face< N, D > | make_algebraic_n_face (const n_face< N, D > &f, bool sign) |
template<unsigned N, unsigned D> | |
std::ostream & | operator<< (std::ostream &ostr, const algebraic_n_face< N, D > &f) |
template<unsigned D> | |
std::ostream & | operator<< (std::ostream &ostr, const algebraic_face< D > &f) |
template<unsigned N, unsigned D> | |
std::ostream & | operator<< (std::ostream &ostr, const n_face< N, D > &f) |
template<unsigned D> | |
std::ostream & | operator<< (std::ostream &ostr, const face< D > &f) |
template<unsigned D> | |
std::ostream & | operator<< (std::ostream &ostr, const complex< D > &c) |
template<unsigned D> | |
bool | operator== (const complex< D > &lhs, const complex< D > &rhs) |
template<unsigned D> | |
algebraic_face< D > | operator- (const face< D > &f) |
template<unsigned D> | |
algebraic_face< D > | operator- (const algebraic_face< D > &f) |
template<unsigned D> | |
bool | operator== (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs) |
template<unsigned D> | |
bool | operator!= (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs) |
template<unsigned D> | |
bool | operator< (const algebraic_face< D > &lhs, const algebraic_face< D > &rhs) |
template<unsigned N, unsigned D> | |
algebraic_n_face< N, D > | operator- (const n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
algebraic_n_face< N, D > | operator- (const algebraic_n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
bool | operator== (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs) |
template<unsigned N, unsigned D> | |
bool | operator!= (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs) |
template<unsigned N, unsigned D> | |
bool | operator< (const algebraic_n_face< N, D > &lhs, const algebraic_n_face< N, D > &rhs) |
template<unsigned D> | |
algebraic_n_face< 1, D > | edge (const n_face< 0, D > &f1, const n_face< 0, D > &f2) |
template<unsigned D> | |
bool | operator== (const face< D > &lhs, const face< D > &rhs) |
template<unsigned D> | |
bool | operator!= (const face< D > &lhs, const face< D > &rhs) |
template<unsigned D> | |
bool | operator< (const face< D > &lhs, const face< D > &rhs) |
template<unsigned N, unsigned D> | |
bool | operator== (const n_face< N, D > &lhs, const n_face< N, D > &rhs) |
template<unsigned N, unsigned D> | |
bool | operator!= (const n_face< N, D > &lhs, const n_face< N, D > &rhs) |
template<unsigned N, unsigned D> | |
bool | operator< (const n_face< N, D > &lhs, const n_face< N, D > &rhs) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const algebraic_n_face< N, D > &f1, const algebraic_n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const algebraic_n_face< N, D > &f1, const n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const n_face< N, D > &f1, const algebraic_n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const n_face< N, D > &f1, const n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const n_faces_set< N, D > &fs, const algebraic_n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator+ (const n_faces_set< N, D > &fs, const n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > & | operator+= (n_faces_set< N, D > &fs, const algebraic_n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const algebraic_n_face< N, D > &f1, const algebraic_n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const algebraic_n_face< N, D > &f1, const n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const n_face< N, D > &f1, const algebraic_n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const n_face< N, D > &f1, const n_face< N, D > &f2) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const n_faces_set< N, D > &fs, const algebraic_n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > | operator- (const n_faces_set< N, D > &fs, const n_face< N, D > &f) |
template<unsigned N, unsigned D> | |
n_faces_set< N, D > & | operator-= (n_faces_set< N, D > &fs, const algebraic_n_face< N, D > &f) |
Namespace of "point-wise" expression tools.
Type of a 3D (neighborhood) configuration number (index).
Definition at line 67 of file connectivity_number_3d.hh.
Type of a connectivity number.
Note: The maximun number of connected components in the neighborhood of a point is necessarily lower or equal to half the number of neighbors. This number fits on an mln::value::int_u8 when the dimension is lower or equal to
Definition at line 61 of file connectivity_number_2d.hh.
|
inline |
Compute the 2D connectivity number of a point.
ima | The image the point belongs to. |
nbh | The connectivity used (4- or 8-connectivity). |
p | The location of the point. |
b | If true, consider foreground (i.e. true) values of the neighborhood; otherwise, consider background (i.e. false) values. |
conn_number_t mln::topo::connectivity_number_2d_c4 | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 2D connectivity number of p within ima according to the 4-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
conn_number_t mln::topo::connectivity_number_2d_c8 | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 2D connectivity number of p within ima according to the 8-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
conn_number_t mln::topo::connectivity_number_3d_c18 | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 3D connectivity number of p within ima according to the 18-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
conn_number_t mln::topo::connectivity_number_3d_c26 | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 3D connectivity number of p within ima according to the 26-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
conn_number_t mln::topo::connectivity_number_3d_c6 | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 3D connectivity number of p within ima according to the 6-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
Note: The (6+)-connectivity is associated to the 18-connectivity, while the 6-connectivity is associated to the 26-connectivity.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
conn_number_t mln::topo::connectivity_number_3d_c6p | ( | const Image< I > & | ima, |
const typename I::psite & | p, | ||
bool | ref_val | ||
) |
Compute the 3D connectivity number of p within ima according to the (6+)-connectivity.
If ref_val is set to true
, compute the number w.r.t. the foreground, otherwise compute it w.r.t. the background.
Note: The 6-connectivity is associated to the 26-connectivity, while the (6+)-connectivity is associated to the 18-connectivity.
ima | The image on which the connectivity number is computed. |
p | The site the connectivity number of which is computed. |
ref_val | The reference value, telling whether the foreground (true) or the background (false) is considered. |
algebraic_n_face<1, D> mln::topo::edge | ( | const n_face< 0, D > & | f1, |
const n_face< 0, D > & | f2 | ||
) |
Helpers.
Return the algebraic 1-face (edge) linking the 0-faces (vertices) f1 and f2. If there is no 1-face between f1 and f2, return an invalid 1-face.
Note: this routine assumes the complex is not degenerated, i.e,
bool mln::topo::is_facet | ( | const Image< I > & | ima, |
const typename I::psite & | f, | ||
const Neighborhood< NH > & | higher_adj_nbh | ||
) |
Is f a facet in image, i.e., a face not ``included in'' (adjacent to) a face of higher dimension?
I | The type of the image. |
NH | The neighborhood type returning the set of (n+1)-faces adjacent to a an n-face. |
ima | The complex image. |
f | A psite pointing to the face to examine. |
higher_adj_nbh | Relationship between an n-facet and its adjacent (n+1)-facets. |
bool mln::topo::is_simple_2d | ( | const Image< I > & | ima, |
const Neighborhood< N > & | nbh, | ||
const typename I::psite & | p | ||
) |
Test if a point is simple or not.
A point of an object is simple if in its c8 neiborhood, there is exactly one connected component of the object, and only one connected component of the background Examples : ( | == object, - = background)
- - | | P | Here p is simple in the c4 and c8 case. | | | - | - | P | Here p is never simple. | | |
algebraic_face<D> mln::topo::make_algebraic_face | ( | const face< D > & | f, |
bool | sign | ||
) |
Create an algebraic face handle of a D-complex
.
algebraic_n_face<N, D> mln::topo::make_algebraic_n_face | ( | const n_face< N, D > & | f, |
bool | sign | ||
) |
Create an algebraic N-face
handle of a D-complex
.
bool mln::topo::operator!= | ( | const algebraic_n_face< N, D > & | lhs, |
const algebraic_n_face< N, D > & | rhs | ||
) |
Is lhs different from rhs?
bool mln::topo::operator!= | ( | const algebraic_face< D > & | lhs, |
const algebraic_face< D > & | rhs | ||
) |
Is lhs different from rhs?
bool mln::topo::operator!= | ( | const n_face< N, D > & | lhs, |
const n_face< N, D > & | rhs | ||
) |
Is lhs different from rhs?
bool mln::topo::operator!= | ( | const face< D > & | lhs, |
const face< D > & | rhs | ||
) |
Is lhs different from rhs?
n_faces_set<N, D> mln::topo::operator+ | ( | const algebraic_n_face< N, D > & | f1, |
const algebraic_n_face< N, D > & | f2 | ||
) |
Addition.
n_faces_set<N, D> mln::topo::operator+ | ( | const algebraic_n_face< N, D > & | f1, |
const n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator+ | ( | const n_face< N, D > & | f1, |
const algebraic_n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator+ | ( | const n_face< N, D > & | f1, |
const n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator+ | ( | const n_faces_set< N, D > & | fs, |
const algebraic_n_face< N, D > & | f | ||
) |
n_faces_set<N, D> mln::topo::operator+ | ( | const n_faces_set< N, D > & | fs, |
const n_face< N, D > & | f | ||
) |
n_faces_set<N, D>& mln::topo::operator+= | ( | n_faces_set< N, D > & | fs, |
const algebraic_n_face< N, D > & | f | ||
) |
algebraic_n_face<N, D> mln::topo::operator- | ( | const n_face< N, D > & | f | ) |
Inversion operators.
algebraic_n_face<N, D> mln::topo::operator- | ( | const algebraic_n_face< N, D > & | f | ) |
algebraic_face<D> mln::topo::operator- | ( | const face< D > & | f | ) |
Inversion operators.
algebraic_face<D> mln::topo::operator- | ( | const algebraic_face< D > & | f | ) |
n_faces_set<N, D> mln::topo::operator- | ( | const algebraic_n_face< N, D > & | f1, |
const algebraic_n_face< N, D > & | f2 | ||
) |
Subtraction.
n_faces_set<N, D> mln::topo::operator- | ( | const algebraic_n_face< N, D > & | f1, |
const n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator- | ( | const n_face< N, D > & | f1, |
const algebraic_n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator- | ( | const n_face< N, D > & | f1, |
const n_face< N, D > & | f2 | ||
) |
n_faces_set<N, D> mln::topo::operator- | ( | const n_faces_set< N, D > & | fs, |
const algebraic_n_face< N, D > & | f | ||
) |
n_faces_set<N, D> mln::topo::operator- | ( | const n_faces_set< N, D > & | fs, |
const n_face< N, D > & | f | ||
) |
n_faces_set<N, D>& mln::topo::operator-= | ( | n_faces_set< N, D > & | fs, |
const algebraic_n_face< N, D > & | f | ||
) |
bool mln::topo::operator< | ( | const algebraic_n_face< N, D > & | lhs, |
const algebraic_n_face< N, D > & | rhs | ||
) |
Is lhs ``less'' than rhs?
This comparison is required by algorithms sorting algebraic face handles.
bool mln::topo::operator< | ( | const algebraic_face< D > & | lhs, |
const algebraic_face< D > & | rhs | ||
) |
Is lhs ``less'' than rhs?
This comparison is required by algorithms sorting algebraic face handles.
bool mln::topo::operator< | ( | const n_face< N, D > & | lhs, |
const n_face< N, D > & | rhs | ||
) |
Is lhs ``less'' than rhs?
This comparison is required by algorithms sorting face handles.
bool mln::topo::operator< | ( | const face< D > & | lhs, |
const face< D > & | rhs | ||
) |
Is lhs ``less'' than rhs?
This comparison is required by algorithms sorting face handles.
std::ostream& mln::topo::operator<< | ( | std::ostream & | ostr, |
const algebraic_n_face< N, D > & | f | ||
) |
Print an mln::topo::algebraic_n_face.
std::ostream& mln::topo::operator<< | ( | std::ostream & | ostr, |
const algebraic_face< D > & | f | ||
) |
Print an mln::topo::algebraic_face.
std::ostream& mln::topo::operator<< | ( | std::ostream & | ostr, |
const n_face< N, D > & | f | ||
) |
Print an mln::topo::n_face.
std::ostream& mln::topo::operator<< | ( | std::ostream & | ostr, |
const face< D > & | f | ||
) |
Print an mln::topo::face.
std::ostream& mln::topo::operator<< | ( | std::ostream & | ostr, |
const complex< D > & | c | ||
) |
Pretty print a complex.
bool mln::topo::operator== | ( | const algebraic_n_face< N, D > & | lhs, |
const algebraic_n_face< N, D > & | rhs | ||
) |
Comparison of two instances of mln::topo::algebraic_n_face.
Is lhs equal to rhs?
bool mln::topo::operator== | ( | const algebraic_face< D > & | lhs, |
const algebraic_face< D > & | rhs | ||
) |
Comparison of two instances of mln::topo::algebraic_face.
Is lhs equal to rhs?
bool mln::topo::operator== | ( | const n_face< N, D > & | lhs, |
const n_face< N, D > & | rhs | ||
) |
Comparison of two instances of mln::topo::n_face.
Is lhs equal to rhs?
bool mln::topo::operator== | ( | const face< D > & | lhs, |
const face< D > & | rhs | ||
) |
Comparison of two instances of mln::topo::face.
Is lhs equal to rhs?
bool mln::topo::operator== | ( | const complex< D > & | lhs, |
const complex< D > & | rhs | ||
) |
Compare two complexes for equality.