$extrastylesheet
Functions | |
template<typename F > | |
object_links< scribo_support(F)> | compute (Link_Functor< F > &functor, anchor::Type anchor) |
template<typename F > | |
object_links< scribo_support(F)> | compute (Link_Functor< F > &functor) |
template<typename F > | |
object_links< scribo_support(F)> | compute_several (Link_Functor< F > &functor) |
template<typename L > | |
object_links< L > | left (const component_set< L > &components, unsigned dmax) |
template<typename L > | |
mln::util::couple < object_links< L > , object_links< L > > | left_right (const component_set< L > &components) |
template<typename L > | |
object_links< L > | merge_double_link (const object_links< L > &left_link, const object_links< L > &right_link) |
template<typename L > | |
object_links< L > | merge_double_link_closest_aligned (const object_links< L > &left, const object_links< L > &right, anchor::Type anchor_angle) |
template<typename L > | |
mln::util::graph | with_graph (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L , typename N > | |
util::couple< mln::util::graph, typename mln::trait::concrete < L >::ret > | with_rag (const component_set< L > &comps, const Neighborhood< N > &nbh) |
template<typename L > | |
mln::util::graph | with_several_graphes (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_several_left_links (const component_set< L > &objects, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_several_left_links (const component_set< L > &comps) |
template<typename L > | |
object_links< L > | with_several_right_closest_links (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_several_right_closest_links (const component_set< L > &comps) |
template<typename L > | |
object_links< L > | with_several_right_links (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_several_right_links (const component_set< L > &comps) |
template<typename L > | |
object_links< L > | with_several_right_links_overlap (const object_image(L)&objects, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_several_right_links_overlap (const object_image(L)&objects) |
template<typename L > | |
object_links< L > | with_single_down_link (const component_set< L > &comps, unsigned neighb_max_distance, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_down_link (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_single_down_link (const component_set< L > &comps) |
template<typename L > | |
object_links< L > | with_single_left_link (const component_set< L > &components, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_single_left_link (const component_set< L > &components) |
template<typename L , typename F > | |
object_links< L > | with_single_left_link_dmax_ratio (const component_set< L > &components, const DMax_Functor< F > &dmax_f, anchor::Type anchor) |
template<typename L , typename F > | |
object_links< L > | with_single_left_link_dmax_ratio (const component_set< L > &components, float dmax_ratio, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_left_link_dmax_ratio (const component_set< L > &components, float dmax_ratio) |
template<typename L , typename F > | |
object_links< L > | with_single_left_link_dmax_ratio (const component_set< L > &components) |
template<typename L , typename F > | |
object_links< L > | with_single_left_link_dmax_ratio_aligned (const component_set< L > &components, const DMax_Functor< F > &dmax_f, float min_angle, float max_angle, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_left_link_dmax_ratio_aligned (const component_set< L > &components, float dmax_ratio, float min_angle, float max_angle) |
template<typename L > | |
object_links< L > | with_single_left_link_dmax_ratio_aligned (const component_set< L > &components) |
template<typename L > | |
object_links< L > | with_single_right_link (const component_set< L > &components, unsigned neighb_max_distance, anchor::Type anchor=anchor::MassCenter) |
template<typename L > | |
object_links< L > | with_single_right_link (const component_set< L > &components) |
template<typename L > | |
object_links< L > | with_single_right_link_bottom (const component_set< L > &components, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_single_right_link_bottom (const component_set< L > &components) |
template<typename L , typename F > | |
object_links< L > | with_single_right_link_dmax_ratio (const component_set< L > &components, const DMax_Functor< F > &dmax_f, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio (const component_set< L > &components, float dmax_ratio, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio (const component_set< L > &components, float dmax_ratio) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio (const component_set< L > &components) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio_aligned (const component_set< L > &components, float dmax_ratio, float min_angle, float max_angle, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio_aligned (const component_set< L > &components, float dmax_ratio, float min_angle, float max_angle) |
template<typename L > | |
object_links< L > | with_single_right_link_dmax_ratio_aligned (const component_set< L > &components) |
template<typename L > | |
object_links< L > | with_single_right_link_top (const component_set< L > &components, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_single_right_link_top (const component_set< L > &components) |
template<typename L > | |
object_links< L > | with_single_up_link (const component_set< L > &comps, unsigned neighb_max_distance, anchor::Type anchor) |
template<typename L > | |
object_links< L > | with_single_up_link (const component_set< L > &comps, unsigned neighb_max_distance) |
template<typename L > | |
object_links< L > | with_single_up_link (const component_set< L > &comps) |
Namespace of primitive linking related routines.
object_links<scribo_support(F)> scribo::primitive::link::compute | ( | Link_Functor< F > & | functor, |
anchor::Type | anchor | ||
) |
Compute links between objects according a given functor.
[in,out] | functor | Linking policy. |
[in] | anchor | Lookup anchor. Starts looking for neighbors from there. |
Functors must implement the following interface :
bool is_potential_link_(unsigned current_object, const P& start_point, const P& p) const
bool valid_link_(unsigned current_object, const P& start_point, const P& p)
bool verify_link_criterion_(unsigned current_object, const P& start_point, const P& p)
void validate_link_(unsigned current_object, const P& start_point, const P& p, unsigned anchor)
void invalidate_link_(unsigned current_object, const P& start_point, const P& p, unsigned anchor)
void compute_next_site_(P& p)
const mln_site(L)& start_point_(unsigned current_object, unsigned anchor)
void start_processing_object_(unsigned current_object)
object_links<scribo_support(F)> scribo::primitive::link::compute | ( | Link_Functor< F > & | functor | ) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.The default anchor is set to anchor::MassCenter.
object_links<scribo_support(F)> scribo::primitive::link::compute_several | ( | Link_Functor< F > & | functor | ) |
Compute_Several links between objects according a given functor.
[in,out] | functor | Linking policy. |
Functors must implement the following interface :
bool verify_link_criterion_(unsigned current_object, const P& start_point, const P& p) const;
void start_processing_object_(unsigned current_object);
mln_site(L) start_point_(unsigned current_object, unsigned anchor);
void validate_link_(unsigned current_object, const P& start_point, const P& p, unsigned anchor); void invalidate_link_(unsigned current_object, const P& start_point, const P& p, unsigned anchor);
void initialize_link_(unsigned current_object); void finalize_link_(unsigned current_object);
bool is_potential_link(unsigned current_object, const P& start_point, const P& p) const
void compute_next_site(P& p)
object_links<L> scribo::primitive::link::merge_double_link | ( | const object_links< L > & | left_link, |
const object_links< L > & | right_link | ||
) |
Validate and merge double link information. A link must exist in both ways to be validated.
[in] | left_link | The left neighbor of each line of text. |
[in] | right_link | The right neighbor of each line of text. |
object_links<L> scribo::primitive::link::merge_double_link_closest_aligned | ( | const object_links< L > & | left, |
const object_links< L > & | right, | ||
anchor::Type | anchor_angle | ||
) |
Merge two object links data based on distance and angle.
Performs an 'OR' operation on the links according distance and angle criterion.
If a component has several incoming links, only the link for which the the object is the closest or the angle performed between the two bboxes is the lower, will be preserved.
mln::util::graph scribo::primitive::link::with_graph | ( | const component_set< L > & | comps, |
unsigned | neighb_max_distance | ||
) |
Construct the links between each line of text and store it as a graph. Look up for neighbors on the right of each box.
[in] | comps | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to look for a neighbor. |
util::couple<mln::util::graph, typename mln::trait::concrete< L >::ret> scribo::primitive::link::with_rag | ( | const component_set< L > & | comps, |
const Neighborhood< N > & | nbh | ||
) |
Link components with a region adjacency graph.
mln::util::graph scribo::primitive::link::with_several_graphes | ( | const component_set< L > & | comps, |
unsigned | neighb_max_distance | ||
) |
Link character bounding boxes with several graphes.
Look up for neighbors on the left of each box.
|
inline |
Map each character bounding box to its left bounding box neighbor if possible.
Iterate to the right but link boxes to the left.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Map each character bounding box to its right bounding box neighbor if possible.
If there are several right neighbor, the closest one is chosen.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Map each character bounding box to its right bounding box neighbor if possible.
Iterate to the right but link boxes to the right.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Map each character bounding box to its right bounding box neighbor if possible.
Iterate to the right but link boxes to the right.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Link objects with their down neighbor if exists.
[in] | comps | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
[in] | anchor | The neighborhod lookup start point. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Anchor type is set to anchor::MassCenter.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).
|
inline |
Link components with their left neighbor if exists.
[in] | components | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).
|
inline |
Link components with their left neighbor if exists.
[in] | components | A component set. |
[in] | anchor | Starting point for the neighbor lookup. |
[in] | dmax_f | DMax functor defining the maximum lookup distance. |
Look for a neighbor until a maximum distance is reached. The maximum distance is defined thanks to a functor dmax_f
.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The default dmax functor is used (internal::dmax_default).
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.anchor is set to anchor::MassCenter.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The default dmax functor is used (internal::dmax_default) with dmax_ratio set to 3.
anchor is set to anchor::MassCenter.
|
inline |
Link objects with their left neighbor if exists.
[in] | components | A component set. |
[in] | dmax_f | A function defining the maximum lookup distance. |
[in] | min_angle | Minimum difference allowed for alignement angle. |
[in] | max_angle | Maximum difference allowed for alignement angle. |
[in] | anchor | Starting point for the neighbor lookup. |
Look for a neighbor until a maximum distance defined by :
dmax = w / 2 + dmax_ratio * max(h, w)
where w is the bounding box width and h the bounding box height.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.anchor is set to MassCenter.
dmax_f functor is set to internal::dmax_default.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.dmax_ratio is set to 3.
anchor is set to MassCenter.
|
inline |
Link components with their right neighbor if exists.
Lookup startup point is the object mass center.
[in] | components | An object image. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
[in] | anchor | Anchor from where the neighbor lookup is performed. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).
|
inline |
Link components with their right neighbor if exists.
Lookup startup point is the object bottom center.
[in] | components | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).
|
inline |
Link objects with their right neighbor if exists.
[in] | components | A component set. |
[in] | anchor | Starting point for the neighbor lookup. |
[in] | dmax_f | DMax functor defining the maximum lookup distance. |
Look for a neighbor until a maximum distance is reached. The maximum distance is defined thanks to a functor dmax_f
.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.dmax_f
is set to internal::dmax_default.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.anchor is set to MassCenter.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.dmax_ratio is set to 3.
anchor is set to MassCenter.
|
inline |
Link objects with their right neighbor if exists.
[in] | components | A component set. |
[in] | dmax_ratio | Size ratio defining the maximum lookup distance. |
[in] | min_angle | Minimum difference allowed for alignement angle. |
[in] | max_angle | Maximum difference allowed for alignement angle. |
[in] | anchor | Starting point for the neighbor lookup. |
Look for a neighbor until a maximum distance defined by :
dmax = w / 2 + dmax_ratio * max(h, w)
where w is the bounding box width and h the bounding box height.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.anchor is set to MassCenter.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.dmax_ratio is set to 3.
anchor is set to MassCenter.
|
inline |
Link components with their right neighbor if exists.
Lookup startup point is the object top center.
[in] | components | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).
|
inline |
Link components with their up neighbor if exists.
[in] | comps | A component set. |
[in] | neighb_max_distance | The maximum distance allowed to seach a neighbor object. |
[in] | anchor | The neighborhod lookup start point. |
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Anchor type is set to anchor::Center.
|
inline |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Max distance is set to mln_max(unsigned).