Public Member Functions | List of all members
ModifiableImage Class Reference

Image with modifiable geometry. More...

#include <Image.h>

Inheritance diagram for ModifiableImage:
Inheritance graph
[legend]
Collaboration diagram for ModifiableImage:
Collaboration graph
[legend]

Public Member Functions

virtual const ImageConfgetConf () const
 
void setConf (const ImageConf &conf)
 
virtual void setGeometry (size_t width, size_t height, size_t imageChannels=1, size_t alphaChannels=0)
 Resizes the image, keeps the current type. More...
 
void setGeometry (const AreaGeometry &g, size_t imageChannels=1, size_t alphaChannels=0)
 Resizes the image, keeps the current type. More...
 
void setGeometry (const AreaGeometry &areaGeom, const ChannelGeometry &channelGeom)
 
void setGeometry (const Geometry &g)
 Resizes the image, keeps the current type. More...
 
void resetGeometry ()
 Collapses the image to undetectValue size, releasing memory. More...
 
void setChannelCount (size_t ni, size_t na=0)
 
void setAlphaChannelCount (size_t k)
 
virtual void initialize (const std::type_info &t, const Geometry &g)
 Sets the type and allocates a data buffer.
 
virtual void initialize (const std::type_info &t, size_t width, size_t height, size_t imageChannels=1, size_t alphaChannels=0)
 Sets the type and allocates a data buffer.
 
- Public Member Functions inherited from MultiChannel
 MultiChannel (const MultiChannel &img)
 
ChannelgetChannel (size_t i)
 
const ChannelgetChannel (size_t i) const
 
ChannelgetAlphaChannel (size_t i=0)
 
const ChannelgetAlphaChannel (size_t i=0) const
 
const std::vector< ChannelView > & getChannelVector () const
 
- Public Member Functions inherited from ImageFrame
 ImageFrame (const ImageFrame &src)
 
void setPhysicalRange (const Range< double > &range, bool rescale=false)
 Sets the supported range for physical values and optionally adjusts the scaling for maximal resolution.
 
void setPhysicalRange (double min, double max, bool rescale=false)
 Sets the supported range for physical values and optionally adjusts the scaling for maximal resolution.
 
const iteratorbegin ()
 Returns iterator pointing to the first image element.
 
const iteratorend ()
 Returns the iterator pointing to the element after the last element of the image buffer.
 
const const_iteratorbegin () const
 Returns iterator pointing to the first image element.
 
const const_iteratorend () const
 Returns the iterator pointing to the element after the last element of the image buffer.
 
size_t address (size_t i) const
 Computes the index location from image coordinates. Does not involve bit resolution. More...
 
size_t address (size_t i, size_t j) const
 Computes the index location from image coordinates. Does not involve bit resolution. More...
 
size_t address (size_t i, size_t j, size_t k) const
 Computes the index location from image coordinates. Does not involve bit resolution. More...
 
const void * getBuffer () const
 Returns the pointer to the start of the image array. More...
 
void * getBuffer ()
 Returns the pointer to the start of the image array. More...
 
template<class T >
void put (size_t i, T x)
 Sets the intensity in location i to x. See \address. More...
 
template<class T >
void put (size_t i, size_t j, T x)
 Sets the intensity at location i,j to x. See address(). More...
 
template<class T >
void put (size_t i, size_t j, size_t k, T x)
 Sets the intensity at location i,j,k to x. More...
 
template<class T , class P >
void put (const Point2D< P > &p, T x)
 Gets the intensity at location p=(i,j) . More...
 
void putScaled (size_t i, size_t j, double x)
 Put intensity using original physical value. More...
 
template<class T >
get (size_t i) const
 Gets the intensity at location i. See address(). More...
 
template<class T >
get (size_t i, size_t j) const
 Gets the intensity at location i,j . More...
 
template<class T >
get (size_t i, size_t j, size_t k) const
 Gets the intensity at location i,j,k . More...
 
double getScaled (size_t i, size_t j) const
 Get intensity in original physical scale. More...
 
template<class T , class P >
get (const Point2D< P > &p) const
 Gets the intensity at location p=(i,j) . More...
 
template<class T , class P >
void putPixel (const Point2D< P > &p, const std::vector< T > &pixel) const
 
template<class T , class P >
void getPixel (const Point2D< P > &p, std::vector< T > &pixel) const
 
void clear ()
 Sets the intensities to zero. Does not change image geometry. See resetGeometry().
 
