$extrastylesheet
Olena  User documentation 2.1
An Image Processing Platform
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Geometry

Functions

template<typename I >
mln::trait::concrete< I >::ret mln::subsampling::antialiased (const Image< I > &input, unsigned factor, const typename I::domain_t &output_domain, unsigned border_thickness)
template<typename I >
mln::trait::concrete< I >::ret mln::subsampling::antialiased (const Image< I > &input, unsigned factor)
template<typename S >
box< typename S::site > mln::geom::bbox (const Site_Set< S > &pset)
template<typename I >
box< typename I::site > mln::geom::bbox (const Image< I > &ima)
template<typename W >
box< typename W::psite > mln::geom::bbox (const Window< W > &win)
template<typename W >
box< typename W::psite > mln::geom::bbox (const Weighted_Window< W > &win)
template<typename I , typename W >
mln::trait::ch_value< I,
unsigned >::ret 
mln::geom::chamfer (const Image< I > &input_, const W &w_win_, unsigned max=mln_max(unsigned))
template<typename I , typename B >
mln::trait::concrete< I >::ret mln::geom::crop (const Image< I > &input, const Box< B > &b)
template<typename I , typename B >
mln::trait::concrete< I >::ret mln::geom::crop_without_localization (const Image< I > &input, const Box< B > &b_in, const Box< B > &b_out)
template<typename W >
unsigned mln::geom::delta (const Window< W > &win)
template<typename W >
unsigned mln::geom::delta (const Weighted_Window< W > &wwin)
template<typename N >
unsigned mln::geom::delta (const Neighborhood< N > &nbh)
template<typename I >
mln::trait::concrete< I >::ret mln::geom::horizontal_symmetry (const Image< I > &input)
template<typename I >
I::site::coord mln::geom::max_col (const Image< I > &ima)
template<typename B >
B::site::coord mln::geom::max_col (const Box< B > &b)
template<typename I >
I::site::coord mln::geom::max_ind (const Image< I > &ima)
template<typename I >
I::site::coord mln::geom::max_row (const Image< I > &ima)
template<typename B >
B::site::coord mln::geom::max_row (const Box< B > &b)
template<typename I >
I::site::coord mln::geom::max_sli (const Image< I > &ima)
template<typename I >
I::site::coord mln::geom::min_col (const Image< I > &ima)
template<typename B >
B::site::coord mln::geom::min_col (const Box< B > &b)
template<typename I >
I::site::coord mln::geom::min_ind (const Image< I > &ima)
template<typename I >
I::site::coord mln::geom::min_row (const Image< I > &ima)
template<typename B >
B::site::coord mln::geom::min_row (const Box< B > &b)
template<typename I >
I::site::coord mln::geom::min_sli (const Image< I > &ima)
template<typename I >
unsigned mln::geom::ncols (const Image< I > &ima)
template<typename B >
unsigned mln::geom::ncols (const Box< B > &b)
template<typename I >
unsigned mln::geom::ninds (const Image< I > &ima)
template<typename I >
unsigned mln::geom::nrows (const Image< I > &ima)
template<typename B >
unsigned mln::geom::nrows (const Box< B > &b)
template<typename I >
unsigned mln::geom::nsites (const Image< I > &input)
template<typename I >
unsigned mln::geom::nslis (const Image< I > &ima)
template<typename S >
std::pair< typename S::site,
typename S::site > 
mln::geom::pmin_pmax (const Site_Set< S > &s)
template<typename S >
void mln::geom::pmin_pmax (const Site_Set< S > &s, typename S::site &pmin, typename S::site &pmax)
template<typename I >
std::pair< typename I::site,
typename I::site > 
mln::geom::pmin_pmax (const Site_Iterator< I > &p)
template<typename I >
void mln::geom::pmin_pmax (const Site_Iterator< I > &p, typename I::site &pmin, typename I::site &pmax)
template<typename I , typename Ext , typename S >
mln::trait::concrete< I >::ret mln::geom::rotate (const Image< I > &input, double angle, const Ext &extension, const Site_Set< S > &output_domain)
template<typename I , typename Ext >
mln::trait::concrete< I >::ret mln::geom::rotate (const Image< I > &input, double angle, const Ext &extension)
template<typename I >
mln::trait::concrete< I >::ret mln::geom::rotate (const Image< I > &input, double angle)
template<typename B >
mln::geom::rotate (const Box< B > &box_, double angle, const typename B::site &ref)
template<typename B >
mln::geom::rotate (const Box< B > &box, double angle)
template<typename I >
mln::trait::concrete< I >::ret mln::upscaling::art::scale2x (const Image< I > &input)
template<typename I >
mln::trait::concrete< I >::ret mln::upscaling::art::scale3x (const Image< I > &input)
template<typename I , typename N >
mln::trait::concrete< I >::ret mln::geom::seeds2tiling (const Image< I > &ima_, const Neighborhood< N > &nbh)
template<typename I , typename N >
mln::geom::seeds2tiling_roundness (Image< I > &ima_, const w_window2d_int &w_win, unsigned max, const Neighborhood< N > &nbh_)
template<typename I >
mln::trait::ch_value< I, bool >
::ret 
mln::binarization::threshold (const Image< I > &input, const typename I::value threshold)
template<typename I , typename V , typename Ext , typename S >
mln::trait::concrete< I >::ret mln::geom::translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref, const Ext &extension, const Site_Set< S > &output_domain)
template<typename I , typename V , typename Ext >
mln::trait::concrete< I >::ret mln::geom::translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref, const Ext &extension)
template<typename I , typename V >
mln::trait::concrete< I >::ret mln::geom::translate (const Image< I > &input, const algebra::vec< I::site::dim, V > &ref)
template<typename I >
mln::trait::concrete< I >::ret mln::geom::vertical_symmetry (const Image< I > &input)

