CVB++ 14.0
MultiPartImage Class Reference

MultiPart image class. More...

#include <cvb/driver/multi_part_image.hpp>

Inherits StreamImage, and enable_shared_from_this< MultiPartImage >.

Public Member Functions

int NumParts () const noexcept
 Number of parts in the multi part image. More...
 
CompositeVariant GetPartAt (int index) const
 Access to a multi part image element specified by its index. More...
 
- Public Member Functions inherited from StreamImage
virtual double RawTimestamp () const noexcept
 Gets the raw timestamp as reported by the driver. More...
 
- Public Member Functions inherited from Image
 Image (Size2D< int > size, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned())
 Constructs an uninitialized image with the given parameters. More...
 
 Image (int width, int height, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned())
 Constructs an uninitialized image with the given parameters. More...
 
 Image (const String &fileName)
 Loads an image with the given file name. More...
 
void * Handle () const noexcept
 Classic API image handle. More...
 
int PlanesCount () const noexcept
 Get the number of planes for this image. More...
 
bool PlaneDataTypesIdentical () const noexcept
 Check if all planes have the same data type. More...
 
ImagePlane Plane (int plane) const
 Indexed access to the individual plane information. More...
 
std::vector< ImagePlanePlanes () const noexcept
 Access all planes for this image. More...
 
std::vector< double > GetPixel (Point2D< int > position) const
 Gets the pixel values for all planes at a give position. More...
 
int Height () const noexcept
 Height of the image in pixels. More...
 
int Width () const noexcept
 Width of the image in pixels. More...
 
Cvb::ColorModel ColorModel () const noexcept
 Color model realized by this image. More...
 
void Save (const String &fileName) const
 Write the current content of the image into a file. More...
 
std::unique_ptr< ImageMap (Rect< int > rect) const
 Creates a mapped image of the region of this image. More...
 
std::unique_ptr< ImageMap (Rect< int > sourceRect, Size2D< int > targetSize) const
 Creates a mapped image of the region of that image scaled to the size. More...
 
std::unique_ptr< ImageClone () const
 Creates a new image object, that is a copy of the current instance. More...
 
void Copy (Image &targetImage, Rect< int > sourceRect, Point2D< int > targetPosition) const
 Copies the image data from the source rectangle of this image to the target position inside the target image. More...
 
void Copy (Image &targetImage) const
 Copies the image data from this image to the target image. More...
 
Size2D< int > Size () const noexcept
 Size of the image in pixels. More...
 
Rect< int > Bounds () const noexcept
 Bounding rectangle of the image in pixels. More...
 
void RaisePixelContentChanged () const
 Inform clients listening to the pixel content changed event, that the image data has been completely updated (full area). More...
 
void RaisePixelContentChanged (Rect< int > rect) const
 Inform clients listening to the pixel content changed event, that the image data has been updated in the given rectangle. More...
 
EventCookie RegisterEventPixelContentChanged (std::function< void(const Image &, Rect< int >)> handler)
 Register a listener to the pixel content changed event. More...
 
void UnregisterEventPixelContentChanged (EventCookie eventCookie) noexcept
 Manually unregister a listener from the pixel content changed event. More...
 
Point2D< double > ImageToPixelCoordinates (Point2D< double > point) const noexcept
 Convert a point from image to pixel coordinates. More...
 
Area2D ImageToPixelCoordinates (Area2D area) const noexcept
 Convert an Area2D from image to pixel coordinates. More...
 
Point2D< double > PixelToImageCoordinates (Point2D< double > point) const noexcept
 Convert a point from pixel to image coordinates. More...
 
Area2D PixelToImageCoordinates (Area2D area) const noexcept
 Convert an Area2D from pixel to image coordinates. More...
 
AffineMatrix2D CoordinateSystem () const noexcept
 Get the coordinate system of the image. More...
 
void SetCoordinateSystem (AffineMatrix2D affineMatrix) noexcept
 Set the coordinate system of the image. More...
 

Static Public Member Functions

static MultiPartImagePtr FromComposite (CompositePtr object)
 Creates an image object from a composite. More...
 
- Static Public Member Functions inherited from Image
static std::unique_ptr< ImageLoad (const String &fileName)
 Loads an image with the given file name. More...
 
static std::unique_ptr< ImageCreate (Size2D< int > size, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned())
 Creates an uninitialized image with the given parameters. More...
 
static std::unique_ptr< ImageCreate (int width, int height, int numPlanes=1, DataType dataType=DataType::Int8BppUnsigned())
 Creates an uninitialized image with the given parameters. More...
 
template<class RANGE >
static TypedRange< std::unique_ptr< Image >, ImagePtr, RANGE >::type FromImages (MappingOption mapping, const RANGE &images)
 Create an image that is the result of concatenating a series of input images. More...
 
template<class... IMAGES>
static VarArgRange< std::unique_ptr< Image >, constImage &, IMAGES... >::type FromImages (MappingOption mapping, const IMAGES &... images)
 Create an image that is the result of concatenating a series of input images. More...
 
template<class RANGE >
static TypedRange< std::unique_ptr< Image >, ImagePlane, RANGE >::type FromPlanes (MappingOption mapping, const RANGE &planes)
 Create an image that is the result of concatenating a series of input planes. More...
 
template<class... PLANES>
static VarArgRange< std::unique_ptr< Image >, ImagePlane &&, PLANES... >::type FromPlanes (MappingOption mapping, PLANES &&... planes)
 Create an image that is the result of concatenating a series of input planes. More...
 
static std::unique_ptr< ImageFromHandle (HandleGuard< Image > &&guard)
 Creates an image from a classic API handle. More...
 
template<class T , class... ARGS>
static std::unique_ptr< T > FromHandle (HandleGuard< Image > &&guard, ARGS &&... args)
 Creates an image from a classic API handle (typed). More...
 

Additional Inherited Members

Detailed Description

MultiPart image class.

Member Function Documentation

◆ FromComposite()

static MultiPartImagePtr FromComposite ( CompositePtr  object)
inlinestatic

Creates an image object from a composite.

Parameters
[in]objectA composite to share.
Returns
A n image ptr object that shares resources with the composite.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ GetPartAt()

CompositeVariant GetPartAt ( int  index) const
inline

Access to a multi part image element specified by its index.

Parameters
[in]indexPart index of the multi part element to access.
Returns
A composite variant.
Exceptions
Anyexception derived from std::exception including CvbException.

◆ NumParts()

int NumParts ( ) const
inlinenoexcept

Number of parts in the multi part image.

Returns
Number of parts.
Exceptions
Doesnot throw any exception.