Image based on graph edges. More...
#include <edge_image.hh>
Public Types | |
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::bkd_piter | bkd_piter |
Backward Site_Iterator associated type. | |
typedef Image< void > | category |
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > | domain_t |
Site_Set associated type. | |
typedef edge_image< P, V, G > | exact_t |
typedef site_function_t::result | function_result_t |
typedef fun::i2v::array< V > | function_t |
Function associated type. | |
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::fwd_piter | fwd_piter |
Forward Site_Iterator associated type. | |
typedef G | graph_t |
The type of the underlying graph. | |
typedef super_::lvalue | lvalue |
typedef fun::i2v::array< V > ::mutable_result | mutable_result |
typedef graph_elt_neighborhood < G, p_edges< G, site_function_t > > | nbh_t |
Neighborhood type. | |
typedef fwd_piter | piter |
Site_Iterator associated type; default definition is fwd_piter. | |
typedef super_::psite | psite |
Point_Site associated type. | |
typedef super_::rvalue | rvalue |
Return type of read-only access. | |
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t >::site | site |
Site associated type. | |
typedef internal::efsite_selector< P, G >::site_function_t | site_function_t |
Function mapping graph elements to sites. | |
typedef edge_image < tag::psite_< P > , tag::value_< V > , tag::graph_< G > > | skeleton |
Skeleton type. | |
typedef mln::value::set < fun::i2v::array< V >::result > | t_eligible_values_set |
Eligible-value-set associated type. | |
typedef mln::value::set < typename mln::value::super_value < fun::i2v::array< V >::result > ::ret > | t_values_space |
Value space associated type. | |
typedef fun::i2v::array< V > ::result | value |
Value associated type. | |
typedef graph_elt_window< G, p_edges< G, site_function_t > > | win_t |
Window type. | |
Public Member Functions | |
void | destroy () |
Detach data from an image (free it if nobody else hold it). | |
const p_edges< G, internal::efsite_selector< P, G >::site_function_t > & | domain () const |
Give the definition domain. | |
fun::i2v::array< V > | function () const |
Return the function which computes a site value. | |
bool | has (const psite &p) const |
Test if p belongs to the image domain. | |
const util::tracked_ptr < internal::data< edge_image < P, V, G > > > & | hook_data_ () const |
Hook to the image data. | |
const void * | id_ () const |
Give an identifier of this image. | |
unsigned | index_of_point (const P &p) const |
Give the offset of the site p . | |
void | init_ (const Function_v2v< fun::i2v::array< V > > &f, const Site_Set< p_edges< G, internal::efsite_selector< P, G >::site_function_t > > &ps) |
Initialize an empty image. | |
bool | is_valid () const |
Test if this image has been initialized; default impl. | |
typedef | mlc_if (is_mutable, mutable_result, typename fun::i2v::array< V >::result) lvalue |
Return type of read-write access. | |
typedef | mlc_not_equal (mutable_result, void) is_mutable |
std::size_t | nsites () const |
Give the number of sites of the image domain. | |
rvalue | operator() (const psite &p) const |
lvalue | operator() (const typename p_edges< G, internal::efsite_selector< P, G >::site_function_t >::psite &p) |
Read-write access returns either a temporary value (copy) or a reference in the case of a mutable function (container). | |
lvalue | operator() (const psite &p) |
rvalue | operator() (const typename p_edges< G, internal::efsite_selector< P, G >::site_function_t >::psite &p) const |
Read-only access of pixel value at point site p . | |
const t_eligible_values_set & | values_eligible () const |
const t_values_space & | values_space () const |
Return the value space of the image. | |
edge_image () | |
Constructors. | |
edge_image (const p_edges< G, site_function_t > &pe) | |
edge_image (const Graph< G > &g, const Function_v2v< site_function_t > &edge_sites, const Function_v2v< fun::i2v::array< V > > &edge_values) | |
edge_image (const p_edges< G, site_function_t > &pe, const Function_v2v< fun::i2v::array< V > > &edge_values) | |
template<typename FP , typename FV > | |
edge_image (const Graph< G > &g, const Function_v2v< FP > &edge_sites, const Function_v2v< FV > &edge_values) | |
template<typename FV > | |
edge_image (const p_edges< G, site_function_t > &pe, const Function_v2v< FV > &edge_values) | |
rvalue | operator() (unsigned e_id) const |
Value accessors/operators overloads. | |
lvalue | operator() (unsigned e_id) |
Protected Attributes | |
util::tracked_ptr < internal::data< edge_image < P, V, G > > > | data_ |
Private Types | |
typedef pw::internal::image_base < fun::i2v::array< V > , p_edges< G, typename internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > > | super_ |
Image based on graph edges.
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::bkd_piter mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::bkd_piter [inherited] |
Backward Site_Iterator associated type.
typedef Image<void> mln::Image< edge_image< P, V, G > >::category [inherited] |
Reimplemented from mln::Object< edge_image< P, V, G > >.
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::domain_t [inherited] |
Site_Set associated type.
typedef edge_image< P, V, G > mln::Object< edge_image< P, V, G > >::exact_t [inherited] |
typedef site_function_t ::result mln::edge_image< P, V, G >::function_result_t |
typedef fun::i2v::array< V > mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::function_t [inherited] |
Function associated type.
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::fwd_piter mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::fwd_piter [inherited] |
Forward Site_Iterator associated type.
typedef G mln::edge_image< P, V, G >::graph_t |
The type of the underlying graph.
typedef super_::lvalue mln::edge_image< P, V, G >::lvalue |
typedef fun::i2v::array< V > ::mutable_result mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::mutable_result [inherited] |
typedef graph_elt_neighborhood<G,p_edges<G,site_function_t> > mln::edge_image< P, V, G >::nbh_t |
Neighborhood type.
typedef fwd_piter mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::piter [inherited] |
Site_Iterator associated type; default definition is fwd_piter.
typedef super_::psite mln::edge_image< P, V, G >::psite |
typedef super_::rvalue mln::edge_image< P, V, G >::rvalue |
Return type of read-only access.
Reimplemented from mln::pw::internal::image_base< fun::i2v::array< V >, p_edges< G, internal::efsite_selector< P, G >::site_function_t >, edge_image< P, V, G > >.
typedef p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::site mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::site [inherited] |
Site associated type.
typedef internal::efsite_selector<P,G>::site_function_t mln::edge_image< P, V, G >::site_function_t |
Function mapping graph elements to sites.
typedef edge_image< tag::psite_<P>, tag::value_<V>, tag::graph_<G> > mln::edge_image< P, V, G >::skeleton |
Skeleton type.
typedef pw::internal::image_base<fun::i2v::array<V>, p_edges<G, typename internal::efsite_selector<P,G>::site_function_t >, edge_image<P,V,G> > mln::edge_image< P, V, G >::super_ [private] |
typedef mln::value::set<fun::i2v::array< V >::result > mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::t_eligible_values_set [inherited] |
Eligible-value-set associated type.
typedef mln::value::set< typename mln::value::super_value<fun::i2v::array< V >::result >::ret > mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::t_values_space [inherited] |
Value space associated type.
typedef fun::i2v::array< V > ::result mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::value [inherited] |
Value associated type.
Reimplemented from mln::internal::image_base< fun::i2v::array< V >::result, p_edges< G, internal::efsite_selector< P, G >::site_function_t >, edge_image< P, V, G > >.
typedef graph_elt_window<G,p_edges<G,site_function_t> > mln::edge_image< P, V, G >::win_t |
Window type.
mln::edge_image< P, V, G >::edge_image | ( | ) | [inline] |
Constructors.
mln::edge_image< P, V, G >::edge_image | ( | const p_edges< G, site_function_t > & | pe | ) | [inline] |
mln::edge_image< P, V, G >::edge_image | ( | const Graph< G > & | g, | |
const Function_v2v< site_function_t > & | edge_sites, | |||
const Function_v2v< fun::i2v::array< V > > & | edge_values | |||
) | [inline] |
mln::edge_image< P, V, G >::edge_image | ( | const p_edges< G, site_function_t > & | pe, | |
const Function_v2v< fun::i2v::array< V > > & | edge_values | |||
) | [inline] |
mln::edge_image< P, V, G >::edge_image | ( | const Graph< G > & | g, | |
const Function_v2v< FP > & | edge_sites, | |||
const Function_v2v< FV > & | edge_values | |||
) | [inline] |
mln::edge_image< P, V, G >::edge_image | ( | const p_edges< G, site_function_t > & | pe, | |
const Function_v2v< FV > & | edge_values | |||
) | [inline] |
void mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::destroy | ( | ) | [inherited] |
Detach data from an image (free it if nobody else hold it).
const p_edges< G, internal::efsite_selector< P, G >::site_function_t > & mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::domain | ( | ) | const [inherited] |
Give the definition domain.
fun::i2v::array< V > mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::function | ( | ) | const [inherited] |
Return the function which computes a site value.
bool mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::has | ( | const psite & | p | ) | const [inherited] |
Test if p
belongs to the image domain.
const util::tracked_ptr< internal::data<edge_image< P, V, G > > >& mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::hook_data_ | ( | ) | const [inherited] |
Hook to the image data.
const void* mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::id_ | ( | ) | const [inherited] |
Give an identifier of this image.
When several image variables designate the same image, they share the same identifier.
unsigned mln::internal::check::image_fastest_< edge_image< P, V, G > , mln::metal::equal< mln_trait_image_speed(edge_image< P, V, G >), trait::image::speed::fastest >::eval >::index_of_point | ( | const P & | p | ) | const [inherited] |
Give the offset of the site p
.
[in] | p | A site. |
p
. void mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::init_ | ( | const Function_v2v< fun::i2v::array< V > > & | f, | |
const Site_Set< p_edges< G, internal::efsite_selector< P, G >::site_function_t > > & | ps | |||
) | [inherited] |
Initialize an empty image.
Referenced by mln::init_().
bool mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::is_valid | ( | ) | const [inherited] |
Test if this image has been initialized; default impl.
typedef mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::mlc_if | ( | is_mutable | , | |
mutable_result | , | |||
typename fun::i2v::array< V > ::result | ||||
) | [inherited] |
Return type of read-write access.
typedef mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::mlc_not_equal | ( | mutable_result | , | |
void | ||||
) | [inherited] |
std::size_t mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::nsites | ( | ) | const [inherited] |
Give the number of sites of the image domain.
rvalue mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::operator() | ( | const typename p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::psite & | p | ) | const [inherited] |
Read-only access of pixel value at point site p
.
edge_image< P, V, G >::lvalue mln::edge_image< P, V, G >::operator() | ( | unsigned | e_id | ) |
edge_image< P, V, G >::rvalue mln::edge_image< P, V, G >::operator() | ( | unsigned | e_id | ) | const |
Value accessors/operators overloads.
rvalue mln::edge_image< P, V, G >::operator() | ( | const psite & | p | ) | const |
lvalue mln::edge_image< P, V, G >::operator() | ( | const psite & | p | ) |
lvalue mln::pw::internal::image_base< fun::i2v::array< V > , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::operator() | ( | const typename p_edges< G, internal::efsite_selector< P, G >::site_function_t > ::psite & | p | ) | [inherited] |
Read-write access returns either a temporary value (copy) or a reference in the case of a mutable function (container).
const t_eligible_values_set& mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::values_eligible | ( | ) | const [inherited] |
const t_values_space& mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::values_space | ( | ) | const [inherited] |
Return the value space of the image.
util::tracked_ptr< internal::data<edge_image< P, V, G > > > mln::internal::image_base< fun::i2v::array< V >::result , p_edges< G, internal::efsite_selector< P, G >::site_function_t > , edge_image< P, V, G > >::data_ [protected, inherited] |
Referenced by mln::edge_image< P, V, G >::operator()().