All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Pylon::CPylonImageBase Class Referenceabstract

Provides basic functionality for pylon image classes. More...

#include <pylon/PylonImageBase.h>

Inheritance diagram for Pylon::CPylonImageBase:
Inheritance graph
[legend]

Public Member Functions

virtual void Save (EImageFileFormat imageFileFormat, const String_t &filename, CImagePersistenceOptions *pOptions=NULL) const
 Saves the image to disk. More...
 
virtual void Load (const String_t &filename)
 Loads an image from a disk. More...
 
virtual bool CanSaveWithoutConversion (EImageFileFormat imageFileFormat) const
 Can be used to check whether the image can be saved without prior conversion. More...
 
virtual SPixelData GetPixelData (uint32_t posX, uint32_t posY) const
 Retrieves the data of a pixel. More...
 
virtual bool IsSupportedPixelType (EPixelType pixelType) const =0
 Can be used to check whether the pixel type is supported. More...
 
virtual bool IsAdditionalPaddingSupported () const =0
 Can be used to check whether the value of PaddingX can be defined by the user. More...
 
virtual void Reset (EPixelType pixelType, uint32_t width, uint32_t height, EImageOrientation orientation=ImageOrientation_TopDown)=0
 Resets the image properties and provides a buffer to hold the image. More...
 
virtual void Reset (EPixelType pixelType, uint32_t width, uint32_t height, size_t paddingX, EImageOrientation orientation=ImageOrientation_TopDown)=0
 Resets the image properties including user defined PaddingX and provides a buffer to hold the image. More...
 
virtual void Release ()=0
 Releases the image buffer and resets to an invalid image. More...
 
virtual bool IsValid () const =0
 Can be used to check whether an image is valid. More...
 
virtual EPixelType GetPixelType () const =0
 Get the current pixel type. More...
 
virtual uint32_t GetWidth () const =0
 Get the current number of columns in pixels. More...
 
virtual uint32_t GetHeight () const =0
 Get the current number of rows. More...
 
virtual size_t GetPaddingX () const =0
 Get the number of extra data bytes at the end of each row. More...
 
virtual EImageOrientation GetOrientation () const =0
 Get the vertical orientation of the image in memory. More...
 
virtual void * GetBuffer ()=0
 Get the pointer to the buffer. More...
 
virtual const void * GetBuffer () const =0
 Get the pointer to the buffer containing the image. More...
 
virtual size_t GetImageSize () const =0
 Get the size of the image in bytes. More...
 
virtual bool IsUnique () const =0
 Indicates that the referenced buffer is only referenced by this image. More...
 
virtual bool GetStride (size_t &strideBytes) const =0
 Get the stride in bytes. More...
 

Detailed Description

Provides basic functionality for pylon image classes.

Member Function Documentation

virtual bool Pylon::CPylonImageBase::CanSaveWithoutConversion ( EImageFileFormat  imageFileFormat) const
virtual

Can be used to check whether the image can be saved without prior conversion.

This is a convenience method that calls CImagePersistence::CanSaveWithoutConversion().

Parameters
[in]imageFileFormatTarget file format for the image to be saved.
Returns
Returns true, if the image can be saved without prior conversion.
Error Safety:
Does not throw C++ exceptions.
virtual void* Pylon::IImage::GetBuffer ( )
pure virtualinherited

Get the pointer to the buffer.

Returns
Returns the pointer to the used buffer or NULL if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual const void* Pylon::IImage::GetBuffer ( ) const
pure virtualinherited

Get the pointer to the buffer containing the image.

The buffer is at least as large as the value returned by GetImageSize().

Returns
Returns the pointer to the used buffer or NULL if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual uint32_t Pylon::IImage::GetHeight ( ) const
pure virtualinherited

Get the current number of rows.

Returns
Returns the current number of rows or 0 if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual size_t Pylon::IImage::GetImageSize ( ) const
pure virtualinherited

Get the size of the image in bytes.

Returns
Returns the size of the image in bytes or 0 if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual EImageOrientation Pylon::IImage::GetOrientation ( ) const
pure virtualinherited

Get the vertical orientation of the image in memory.

