CVR-Lib last update 20 Sep 2009

cvr::geometricTransform< I > Class Template Reference
[Geometric Image Transformations]

Class geometricTransform. More...

#include <cvrGeometricTransform.h>

Inheritance diagram for cvr::geometricTransform< I >:

Inheritance graph
[legend]
Collaboration diagram for cvr::geometricTransform< I >:

Collaboration graph
[legend]

List of all members.

Classes

class  parameters
 The parameters for the class geometricTransform. More...

Public Member Functions

 geometricTransform ()
 geometricTransform (const parameters &par)
 geometricTransform (const geometricTransform< I > &other)
virtual ~geometricTransform ()
virtual bool apply (matrix< value_type > &srcdest) const
virtual bool apply (const matrix< value_type > &src, matrix< value_type > &dest) const =0
virtual bool apply (matrix< value_type > &srcdest, fpoint &offset) const
virtual bool apply (const matrix< value_type > &src, matrix< value_type > &dest, fpoint &offset) const =0
geometricTransformcopy (const geometricTransform< I > &other)
geometricTransformoperator= (const geometricTransform< I > &other)
virtual const std::string & name () const
virtual geometricTransform< I > * clone () const =0
virtual geometricTransform< I > * newInstance () const =0
const parametersgetParameters () const
virtual bool updateParameters ()
interpolator_type & getInterpolator ()
const interpolator_type & getInterpolator () const

Protected Member Functions

parametersgetParameters ()

Protected Attributes

interpolator_type interpolator_


Detailed Description

template<class I>
class cvr::geometricTransform< I >

Class geometricTransform.

This is an abstract template class, parent of all functors that achieve geometric transformation of images, like affine or homogeneous transformations.

The template parameter I indicates the interpolator type to be used. The class provided must be inherited from cvr::fixedGridInterpolation. Note that the interpolator works for one type of containers only, and only that type will be supported by this class too.

See also:
geometricTransform<I>::parameters.

Constructor & Destructor Documentation

template<class I>
cvr::geometricTransform< I >::geometricTransform (  ) 

Default constructor.

template<class I>
cvr::geometricTransform< I >::geometricTransform ( const parameters par  ) 

Construct a functor using the given parameters.

template<class I>
cvr::geometricTransform< I >::geometricTransform ( const geometricTransform< I > &  other  ) 

Copy constructor.

Parameters:
other the object to be copied

template<class I>
virtual cvr::geometricTransform< I >::~geometricTransform (  )  [virtual]

Destructor.


Member Function Documentation

template<class I>
virtual bool cvr::geometricTransform< I >::apply ( const matrix< value_type > &  src,
matrix< value_type > &  dest,
fpoint offset 
) const [pure virtual]

Transform geometrically the source image and leave the result on the destination container.

If the parameters specify to AdjustDimensions, then the offset value will contain the relative position of the srcdest origin with respect to the original image coordinate system. To all other resize policies, the value of offset is set to (0,0).

Parameters:
src matrix<value_type> with the source data.
dest matrix<value_type> where the result will be left.
offset position of the origin of the result with respect to the coordinate system of the original image.
Returns:
true if apply successful or false otherwise.

Implemented in cvr::matrixTransform< I >.

template<class I>
virtual bool cvr::geometricTransform< I >::apply ( matrix< value_type > &  srcdest,
fpoint offset 
) const [virtual]

Transform geometrically the given image and leave the result on the same container.

If the parameters specify to AdjustDimensions, then the offset value will contain the relative position of the srcdest origin with respect to the original image coordinate system. To all other resize policies, the value of offset is set to (0,0).

Parameters:
srcdest matrix<T> with the source data. The result will be left here too.
offset position of the origin of the result with respect to the coordinate system of the original image.
Returns:
true if apply successful or false otherwise.

Reimplemented in cvr::matrixTransform< I >.

template<class I>
virtual bool cvr::geometricTransform< I >::apply ( const matrix< value_type > &  src,
matrix< value_type > &  dest 
) const [pure virtual]

Transform geometrically the source image and leave the result on the destination container.

Operates on a copy of the given parameters.

Parameters:
src matrix<value_type> with the source data.
dest matrix<value_type> where the result will be left.
Returns:
true if apply successful or false otherwise.

Implements cvr::matrixProcessingInterface< I::value_type >.

Implemented in cvr::matrixTransform< I >.

template<class I>
virtual bool cvr::geometricTransform< I >::apply ( matrix< value_type > &  srcdest  )  const [virtual]

Transform geometrically the given image and leave the result on the same container.

Parameters:
srcdest matrix<T> with the source data. The result will be left here too.
Returns:
true if apply successful or false otherwise.

Implements cvr::matrixProcessingInterface< I::value_type >.

Reimplemented in cvr::matrixTransform< I >.

template<class I>
virtual geometricTransform<I>* cvr::geometricTransform< I >::clone (  )  const [pure virtual]

Returns a pointer to a clone of this functor.

Implements cvr::geometricTransformBase.

Implemented in cvr::matrixTransform< I >.

template<class I>
geometricTransform& cvr::geometricTransform< I >::copy ( const geometricTransform< I > &  other  ) 

Copy data of "other" functor.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

template<class I>
const interpolator_type& cvr::geometricTransform< I >::getInterpolator (  )  const

Return a read-only reference to the internal interpolator object.

template<class I>
interpolator_type& cvr::geometricTransform< I >::getInterpolator (  ) 

Return a read-writable reference to the internal interpolator object.

template<class I>
parameters& cvr::geometricTransform< I >::getParameters (  )  [protected]

Returns used parameters.

Reimplemented from cvr::geometricTransformBase.

Reimplemented in cvr::matrixTransform< I >.

template<class I>
const parameters& cvr::geometricTransform< I >::getParameters (  )  const

Returns used parameters.

Reimplemented from cvr::geometricTransformBase.

Reimplemented in cvr::matrixTransform< I >.

template<class I>
virtual const std::string& cvr::geometricTransform< I >::name (  )  const [virtual]

Returns the complete name of the functor class.

Reimplemented from cvr::geometricTransformBase.

Reimplemented in cvr::matrixTransform< I >.

template<class I>
virtual geometricTransform<I>* cvr::geometricTransform< I >::newInstance (  )  const [pure virtual]

Returns a pointer to a new instance of this functor.

Implements cvr::geometricTransformBase.

Implemented in cvr::matrixTransform< I >.

template<class I>
geometricTransform& cvr::geometricTransform< I >::operator= ( const geometricTransform< I > &  other  ) 

Alias for copy member.

Parameters:
other the functor to be copied
Returns:
a reference to this functor object

template<class I>
virtual bool cvr::geometricTransform< I >::updateParameters (  )  [virtual]

Update parameters instance.

Reimplemented from cvr::parametersManager.

Reimplemented in cvr::matrixTransform< I >.


Member Data Documentation

template<class I>
interpolator_type cvr::geometricTransform< I >::interpolator_ [protected]

Interpolator instance with the appropriate parameters.

The updateParameters method will ensure that the interpolator parameters are set appropriatelly


The documentation for this class was generated from the following file:

Generated on Sun Sep 20 22:08:46 2009 for CVR-Lib by Doxygen 1.5.8