Skip to content

Pylon#

Contains definitions of pylon types.

Namespaces#

Name
Pylon::Key
This namespace contains keys for accessing the properties of pylon info objects.
Pylon::PylonPrivate
Pylon::TLType
This namespace contains values for the different transport layer types.

Classes#

Name
class Pylon::AccessException
Exception thrown to indicate an access error. (i.E. A when trying to set a read-only value)
class Pylon::AccessModeSet
Collection of access mode bits.
class Pylon::AutoLock
A scoped lock class to acquire and release a CLock upon creation and destruction.
class Pylon::AviWriterFatalException
Exception thrown if a fatal error occurs (e.g. access violations, …) when accessing an AVI video file.
class Pylon::BadAllocException
Exception thrown if memory could not be allocated.
class Pylon::Base_Callback1Body
class Pylon::CAcquireContinuousConfiguration
Changes the configuration of the camera to free-running continuous acquisition.
class Pylon::CAcquireSingleFrameConfiguration
An instant camera configuration for single frame acquisition, Use together with CInstantCamera::GrabOne() only.
class Pylon::CActionTriggerConfiguration
Changes the configuration of the camera so that it is triggered by the first available action command.
class Pylon::Callback1
class Pylon::CArrayParameter
CArrayParameter class used to simplify access to GenApi parameters.
class Pylon::CAviWriter
Supports writing AVI files.
class Pylon::CBaslerUniversalCameraEventHandler
The camera event handler base class.
class Pylon::CBaslerUniversalConfigurationEventHandler
The configuration event handler base class.
class Pylon::CBaslerUniversalGrabResultData
The Universal grab result data.
class Pylon::CBaslerUniversalGrabResultPtr
The Universal grab result smart pointer.
class Pylon::CBaslerUniversalImageEventHandler
The image event handler base class.
class Pylon::CBaslerUniversalInstantCamera
Extends the CInstantCamera by universal parameter interface classes combining all interface types.
class Pylon::CBaslerUniversalInstantCameraArray
Universal instant camera array.
struct Pylon::CBaslerUniversalInstantCameraTraits
Lists all the types used by the universal instant camera class.
class Pylon::CBooleanParameter
CBooleanParameter class used to simplify access to GenApi parameters.
class Pylon::CCameraEventHandler
The camera event handler base class.
class Pylon::CCameraPixelTypeMapperT
A camera specific pixeltypemapper (maps device specific pixelformats contained in the generated camera classes to pylon pixeltypes by their name).
class Pylon::CChunkParser
Low Level API: Base class for chunk parsers returned by camera objects.
class Pylon::CCommandParameter
CCommandParameter class used to simplify access to GenApi parameters.
class Pylon::CConfigurationEventHandler
The configuration event handler base class.
class Pylon::CConfigurationHelper
Helper functions for different camera configuration classes.
class Pylon::CDeviceInfo
Holds information about an enumerated device.
class Pylon::CDeviceSpecificGrabResultPtr
Implementation Detail: Header only implementation class for creating device specific grab result ptrs.
class Pylon::CDeviceSpecificInstantCameraArrayT
Implementation Detail: Header only implementation class for creating device specific Instant Camera Array classes.
class Pylon::CDeviceSpecificInstantCameraT
Implementation Detail: Header only implementation class for creating device specific Instant Camera classes.
class Pylon::CEnumParameter
CEnumParameter class used to simplify access to GenApi parameters.
class Pylon::CEnumParameterT
class Pylon::CFeaturePersistence
Utility class for saving and restoring camera features to and from a file or string.
class Pylon::CFloatParameter
CFloatParameter class used to simplify access to GenApi parameters.
class Pylon::CGrabResultData
Makes the data for one grabbed buffer available.
class Pylon::CGrabResultImageT
Low Level API: Adapts grab result to Pylon::IImage.
class Pylon::CGrabResultPtr
A smart pointer holding a reference to grab result data.
class Pylon::CImageDecompressor
Provides convenient access to cameras that support image compression and helps with decompressing these images.
class Pylon::CImageEventHandler
The image event handler base class.
class Pylon::CImageFormatConverter
Creates new images by converting a source image to another format.
class Pylon::CImagePersistence
Contains static functions supporting loading and saving of images.
class Pylon::CImagePersistenceOptions
Used to pass options to CImagePersistence methods.
class Pylon::CInfoBase
Base implementation for PYLON info container.
class Pylon::CInstantCamera
Provides convenient access to a camera device.
class Pylon::CInstantCameraArray
Supports grabbing with multiple camera devices.
class Pylon::CInstantInterface
Provides convenient access to an interface.
class Pylon::CIntegerParameter
CIntegerParameter class used to simplify access to GenApi parameters.
class Pylon::CInterfaceInfo
Class used for storing information about an interface object provided by a transport layer.
class Pylon::CLock
A simple recursive lock class.
class Pylon::CNodeMapProxyT
Implementation Detail: This class wraps programming interfaces that are generated from GenICam parameter description files to provide native parameter access.
struct Pylon::CompressionInfo_t
The struct containing information about a grab buffer/result.
class Pylon::CParameter
CParameter class used to simplify access to GenApi parameters.
class Pylon::CPixelTypeMapper
A simple pixeltypemapper (maps device specific pixelformats read from device-node map to pylon pixeltypes by their name).
class Pylon::CPylonBitmapImage
This class can be used to easily create Windows bitmaps for displaying images.
class Pylon::CPylonDataComponent
Provides methods for accessing a single component of CPylonDataContainer.
class Pylon::CPylonDataContainer
Provides methods for accessing grab results consisting of multiple components.
class Pylon::CPylonImage
Describes an image.
class Pylon::CPylonImageBase
Provides basic functionality for pylon image classes.
class Pylon::CPylonImageUserBufferEventHandler
The CPylonImage user buffer event handler base class.
class Pylon::CPylonImageWindow
Class to manage a pylon image window.
class Pylon::CSoftwareTriggerConfiguration
Changes the configuration of the camera so that the acquisition of frames is triggered by software trigger.
class Pylon::CStaticDefectPixelCorrection
Provides utility functions to use Static Defect Pixel Correction on certain ace 2 cameras.
class Pylon::CStreamGrabberProxyT
Low Level API: The stream grabber class with parameter access methods.
class Pylon::CStringParameter
CStringParameter class used to simplify access to GenApi parameters.
class Pylon::CTlFactory
the Transport Layer Factory
class Pylon::CTlInfo
Class used for storing the result of the transport layer enumeration process.
class Pylon::CVideoWriter
Supports writing video files.
class Pylon::DeviceInfoList
STL std::vector like container for Pylon::CDeviceInfo objects.
class Pylon::DynamicCastException
Exception thrown to indicate a dynamic cast has failed. Usually this means a value is not of expected type.
class Pylon::EventResult
Low Level API: An event result.
class Pylon::Function_CallbackBody
class Pylon::GenericException
pylon exception class
struct Pylon::GigEActionCommandResult
Optional result structure of IGigETransportLayer::IssueActionCommand and IGigETransportLayer::IssueScheduledActionCommand.
class Pylon::GrabResult
Low Level API: A grab result that combines the used image buffer and status information.
struct Pylon::IBooleanEx
Extends the GenApi::IBoolean interface with convenience methods.
class Pylon::IBufferFactory
Usable to create a custom buffer factory when needed.
interface Pylon::IChunkParser
Low Level API: The interface for chunk parsers analyzing a data stream consisting of chunks.
struct Pylon::ICommandEx
Extends the GenApi::ICommand interface with convenience methods.
interface Pylon::IDevice
Low Level API: The interface implemented by all device objects.
interface Pylon::IDeviceFactory
Interface to be implemented by device factories used to create devices.
struct Pylon::IEnumerationEx
Extends the GenApi::IEnumeration interface with convenience methods.
struct Pylon::IEnumParameterT
A template class that is used to create classes derived from CEnumParameter.
interface Pylon::IEventAdapter
Low Level API: IEventAdapter delivers event messages to ports.
interface Pylon::IEventGrabber
Low Level API: Interface of an object receiving asynchronous events.
struct Pylon::IFloatEx
Extends the GenApi::IFloat interface with convenience methods.
interface Pylon::IGigETransportLayer
Extends the ITransportLayer interface by GigE Vision specific functionality.
interface Pylon::IImage
Usable to access image properties and image buffer.
struct Pylon::IIntegerEx
Extends the GenApi::IInteger interface with convenience methods.
interface Pylon::IInterface
An interface is used to represent a frame grabber board, a network card, etc.
class Pylon::InterfaceInfoList
STL std::vector like container for Pylon::CInterfaceInfo objects.
class Pylon::InvalidArgumentException
Exception thrown if an argument passed is invalid.
interface Pylon::IProperties
interface for a property container
interface Pylon::IPylonDevice
Low Level API: Interface for camera objects.
interface Pylon::IPylonGigEDevice
Low Level API: The interface for Basler GigE camera devices.
struct Pylon::IRegisterEx
Extends the GenApi::IRegister interface with convenience methods.
interface Pylon::IReusableImage
Extends the IImage interface to be able to reuse the image's resources to represent a different image.
interface Pylon::ISelfReliantChunkParser
Low Level API: Interface for chunk parsers with an own chunk data node map attached.
interface Pylon::IStreamGrabber
Low Level API: Interface to an (input) data stream.
struct Pylon::IStringEx
Extends the GenApi::IString interface with convenience methods.
interface Pylon::ITransportLayer
The interface of Transport Layer objects.
struct Pylon::IValueEx
Extends the GenApi::IValue interface with convenience methods.
struct Pylon::IXmlFileProvider
class Pylon::LogicalErrorException
Exception thrown to indicate logical errors in program flow.
class Pylon::Member_CallbackBody
class Pylon::OutOfRangeException
Exception thrown if an argument is out of range.
class Pylon::PropertyException
Exception thrown if a property access fails.
class Pylon::PylonAutoInitTerm
Helper class to automagically call PylonInitialize and PylonTerminate in constructor and destructor.
class Pylon::RuntimeException
Exception thrown if a runtime error occurs.
struct Pylon::SAviCompressionOptions
Wraps the AVI compression options of the Video for Window API.
struct Pylon::SBGR8Pixel
Describes the memory layout of a BGR8 pixel. This pixel is used in Windows bitmaps.
struct Pylon::SBGRA8Pixel
Describes the memory layout of a BGRA8 pixel. This pixel is used in Windows bitmaps.
class Pylon::SPixelData
Describes the data of one pixel.
struct Pylon::SRGB16Pixel
Describes the memory layout of a RGB16 pixel.
struct Pylon::SRGB8Pixel
Describes the memory layout of a RGB8 pixel.
struct Pylon::StaticDefectPixel
A single defect pixel.
class Pylon::StaticDefectPixelList
STL std::vector like container for Pylon::StaticDefectPixel objects.
struct Pylon::SYUV422_UYVY
Describes the memory layout of a YUV422_UYVY pixel with information about brightness and chroma for two pixels.
struct Pylon::SYUV422_YUYV
Describes the memory layout of a YUV422_YUYV pixel with information about brightness and chroma for two pixels.
class Pylon::TimeoutException
Exception thrown when a timeout has elapsed.
class Pylon::TlInfoList
STL std::vector like container for Pylon::CTlInfo objects.
class Pylon::TList
STL std::vector like container class.
class Pylon::VersionInfo
Holds a four-part version number consisting of major.minor.subminor.build.
class Pylon::WaitObject
A platform independent wait object.
class Pylon::WaitObjectEx
A wait object that the user may signal.
class Pylon::WaitObjects
A set of wait objects.