Returns
Returns the orientation of the image or ImageOrientation_TopDown if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual size_t Pylon::IImage::GetPaddingX ( ) const
pure virtualinherited

Get the number of extra data bytes at the end of each row.

Returns
Returns the number of extra data bytes at the end of each row or 0 if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual SPixelData Pylon::CPylonImageBase::GetPixelData ( uint32_t  posX,
uint32_t  posY 
) const
virtual

Retrieves the data of a pixel.

Note
This method is relativly slow. Do not use it for image processing tasks.
Parameters
[in]posXHorizontal position of the pixel. The first column has position 0.
[in]posYVertical position of the pixel. The first row has position 0.
Returns
Returns the data of a pixel for supported pixel types. For unsupported pixel types pixel data of the SPixelData::PixelDataType_Unknown type is returned.
Precondition
  • The image must be valid.
  • The pixel position defined by posX and posY must be located inside the image area.

Supported pixel types:

  • PixelType_Mono1packed
  • PixelType_Mono2packed
  • PixelType_Mono4packed
  • PixelType_Mono8
  • PixelType_Mono8signed
  • PixelType_Mono10
  • PixelType_Mono10packed
  • PixelType_Mono10p
  • PixelType_Mono12
  • PixelType_Mono12packed
  • PixelType_Mono12p
  • PixelType_Mono16
  • PixelType_BayerGR8
  • PixelType_BayerRG8
  • PixelType_BayerGB8
  • PixelType_BayerBG8
  • PixelType_BayerGR10
  • PixelType_BayerRG10
  • PixelType_BayerGB10
  • PixelType_BayerBG10
  • PixelType_BayerGR12
  • PixelType_BayerRG12
  • PixelType_BayerGB12
  • PixelType_BayerBG12
  • PixelType_BayerGR12Packed
  • PixelType_BayerRG12Packed
  • PixelType_BayerGB12Packed
  • PixelType_BayerBG12Packed
  • PixelType_BayerGR10p
  • PixelType_BayerRG10p
  • PixelType_BayerGB10p
  • PixelType_BayerBG10p
  • PixelType_BayerGR12p
  • PixelType_BayerRG12p
  • PixelType_BayerGB12p
  • PixelType_BayerBG12p
  • PixelType_BayerGR16
  • PixelType_BayerRG16
  • PixelType_BayerGB16
  • PixelType_BayerBG16
  • PixelType_RGB8packed
  • PixelType_BGR8packed
  • PixelType_RGBA8packed
  • PixelType_BGRA8packed
  • PixelType_RGB10packed
  • PixelType_BGR10packed
  • PixelType_RGB12packed
  • PixelType_BGR12packed
  • PixelType_RGB12V1packed
  • PixelType_RGB16packed
  • PixelType_RGB8planar
  • PixelType_RGB10planar
  • PixelType_RGB12planar
  • PixelType_RGB16planar
  • PixelType_YUV422packed
  • PixelType_YUV422_YUYV_Packed
Error Safety:
Throws an exception, if the preconditions are not met.
virtual EPixelType Pylon::IImage::GetPixelType ( ) const
pure virtualinherited

Get the current pixel type.

Returns
Returns the pixel type or PixelType_Undefined if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual bool Pylon::IImage::GetStride ( size_t &  strideBytes) const
pure virtualinherited

Get the stride in bytes.

The stride in bytes can not be computed for packed image format when the stride is not byte aligned. See also Pylon::IsPacked(). The stride in bytes can not be computed if the image is invalid.

Parameters
[out]strideBytesThe stride in byte if it can be computed.
Returns
Returns true if the stride can be computed.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual uint32_t Pylon::IImage::GetWidth ( ) const
pure virtualinherited

Get the current number of columns in pixels.

Returns
Returns the current number of columns in pixels or 0 if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual bool Pylon::IReusableImage::IsAdditionalPaddingSupported ( ) const
pure virtualinherited

Can be used to check whether the value of PaddingX can be defined by the user.

Returns
Returns true if the value of PaddingX can be defined by the user.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage.

virtual bool Pylon::IReusableImage::IsSupportedPixelType ( EPixelType  pixelType) const
pure virtualinherited