Detailed Description

All routines related to Image Geometry.

Function Documentation

template<typename I >
mln::trait::concrete< I >::ret mln::subsampling::antialiased ( const Image< I > &  input,
unsigned  factor,
const typename I::domain_t &  output_domain,
unsigned  border_thickness 
)
inline

Antialiased subsampling.

Parameters
[in]inputA gray-level image.
[in]factorSubsampling ratio. Must be divisible by 2 or 3.
[in]output_domainForce output domain.
[in]border_thicknessForce output border thickness.
template<typename I >
mln::trait::concrete< I >::ret mln::subsampling::antialiased ( const Image< I > &  input,
unsigned  factor 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename S >
box<typename S ::site> mln::geom::bbox ( const Site_Set< S > &  pset)

Compute the precise bounding box of a point set pset.

template<typename I >
box<typename I ::site> mln::geom::bbox ( const Image< I > &  ima)

Compute the precise bounding box of a point set pset.

template<typename W >
box<typename W ::psite> mln::geom::bbox ( const Window< W > &  win)

Compute the precise bounding box of a window win.

template<typename W >
box<typename W ::psite> mln::geom::bbox ( const Weighted_Window< W > &  win)

Compute the precise bounding box of a weighted window win.

template<typename I , typename W >
mln::trait::ch_value< I , unsigned >::ret mln::geom::chamfer ( const Image< I > &  input_,
const W &  w_win_,
unsigned  max = mln_max(unsigned) 
)

Apply chamfer algorithm to a binary image.

template<typename I , typename B >
mln::trait::concrete< I >::ret mln::geom::crop ( const Image< I > &  input,
const Box< B > &  b 
)

Crop an image.

template<typename I , typename B >
mln::trait::concrete< I >::ret mln::geom::crop_without_localization ( const Image< I > &  input,
const Box< B > &  b_in,
const Box< B > &  b_out 
)

Crop an image. Localization between input and output may not be preserved.

template<typename W >
unsigned mln::geom::delta ( const Window< W > &  win)

Compute the delta of a window win.

template<typename W >
unsigned mln::geom::delta ( const Weighted_Window< W > &  wwin)

Compute the delta of a weighted window wwin.

template<typename N >
unsigned mln::geom::delta ( const Neighborhood< N > &  nbh)

Compute the delta of a neighborhood nbh.

template<typename I >
mln::trait::concrete< I >::ret mln::geom::horizontal_symmetry ( const Image< I > &  input)

Perfoms a horizontal symmetry.

template<typename I >
I :: site :: coord mln::geom::max_col ( const Image< I > &  ima)

Give the maximum column of an image.

template<typename B >
B :: site :: coord mln::geom::max_col ( const Box< B > &  b)

Give the maximum col of an box 2d or 3d.

template<typename I >
I :: site :: coord mln::geom::max_ind ( const Image< I > &  ima)

Give the maximum ind of an image.

template<typename I >
I :: site :: coord mln::geom::max_row ( const Image< I > &  ima)

Give the maximum row of an image.

template<typename B >
B :: site :: coord mln::geom::max_row ( const Box< B > &  b)

Give the maximum row of an box 2d or 3d.

template<typename I >
I :: site :: coord mln::geom::max_sli ( const Image< I > &  ima)

Give the maximum sli of an image.

template<typename I >
I :: site :: coord mln::geom::min_col ( const Image< I > &  ima)

Give the minimum column of an image.

template<typename B >
B :: site :: coord mln::geom::min_col ( const Box< B > &  b)

Give the minimum column of an box 2d or 3d.

template<typename I >
I :: site :: coord mln::geom::min_ind ( const Image< I > &  ima)

Give the minimum ind of an image.

template<typename I >
I :: site :: coord mln::geom::min_row ( const Image< I > &  ima)

Give the minimum row of an image.

template<typename B >
B :: site :: coord mln::geom::min_row ( const Box< B > &  b)

Give the minimum row of an box 2d or 3d.

template<typename I >
I :: site :: coord mln::geom::min_sli ( const Image< I > &  ima)

Give the minimum sli of an image.

template<typename I >
unsigned mln::geom::ncols ( const Image< I > &  ima)

Give the number of columns of an image.

template<typename B >
unsigned mln::geom::ncols ( const Box< B > &  b)

Give the number of cols of a box 2d or 3d.

template<typename I >
unsigned mln::geom::ninds ( const Image< I > &  ima)

Give the number of inds of an image.

template<typename I >
unsigned mln::geom::nrows ( const Image< I > &  ima)

Give the number of rows of an image.

template<typename B >
unsigned mln::geom::nrows ( const Box< B > &  b)

Give the number of rows of a box 2d or 3d.

template<typename I >
unsigned mln::geom::nsites ( const Image< I > &  input)

Compute the number of sites of the image input.

template<typename I >
unsigned mln::geom::nslis ( const Image< I > &  ima)

Give the number of slices of an image.

template<typename S >
std::pair<typename S ::site, typename S ::site> mln::geom::pmin_pmax ( const Site_Set< S > &  s)

Compute the minimum and maximum points of point set s.

template<typename S >
void mln::geom::pmin_pmax ( const Site_Set< S > &  s,
typename S::site &  pmin,
typename S::site &  pmax 
)

Compute the minimum and maximum points, pmin and max, of point set s.

template<typename I >
std::pair<typename I ::site, typename I ::site> mln::geom::pmin_pmax ( const Site_Iterator< I > &  p)

Compute the minimum and maximum points when browsing with iterator p.

template<typename I >
void mln::geom::pmin_pmax ( const Site_Iterator< I > &  p,
typename I::site &  pmin,
typename I::site &  pmax 
)

Compute the minimum and maximum points, pmin and max, when browsing with iterator p.

template<typename I , typename Ext , typename S >
mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > &  input,
double  angle,
const Ext &  extension,
const Site_Set< S > &  output_domain 
)