template<class T >
void fill (T x)
 Sets the intensities to given value. Does not change image geometry.
 
void copyData (const ImageFrame &src)
 Copies data. Does not change encoding, geometry, or coordinate policy.
 
bool hasOverlap (const ImageFrame &image) const
 Checks if images have a common memory segment.
 
bool hasSameSegment (const ImageFrame &image) const
 Return true, if both frames have same type and are using the same data segment. More...
 
virtual const FlexVariableMapgetProperties () const
 
void setName (const std::string &s)
 
const std::string & getName () const
 
void toStream (std::ostream &ostr=std::cout) const
 Prints images geometry, buffer size and type information.
 
- Public Member Functions inherited from ImageLike
 ImageLike (const ImageLike &image)
 
const std::type_info & getType () const
 Get the storage type.
 
bool typeIsSet () const
 
virtual const GeometrygetGeometry () const
 
size_t getWidth () const
 
size_t getHeight () const
 
size_t getArea () const
 
size_t getChannelCount () const
 
const size_t getImageChannelCount () const
 
const size_t getAlphaChannelCount () const
 
bool hasAlphaChannel () const
 
size_t getVolume () const
 
bool isEmpty () const
 
const CoordinatePolicygetCoordinatePolicy () const
 Coord policy.
 
CoordinatePolicygetCoordinatePolicy ()
 Coord policy.
 
template<class T >
void setCoordinatePolicy (const T &policy)
 
void setCoordinatePolicy (EdgePolicy::index_t xUnderFlowPolicy, EdgePolicy::index_t yUnderFlowPolicy, EdgePolicy::index_t xOverFlowPolicy, EdgePolicy::index_t yOverFlowPolicy)
 
virtual const drain::ValueScalinggetScaling () const
 
virtual drain::ValueScalinggetScaling ()
 
virtual void setScaling (const drain::ValueScaling &scaling)
 
virtual void setScaling (double scale, double offset)
 
template<class T >
drain::typeLimiter< T >::value_t getLimiter () const
 

Additional Inherited Members

- Public Types inherited from ImageFrame
typedef CastableIterator const_iterator
 
typedef CastableIterator iterator
 
- Public Attributes inherited from ImageFrame
FlexVariableMap properties
 Container for user-defined KEY=VALUE metadata.
 
- Protected Member Functions inherited from MultiChannel
void updateChannelVector () const
 Updates channel vector. Copies scaling of the host image. More...
 
- Protected Member Functions inherited from ImageFrame
void init ()
 
void adjustBuffer ()
 Resize data buffer to match the geometry.
 
void setStorageType (const std::type_info &type)
 Sets the storage type of the image - typically unsigned char, unsigned int or float. Calls setDefaultLimits().
 
void unsetType ()
 
void setView (const ImageFrame &src, size_t channelStart, size_t channelCount, bool catenate=false)
 Sets the image to view the data and scaling of another image. More...
 
bool isView () const
 Returns true, if the image "points to" another image. For example, channels are views.
 
template<class T >
T * retrieve (size_t a)
 
template<class T >
const T * retrieve (size_t a) const
 
- Protected Attributes inherited from MultiChannel
std::vector< ChannelViewchannelVector
 
- Protected Attributes inherited from ImageFrame
unsigned char * bufferPtr
 
iterator segmentBegin
 
iterator segmentEnd
 
FlexVariableMap const * propertiesPtr
 
std::string name
 
std::vector< unsigned char > buffer
 
- Protected Attributes inherited from ImageLike
ImageConf conf
 

Detailed Description

Image with modifiable geometry.

Member Function Documentation

◆ resetGeometry()

void resetGeometry ( )
inline

Collapses the image to undetectValue size, releasing memory.

See also
clear().

◆ setGeometry() [1/3]

void setGeometry ( const AreaGeometry g,
size_t  imageChannels = 1,
size_t  alphaChannels = 0 
)
inline

Resizes the image, keeps the current type.

See also
initialize().

◆ setGeometry() [2/3]

void setGeometry ( const Geometry g)
inline

Resizes the image, keeps the current type.

See also
initialize().

◆ setGeometry() [3/3]

virtual void setGeometry ( size_t  width,
size_t  height,
size_t  imageChannels = 1,
size_t  alphaChannels = 0 
)
inlinevirtual

Resizes the image, keeps the current type.

See also
initialize(). The buffer will always have at least one element to guarantee a safe call to begin().

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