Public Member Functions | List of all members
ImageView Class Reference

ImageFrame that also has channels. More...

#include <ImageView.h>

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

Public Member Functions

 ImageView (const ImageFrame &src, size_t channelStart, size_t channelCount, bool catenate=false)
 
void setView (const ImageFrame &src)
 Views the whole image.
 
void setView (const ImageFrame &src, size_t channel)
 Views a single channel. Resulting channel type is image, regardless of target channel type (image or alpha),. More...
 
void setView (const ImageFrame &src, const std::string &view)
 Sets image to view another image.
 
- 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)
 
virtual const ImageConfgetConf () const
 
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.
 
virtual void initialize (const std::type_info &t, const Geometry &geometry)
 Returns numeric channel index from "r", "g", "b", or "a" or a non-negative number in string format. More...
 
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 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

ImageFrame that also has channels.

Member Function Documentation

◆ setView()

void setView ( const ImageFrame src,
size_t  channel 
)
inline

Views a single channel. Resulting channel type is image, regardless of target channel type (image or alpha),.

If you want the type to be alpha channel, call setView(target, imageChannelCount, 1)


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