Types#

Name
enum EKeyFrameSelection { KeyFrameSelection_NoKeyFrame, KeyFrameSelection_KeyFrame, KeyFrameSelection_Auto}
List the possibilities for selecting a key frame when using compression.
enum EDeviceAccessMode { Control = 0x1, Stream = 0x3, Event = 0x4, Exclusive = 0x5, _NumModes}
The available access modes when opening a camera object.
enum EDeviceAccessiblityInfo { Accessibility_Unknown = 0, Accessibility_Ok = 1, Accessibility_Opened = 2, Accessibility_OpenedExclusively = 3, Accessibility_NotReachable = 4}
Information about the accessibility of a device.
enum ECleanup { Cleanup_None, Cleanup_Delete}
Defines who deletes a passed object if it is not needed anymore.
enum ERegistrationMode { RegistrationMode_Append, RegistrationMode_ReplaceAll}
Defines how to register an item.
enum ETimeoutHandling { TimeoutHandling_Return, TimeoutHandling_ThrowException}
Defines how to handle a timeout for a method.
enum EFloatValueCorrection { FloatValueCorrection_None = 0, FloatValueCorrection_ClipToRange = 3}
Lists possible float value correction strategies.
enum EImageOrientation { ImageOrientation_TopDown, ImageOrientation_BottomUp}
Defines the vertical orientation of an image in memory.
enum ECompressionStatus { CompressionStatus_Ok, CompressionStatus_BufferOverflow, CompressionStatus_Error}
Status of a grab buffer/result with compressed data.
enum EEndianness { Endianness_Little, Endianness_Big, Endianness_Auto}
Endianness for parsing the grab buffer/result as defined for the camera technology used.
enum ECompressionMode { CompressionMode_Off, CompressionMode_BaslerLossless, CompressionMode_BaslerFixRatio}
Mode used for transferring images.
enum EImageFileFormat { ImageFileFormat_Bmp = 0, ImageFileFormat_Tiff = 1, ImageFileFormat_Jpeg = 2, ImageFileFormat_Png = 3, ImageFileFormat_Raw = 4, ImageFileFormat_Dng = 5}
Lists the available file formats.
enum EGrabStrategy { GrabStrategy_OneByOne, GrabStrategy_LatestImageOnly, GrabStrategy_LatestImages, GrabStrategy_UpcomingImage}
Lists the possible grab strategies.
enum EGrabLoop { GrabLoop_ProvidedByInstantCamera, GrabLoop_ProvidedByUser}
Defines the use of an additional grab loop thread.
enum ECameraEventAvailability { CameraEventAvailability_Mandatory, CameraEventAvailability_Optional}
Defines how to register a camera event handler.
enum EIntegerValueCorrection { IntegerValueCorrection_None = 0, IntegerValueCorrection_Up = 1, IntegerValueCorrection_Down = 2, IntegerValueCorrection_Nearest = 3}
Lists possible integer value corrections.
enum EParameterInfo { ParameterInfo_Name, ParameterInfo_DisplayName, ParameterInfo_ToolTip, ParameterInfo_Description}
Lists possible parameter info values.
enum EPayloadType { PayloadType_Undefined = -1, PayloadType_Image, PayloadType_RawData, PayloadType_File, PayloadType_ChunkData, PayloadType_GenDC, PayloadType_DeviceSpecific = 0x8000}
Possible payload type values.
enum EPixelType { PixelType_Undefined = -1, PixelType_Mono1packed = (0x80000000)
enum EPixelColorFilter { PCF_BayerRG, PCF_BayerGB, PCF_BayerGR, PCF_BayerBG, PCF_Undefined}
Lists the Bayer color filter types.
enum SFNCVersion { SFNCVersion_Invalid = 0, SFNCVersion_pre2_0 = 1, SFNCVersion_2_0 = 200}
Specifies the SFNC version.
enum EComponentType { ComponentType_Undefined = 0x00, ComponentType_Intensity = 0x01, ComponentType_Range = 0x04, ComponentType_Confidence = 0x06}
Lists the possible component types.
enum EGrabStatus { GrabStatus_Undefined = -1, _UndefinedGrabStatus = GrabStatus_Undefined, GrabStatus_Idle, Idle = GrabStatus_Idle, GrabStatus_Queued, Queued = GrabStatus_Queued, GrabStatus_Grabbed, Grabbed = GrabStatus_Grabbed, GrabStatus_Canceled, Canceled = GrabStatus_Canceled, GrabStatus_Failed, Failed = GrabStatus_Failed}
Low Level API: Possible grab status values.
enum EStaticDefectPixelType { StaticDefectPixelType_Reserved = 0}
Type of defect pixel.
enum EWaitExResult { waitex_timeout = 0, waitex_signaled = 1, waitex_abandoned = 2, waitex_alerted = -1}
The return value of the Pylon::WaitObject::WaitEx() and Pylon::WaitObjectEx::WaitEx() methods.
enum EGigEActionCommandStatus { GigEActionCommandStatus_Ok = 0, GigEActionCommandStatus_NoRefTime = 0xE1018013, GigEActionCommandStatus_Overflow = 0xE1018015, GigEActionCommandStatus_ActionLate = 0xE1018016}
Lists possible status codes returned by IGigETransportLayer::IssueActionCommand or IGigETransportLayer::IssueScheduledActionCommand.
typedef DeviceInfoList DeviceInfoList_t
STL std::vector like container for Pylon::CDeviceInfo objects.
typedef TlInfoList TlInfoList_t
STL std::vector like container for Pylon::CTlInfo objects.
typedef InterfaceInfoList InterfaceInfoList_t
STL std::vector like container for Pylon::CInterfaceInfo objects.
typedef StaticDefectPixelList StaticDefectPixelList_t
STL std::vector like container for Pylon::StaticDefectPixel objects.
typedef Pylon::Callback1< IPylonDevice * > DeviceCallback
callback type with a IPylonDevice as parameter
typedef void * DeviceCallbackHandle
opaque device callback object
typedef CGrabResultImageT< GrabResult > CGrabResultImage
Low Level API: Adapts a copy of a grab result to pylon image.
typedef GenICam::gcstring String_t
Pylon's string definition.
typedef GenICam::gcstring_vector StringList_t
Pylon's string list definition.
typedef void * StreamBufferHandle
This opaque type represents a registered buffer.
typedef HANDLE THREADHANDLE
Typedef for a Win32 thread handle.

Functions#

Name
template <class T >
TList< T >::iterator
operator+(intptr_t iInc, const typename TList< T >::iterator & iter)
Gets the sum of the given iInc and the given iter.
template <class Function >
DeviceCallbackHandle
RegisterRemovalCallback(IPylonDevice * pDevice, Function f)
Low Level API: Register a C-function as a removal callback.
template <class Client ,class Member >
DeviceCallbackHandle
RegisterRemovalCallback(IPylonDevice * pDevice, Client & c, Member m)
Low Level API: Register a C++-member function as removal callback.
AccessModeSet operator+(EDeviceAccessMode lhs, EDeviceAccessMode rhs)
Creates a set containing lhs and rhs operands.
AccessModeSet **[operator
AccessModeSet operator+(const AccessModeSet & lhs, EDeviceAccessMode rhs)
Adds the operand rhs to the set lhs.
AccessModeSet **[operator
bool operator==(const AccessModeSet & lhs, const AccessModeSet & rhs)
Check if the operand rhs is equal to lhs.
bool operator!=(const AccessModeSet & lhs, const AccessModeSet & rhs)
Check if the operand rhs is not equal to lhs.
std::ostream & operator<<(std::ostream & ostr, const Pylon::AccessModeSet & ams)
bool IsMonoPacked(EPixelType pixelType)
Returns true if the pixel type is Mono and the pixel values are not byte aligned.
bool IsBayerPacked(EPixelType pixelType)
Returns true if the pixel type is Bayer and the pixel values are not byte aligned.
bool IsRGBPacked(EPixelType pixelType)
Returns true if the pixel type is RGB and the pixel values are not byte aligned.
bool IsBGRPacked(EPixelType pixelType)
Returns true if the pixel type is BGR and the pixel values are not byte aligned.
bool IsPacked(EPixelType pixelType)
Returns true if the pixels of the given pixel type are not byte aligned.
bool IsPackedInLsbFormat(EPixelType pixelType)
uint32_t PlaneCount(EPixelType pixelType)
Returns number of planes in the image composed of the pixel type.
EPixelType GetPlanePixelType(EPixelType pixelType)
Returns the pixel type of a plane.
bool IsPlanar(EPixelType pixelType)
Returns true if images of the pixel type are divided into multiple planes.
bool IsYUVSemiplanar(EPixelType pixelType)
Returns true if pixel type is YUV semiplanar.
EPixelColorFilter GetPixelColorFilter(EPixelType pixelType)
Returns the Bayer color filter type.
uint32_t BitPerPixel(EPixelType pixelType)
Returns the bits needed to store a pixel.
uint32_t SamplesPerPixel(EPixelType pixelType)
Returns the number of measured values per pixel.
bool IsYUV(EPixelType pixelType)
Returns true when the pixel type represents a YUV format.
bool IsRGBA(EPixelType pixelType)
Returns true when the pixel type represents an RGBA format.
bool IsRGB(EPixelType pixelType)
Returns true when the pixel type represents an RGB or RGBA format.
bool IsBGRA(EPixelType pixelType)
Returns true when the pixel type represents a BGRA format.
bool IsBGR(EPixelType pixelType)
Returns true when the pixel type represents a BGR or BGRA format.
bool IsBayer(EPixelType pixelType)
Returns true when the pixel type represents a Bayer format.
bool IsMono(EPixelType pixelType)
Returns true when a given pixel is monochrome, e.g. PixelType_Mono8 or PixelType_BayerGR8.
bool IsMonoImage(EPixelType pixelType)
Returns true when an image using the given pixel type is monochrome, e.g. PixelType_Mono8.
bool IsColorImage(EPixelType pixelType)
Returns true when an image using the given pixel type is a color image (RGB/BGR/RGBA/BGRA/ etc or Bayer.
bool HasAlpha(EPixelType pixelType)
Returns true when an the image using the given pixel type has an alpha channel.
bool IsFloatingPoint(EPixelType pixelType)
Returns true if a given pixel type represents a floating point number.
uint32_t GetPixelIncrementX(EPixelType pixelType)
Returns the minimum step size expressed in pixels for extracting an AOI.
uint32_t GetPixelIncrementY(EPixelType pixelType)
Returns the minimum step size expressed in pixels for extracting an AOI.
uint32_t BitDepth(EPixelType pixelType)
Returns the bit depth of a value of the pixel in bits.
bool ComputeStride(size_t & strideBytes, EPixelType pixelType, uint32_t width, size_t paddingX =0)
Computes the stride in byte.
size_t ComputePaddingX(size_t strideBytes, EPixelType pixelType, uint32_t width)
Computes the padding value from row stride in byte.
size_t ComputeBufferSize(EPixelType pixelType, uint32_t width, uint32_t height, size_t paddingX =0)
Computes the buffer size in byte.
bool GetPixelTypesForUnpacking(EPixelType pixelTypeSource, EPixelType & pixelTypeToImpose, EPixelType & pixelTypeTarget)
Returns the pixel types needed for conversion from packed to unpacked image formats using the CImageFormatConverter class.
void PylonInitialize(void )
Initializes the pylon runtime system.
void PylonTerminate(bool ShutDownLogging =true)
Frees up resources allocated by the pylon runtime system.
void GetPylonVersion(unsigned int * major, unsigned int * minor, unsigned int * subminor, unsigned int * build)
Returns the version number of pylon.
const char * GetPylonVersionString()
Returns the version number of pylon as string.
Pylon::String_t GetVersionString(unsigned int major, unsigned int minor, unsigned int subminor, unsigned int build)
Returns the given version numbers as Pylon::String_t.
void SetProperty(int propertyId, const void * pData, size_t size)
Set the value of a property.
void GetProperty(int propertyId, void * pData, size_t * pSize)
Get the value of a property.
void DisplayImage(size_t winIndex, const Pylon::IImage & image)
Convenience function to display an image on screen with one function call.
const VersionInfo Sfnc_VersionUndefined(0 , 0 , 0 )
Constant for undefined SFNC version.
const VersionInfo Sfnc_1_2_1(1 , 2 , 1 )
Constant for SFNC version 1.2.1.
const VersionInfo Sfnc_1_3_0(1 , 3 , 0 )
Constant for SFNC version 1.3.0.
const VersionInfo Sfnc_1_4_0(1 , 4 , 0 )
Constant for SFNC version 1.4.0.
const VersionInfo Sfnc_1_5_0(1 , 5 , 0 )
Constant for SFNC version 1.5.0.
const VersionInfo Sfnc_1_5_1(1 , 5 , 1 )
Constant for SFNC version 1.5.1.
const VersionInfo Sfnc_2_0_0(2 , 0 , 0 )
Constant for SFNC version 2.0.0. This version or a later version is used by USB camera devices.
const VersionInfo Sfnc_2_1_0(2 , 1 , 0 )
Constant for SFNC version 2.1.0.
const VersionInfo Sfnc_2_2_0(2 , 2 , 0 )
Constant for SFNC version 2.2.0.
const VersionInfo Sfnc_2_3_0(2 , 3 , 0 )
Constant for SFNC version 2.3.0.
const VersionInfo Sfnc_2_4_0(2 , 4 , 0 )
Constant for SFNC version 2.4.0.
const VersionInfo Sfnc_2_5_0(2 , 5 , 0 )
Constant for SFNC version 2.5.0.
VersionInfo GetSfncVersion(GenApi::INodeMap * pNodeMap)
Helper function for getting the SFNC version from the camera device node map.
void GetRTThreadPriorityCapabilities(int & prioMin, int & prioMax)
Queries the range of allowed thread priorities.
int GetRTThreadPriority(THREADHANDLE thread)
Indicates the current thread priority of a thread.
void SetRTThreadPriority(THREADHANDLE thread, int priority)
Allows to set the realtime thread priority of a thread This method allows to raise a thread's priority into the range of "realtime" thread priorities. The methods can control each thread independently. This means that it it not necessary to raise the process to the "realtime" priority class, which would affect all thread of the process.
THREADHANDLE GetCurrentThreadHandle()
Get current running thread handle.
int GetCurrentThreadIdentifier()
Get current running thread id.

Attributes#

Name
const char *const BaslerGigEDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerCamEmuDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerIpCamDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerCameraLinkDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerGenTlDeviceClassPrefix
The actual device class string is made up of this prefix + '/' + [TL Vendor] + '/' + [TL Model].
const char *const BaslerGenTlCxpDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerGenTlBlazeDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.
const char *const BaslerUsbDeviceClass
This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

Types Documentation#

enum EKeyFrameSelection#

Enumerator Value Description
KeyFrameSelection_NoKeyFrame Indicates that an image is not a key frame.
KeyFrameSelection_KeyFrame Indicates that an image is a key frame.
KeyFrameSelection_Auto Every nth frame is a key frame. The value of n is specified by passing its value in the SAviCompressionOptions in the autoKeyFrameInsertionRate member when opening the AVI Writer.

List the possibilities for selecting a key frame when using compression.

enum EDeviceAccessMode#

Enumerator Value Description
Control 0x1 access the control and status registers
Stream 0x3 access a streaming data channel
Event 0x4 access the event data channel
Exclusive 0x5 exclusive access to the device
_NumModes

The available access modes when opening a camera object.

enum EDeviceAccessiblityInfo#

Enumerator Value Description
Accessibility_Unknown 0 The accessibility could not be determined. The state of accessibility is unknown.
Accessibility_Ok 1 The device could be opened.
Accessibility_Opened 2 The device is reachable, but can be opened in read only mode only.
Accessibility_OpenedExclusively 3 The device is reachable, but currently opened exclusively by another application.
Accessibility_NotReachable 4 The device could not be reached or does not exist. No connection to the device is possible.

Information about the accessibility of a device.

enum ECleanup#

Enumerator Value Description
Cleanup_None The caller is responsible for deleting the passed object. The object needs to be detached or deregistered before deletion.
Cleanup_Delete The passed object is deleted if it is not needed anymore.

Defines who deletes a passed object if it is not needed anymore.

enum ERegistrationMode#

Enumerator Value Description
RegistrationMode_Append The item is appended to the list of registered items.
RegistrationMode_ReplaceAll The item replaces all other registered items.

Defines how to register an item.

enum ETimeoutHandling#

Enumerator Value Description
TimeoutHandling_Return The method returns on timeout. What data is returned can be found in the documentation of the method.
TimeoutHandling_ThrowException An exception is thrown on timeout.

Defines how to handle a timeout for a method.

enum EFloatValueCorrection#

Enumerator Value Description
FloatValueCorrection_None 0 No correction is applied. If the value isn't valid for the parameter, an exception is thrown.
FloatValueCorrection_ClipToRange 3 If the value is not in the valid range, the value is corrected to the valid range.

Lists possible float value correction strategies.

enum EImageOrientation#

Enumerator Value Description
ImageOrientation_TopDown The first row of the image is located at the start of the image buffer. This is the default for images taken by a camera.
ImageOrientation_BottomUp The last row of the image is located at the start of the image buffer.

Defines the vertical orientation of an image in memory.

enum ECompressionStatus#

Enumerator Value Description
CompressionStatus_Ok Buffer was compressed properly.
CompressionStatus_BufferOverflow Size of compressed image exceeded desired compression ratio.
CompressionStatus_Error Generic error.

Status of a grab buffer/result with compressed data.

It is possible that images could not be compressed properly by the camera (if the amount of data required for compressing an image exceeds the desired compression ratio). If an image was compressed successfully, it will have the compression status CompressionStatus_Ok.

enum EEndianness#

Enumerator Value Description
Endianness_Little Little endian (e.g., as used in USB3 Vision).
Endianness_Big Big endian (e.g., as used in GigE Vision).
Endianness_Auto Try to detect endianness automatically.

Endianness for parsing the grab buffer/result as defined for the camera technology used.

If not known, Endianness_Auto can be used to detect the endianness automatically. However, this may take longer.

enum ECompressionMode#

Enumerator Value Description
CompressionMode_Off Images are transferred uncompressed.
CompressionMode_BaslerLossless Images are transferred with Basler lossless compression.
CompressionMode_BaslerFixRatio Images are transferred with Basler fixed ratio compression (which may lead to lossily compressed images).

Mode used for transferring images.

The compression mode can have three states. Either compression is disabled in the camera (CompressionMode_Off) or the camera compresses the images in one of two ways (CompressionMode_BaslerLossless or CompressionMode_BaslerFixRatio).

enum EImageFileFormat#

Enumerator Value Description
ImageFileFormat_Bmp 0 Windows Bitmap, no compression.
ImageFileFormat_Tiff 1 Tagged Image File Format, no compression, supports mono images with more than 8 bit bit depth.
ImageFileFormat_Jpeg 2 Joint Photographic Experts Group, lossy data compression.
ImageFileFormat_Png 3 Portable Network Graphics, lossless data compression.
ImageFileFormat_Raw 4 Saves the raw image buffer data. Packed image formats are unpacked. See GetPixelTypesForUnpacking() for more information. In the format used for saving, the data cannot be loaded using CImagePersistence::Load().
ImageFileFormat_Dng 5 Saves Bayer pattern images in DNG/TIFF format. Packed image formats are unpacked. See GetPixelTypesForUnpacking() for more information. In the format used for saving, the data cannot be loaded using CImagePersistence::Load().

Lists the available file formats.

enum EGrabStrategy#

Enumerator Value Description
GrabStrategy_OneByOne The images are processed in the order of their arrival. This is the default grab strategy.
GrabStrategy_LatestImageOnly Only the latest image is kept in the output queue, all other grabbed images are skipped. If no image is in the output queue when retrieving an image with CInstantCamera::RetrieveResult(), the processing waits for the upcoming image.
GrabStrategy_LatestImages This strategy can be used to grab images while keeping only the latest images. If the application does not retrieve all images in time, all other grabbed images are skipped. The CInstantCamera::OutputQueueSize parameter can be used to control how many images can be queued in the output queue. When setting the output queue size to 1, this strategy is equivalent to GrabStrategy_LatestImageOnly grab strategy. When setting the output queue size to CInstantCamera::MaxNumBuffer, this strategy is equivalent to GrabStrategy_OneByOne.
GrabStrategy_UpcomingImage The input buffer queue is kept empty. This prevents grabbing. However, when retrieving an image with a call to the CInstantCamera::RetrieveResult() method a buffer is queued into the input queue and then the call waits for the upcoming image. The buffer is removed from the queue on timeout. Hence after the call to the CInstantCamera::RetrieveResult() method the input buffer queue is empty again. The upcoming image grab strategy cannot be used together with USB or GenTL-based camera devices. See the advanced topics section of the pylon Programmer's Guide for more information.

Lists the possible grab strategies.

enum EGrabLoop#

Enumerator Value Description
GrabLoop_ProvidedByInstantCamera The grab loop thread is provided by the Instant Camera. It calls RetrieveResult() in a loop. Grabbed images are processed by registered image event handlers. The grab loop thread is started when the grab starts.
GrabLoop_ProvidedByUser The user code calls RetrieveResult() in a loop to process grabbed images and camera events.

Defines the use of an additional grab loop thread.

enum ECameraEventAvailability#

Enumerator Value Description
CameraEventAvailability_Mandatory The camera event must be provided by the camera, otherwise an exception is thrown.
CameraEventAvailability_Optional The camera event handler is not used if the camera does not support the camera event.

Defines how to register a camera event handler.

enum EIntegerValueCorrection#

Enumerator Value Description
IntegerValueCorrection_None 0 No correction is applied. If the value isn't valid for the parameter, an exception is thrown.
IntegerValueCorrection_Up 1 The value is corrected by rounding up to the nearest valid value. If the value is lower/higher than the minimum/maximum in the range of valid values, the value is corrected to the minimum/maximum.
IntegerValueCorrection_Down 2 The value is corrected by rounding down to the nearest valid value. If the value is lower/higher than the minimum/maximum in the range of valid values, the value is corrected to the minimum/maximum.
IntegerValueCorrection_Nearest 3 The value is corrected by rounding up or down to the nearest valid value. If the correction in each direction is equal, the value is corrected by rounding up to the nearest valid value. If the value is lower/higher than the minimum/maximum in the range of valid values, the value is corrected to the minimum/maximum.

Lists possible integer value corrections.

enum EParameterInfo#

Enumerator Value Description
ParameterInfo_Name The identifier of a parameter. It can be used to access the node via a node map using GenApi::INodeMap::GetNode() or to access the value of an enumeration parameter using CEnumParameter::GetEntryByNameAsParameter().
ParameterInfo_DisplayName The name of a parameter or an enumeration value that can be used for display in a user interface.
ParameterInfo_ToolTip The short description of a parameter or an enumeration value.
ParameterInfo_Description The long description of a parameter or an enumeration value.

Lists possible parameter info values.

enum EPayloadType#

Enumerator Value Description
PayloadType_Undefined -1 Undefined payload.
PayloadType_Image The buffer contains image data.
PayloadType_RawData The buffer contains raw data.
PayloadType_File The buffer contains file data.
PayloadType_ChunkData The buffer contains chunk data.
PayloadType_GenDC The buffer contains GenDC container.
PayloadType_DeviceSpecific 0x8000 The buffer contains device specific data.

Possible payload type values.

enum EPixelType#

Enumerator Value Description
PixelType_Undefined -1 Undefined pixel type.
PixelType_Mono1packed (0x80000000) (0x01000000)
PixelType_Mono2packed (0x80000000) (0x01000000)
PixelType_Mono4packed (0x80000000) (0x01000000)
PixelType_Mono8 (0x01000000) (( 8 ) << 16)
PixelType_Mono8signed (0x01000000) (( 8 ) << 16)
PixelType_Mono10 (0x01000000) (( 16 ) << 16)
PixelType_Mono10packed (0x01000000) (( 12 ) << 16)
PixelType_Mono10p (0x01000000) (( 10 ) << 16)
PixelType_Mono12 (0x01000000) (( 16 ) << 16)
PixelType_Mono12packed (0x01000000) (( 12 ) << 16)
PixelType_Mono12p (0x01000000) (( 12 ) << 16)
PixelType_Mono16 (0x01000000) (( 16 ) << 16)
PixelType_BayerGR8 (0x01000000) (( 8 ) << 16)
PixelType_BayerRG8 (0x01000000) (( 8 ) << 16)
PixelType_BayerGB8 (0x01000000) (( 8 ) << 16)
PixelType_BayerBG8 (0x01000000) (( 8 ) << 16)
PixelType_BayerGR10 (0x01000000) (( 16 ) << 16)
PixelType_BayerRG10 (0x01000000) (( 16 ) << 16)
PixelType_BayerGB10 (0x01000000) (( 16 ) << 16)
PixelType_BayerBG10 (0x01000000) (( 16 ) << 16)
PixelType_BayerGR12 (0x01000000) (( 16 ) << 16)
PixelType_BayerRG12 (0x01000000) (( 16 ) << 16)
PixelType_BayerGB12 (0x01000000) (( 16 ) << 16)
PixelType_BayerBG12 (0x01000000) (( 16 ) << 16)
PixelType_RGB8packed (0x02000000) (( 24 ) << 16)
PixelType_BGR8packed (0x02000000) (( 24 ) << 16)
PixelType_RGBA8packed (0x02000000) (( 32 ) << 16)
PixelType_BGRA8packed (0x02000000) (( 32 ) << 16)
PixelType_RGB10packed (0x02000000) (( 48 ) << 16)
PixelType_BGR10packed (0x02000000) (( 48 ) << 16)
PixelType_RGB12packed (0x02000000) (( 48 ) << 16)
PixelType_BGR12packed (0x02000000) (( 48 ) << 16)
PixelType_RGB16packed (0x02000000) (( 48 ) << 16)
PixelType_BGR10V1packed (0x02000000) (( 32 ) << 16)
PixelType_BGR10V2packed (0x02000000) (( 32 ) << 16)
PixelType_YUV411packed (0x02000000) (( 12 ) << 16)
PixelType_YUV422packed (0x02000000) (( 16 ) << 16)
PixelType_YUV444packed (0x02000000) (( 24 ) << 16)
PixelType_RGB8planar (0x02000000) (( 24 ) << 16)
PixelType_RGB10planar (0x02000000) (( 48 ) << 16)
PixelType_RGB12planar (0x02000000) (( 48 ) << 16)
PixelType_RGB16planar (0x02000000) (( 48 ) << 16)
PixelType_YUV422_YUYV_Packed (0x02000000) (( 16 ) << 16)
PixelType_YUV444planar (0x80000000) (0x02000000)
PixelType_YUV422planar (0x80000000) (0x02000000)
PixelType_YUV420planar (0x80000000) (0x02000000)
PixelType_YCbCr420_8_YY_CbCr_Semiplanar (0x02000000) (( 12 ) << 16)
PixelType_YCbCr422_8_YY_CbCr_Semiplanar (0x02000000) (( 16 ) << 16)
PixelType_BayerGR12Packed (0x01000000) (( 12 ) << 16)
PixelType_BayerRG12Packed (0x01000000) (( 12 ) << 16)
PixelType_BayerGB12Packed (0x01000000) (( 12 ) << 16)
PixelType_BayerBG12Packed (0x01000000) (( 12 ) << 16)
PixelType_BayerGR10p (0x01000000) (( 10 ) << 16)
PixelType_BayerRG10p (0x01000000) (( 10 ) << 16)
PixelType_BayerGB10p (0x01000000) (( 10 ) << 16)
PixelType_BayerBG10p (0x01000000) (( 10 ) << 16)
PixelType_BayerGR12p (0x01000000) (( 12 ) << 16)
PixelType_BayerRG12p (0x01000000) (( 12 ) << 16)
PixelType_BayerGB12p (0x01000000) (( 12 ) << 16)
PixelType_BayerBG12p (0x01000000) (( 12 ) << 16)
PixelType_BayerGR16 (0x01000000) (( 16 ) << 16)
PixelType_BayerRG16 (0x01000000) (( 16 ) << 16)
PixelType_BayerGB16 (0x01000000) (( 16 ) << 16)
PixelType_BayerBG16 (0x01000000) (( 16 ) << 16)
PixelType_RGB12V1packed (0x02000000) (( 36 ) << 16)
PixelType_Double (0x80000000) (0x01000000)
PixelType_Confidence8 (0x01000000) (( 8 ) << 16)
PixelType_Confidence16 (0x01000000) (( 16 ) << 16)
PixelType_Coord3D_C8 (0x01000000) (( 8 ) << 16)
PixelType_Coord3D_C16 (0x01000000) (( 16 ) << 16)
PixelType_Coord3D_ABC32f (0x02000000) (( 96 ) << 16)
PixelType_Data8 (0x01000000) (( 8 ) << 16)
PixelType_Data8s (0x01000000) (( 8 ) << 16)
PixelType_Data16 (0x01000000) (( 16 ) << 16)
PixelType_Data16s (0x01000000) (( 16 ) << 16)
PixelType_Data32 (0x01000000) (( 32 ) << 16)
PixelType_Data32s (0x01000000) (( 32 ) << 16)
PixelType_Data64 (0x01000000) (( 64 ) << 16)
PixelType_Data64s (0x01000000) (( 64 ) << 16)
PixelType_Data32f (0x01000000) (( 32 ) << 16)
PixelType_Data64f (0x01000000) (( 64 ) << 16)

Lists the available pixel types.

These pixel types are returned by a grab result and are used by the Image Handling Support classes.

The camera parameter interface classes define additional pixel format enumerations. These pixel format enumerations are different from the enumeration EPixelType pylon uses, e.g. the pylon pixel type PixelType_Mono1packed corresponds to PixelFormat_Mono1packed or PixelFormat_Mono1p. See the documentation of the parameter interface classes for more information.

The camera User's Manual provides more information on pixel formats and the memory layout of the image data.

enum EPixelColorFilter#

Enumerator Value Description
PCF_BayerRG red green
PCF_BayerGB green blue
PCF_BayerGR green red
PCF_BayerBG blue green
PCF_Undefined undefined color filter or not applicable

Lists the Bayer color filter types.

enum SFNCVersion#

Enumerator Value Description
SFNCVersion_Invalid 0 Invalid or unknown SFNC version.
SFNCVersion_pre2_0 1 SFNC version prior to 2.0.
SFNCVersion_2_0 200 SFNC version 2.0.

Specifies the SFNC version.

enum EComponentType#

Enumerator Value Description
ComponentType_Undefined 0x00 The component type is not known or hasn't been set.
ComponentType_Intensity 0x01 Component contains intensity values.
ComponentType_Range 0x04 Component contains range values.
ComponentType_Confidence 0x06 Component contains confidence value.

Lists the possible component types.

Use this value to determine what kind of data is stored in a component. You can call Pylon::CPylonDataComponent::GetComponentType().

enum EGrabStatus#

Enumerator Value Description
GrabStatus_Undefined -1
_UndefinedGrabStatus GrabStatus_Undefined
GrabStatus_Idle Currently not used.
Idle GrabStatus_Idle Currently not used. For backward compatibility only.
GrabStatus_Queued Grab request is in the input queue.
Queued GrabStatus_Queued Grab request is in the input queue. For backward compatibility only. Consider using GrabStatus_Queued instead.
GrabStatus_Grabbed Grab request terminated successfully. Buffer is filled with data.
Grabbed GrabStatus_Grabbed Grab request terminated successfully. Buffer is filled with data. For backward compatibility only. Consider using GrabStatus_Grabbed instead.
GrabStatus_Canceled Grab request was canceled. Buffer doesn't contain valid data.
Canceled GrabStatus_Canceled Grab request was canceled. Buffer doesn't contain valid data. For backward compatibility only. Consider using GrabStatus_Canceled instead.
GrabStatus_Failed Grab request failed. Buffer doesn't contain valid data.
Failed GrabStatus_Failed Grab request failed. Buffer doesn't contain valid data. For backward compatibility only. Consider using GrabStatus_Queued instead.

Low Level API: Possible grab status values.

enum EStaticDefectPixelType#

Enumerator Value Description
StaticDefectPixelType_Reserved 0 Not used.

Type of defect pixel.

Note This is currently not used.

enum EWaitExResult#

Enumerator Value Description
waitex_timeout 0 The time-out interval elapsed.
waitex_signaled 1 The wait operation completed successfully.
waitex_abandoned 2 Windows only (see MSDN for more information)
waitex_alerted -1 The wait was interrupted (Windows: queued APC or I/O completion routine; UNIX: signal)

The return value of the Pylon::WaitObject::WaitEx() and Pylon::WaitObjectEx::WaitEx() methods.

enum EGigEActionCommandStatus#

Enumerator Value Description
GigEActionCommandStatus_Ok 0 The device acknowledged the command.
GigEActionCommandStatus_NoRefTime 0xE1018013 The device is not synchronized to a master clock to be used as time reference. Typically used when scheduled action commands cannot be scheduled for a future time since the reference time coming from IEEE 1588 is not locked. The action command has been ignored by the device.
GigEActionCommandStatus_Overflow 0xE1018015 Returned when the scheduled action commands queue is full and the device cannot accept the additional request. The action command has been discarded by the device.
GigEActionCommandStatus_ActionLate 0xE1018016 The requested scheduled action command was requested at a point in time that is in the past. If the time tag of the scheduled action command is in the past (relative to the device timestamp), and if it is a valid action command, then the device will execute this action command immediately and return GigEActionCommandStatus_ActionLate. This status code is used as an indicator to the application requesting the action command that a mis-synchronization might have occurred.

Lists possible status codes returned by IGigETransportLayer::IssueActionCommand or IGigETransportLayer::IssueScheduledActionCommand.

typedef DeviceInfoList_t#

typedef DeviceInfoList Pylon::DeviceInfoList_t;

STL std::vector like container for Pylon::CDeviceInfo objects.

STL std::vector like container for Pylon::CDeviceInfo objects.

typedef TlInfoList_t#

typedef TlInfoList Pylon::TlInfoList_t;

STL std::vector like container for Pylon::CTlInfo objects.

STL std::vector like container for Pylon::CTlInfo objects.

typedef InterfaceInfoList_t#

typedef InterfaceInfoList Pylon::InterfaceInfoList_t;

STL std::vector like container for Pylon::CInterfaceInfo objects.

STL std::vector like container for Pylon::CInterfaceInfo objects.

typedef StaticDefectPixelList_t#

typedef StaticDefectPixelList Pylon::StaticDefectPixelList_t;

STL std::vector like container for Pylon::StaticDefectPixel objects.

STL std::vector like container for Pylon::StaticDefectPixel objects.

typedef DeviceCallback#

typedef Pylon::Callback1<IPylonDevice*> Pylon::DeviceCallback;

callback type with a IPylonDevice as parameter

typedef DeviceCallbackHandle#

typedef void* Pylon::DeviceCallbackHandle;

opaque device callback object

typedef CGrabResultImage#

typedef CGrabResultImageT<GrabResult> Pylon::CGrabResultImage;

Low Level API: Adapts a copy of a grab result to pylon image.

Attention: The referenced grab result must not be destroyed and the result's buffer must not be queued for grabbing again during the lifetime of this object.

typedef String_t#

typedef GenICam::gcstring Pylon::String_t;

Pylon's string definition.

typedef StringList_t#

typedef GenICam::gcstring_vector Pylon::StringList_t;

Pylon's string list definition.

typedef StreamBufferHandle#

typedef void* Pylon::StreamBufferHandle;

This opaque type represents a registered buffer.

typedef THREADHANDLE#

typedef HANDLE Pylon::THREADHANDLE;

Typedef for a Win32 thread handle.

Functions Documentation#

function operator+#

template <class T >
TList< T >::iterator operator+(
    intptr_t iInc,
    const typename TList< T >::iterator & iter
)

Gets the sum of the given iInc and the given iter.

Parameters:

  • iInc Increment from which the sum is calculated.
  • iter Iterator from which the sum is calculated.

Return: Sum of iterator.

function RegisterRemovalCallback#

template <class Function >
DeviceCallbackHandle RegisterRemovalCallback(
    IPylonDevice * pDevice,
    Function f
)

Low Level API: Register a C-function as a removal callback.

Parameters:

  • pDevice Pointer to the device that generates callbacks
  • f The function to be called

See: Pylon::IPylonDevice::RegisterRemovalCallback()

function RegisterRemovalCallback#

template <class Client ,
class Member >
DeviceCallbackHandle RegisterRemovalCallback(
    IPylonDevice * pDevice,
    Client & c,
    Member m
)

Low Level API: Register a C++-member function as removal callback.

Parameters:

  • pDevice Pointer to the device that generates callbacks
  • c The client object
  • m The member function to be called

See: Pylon::IPylonDevice::RegisterRemovalCallback()

function operator+#

AccessModeSet operator+(
    EDeviceAccessMode lhs,
    EDeviceAccessMode rhs
)

Creates a set containing lhs and rhs operands.

Parameters:

  • lhs left operand
  • rhs right operand

Return: returns an AccessModeSet containing both operands

function operator|#

AccessModeSet operator|(
    EDeviceAccessMode lhs,
    EDeviceAccessMode rhs
)

Creates a set containing lhs and rhs operands.

Parameters:

  • lhs left operand
  • rhs right operand

function operator+#

AccessModeSet operator+(
    const AccessModeSet & lhs,
    EDeviceAccessMode rhs
)

Adds the operand rhs to the set lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional bit

function operator|#

AccessModeSet operator|(
    const AccessModeSet & lhs,
    EDeviceAccessMode rhs
)

Adds the operand rhs to the set lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional bit

function operator==#

bool operator==(
    const AccessModeSet & lhs,
    const AccessModeSet & rhs
)

Check if the operand rhs is equal to lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional set of bits.

function operator!=#

bool operator!=(
    const AccessModeSet & lhs,
    const AccessModeSet & rhs
)

Check if the operand rhs is not equal to lhs.

Parameters:

  • lhs a set of bits.
  • rhs the additional set of bits.

function operator<<#

inline std::ostream & operator<<(
    std::ostream & ostr,
    const Pylon::AccessModeSet & ams
)

STL operator out

function IsMonoPacked#

inline bool IsMonoPacked(
    EPixelType pixelType
)

Returns true if the pixel type is Mono and the pixel values are not byte aligned.

function IsBayerPacked#

inline bool IsBayerPacked(
    EPixelType pixelType
)

Returns true if the pixel type is Bayer and the pixel values are not byte aligned.

function IsRGBPacked#

inline bool IsRGBPacked(
    EPixelType pixelType
)

Returns true if the pixel type is RGB and the pixel values are not byte aligned.

function IsBGRPacked#

inline bool IsBGRPacked(
    EPixelType pixelType
)

Returns true if the pixel type is BGR and the pixel values are not byte aligned.

function IsPacked#

inline bool IsPacked(
    EPixelType pixelType
)

Returns true if the pixels of the given pixel type are not byte aligned.

function IsPackedInLsbFormat#

inline bool IsPackedInLsbFormat(
    EPixelType pixelType
)

Returns true if the pixel type is packed in lsb packed format. For lsb packed format, the data is filled lsb first in the lowest address byte (byte 0) starting with the first pixel and continued in the lsb of byte 1 (and so on). See the camera User's Manual or the Pixel Format Naming Convention (PFNC) of the GenICam standard group for more information.

function PlaneCount#

inline uint32_t PlaneCount(
    EPixelType pixelType
)

Returns number of planes in the image composed of the pixel type.

function GetPlanePixelType#

inline EPixelType GetPlanePixelType(
    EPixelType pixelType
)

Returns the pixel type of a plane.

function IsPlanar#

inline bool IsPlanar(
    EPixelType pixelType
)

Returns true if images of the pixel type are divided into multiple planes.

function IsYUVSemiplanar#

inline bool IsYUVSemiplanar(
    EPixelType pixelType
)

Returns true if pixel type is YUV semiplanar.

function GetPixelColorFilter#

inline EPixelColorFilter GetPixelColorFilter(
    EPixelType pixelType
)

Returns the Bayer color filter type.

function BitPerPixel#

uint32_t BitPerPixel(
    EPixelType pixelType
)

Returns the bits needed to store a pixel.

Parameters:

  • pixelType The pixel type.

Precondition: The pixel type must be defined.

Error Safety:

Throws an exception when the pixel type is undefined.

BitPerPixel(PixelType_Mono12) returns 16 and BitPerPixel(PixelType_Mono12packed) returns 12 for example.

function SamplesPerPixel#

uint32_t SamplesPerPixel(
    EPixelType pixelType
)

Returns the number of measured values per pixel.

Parameters:

  • pixelType The pixel type.

Precondition: The pixel type must be defined. The pixel type is not PixelType_YUV411packed.

Error Safety:

Throws an exception when the pixel type is undefined.

SamplesPerPixel(PixelType_Mono8) returns 1 and SamplesPerPixel(PixelType_RGB8packed) returns 3 for example.

function IsYUV#

inline bool IsYUV(
    EPixelType pixelType
)

Returns true when the pixel type represents a YUV format.

function IsRGBA#

inline bool IsRGBA(
    EPixelType pixelType
)

Returns true when the pixel type represents an RGBA format.

function IsRGB#

inline bool IsRGB(
    EPixelType pixelType
)

Returns true when the pixel type represents an RGB or RGBA format.

function IsBGRA#

inline bool IsBGRA(
    EPixelType pixelType
)

Returns true when the pixel type represents a BGRA format.

function IsBGR#

inline bool IsBGR(
    EPixelType pixelType
)

Returns true when the pixel type represents a BGR or BGRA format.

function IsBayer#

inline bool IsBayer(
    EPixelType pixelType
)

Returns true when the pixel type represents a Bayer format.

function IsMono#

inline bool IsMono(
    EPixelType pixelType
)

Returns true when a given pixel is monochrome, e.g. PixelType_Mono8 or PixelType_BayerGR8.

function IsMonoImage#

inline bool IsMonoImage(
    EPixelType pixelType
)

Returns true when an image using the given pixel type is monochrome, e.g. PixelType_Mono8.

function IsColorImage#

inline bool IsColorImage(
    EPixelType pixelType
)

Returns true when an image using the given pixel type is a color image (RGB/BGR/RGBA/BGRA/ etc or Bayer.

function HasAlpha#

inline bool HasAlpha(
    EPixelType pixelType
)

Returns true when an the image using the given pixel type has an alpha channel.

function IsFloatingPoint#

inline bool IsFloatingPoint(
    EPixelType pixelType
)

Returns true if a given pixel type represents a floating point number.

function GetPixelIncrementX#

inline uint32_t GetPixelIncrementX(
    EPixelType pixelType
)

Returns the minimum step size expressed in pixels for extracting an AOI.

function GetPixelIncrementY#

inline uint32_t GetPixelIncrementY(
    EPixelType pixelType
)

Returns the minimum step size expressed in pixels for extracting an AOI.

function BitDepth#

uint32_t BitDepth(
    EPixelType pixelType
)

Returns the bit depth of a value of the pixel in bits.

Parameters:

  • pixelType The pixel type.

Precondition: The pixel type must be valid.

Error Safety:

Throws an exception when the pixel type is undefined.

This may be less than the size needed to store the pixel. BitDepth(PixelType_Mono12) returns 12, BitDepth(PixelType_Mono12packed) returns 12, and BitDepth(PixelType_RGB8packed) returns 8 for example.

function ComputeStride#

bool ComputeStride(
    size_t & strideBytes,
    EPixelType pixelType,
    uint32_t width,
    size_t paddingX =0
)

Computes the stride in byte.

Parameters:

  • strideBytes The stride in byte if it can be computed.
  • pixelType The pixel type.
  • width The number of pixels in a row.
  • paddingX The number of additional bytes at the end of a row (byte aligned).

Return: Returns true if the stride can be computed.

Precondition: The width value must be >= 0 and <= _I32_MAX.

Error Safety:

Throws an exception when the preconditions are not met.

The stride indicates the number of bytes between the beginning of one row in an image and the beginning of the next row. For planar pixel types the returned value represents the stride of a plane.

The stride in bytes cannot be computed for packed image format when the stride is not byte aligned and paddingX == 0. If paddingX is larger than zero and the stride without padding is not byte aligned then the rest of the partially filled byte is considered as padding, e.g. pixelType = PixelType_Mono12packed, width = 5, paddingX = 10 results in a stride of 18 Bytes (stride without padding is 5 * BitPerPixel( PixelType_Mono12packed) = 5 * 12 = 60 Bits = 7.5 Bytes).

The stride can also be not computed for planar YUV422 and YUV420 image formats.

See also Pylon::IsPacked().

function ComputePaddingX#

size_t ComputePaddingX(
    size_t strideBytes,
    EPixelType pixelType,
    uint32_t width
)

Computes the padding value from row stride in byte.

Parameters:

  • strideBytes The stride in byte.
  • pixelType The pixel type.
  • width The number of pixels in a row.

Return: Returns the paddingX value for the given stride value (byte aligned).

Precondition:

  • The value of strideBytes must be large enough to contain a line described by pixelType and width.
  • The pixel type must be valid.
  • The width value must be >= 0 and <= _I32_MAX.

Error Safety:

Throws an exception when the preconditions are not met.

function ComputeBufferSize#

size_t ComputeBufferSize(
    EPixelType pixelType,
    uint32_t width,
    uint32_t height,
    size_t paddingX =0
)

Computes the buffer size in byte.

Parameters:

  • pixelType The pixel type.
  • width The number of pixels in a row.
  • height The number of rows in an image.
  • paddingX The number of extra data bytes at the end of each row (byte aligned).

Return: The buffer size in byte.

Precondition:

  • The pixel type must be valid.
  • The width value must be >= 0 and <= _I32_MAX.
  • The height value must be >= 0 and <= _I32_MAX.

Error Safety:

Throws an exception when the preconditions are not met.

function GetPixelTypesForUnpacking#

inline bool GetPixelTypesForUnpacking(
    EPixelType pixelTypeSource,
    EPixelType & pixelTypeToImpose,
    EPixelType & pixelTypeTarget
)

Returns the pixel types needed for conversion from packed to unpacked image formats using the CImageFormatConverter class.

Parameters:

  • pixelTypeSource The source pixel type.
  • pixelTypeToImpose The pixel type that is used for conversion instead of the source pixel type. Returns pixelTypeSource if changing the source pixel type is not needed. Returns PixelType_Undefined if no unpacking is needed.
  • pixelTypeTarget The pixel type to which the image pixel data are converted. Returns PixelType_Undefined if no unpacking is needed.

Return: Returns true if the source pixelTypeSource is in packed image format and a conversion is possible.

The following pixel types are supported:

  • source: PixelType_Mono1packed target: PixelType_Mono8
  • source: PixelType_Mono2packed target: PixelType_Mono8
  • source: PixelType_Mono4packed target: PixelType_Mono8
  • source: PixelType_Mono10packed target: PixelType_Mono16
  • source: PixelType_Mono10p target: PixelType_Mono16
  • source: PixelType_Mono12packed target: PixelType_Mono16
  • source: PixelType_Mono12p target: PixelType_Mono16
  • source: PixelType_BayerGB12Packed imposed: PixelType_Mono12packed target: PixelType_Mono16
  • source: PixelType_BayerGR12Packed imposed: PixelType_Mono12packed target: PixelType_Mono16
  • source: PixelType_BayerRG12Packed imposed: PixelType_Mono12packed target: PixelType_Mono16
  • source: PixelType_BayerBG12Packed imposed: PixelType_Mono12packed target: PixelType_Mono16
  • source: PixelType_BayerGB10p imposed: PixelType_Mono10p target: PixelType_Mono16
  • source: PixelType_BayerGR10p imposed: PixelType_Mono10p target: PixelType_Mono16
  • source: PixelType_BayerRG10p imposed: PixelType_Mono10p target: PixelType_Mono16
  • source: PixelType_BayerBG10p imposed: PixelType_Mono10p target: PixelType_Mono16
  • source: PixelType_BayerGB12p imposed: PixelType_Mono12p target: PixelType_Mono16
  • source: PixelType_BayerGR12p imposed: PixelType_Mono12p target: PixelType_Mono16
  • source: PixelType_BayerRG12p imposed: PixelType_Mono12p target: PixelType_Mono16
  • source: PixelType_BayerBG12p imposed: PixelType_Mono12p target: PixelType_Mono16

function PylonInitialize#

void PylonInitialize(
    void 
)

Initializes the pylon runtime system.

Note Due to the limitations of functions allowed during DLLMain, it is not allowed to call PylonIntialize from DLLMain. For further information see the official documentation of DLLMain in the Windows documentation.

You must call PylonInitialize before calling any other pylon functions. When finished you must call PylonTerminate to free up all resources used by pylon.

You can use the helperclass PylonAutoInitTerm to let the compiler call PylonInitialze and PylonTerminate.

Just create a local object on the stack in your main function and the constructor and destructor will call the functions. See PylonAutoInitTerm for a sample.

PylonInitialize/PylonTerminate is reference counted. For every call of PylonInitialize, a call to PylonTerminate is required. The last call to PylonTerminate will free up all resources.

For MFC applications we recommend to call PylonInitialize and PylonTerminate in the application's InitInstance() and ExitInstance() methods. This prevents the MFC runtime from reporting a huge number of pretended memory leaks. This does not apply to DLLs using MFC (see below)!

function PylonTerminate#

void PylonTerminate(
    bool ShutDownLogging =true
)

Frees up resources allocated by the pylon runtime system.

Note Due to the limitations of functions allowed during DLLMain, it is not allowed to call PylonTerminate from DLLMain. For further information see the official documentation of DLLMain in the Windows documentation.

Call this function before terminating the application. Don't use any pylon methods or pylon objects after having called PylonTerminate().

PylonInitialize/PylonTerminate is reference counted. For every call of PylonInitialize, a call to PylonTerminate is required. The last call to PylonTerminate will free up all resources.

function GetPylonVersion#

void GetPylonVersion(
    unsigned int * major,
    unsigned int * minor,
    unsigned int * subminor,
    unsigned int * build
)

Returns the version number of pylon.

It is possible to pass a NULL pointer for a version number category if the value is not of interest.

function GetPylonVersionString#

const char * GetPylonVersionString()

Returns the version number of pylon as string.

function GetVersionString#

Pylon::String_t GetVersionString(
    unsigned int major,
    unsigned int minor,
    unsigned int subminor,
    unsigned int build
)

Returns the given version numbers as Pylon::String_t.

function SetProperty#

void SetProperty(
    int propertyId,
    const void * pData,
    size_t size
)

Set the value of a property.

Parameters:

  • propertyId Identifies the property.
  • pData A pointer to the buffer containing the data.
  • size Size of the buffer in bytes.

Call this function to set the value of a property.

You must have called PylonInitialize() before you can call this function.

function GetProperty#

void GetProperty(
    int propertyId,
    void * pData,
    size_t * pSize
)

Get the value of a property.

Parameters:

  • propertyId Identifies the property.
  • pData A pointer to the buffer containing the data.
  • pSize Size of the buffer in bytes when calling. Holds the resulting size on return.

Call this function to get the value of a property.

You must have called PylonInitialize() before you can call this function.

function DisplayImage#

void DisplayImage(
    size_t winIndex,
    const Pylon::IImage & image
)

Convenience function to display an image on screen with one function call.

Parameters:

  • winIndex The window used for displaying the image. Valid window indexes range from 0 to 31.
  • image The image to display in the window, specified in winIndex. You can also pass a CGrabResultPtr.

Postcondition:

  • The window specified by winIndex will be created and shown on the screen.
  • If the passed image is valid, it is shown in the window specified by winIndex.
  • If the passed image is invalid, the window specified by winIndex will be cleared.

Remark: To use this function, you must explicitly include pylon/PylonGUIIncludes.h in your code. Unlike other pylon headers, the GUI headers will not be included automatically when you include pylon/PylonIncludes.h.

Error Safety:

Can throw an exception if the passed winIndex is invalid or the window could not be created.

Thread Safety:

This function is thread-safe.

This convenience function displays the image or grab result passed in the image parameter in a window on the screen. Using this function is the easiest way to display an image on the screen.

You can pass any IImage based object or a GrabResultPtr. If the window hasn't been created before, it will be created with default positions and the image will be shown. When the function returns, you can free/delete the image. If you need more control over the window creation (e.g. to specify the position or size of the window), you can use the CPylonImageWindow class.

When you pass an empty/invalid (e.g. image.IsValid() returns false) image, the window will be cleared.

// This smart pointer will receive the grab result data.
CGrabResultPtr ptrGrabResult;
// Open the first device.
CInstantCamera Camera( CTlFactory::GetInstance().CreateFirstDevice());
// Grab one image.
Camera.GrabOne( 1000, ptrGrabResult);
// Display the image on the screen. If the grab result is invalid, the image window will be empty.
Pylon::DisplayImage(1, ptrGrabResult);

function Sfnc_VersionUndefined#

static const VersionInfo Sfnc_VersionUndefined(
    0 ,
    0 ,
    0 
)

Constant for undefined SFNC version.

function Sfnc_1_2_1#

static const VersionInfo Sfnc_1_2_1(
    1 ,
    2 ,
    1 
)

Constant for SFNC version 1.2.1.

function Sfnc_1_3_0#

static const VersionInfo Sfnc_1_3_0(
    1 ,
    3 ,
    0 
)

Constant for SFNC version 1.3.0.

function Sfnc_1_4_0#

static const VersionInfo Sfnc_1_4_0(
    1 ,
    4 ,
    0 
)

Constant for SFNC version 1.4.0.

function Sfnc_1_5_0#

static const VersionInfo Sfnc_1_5_0(
    1 ,
    5 ,
    0 
)

Constant for SFNC version 1.5.0.

function Sfnc_1_5_1#

static const VersionInfo Sfnc_1_5_1(
    1 ,
    5 ,
    1 
)

Constant for SFNC version 1.5.1.

function Sfnc_2_0_0#

static const VersionInfo Sfnc_2_0_0(
    2 ,
    0 ,
    0 
)

Constant for SFNC version 2.0.0. This version or a later version is used by USB camera devices.

function Sfnc_2_1_0#

static const VersionInfo Sfnc_2_1_0(
    2 ,
    1 ,
    0 
)

Constant for SFNC version 2.1.0.

function Sfnc_2_2_0#

static const VersionInfo Sfnc_2_2_0(
    2 ,
    2 ,
    0 
)

Constant for SFNC version 2.2.0.

function Sfnc_2_3_0#

static const VersionInfo Sfnc_2_3_0(
    2 ,
    3 ,
    0 
)

Constant for SFNC version 2.3.0.

function Sfnc_2_4_0#

static const VersionInfo Sfnc_2_4_0(
    2 ,
    4 ,
    0 
)

Constant for SFNC version 2.4.0.

function Sfnc_2_5_0#

static const VersionInfo Sfnc_2_5_0(
    2 ,
    5 ,
    0 
)

Constant for SFNC version 2.5.0.

function GetSfncVersion#

inline VersionInfo GetSfncVersion(
    GenApi::INodeMap * pNodeMap
)

Helper function for getting the SFNC version from the camera device node map.

function GetRTThreadPriorityCapabilities#

void GetRTThreadPriorityCapabilities(
    int & prioMin,
    int & prioMax
)

Queries the range of allowed thread priorities.

function GetRTThreadPriority#

int GetRTThreadPriority(
    THREADHANDLE thread
)

Indicates the current thread priority of a thread.

function SetRTThreadPriority#

void SetRTThreadPriority(
    THREADHANDLE thread,
    int priority
)

Allows to set the realtime thread priority of a thread This method allows to raise a thread's priority into the range of "realtime" thread priorities. The methods can control each thread independently. This means that it it not necessary to raise the process to the "realtime" priority class, which would affect all thread of the process.

If the process is not in the realtime priority class and if the process has the SE_INC_BASE_PRIORITY_NAME privilege, values from 15 to 31 can be set. If the privilege is not granted, only 15 can be set.

If the process is in the realtime priority class, values from 16 to 31 can be set. No special permissions are required.

To grant the privilege, use the Windows policy editor to enable the SE_INC_BASE_PRIORITY_NAME right (User Rights Assignment / Increase scheduling policy). Typically, all members of the Administrators group have the privilege enabled.

Caution: Do not change the process priority class after setting the realtime thread priority.

Typically a thread that receives image data should be set to realtime thread priorities to reduce jitter and delays. Be aware that such a realtime thread shouldn't perform time consuming tasks (like image processing). A realtime thread that is continuously working can cause the whole operating system to be blocked!

function GetCurrentThreadHandle#

THREADHANDLE GetCurrentThreadHandle()

Get current running thread handle.

This wrapper method return the handle of the current running thread.

function GetCurrentThreadIdentifier#

int GetCurrentThreadIdentifier()

Get current running thread id.

This wrapper method return the id of the current running thread.

Attributes Documentation#

variable BaslerGigEDeviceClass#

const char *const BaslerGigEDeviceClass = "BaslerGigE";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerCamEmuDeviceClass#

const char *const BaslerCamEmuDeviceClass = "BaslerCamEmu";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerIpCamDeviceClass#

const char *const BaslerIpCamDeviceClass = "BaslerIPCam";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerCameraLinkDeviceClass#

const char *const BaslerCameraLinkDeviceClass = "BaslerCameraLink";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerGenTlDeviceClassPrefix#

const char *const BaslerGenTlDeviceClassPrefix = "BaslerGTC";

The actual device class string is made up of this prefix + '/' + [TL Vendor] + '/' + [TL Model].

variable BaslerGenTlCxpDeviceClass#

const char *const BaslerGenTlCxpDeviceClass = "BaslerGTC/Basler/CXP";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerGenTlBlazeDeviceClass#

const char *const BaslerGenTlBlazeDeviceClass = "BaslerGTC/Basler/GenTL_Producer_for_Basler_blaze_101_cameras";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.

variable BaslerUsbDeviceClass#

const char *const BaslerUsbDeviceClass = "BaslerUsb";

This device class can be used to create the corresponding Transport Layer object or when creating Devices with the Transport Layer Factory.