![]() |
|
Class for multi-channel digital images. Supports dynamic typing with base types (char, int, float). More...
#include <Image.h>


Public Member Functions | |
| Image (const std::type_info &t=typeid(unsigned char), const Geometry &g=Geometry()) | |
| The constructor for an empty image. | |
| Image (const std::type_info &t, size_t width, size_t height, size_t channelCount=1, size_t alphaChannelCount=0) | |
| The constructor for an image of given type and size. | |
| Image (size_t width, size_t height, size_t channelCount=1, size_t alphaChannelCount=0) | |
The constructor for unsigned char image of given size. | |
| Image (const Image &image) | |
| Copies the geometry of another image. | |
| Image (const ImageFrame &image) | |
| Copies the geometry of another image. | |
| Image (const ImageConf &conf) | |
| Copies the geometry of another image. | |
| operator const Channel & () const | |
| operator Channel & () | |
| void | setType (const std::type_info &type) |
| Sets the storage type of the image - typically unsigned char, unsigned int or float. | |
| template<class T > | |
| void | setType () |
| Sets the storage type of the image - typically unsigned char, unsigned int or float. | |
| template<class T > | |
| void | setType (const T &t) |
| Sets type of the image, applying character mapping of Type::setType(char c) . TODO: drain::Type. | |
| void | copyShallow (const ImageFrame &src) |
| Copies type, geometry and coordinate under/overflow policy of the given image. Does not copy the data. | |
| void | copyDeep (const ImageFrame &src) |
| Copies the type, geometry, coordinate policy and data of the given image. | |
| void | dump (std::ostream &ostr=std::cout) const |
| Prints images geometry, buffer size and type information, and dumps the array contents. Consider toOStr... | |
| void | adoptScaling (const ImageConf &src, const std::type_info &t=typeid(void)) |
| void | swap (Image &img) |
Public Member Functions inherited from ModifiableImage | |
| virtual const ImageConf & | getConf () 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. | |
| void | setGeometry (const AreaGeometry &g, size_t imageChannels=1, size_t alphaChannels=0) |
| Resizes the image, keeps the current type. | |
| void | setGeometry (const AreaGeometry &areaGeom, const ChannelGeometry &channelGeom) |
| void | setGeometry (const Geometry &g) |
| Resizes the image, keeps the current type. | |
| void | resetGeometry () |
| Collapses the image to undetectValue size, releasing memory. | |
| 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. | |
| virtual bool | suggestType (const std::type_info &t) override |
| Change type. This overrides the behavior of ImageFrame::suggestType(). | |
| virtual bool | requireGeometry (const Geometry &geometry) override |
| Change geometry. This overrides the behavior of ImageFrame::requireGeometry(). | |
Public Member Functions inherited from MultiChannel | |
| MultiChannel (const MultiChannel &img) | |
| Channel & | getChannel (size_t i) |
| const Channel & | getChannel (size_t i) const |
| Channel & | getAlphaChannel (size_t i=0) |
| const Channel & | getAlphaChannel (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 iterator & | begin () |
| Returns iterator pointing to the first image element. | |
| const iterator & | end () |
| Returns the iterator pointing to the element after the last element of the image buffer. | |
| const const_iterator & | begin () const |
| Returns iterator pointing to the first image element. | |
| const const_iterator & | end () 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. | |
| size_t | address (size_t i, size_t j) const |
| Computes the index location from image coordinates. Does not involve bit resolution. | |
| 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. | |
| const void * | getBuffer () const |
| Returns the pointer to the start of the image array. | |
| void * | getBuffer () |
| Returns the pointer to the start of the image array. | |
| template<class T > | |
| void | put (size_t i, T x) |
Sets the intensity in location i to x. See \address. | |
| template<class T > | |
| void | put (size_t i, size_t j, T x) |
Sets the intensity at location i,j to x. See address(). | |
| 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. | |
| template<class T , class P > | |
| void | put (const Point2D< P > &p, T x) |
Gets the intensity at location p=(i,j) . | |
| void | putScaled (size_t i, size_t j, double x) |
| Put intensity using original physical value. | |
| template<class T > | |
| T | get (size_t i) const |
Gets the intensity at location i. See address(). | |
| template<class T > | |
| T | get (size_t i, size_t j) const |
Gets the intensity at location i,j . | |
| template<class T > | |
| T | get (size_t i, size_t j, size_t k) const |
Gets the intensity at location i,j,k . | |
| double | getScaled (size_t i, size_t j) const |
| Get intensity in original physical scale. | |
| template<class T , class P > | |
| T | get (const Point2D< P > &p) const |
Gets the intensity at location p=(i,j) . | |
| 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. | |
| virtual const FlexVariableMap & | getProperties () 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 Geometry & | getGeometry () 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 |
| operator bool () const | |
| Return true, if image has width and height. | |
| const CoordinatePolicy & | getCoordinatePolicy () const |
| Coord policy. | |
| CoordinatePolicy & | getCoordinatePolicy () |
| 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::ValueScaling & | getScaling () const |
| virtual drain::ValueScaling & | getScaling () |
| 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. | |
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. | |
| 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< ChannelView > | channelVector |
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 |
Class for multi-channel digital images. Supports dynamic typing with base types (char, int, float).
Contains an internal buffer for image data. The buffer is essentially a std::vector<char>. The size of the buffer is dynamically adjusted to the dimensions and bit resolution of the image.
Also, supports STL style iterators.
1.9.8