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.
Pylon::CNodeMapProxyT Implementation Detail: This class wraps programming interfaces that are generated from GenICam parameter description files to provide native parameter access.
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.
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.
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
BaslerGenTlStaDeviceClass 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.
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.
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.
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).
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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)!
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.
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.CGrabResultPtrptrGrabResult;// Open the first device.CInstantCameraCamera(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);
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!