$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).