Perform a rotation from the center of an image.

Parameters
[in]inputAn image.
[in]angleAn angle in degrees.
[in]extensionFunction, image or value which will be used as extension. This extension allows to map values to sites which where not part of the domain before the rotation.
[in]output_domainThe domain of the output image. An invalid domain, causes the routine to use a domain large enough to display the whole original image.
Returns
An image with the same domain as input.
template<typename I , typename Ext >
mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > &  input,
double  angle,
const Ext &  extension 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename I >
mln::trait::concrete< I >::ret mln::geom::rotate ( const Image< I > &  input,
double  angle 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use literal::zero as default value for the extension.

template<typename B >
B mln::geom::rotate ( const Box< B > &  box_,
double  angle,
const typename B::site &  ref 
)

Rotate a box.

FIXME: the return type may be too generic and may lead to invalid covariance.

template<typename B >
B mln::geom::rotate ( const Box< B > &  box,
double  angle 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. The rotation center ref is set to box.pcenter().

template<typename I >
mln::trait::concrete< I >::ret mln::upscaling::art::scale2x ( const Image< I > &  input)

2X upscaling algorithm for pixel art images.

Parameters
[in]inputAn image.
Returns
An upscaled image.

Source: http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms

template<typename I >
mln::trait::concrete< I >::ret mln::upscaling::art::scale3x ( const Image< I > &  input)

3X upscaling algorithm for pixel art images.

Parameters
[in]inputAn image.
Returns
An upscaled image.

Source: http://en.wikipedia.org/wiki/Pixel_art_scaling_algorithms

template<typename I , typename N >
mln::trait::concrete< I >::ret mln::geom::seeds2tiling ( const Image< I > &  ima_,
const Neighborhood< N > &  nbh 
)

Take a labeled image ima_ with seeds and extend them until creating tiles.

Parameters
[in,out]ima_The labeled image with seed.
[in]nbhThe neighborhood to use on this algorithm.
Returns
A tiled image.
Precondition
ima_ has to be initialized.
template<typename I , typename N >
I mln::geom::seeds2tiling_roundness ( Image< I > &  ima_,
const w_window2d_int &  w_win,
unsigned  max,
const Neighborhood< N > &  nbh_ 
)

Take a labeled image ima_ with seeds and extend them until creating tiles rounder than the primary version.

Parameters
[in,out]ima_The labeled image with seed.
[in]w_winThe weight window using by geom::chamfer to compute distance.
[in]maxUnsigned using by geom::chamfer to compute the distance.
[in]nbh_The neighborhood to use on this algorithm.
Precondition
ima_ has to be initialized.
template<typename I >
mln::trait::ch_value< I , bool >::ret mln::binarization::threshold ( const Image< I > &  input,
const typename I::value  threshold 
)

Gaussian subsampling Thresholds the values of input so that they can be stored in the output binary image.

Parameters
[in]inputThe input image.
[in]thresholdThe threshold.

If input(p) is greater or equal than the threshold, the value in the output image in the same point will be TRUE, else FALSE.

template<typename I , typename V , typename Ext , typename S >
mln::trait::concrete< I >::ret mln::geom::translate ( const Image< I > &  input,
const algebra::vec< I::site::dim, V > &  ref,
const Ext &  extension,
const Site_Set< S > &  output_domain 
)

Perform a translation from the center of an image.

Parameters
[in]inputAn image.
[in]refThe translation vector.
[in]extensionFunction, image or value which will be used as extension. This extension allows to map values to sites which where not part of the domain before the translation.
[in]output_domainThe domain of the output image. An invalid domain, causes the routine to use the translated input_ domain.
Returns
An image with the same domain as input.
template<typename I , typename V , typename Ext >
mln::trait::concrete< I >::ret mln::geom::translate ( const Image< I > &  input,
const algebra::vec< I::site::dim, V > &  ref,
const Ext &  extension 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

template<typename I , typename V >
mln::trait::concrete< I >::ret mln::geom::translate ( const Image< I > &  input,
const algebra::vec< I::site::dim, V > &  ref 
)

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Use literal::zero as default value for the extension.

template<typename I >
mln::trait::concrete< I >::ret mln::geom::vertical_symmetry ( const Image< I > &  input)

Perfoms a vertical symmetry.