Can be used to check whether the pixel type is supported.

Returns
Returns true if the pixel type is supported.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage.

virtual bool Pylon::IImage::IsUnique ( ) const
pure virtualinherited

Indicates that the referenced buffer is only referenced by this image.

Returns
Returns true if the referenced buffer is only referenced by this image. Returns false if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual bool Pylon::IImage::IsValid ( ) const
pure virtualinherited

Can be used to check whether an image is valid.

Returns
Returns false if the image is invalid.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage, and Pylon::CGrabResultImageT< GrabResultT >.

virtual void Pylon::CPylonImageBase::Load ( const String_t filename)
virtual

Loads an image from a disk.

This is a convenience method that calls CImagePersistence::Load()

Parameters
[in]filenameName and path of the image.
Precondition
The image object must be able to hold the image format of the loaded image.
Error Safety:
Throws an exception if the image cannot be loaded. The image buffer content is undefined when the loading of the image fails.
virtual void Pylon::IReusableImage::Release ( )
pure virtualinherited

Releases the image buffer and resets to an invalid image.

Postcondition
  • PixelType = PixelType_Undefined.
  • Width = 0.
  • Height = 0.
  • PaddingX = 0.
  • No buffer is allocated.
Error Safety:
Does not throw C++ exceptions.

Implemented in Pylon::CPylonImage.

virtual void Pylon::IReusableImage::Reset ( EPixelType  pixelType,
uint32_t  width,
uint32_t  height,
EImageOrientation  orientation = ImageOrientation_TopDown 
)
pure virtualinherited

Resets the image properties and provides a buffer to hold the image.

Parameters
[in]pixelTypeThe pixel type of the new image.
[in]widthThe number of pixels in a row in the new image.
[in]heightThe number of rows in the new image.
[in]orientationThe vertical orientation of the image in the image buffer.
Precondition
  • The IsSupportedPixelType() method returns true.
  • The width value must be >= 0 and < _I32_MAX.
  • The height value must be >= 0 and < _I32_MAX.
Postcondition
  • The properties of the image are changed.
  • A buffer large enough to hold the image is provided.
Error Safety:
Throws an exception when the preconditions are not met. Throws an exception when no buffer with the required size can be provided, e.g. by allocation. The original representation is preserved on error.

Implemented in Pylon::CPylonImage.

virtual void Pylon::IReusableImage::Reset ( EPixelType  pixelType,
uint32_t  width,
uint32_t  height,
size_t  paddingX,
EImageOrientation  orientation = ImageOrientation_TopDown 
)
pure virtualinherited

Resets the image properties including user defined PaddingX and provides a buffer to hold the image.

Extends the Reset(EPixelType, uint32_t, uint32_t) method with user provided padding.

Parameters
[in]pixelTypeThe pixel type of the new image.
[in]widthThe number of pixels in a row in the new image.
[in]heightThe number of rows in the new image.
[in]paddingXThe number of extra data bytes at the end of each row.
[in]orientationThe vertical orientation of the image in the image buffer.
Precondition

Implemented in Pylon::CPylonImage.

virtual void Pylon::CPylonImageBase::Save ( EImageFileFormat  imageFileFormat,
const String_t filename,
CImagePersistenceOptions pOptions = NULL 
) const
virtual

Saves the image to disk.

Converts the image to a format that can be saved if required.

This is a convenience method that calls CImagePersistence::Save().

If required, the image is automatically converted into a new image and saved afterwards. See CImagePersistence::CanSaveWithoutConversion() for more information. An image with a bit depth higher than 8 bit is stored with 16 bit bit depth, if supported by the image file format. In this case the pixel data is MSB aligned.

If more control over the conversion is required, the CImageFormatConverter class can be used to convert the input image before saving it.

Parameters
[in]imageFileFormatFile format to save the image in.
[in]filenameName and path of the image.
[in]pOptionsAdditional options.
Precondition
The pixel type of the image to be saved must be a supported input format of the Pylon::CImageFormatConverter.
Error Safety:
Throws an exception if the saving of the image fails.

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

pylon 5.0.5
Copyright © 2006-2016 Basler AG (Thu Aug 11 2016 18:01:28)