Public Types | Public Member Functions

mln::image2d< T > Class Template Reference
[Basic types]

Basic 2D image class. More...

#include <image2d.hh>

Inherits image_primary< T, mln::box2d, image2d< T > >.

List of all members.

Public Types

typedef T & lvalue
 Return type of read-write access.
typedef const T & rvalue
 Return type of read-only access.
typedef image2d< tag::value_< T > > skeleton
 Skeleton.
typedef T value
 Value associated type.

Public Member Functions

const box2dbbox () const
 Give the bounding box domain.
unsigned border () const
 Give the border thickness.
const T * buffer () const
 Give a hook to the value buffer.
T * buffer ()
 Give a hook to the value buffer.
int delta_index (const dpoint2d &dp) const
 Give the delta-index corresponding to the delta-point dp.
const box2ddomain () const
 Give the definition domain.
T & element (unsigned i)
 Read-write access to the image value located at index i.
const T & element (unsigned i) const
 Read-only access to the image value located at index i.
bool has (const point2d &p) const
 Test if p is valid.
 image2d (int nrows, int ncols, unsigned bdr=border::thickness)
 Constructor with the numbers of rows and columns and the border thickness.
 image2d ()
 Constructor without argument.
 image2d (const box2d &b, unsigned bdr=border::thickness)
 Constructor with a box and the border thickness (default is 3).
unsigned ncols () const
 Give the number of columns.
unsigned nelements () const
 Give the number of elements (points including border ones).
unsigned nrows () const
 Give the number of rows.
const T & operator() (const point2d &p) const
 Read-only access to the image value located at point p.
T & operator() (const point2d &p)
 Read-write access to the image value located at point p.
point2d point_at_index (unsigned i) const
 Give the point corresponding to the index i.

Detailed Description

template<typename T>
class mln::image2d< T >

Basic 2D image class.

The parameter T is the type of pixel values. This image class stores data in memory and has a virtual border with constant thickness around data.

Definition at line 136 of file core/image/image2d.hh.


Member Typedef Documentation

template<typename T>
typedef T& mln::image2d< T >::lvalue

Return type of read-write access.

Definition at line 148 of file core/image/image2d.hh.

template<typename T>
typedef const T& mln::image2d< T >::rvalue

Return type of read-only access.

Definition at line 145 of file core/image/image2d.hh.

template<typename T>
typedef image2d< tag::value_<T> > mln::image2d< T >::skeleton

Skeleton.

Definition at line 152 of file core/image/image2d.hh.

template<typename T>
typedef T mln::image2d< T >::value

Value associated type.

Definition at line 142 of file core/image/image2d.hh.


Constructor & Destructor Documentation

template<typename T >
mln::image2d< T >::image2d (  )  [inline]

Constructor without argument.

Definition at line 394 of file core/image/image2d.hh.

template<typename T >
mln::image2d< T >::image2d ( int  nrows,
int  ncols,
unsigned  bdr = border::thickness 
) [inline]

Constructor with the numbers of rows and columns and the border thickness.

Definition at line 400 of file core/image/image2d.hh.

References mln::make::box2d().

template<typename T >
mln::image2d< T >::image2d ( const box2d b,
unsigned  bdr = border::thickness 
) [inline]

Constructor with a box and the border thickness (default is 3).

Definition at line 407 of file core/image/image2d.hh.


Member Function Documentation

template<typename T >
const box2d & mln::image2d< T >::bbox (  )  const [inline]

Give the bounding box domain.

Definition at line 433 of file core/image/image2d.hh.

template<typename T >
unsigned mln::image2d< T >::border (  )  const [inline]

Give the border thickness.

Definition at line 520 of file core/image/image2d.hh.

template<typename T >
const T * mln::image2d< T >::buffer (  )  const [inline]

Give a hook to the value buffer.

Definition at line 556 of file core/image/image2d.hh.

template<typename T >
T * mln::image2d< T >::buffer (  )  [inline]

Give a hook to the value buffer.

Definition at line 565 of file core/image/image2d.hh.

template<typename T >
int mln::image2d< T >::delta_index ( const dpoint2d dp  )  const [inline]

Give the delta-index corresponding to the delta-point dp.

Definition at line 574 of file core/image/image2d.hh.

template<typename T >
const box2d & mln::image2d< T >::domain (  )  const [inline]

Give the definition domain.

Definition at line 424 of file core/image/image2d.hh.

Referenced by mln::morpho::line_gradient(), mln::make_debug_graph_image(), and mln::io::txt::save().

template<typename T >
const T & mln::image2d< T >::element ( unsigned  i  )  const [inline]

Read-only access to the image value located at index i.

Definition at line 538 of file core/image/image2d.hh.

References mln::image2d< T >::nelements().

template<typename T >
T & mln::image2d< T >::element ( unsigned  i  )  [inline]

Read-write access to the image value located at index i.

Definition at line 547 of file core/image/image2d.hh.

References mln::image2d< T >::nelements().

template<typename T >
bool mln::image2d< T >::has ( const point2d p  )  const [inline]

Test if p is valid.

Definition at line 451 of file core/image/image2d.hh.

Referenced by mln::image2d< T >::operator()(), and mln::debug::put_word().

template<typename T >
unsigned mln::image2d< T >::ncols (  )  const [inline]

Give the number of columns.

Definition at line 508 of file core/image/image2d.hh.

template<typename T >
unsigned mln::image2d< T >::nelements (  )  const [inline]

Give the number of elements (points including border ones).

Definition at line 529 of file core/image/image2d.hh.

Referenced by mln::image2d< T >::element(), and mln::image2d< T >::point_at_index().

template<typename T >
unsigned mln::image2d< T >::nrows (  )  const [inline]

Give the number of rows.

Definition at line 499 of file core/image/image2d.hh.

template<typename T >
T & mln::image2d< T >::operator() ( const point2d p  )  [inline]

Read-write access to the image value located at point p.

Definition at line 469 of file core/image/image2d.hh.

References mln::image2d< T >::has().

template<typename T >
const T & mln::image2d< T >::operator() ( const point2d p  )  const [inline]

Read-only access to the image value located at point p.

Definition at line 460 of file core/image/image2d.hh.

References mln::image2d< T >::has().

template<typename T >
point2d mln::image2d< T >::point_at_index ( unsigned  i  )  const [inline]

Give the point corresponding to the index i.

Definition at line 584 of file core/image/image2d.hh.

References mln::image2d< T >::nelements().