opensurgsim
Public Member Functions | List of all members
SurgSim::DataStructures::Image< T > Class Template Reference

A templated Image class. More...

#include <Image.h>

Inheritance diagram for SurgSim::DataStructures::Image< T >:
SurgSim::DataStructures::ImageBase< T >

Public Member Functions

 Image ()
 Default Constructor.
 
 Image (size_t width, size_t height, size_t channels)
 Constructor. More...
 
 Image (size_t width, size_t height, size_t channels, const T *const data)
 Copy constructor from a data pointer. More...
 
template<class D >
 Image (size_t width, size_t height, size_t channels, const D *const data)
 Copy constructor from a data pointer of a different type. More...
 
 Image (const Image< T > &other)
 Copy constructor. More...
 
 Image (Image< T > &&other)
 Move constructor. More...
 
virtual ~Image ()
 Destructor.
 
Image< T > & operator= (const Image< T > &other)
 Assignment Operator. More...
 
Image< T > & operator= (Image< T > &&other)
 Move Assignment Operator. More...
 
T *const getData () override
 Get the pointer to the data. More...
 
const T *const getData () const override
 Get the pointer to the data, constant version. More...
 
- Public Member Functions inherited from SurgSim::DataStructures::ImageBase< T >
virtual ~ImageBase ()
 Destructor.
 
size_t getWidth () const
 Get the Image width. More...
 
size_t getHeight () const
 Get the Image height. More...
 
std::array< size_t, 3 > getSize () const
 Get the Image size. More...
 
size_t getNumChannels () const
 Get the number of channels in this Image. More...
 
Eigen::Map< Eigen::Matrix< T, Eigen::Dynamic, 1 > > operator() (size_t x, size_t y)
 Get the pixel value at (x, y) More...
 
Eigen::Map< const Eigen::Matrix< T, Eigen::Dynamic, 1 > > operator() (size_t x, size_t y) const
 Get the pixel value at (x, y), constant version. More...
 
Eigen::Map< ChannelType, Eigen::Unaligned, Eigen::Stride<-1, -1 > > getChannel (size_t index)
 Get the 2D image channel data. More...
 
Eigen::Map< const ChannelType, Eigen::Unaligned, Eigen::Stride<-1, -1 > > getChannel (size_t index) const
 Get the 2D image channel data, constant version. More...
 
void setChannel (size_t index, const Eigen::Ref< const ChannelType > &data)
 Set the image data in the channel. More...
 
Eigen::Map< VectorType, Eigen::Unaligned > getAsVector ()
 Get the data as a 1D Vector. More...
 
Eigen::Map< const VectorType, Eigen::Unaligned > getAsVector () const
 Get the data as a 1D Vector, constant version. More...
 
void setAsVector (const Eigen::Ref< const VectorType > &data)
 Set the image data as a 1D Vector. More...
 

Additional Inherited Members

- Public Types inherited from SurgSim::DataStructures::ImageBase< T >
typedef Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > ChannelType
 2D Channel Type;
 
typedef Eigen::Matrix< T, Eigen::Dynamic, 1 > VectorType
 1D Vector Type;
 
- Protected Member Functions inherited from SurgSim::DataStructures::ImageBase< T >
void setSize (size_t width, size_t height, size_t channels)
 Set the Image size. More...
 

Detailed Description

template<class T>
class SurgSim::DataStructures::Image< T >

A templated Image class.

Template Parameters
Tthe data type of the image data

Constructor & Destructor Documentation

§ Image() [1/5]

template<class T >
SurgSim::DataStructures::Image< T >::Image ( size_t  width,
size_t  height,
size_t  channels 
)

Constructor.

Parameters
widththe image width
heightthe image height
channelsthe number of channels in the image

§ Image() [2/5]

template<class T >
SurgSim::DataStructures::Image< T >::Image ( size_t  width,
size_t  height,
size_t  channels,
const T *const  data 
)

Copy constructor from a data pointer.

Parameters
widththe image width
heightthe image height
channelsthe number of channels in the image
datapointer to the data to copy from

§ Image() [3/5]

template<class T >
template<class D >
SurgSim::DataStructures::Image< T >::Image ( size_t  width,
size_t  height,
size_t  channels,
const D *const  data 
)

Copy constructor from a data pointer of a different type.

Template Parameters
Dtype of data stored in the pointer
Parameters
widththe image width
heightthe image height
channelsthe number of channels in the image
datapointer to the data to copy from

§ Image() [4/5]

template<class T >
SurgSim::DataStructures::Image< T >::Image ( const Image< T > &  other)

Copy constructor.

Parameters
otherImage to copy from

§ Image() [5/5]

template<class T >
SurgSim::DataStructures::Image< T >::Image ( Image< T > &&  other)

Move constructor.

Parameters
otherImage to move data from

Member Function Documentation

§ getData() [1/2]

template<class T >
T *const SurgSim::DataStructures::Image< T >::getData ( )
overridevirtual

Get the pointer to the data.

Returns
the data

Implements SurgSim::DataStructures::ImageBase< T >.

§ getData() [2/2]

template<class T >
const T *const SurgSim::DataStructures::Image< T >::getData ( ) const
overridevirtual

Get the pointer to the data, constant version.

Returns
the data

Implements SurgSim::DataStructures::ImageBase< T >.

§ operator=() [1/2]

template<class T >
Image< T > & SurgSim::DataStructures::Image< T >::operator= ( const Image< T > &  other)

Assignment Operator.

Parameters
otherThe Image to copy from
Returns
The Image that was assigned into

§ operator=() [2/2]

template<class T >
Image< T > & SurgSim::DataStructures::Image< T >::operator= ( Image< T > &&  other)

Move Assignment Operator.

Parameters
otherThe Image to move data from
Returns
The Image that was assigned into

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