Page 2
Issue 6 March 14, 2019 Issue 6 of this document incorporates the following changes: • Added support for 532 Laser; • Rebranded to Teledyne Princeton Instruments Issue 5 August 30, 2018 Issue 5 of this document incorporates the following changes: •...
Page 3
3660 Quakerbridge Rd Trenton, NJ 08619 TEL: 800-874-9789 / 609-587-9797 All rights reserved. No part of this publication may be reproduced by any means without the written permission of Teledyne Princeton Instruments. Printed in the United States of America. PICam is a trademark of Teledyne Princeton Instruments.
Page 4
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Chapter 1: About this Manual This manual describes terms and concepts used in PICam and provides descriptions of functions, parameters, and values used to create a user-designed interface to Teledyne Princeton Instruments cameras and accessories. This manual includes information about: •...
PICam™ 5.x Programmer’s Manual Issue 11 • Appendix A, Available Parameters Provides parameter information and camera support for customer-accessible parameters. • Appendix B, EM Gain Calibration Code Sample Provides information about building and using the EMGainCalibration.exe sample file included with PICam. •...
Page 13
Chapter 1 About this Manual Table 1-1: Index to Code Updates for PICam 5.0 Support, by Camera (Sheet 2 of 2) Camera/Camera Family Section and Page # PIXIS: 512F, PIXIS-XO: 512F, PIXIS-XF: 512F Cameras Section E.9 on page 337 ProEM Cameras (All Models) Section E.10 on page 338 ProEM-HS: 1KB-10 and eXcelon Variant Cameras Section E.11 on page 339...
Page 14
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Chapter 2: Introduction to PICam™ PICam is an ANSI C library of hardware control and data acquisition functions. System Overview To use PICam, a system must include supported hardware and a host computer with the PICam runtime installed. Hardware Support Version 5.x of the PICam library supports the following Princeton Instruments hardware: •...
PICam™ 5.x Programmer’s Manual Issue 11 Supported Operating Systems PICam currently supports the following 64-bit operating systems: ® • Windows • Windows 8/8.1; • Windows 10; ® ® • RedHat Enterprise Linux , version 7.x (RHEL7.x). NOTE: The following hardware is currently not supported by Linux PICam: •...
Page 17
Chapter 2 Introduction to PICam™ Table 2-1: List of Sample Code Files Provided (Sheet 2 of 2) Sample Name Description This sample illustrates features of picam_advanced.h. Advanced This sample illustrates how to change settings during camera setup as Configure well as online while polling for data. EMGainCalibration This sample illustrates how to set up EM Gain Calibration.
PICam™ 5.x Programmer’s Manual Issue 11 Naming Conventions The following naming conventions are used in PICam: • All primitive types have a typedef with a prefix (e.g., piint pi64s • All functions defined by PICam are prefixed with and return an error Picam_ code of (e.g.,...
PICam™ 5.x Programmer’s Manual Issue 11 2.6.1 Handles Most PICam APIs require handles to identify the specific hardware with which they are currently interacting. When hardware is brought online, it is assigned a specific handle that is then used to identify it throughout the active session. The following handle(s) may be passed as an API parameter: •...
Chapter 2 Introduction to PICam™ Defined Data Types are given in the header file typedefs pil_platform.h Table 2-2: Data Type Definitions Type Definition piint Integer native to platform piflt Floating point native to platform pibln Boolean native to platform pichar Character native to platform pibyte Byte native to platform...
PICam™ 5.x Programmer’s Manual Issue 11 Include Files Any program using PICam must include the following header files: • pil_platform.h Princeton Instruments’ library platform support. This is included indirectly via picam.h • picam.h Princeton Instruments’ camera control Application Programming Interface (API.) 2.8.1 Optional and Advanced Files...
Chapter 3: General Library APIs The first section of includes functions to: picam.h • Determine if the PICam library has been initialized; • Initialize the library; • Uninitialize the library; • Retrieve the version. This section also includes error codes that may be returned from any PICam function. The first step in using the PICam library is library initialization.
PICam™ 5.x Programmer’s Manual Issue 11 Programmers’ Reference for General Use Library APIs This section provides a detailed programmers’ reference guide for the following APIs, including their syntax and behavior: • Library Version — Picam_GetVersion() • Library Initialization — Picam_IsLibraryInitialized() —...
Page 25
Chapter 3 General Library APIs continued from previous page Input Parameters Input parameters for are: Picam_GetVersion() major: Used to request Major version. Valid values are: • &major Indicates that the Major version is to be returned. • 0/null Indicates that the Major version is not to be returned. minor: Used to request Minor version.
Page 26
PICam™ 5.x Programmer’s Manual Issue 11 3.2.2 Picam_IsLibraryInitialized() Description determines if the library has been initialized. Picam_IsLibraryInitialized() NOTE: may be called prior to Picam_IsLibraryInitialized() initializing the library using Picam_InitializeLibrary(). Syntax The syntax of Picam_IsLibraryInitialized() PICAM_API Picam_IsLibraryInitialized (pibln* inited); Input Parameters There are no input parameters associated with Picam_IsLibraryInitialized().
Page 27
Chapter 3 General Library APIs 3.2.3 Picam_InitializeLibrary() Description initializes the library and prepares it for use. Picam_InitializeLibrary() Syntax The syntax of Picam_InitializeLibrary() PICAM_API Picam_InitializeLibrary (void); Usage Unless specifically noted otherwise, MUST be called Picam_InitializeLibrary() prior to calling any additional Library API routine. NOTE: MUST be called prior to Picam_UninitializeLibrary()
Page 28
PICam™ 5.x Programmer’s Manual Issue 11 3.2.4 Picam_UninitializeLibrary() Description frees resources that have been used by the API Picam_UninitializeLibrary() Library, including open cameras and memory. NOTE: MUST be called prior to Picam_UninitializeLibrary() program termination. Syntax The syntax of Picam_UninitializeLibrary() PICAM_API Picam_UninitializeLibrary (void); Input Parameters There are no input parameters associated with Picam_UninitializeLibrary().
Page 29
Chapter 3 General Library APIs 3.2.5 Picam_DestroyString() Description releases PICam- alloted memory that has been associated Picam_DestroyString() with a specified character string, NOTE: If the character string, , is null, Picam_DestroyString() has no effect. Syntax The syntax of Picam_DestroyString() PICAM_API Picam_DestroyString( const pichar* s);...
Page 30
PICam™ 5.x Programmer’s Manual Issue 11 3.2.6 Picam_GetEnumerationString() Description determines what enumeration strings have been Picam_GetEnumerationString() defined for the specified enumerated type. Returns an allocated string representation of the enumeration type with value in s. NOTE: must be called to free the Picam_DestroyString() allocated memory associated with string Syntax...
Page 31
Chapter 4: Identification APIs The APIs in this section of deal with determining what hardware is available or picam.h being used in another instance, retrieving information from firmware, opening and closing a hardware, and connecting/disconnecting a demo camera. Once the library has been initialized, all hardware that is powered on and connected to the host computer will have a corresponding hardware ID.
Page 32
PICam™ 5.x Programmer’s Manual Issue 11 Data Type Definitions Refer to Table 4-1 for information about data type definitions for hardware APIs. Table 4-1: Data Type Definitions for Hardware APIs Name Type Description The hardware model. PicamModel enum Series models represent a model family and may be used to represent older hardware whose exact model is not known.
Chapter 4 Identification APIs Structure Definitions This section provides information about structures required by the hardware APIs. 4.2.1 PicamCameraID Structure Definition The structure definition for PicamCameraID typedef struct PicamCameraID PicamModel model; PicamComputerInterface computer_interface; pichar sensor_name [ ]; pichar serial_number [ ]; } PicamCameraID;...
Page 34
PICam™ 5.x Programmer’s Manual Issue 11 4.2.3 PicamFirmwareDetail Structure Definition The structure definition for PicamFirmwareDetail typedef struct PicamFirmwareDetail pichar name [ ]; pichar detail [ ]; } PicamFirmwareDetail; Variable Definitions The variables required for are: PicamFirmwareDetail name: This is the name of a hardware device containing firmware. detail: This stores information about the hardware device, such as version number.
PICam™ 5.x Programmer’s Manual Issue 11 4.3.1 Identification APIs This section provides programming information for camera and accessory Identification APIs. Picam_DestroyCameraIDs() 4.3.1.1 Description releases PICam-alloted memory associated with Picam_DestroyCameraIDs() id_array NOTE: may be a single allocated by id_array PicamCameraID PICam. is a null array, calling has no effect.
Page 37
Chapter 4 Identification APIs 4.3.1.2 PicamAccessory_DestroyAccessoryIDs() Description releases PICam-alloted memory PicamAccessory_DestroyAccessoryIDs() associated with id_array NOTE: may be a single allocated by id_array PicamAccessoryID PICam. is a null array, calling has no PicamAccessory_DestroyAccessoryIDs() id_array effect. Syntax The syntax for PicamAccessory_DestroyAccessoryIDs() PICAM_API PicamAccessory_DestroyAccessoryIDs ( const PicamAccessoryID* id_array);...
Page 38
PICam™ 5.x Programmer’s Manual Issue 11 4.3.1.3 Picam_GetAvailableCameraIDs() Description dynamically creates an array of length N. This Picam_GetAvailableCameraIDs() array stores camera IDs for all available cameras. NOTE: Cameras that have been disconnected or are currently open in another process are not available. NOTE: Prior to program termination, memory that has been dynamically allocated to...
Page 39
Chapter 4 Identification APIs 4.3.1.4 PicamAccessory_GetAvailableAccessoryIDs() Description dynamically creates an array of PicamAccessory_GetAvailableAccessoryIDs() length N. This array stores accessory IDs for all available accessories. NOTE: Accessories that have been disconnected or are currently open in another process are not available. NOTE: Prior to program termination, memory that has been dynamically allocated to...
Page 40
PICam™ 5.x Programmer’s Manual Issue 11 4.3.1.5 Picam_GetUnavailableCameraIDs() Description dynamically creates an array of length N. This Picam_GetUnavailableCameraIDs() array stores camera IDs for all unavailable cameras. NOTE: Cameras that have been disconnected or are currently open in another process are not available. NOTE: Prior to program termination, memory that has been dynamically allocated to...
Page 41
Chapter 4 Identification APIs 4.3.1.6 PicamAccessory_GetUnavailableAccessoryIDs() Description dynamically creates an array of PicamAccessory_GetUnavailableAccessoryIDs() length N. This array stores accessory IDs for all unavailable accessories. NOTE: Accessories that have been disconnected or are currently open in another process are not available. NOTE: Prior to program termination, memory that has been dynamically allocated to...
Page 42
PICam™ 5.x Programmer’s Manual Issue 11 4.3.1.7 Picam_IsCameraIDConnected() Description determines if a specified camera ID is plugged into Picam_IsCameraIDConnected() the host computer and turned on. Syntax The syntax for Picam_IsCameraIDConnected() PICAM_API Picam_IsCameraIDConnected( const PicamCameraID* id, pibln* connected); Input Parameters Input parameters for are: Picam_IsCameraIDConnected() id: Specifies the ID of the camera for which the connection status is...
Page 43
Chapter 4 Identification APIs 4.3.1.8 PicamAccessory_IsAccessoryIDConnected() Description determines if a specified accessory PicamAccessory_IsAccessoryIDConnected() ID is plugged into the host computer and turned on. Syntax The syntax for PicamAccessory_IsAccessoryIDConnected() PICAM_API PicamAccessory_IsAccessoryIDConnected( const PicamAccessoryID* id, pibln* connected); Input Parameters Input parameters for are: PicamAccessory_IsAccessoryIDConnected() id: Specifies the ID of the accessory for which the connection status is...
Page 44
PICam™ 5.x Programmer’s Manual Issue 11 4.3.1.9 Picam_IsCameraIDOpenElsewhere() Description determines if a specified camera ID has been Picam_IsCameraIDOpenElsewhere() opened by another process. Syntax The syntax for Picam_IsCameraIDOpenElsewhere() PICAM_API Picam_IsCameraIDOpenElsewhere( const PicamCameraID* id, pibln* open_elsewhere); Input Parameters Input parameters for are: Picam_IsCameraIDOpenElsewhere() id: Specifies the ID of the camera for which the connection status is being tested.
Page 45
Chapter 4 Identification APIs 4.3.1.10 PicamAccessory_IsAccessoryIDOpenElsewhere() Description determines if a specified PicamAccessory_IsAccessoryIDOpenElsewhere() accessory ID has been opened by another process. Syntax The syntax for PicamAccessory_IsAccessoryIDOpenElsewhere() PICAM_API PicamAccessory_IsAccessoryIDOpenElsewhere( const PicamAccessoryID* id, pibln* open_elsewhere); Input Parameters Input parameters for are: PicamAccessory_IsAccessoryIDOpenElsewhere() id: Specifies the ID of the accessory for which the connection status is being tested.
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2 Access APIs This section provides programming information for camera and accessory Access APIs. 4.3.2.1 Picam_DestroyHandles() Description releases memory that has been allocated by PICam for use Picam_DestroyHandles() handle_array NOTE: may be a single allocated by handle_array PicamHandle...
Page 47
Chapter 4 Identification APIs 4.3.2.2 Picam_OpenFirstCamera() Description opens the first available camera, and returns a handle to Picam_OpenFirstCamera() the camera. NOTE: Prior to program termination, all open cameras must be closed by calling Picam_CloseCamera(). Syntax The syntax for Picam_OpenFirstCamera() PICAM_API Picam_OpenFirstCamera( PicamHandle* camera);...
Page 48
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.3 PicamAccessory_OpenFirstAccessory() Description opens the first available accessory, and PicamAccessory_OpenFirstAccessory() returns a handle to the accessory. NOTE: Prior to program termination, all open accessories must be closed by calling PicamAccessory_CloseAccessory(). Syntax The syntax for PicamAccessory_OpenFirstAccessory() PICAM_API PicamAccessory_OpenFirstAccessory( PicamHandle* accessory);...
Page 49
Chapter 4 Identification APIs 4.3.2.4 Picam_OpenCamera() Description opens a specified camera, and returns a handle to the camera. Picam_OpenCamera() NOTE: Prior to program termination, all open cameras must be closed by calling Picam_CloseCamera(). Syntax The syntax for Picam_OpenCamera() PICAM_API Picam_OpenCamera( const PicamCameraID* id, PicamHandle* camera);...
Page 50
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.5 PicamAccessory_OpenAccessory() Description opens a specified accessory, and returns a PicamAccessory_OpenAccessory() handle to the accessory. NOTE: Prior to program termination, all open accessories must be closed by calling PicamAccessory_CloseAccessory(). Syntax The syntax for PicamAccessory_OpenAccessory() PICAM_API PicamAccessory_OpenAccessory( const PicamAccessoryID* id, PicamHandle* accessory);...
Page 51
Chapter 4 Identification APIs 4.3.2.6 Picam_CloseCamera() Description releases all resources that have been associated with a Picam_CloseCamera() specified camera. Syntax The syntax for Picam_CloseCamera() PICAM_API Picam_CloseCamera( PicamHandle camera); Input Parameters Input parameters for are: Picam_CloseCamera() camera: The handle associated with the camera that is to be closed. Output Parameters There are no output parameters associated with Picam_CloseCamera().
Page 52
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.7 PicamAccessory_CloseAccessory() Description releases all resources that have been PicamAccessory_CloseAccessory() associated with a specified accessory. Syntax The syntax for PicamAccessory_CloseAccessory() PICAM_API PicamAccessory_CloseAccessory( PicamHandle accessory); Input Parameters Input parameters for are: PicamAccessory_CloseAccessory() accessory: The handle associated with the accessory that is to be closed. Output Parameters There are no output parameters associated with PicamAccessory_CloseAccessory().
Page 53
Chapter 4 Identification APIs 4.3.2.8 Picam_GetOpenCameras() Description dynamically creates an array of length N. This array stores Picam_GetOpenCameras() camera handles for all open cameras in the current process. NOTE: Prior to program termination, memory that has been dynamically allocated to must be released by camera_array calling Picam_DestroyHandles().
Page 54
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.9 PicamAccessory_GetOpenAccessories() Description dynamically creates an array of length N. PicamAccessory_GetOpenAccessories() This array stores accessory handles for all open accessories in the current process. NOTE: Prior to program termination, memory that has been dynamically allocated to must be released accessory_array by calling Picam_DestroyHandles().
Page 55
Chapter 4 Identification APIs 4.3.2.10 Picam_IsCameraConnected() Description determines if the specified camera is plugged into the Picam_IsCameraConnected() host computer and is turned on. Syntax The syntax for Picam_IsCameraConnected() PICAM_API Picam_IsCameraConnected( PicamHandle camera, pibln* connected); Input Parameters Input parameters for are: Picam_IsCameraConnected() camera: The handle for the camera for which the status is being determined.
Page 56
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.11 PicamAccessory_IsAccessoryConnected() Description determines if the specified accessory is PicamAccessory_IsAccessoryConnected() plugged into the host computer and is turned on. Syntax The syntax for PicamAccessory_IsAccessoryConnected() PICAM_API PicamAccessory_IsAccessoryConnected( PicamHandle accessory, pibln* connected); Input Parameters Input parameters for are: PicamAccessory_IsAccessoryConnected() accessory: The handle for the accessory for which the status is being...
Page 57
Chapter 4 Identification APIs 4.3.2.12 Picam_IsCameraFaulted() Description determines if the specified camera has experienced a Picam_IsCameraFaulted() critical malfunction and is in need of service. Any acquisition in progress will be stopped and further acquisitions are not possible until the camera has been serviced. Syntax The syntax for Picam_IsCameraFaulted()
Page 58
PICam™ 5.x Programmer’s Manual Issue 11 4.3.2.13 Picam_GetCameraID() Description returns the ID associated with a specified camera handle. Picam_GetCameraID() Syntax The syntax for Picam_GetCameraID() Picam_GetCameraID( PICAM_API PicamHandle camera, PicamCameraID* id); Input Parameters Input parameters for are: Picam_GetCameraID() camera: The handle associated with the camera for which the ID is to be determined.
Page 59
Chapter 4 Identification APIs 4.3.2.14 PicamAccessory_GetAccessoryID() Description returns the ID associated with a specified PicamAccessory_GetAccessoryID() accessory handle. Syntax The syntax for PicamAccessory_GetAccessoryID() PicamAccessory_GetAccessoryID( PICAM_API PicamHandle accessory, PicamAccessoryID* id); Input Parameters Input parameters for are: PicamAccessory_GetAccessoryID() accessory: The handle associated with the accessory for which the ID is to be determined.
PICam™ 5.x Programmer’s Manual Issue 11 4.3.3 Information APIs This section provides programming information for camera and accessory Information APIs. Picam_DestroyFirmwareDetails() 4.3.3.1 Description releases memory that has been allocated for Picam_DestroyFirmwareDetails() use by the firmware_array NOTE: may be a single firmware_array PicamFirmwareDetail allocated by PICam.
Page 61
Chapter 4 Identification APIs 4.3.3.2 Picam_GetFirmwareDetails() Description dynamically creates an array of length N. This array Picam_GetFirmwareDetails() stores firmware details associated with a specified camera ID. NOTE: Prior to program termination, memory that has been dynamically allocated to must be released firmware_array by calling Picam_DestroyFirmwareDetails().
Page 62
PICam™ 5.x Programmer’s Manual Issue 11 4.3.3.3 PicamAccessory_GetFirmwareDetails() Description dynamically creates an array of length N. PicamAccessory_GetFirmwareDetails() This array stores firmware details associated with a specified accessory ID. NOTE: Prior to program termination, memory that has been dynamically allocated to must be released firmware_array by calling Picam_DestroyFirmwareDetails().
Page 63
Chapter 4 Identification APIs 4.3.3.4 Picam_DestroyCalibrations() Description releases memory that has been allocated for use by Picam_DestroyCalibrations() calibrations_array NOTE: may be a single calibrations_array allocated by PICam. PicamCalibrationDetail is a null array, calling has no Picam_DestroyCalibrations() calibrations_array effect. Syntax The syntax for Picam_DestroyCalibrations() PICAM_API Picam_DestroyCalibrations( const PicamCalibration* calibrations_array);...
PICam™ 5.x Programmer’s Manual Issue 11 4.3.4 Demo Camera Identification APIs This section provides programming information for Demo Camera Identification APIs. 4.3.4.1 Picam_DestroyModels() releases memory that has been allocated for use by the Picam_DestroyModels() model_array NOTE: may be a single allocated by model_array PicamModel...
Page 65
Chapter 4 Identification APIs 4.3.4.2 Picam_GetAvailableDemoCameraModels() Description dynamically creates an array of length Picam_GetAvailableDemoCameraModels() N. This array stores a list of virtual camera models which are available for use in Demo Mode. NOTE: Prior to program termination, memory that has been dynamically allocated to must be released by model_array...
Page 66
PICam™ 5.x Programmer’s Manual Issue 11 4.3.4.3 Picam_ConnectDemoCamera() Description establishes a connection with the specified virtual Picam_ConnectDemoCamera() camera. Syntax The syntax for Picam_ConnectDemoCamera() PICAM_API Picam_ConnectDemoCamera( PicamModel model, const pichar* serial_number, PicamCameraID* id); Input Parameters Input parameters for are: Picam_ConnectDemoCamera() model: Model for the virtual camera for which a connection is to be established.
Page 67
Chapter 4 Identification APIs 4.3.4.4 Picam_DisconnectDemoCamera() Description breaks an established connection with the Picam_DisconnectDemoCamera() specified virtual camera. Syntax The syntax for Picam_DisconnectDemoCamera() PICAM_API Picam_DisconnectDemoCamera( const PicamCameraID* id); Input Parameters Input parameters for are: Picam_DisconnectDemoCamera() id: ID of the virtual camera for which the connection is to be broken. Output Parameters There are no output parameters associated with Picam_DisconnectDemoCamera().
Page 68
PICam™ 5.x Programmer’s Manual Issue 11 4.3.4.5 Picam_IsDemoCamera() Description determines if the specified camera is a virtual camera. Picam_IsDemoCamera() Syntax They syntax for Picam_IsDemoCamera() PICAM_API Picam_IsDemoCamera( const PicamCameraID* id, pibln* demo); Input Parameters Input parameters for are: Picam_IsDemoCamera() id: ID of the camera being identified. Output Parameters Output parameters for are:...
Page 69
Chapter 5: Configuration APIs The functions in this grouping set or query parameter values, parameter information, and parameter constraints that characterize hardware. A parameter is a hardware setting. Parameters have varying qualities as well as values and constraints. A parameter may have several different values but constraints determine which kinds of values a parameter can have based on hardware type, read/write capability, or other parameters used or to be used in describing and setting up specific hardware.
PICam™ 5.x Programmer’s Manual Issue 11 Data Type Definitions This section provides programming information about PICam data type definitions. 5.1.1 Hardware Parameter Enumerations This section provides information about the following hardware parameter enumerations: NOTE: Enumerations are listed alphabetically. • PicamActiveShutter •...
Page 71
Chapter 5 Configuration APIs 5.1.1.1 PicamActiveShutter Data Type is defined as PicamActiveShutter enum Description is the shutter that will be controlled during an acquisition. PicamActiveShutter Enumerator Definitions Refer to Table 5-2 for enumerator definitions. Table 5-1: Enumerator Definitions PicamActiveShutter Enumerator Description The shutter external to the hardware.
Page 72
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.3 PicamAdcQuality Data Type is defined as PicamAdcQuality enum Description is the set of Analog-to-Digital conversion techniques and quality PicamAdcQuality settings for pixel digitization. Enumerator Definitions Refer to Table 5-3 for enumerator definitions. Table 5-3: Enumerator Definitions PicamAdcQuality Enumerator...
Page 73
Chapter 5 Configuration APIs 5.1.1.4 PicamCcdCharacteristicsMask Data Type is defined as PicamCcdCharacteristicsMask enum Description is the set of CCD sensor characteristics. PicamCcdCharacteristicsMask Enumerator Definitions Refer to Table 5-4 for enumerator definitions. Table 5-4: Enumerator Definitions PicamCcdCharacteristicsMask Enumerator Description The CCD has reduced dark current. PicamCcdCharacteristicsMask_Advanced InvertedMode Indicates the type of illumination...
Page 74
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.5 PicamCenterWavelengthStatus Data Type is defined as PicamCenterWavelengthStatus enum Description is the set of center wavelength statuses. PicamCenterWavelengthStatus Enumerator Definitions Refer to Table 5-5 for enumerator definitions. Table 5-5: Enumerator Definitions PicamCenterWavelengthStatus Enumerator Description The grating drive has malfunctioned.
Page 75
Chapter 5 Configuration APIs 5.1.1.7 PicamCoolingFanStatus Data Type is defined as PicamCoolingFanStatus enum Description is the set of cooling fan statuses. PicamCoolingFanStatus Enumerator Definitions Refer to Table 5-7 for enumerator definitions. Table 5-7: Enumerator Definitions PicamCoolingFanStatus Enumerator Description The cooling fan has been forced on to prevent PicamCoolingFanStatus_ForcedOn overheating.
Page 76
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.9 PicamGateTrackingMask Data Type is defined as PicamGateTrackingMask enum Description is the set of sequential gate pulse components that are to PicamGateTrackingMask be tracked. Enumerator Definitions Refer to Table 5-9 for enumerator definitions. Table 5-9: Enumerator Definitions PicamGateTrackingMask Enumerator...
Page 77
Chapter 5 Configuration APIs 5.1.1.11 PicamGatingSpeed Data Type is defined as PicamGatingSpeed enum Description is the set of classifications of the narrowest gate pulse. PicamGatingSpeed Enumerator Definitions Refer to Table 5-11 for enumerator definitions. Table 5-11: Enumerator Definitions PicamGatingSpeed Enumerator Description The gate pulse can be very narrow.
Page 78
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.13 PicamGratingType Data Type is defined as PicamGratingType enum Description is the type of grating. PicamGratingType Enumerator Definitions Refer to Table 5-13 for enumerator definitions. Table 5-13: Enumerator Definitions PicamGratingType Enumerator Description Ruled grating. PicamGratingType_Ruled Holographic grating for the visible range.
Page 79
Chapter 5 Configuration APIs 5.1.1.15 PicamIntensifierStatus Data Type is defined as PicamIntensifierStatus enum Description is the set of intensifier power statuses. PicamIntensifierStatus Enumerator Definitions Refer to Table 5-15 for enumerator definitions. Table 5-15: Enumerator Definitions PicamIntensifierStatus Enumerator Description The physical switch is in the off position. PicamIntensifierStatus_PoweredOff The physical switch is in the on position.
Page 80
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.18 PicamLightSource Data Type is defined as PicamLightSource enum Description is the type of light source. PicamLightSource Enumerator Definitions Refer to Table 5-18 for enumerator definitions. Table 5-18: Enumerator Definitions PicamLightSource Enumerator Description No Light Source PicamLightSource_Disabled Mercury Light Source PicamLightSource_Hg...
Page 81
Chapter 5 Configuration APIs 5.1.1.20 PicamModulationTrackingMask Data Type is defined as PicamModulationTrackingMask enum Description is the set of modulation parameters that are to be PicamModulationTrackingMask tracked. Enumerator Definitions Refer to step 5-20 for enumerator definitions. Table 5-20: Enumerator Definitions PicamModulationTrackingMask Enumerator Description PicamModulationTrackingMask_Duration...
Page 82
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.22 PicamOutputSignal Data Type is defined as PicamOutputSignal enum Description is the set of parameters defining the hardware’s MONITOR PicamOutputSignal OUTPUT signal. Enumerator Definitions Refer to Table 5-22 for enumerator definitions. Table 5-22: Enumerator Definitions PicamOutputSignal Enumerator Description...
Page 83
Chapter 5 Configuration APIs 5.1.1.23 PicamParameter Data Type is defined as PicamParameter enum Description is the set of user-accessible hardware parameters. PicamParameter Enumerator Definitions Refer to Table 5-23 for enumerator definitions. Table 5-23: Enumerator Definitions (Sheet 1 of 11) PicamParameter Enumerator Description Controls the number of on-sensor accumulations...
Page 84
PICam™ 5.x Programmer’s Manual Issue 11 Table 5-23: Enumerator Definitions (Sheet 2 of 11) PicamParameter Enumerator Description Reports characteristics of a CCD sensor via the PicamParameter_CcdCharacteristics PicamCcdCharacteristicsMask data enumeration. Refer to Section 5.1.1.4, PicamCcdCharacteristicsMask, on page 73 for additional information. Reports the actual position of the center wavelength in PicamParameter_CenterWavelengthReading nanometers (nm).
Page 85
Chapter 5 Configuration APIs Table 5-23: Enumerator Definitions (Sheet 3 of 11) PicamParameter Enumerator Description Determines how the intensifier gain and electron PicamParameter_EMIccdGainControlMode multiplication gain are controlled in emICCD hardware via the data enumeration. PicamEMIccdGainControlMode Refer to Section 5.1.1.8, PicamEMIccdGainControlMode, on page 75, for additional information.
Page 86
PICam™ 5.x Programmer’s Manual Issue 11 Table 5-23: Enumerator Definitions (Sheet 4 of 11) PicamParameter Enumerator Description Controls the frame tracking number size in bits-per-pixel. PicamParameter_FrameTrackingBitDepth Controls the tracking of a sequential gate pulse in metadata PicamParameter_GateTracking via the PicamGateTrackingMask data enumeration.
Page 87
Chapter 5 Configuration APIs Table 5-23: Enumerator Definitions (Sheet 5 of 11) PicamParameter Enumerator Description Reports the status of the intensifier power via the PicamParameter_IntensifierStatus PicamIntensifierStatus data enumeration. Refer to Section 5.1.1.15, PicamIntensifierStatus, on page 79 for additional information. Reports the status of the shutter that is internal to the PicamParameter_InternalShutterStatus hardware via the PicamShutterStatus...
Page 88
PICam™ 5.x Programmer’s Manual Issue 11 Table 5-23: Enumerator Definitions (Sheet 6 of 11) PicamParameter Enumerator Description Controls the frequency of the intensifier modulation in MHz. PicamParameter_ModulationFrequency Controls the peak-to-peak amplitude of the user RF output PicamParameter_ModulationOutputSignal Amplitude signal in volts (V). PicamParameter_ModulationOutputSignal Controls the frequency of the user RF output signal in MHz Frequency...
Page 89
Chapter 5 Configuration APIs Table 5-23: Enumerator Definitions (Sheet 7 of 11) PicamParameter Enumerator Description Reports the type of phosphor used in intensified hardware. PicamParameter_PhosphorType Refer to Section 5.1.1.24, PicamPhosphorType, on page 94 for additional information. Classifies the wavelength sensitivity of the photocathode. PicamParameter_PhotocathodeSensitivity Refer to Section 5.1.1.25,...
Page 90
PICam™ 5.x Programmer’s Manual Issue 11 Table 5-23: Enumerator Definitions (Sheet 8 of 11) PicamParameter Enumerator Description Reports the estimated rate of data in readouts-per-second. PicamParameter_ReadoutRateCalculation NOTE: If the hardware is being externally triggered, this represents the fastest possible rate. Reports the length, in bytes, necessary to traverse to the next PicamParameter_ReadoutStride readout.
Page 91
Chapter 5 Configuration APIs Table 5-23: Enumerator Definitions (Sheet 9 of 11) PicamParameter Enumerator Description Controls the target temperature for the sensor in degrees C. PicamParameter_SensorTemperatureSet Point PicamParameter_SensorTemperatureStatus Reports the status of the sensor temperature via the data enumeration. PicamSensorTemperatureStatus Refer to Section 5.1.1.29, PicamSensorTemperatureStatus, on...
Page 92
PICam™ 5.x Programmer’s Manual Issue 11 Table 5-23: Enumerator Definitions (Sheet 10 of 11) PicamParameter Enumerator Description Controls the delay of SyncMASTER2 relative to SyncMASTER1 PicamParameter_SyncMaster2Delay in microseconds ( Controls the time stamp size in bits-per-pixel. PicamParameter_TimeStampBitDepth NOTE: Because time stamps may be negative one bit is reserved for sign.
Page 93
Chapter 5 Configuration APIs Table 5-23: Enumerator Definitions (Sheet 11 of 11) PicamParameter Enumerator Description Reports the status of the vacuum chamber containing the ***PicamParameter_VacuumStatus sensor. PicamParameter_VerticalShiftRate Controls the rate to shift one row towards the serial register in a CCD in microseconds (...
Page 94
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.24 PicamPhosphorType Data Type is defined as PicamPhosphorType enum Description is the set of phosphor types within intensified hardware. PicamPhosphorType Enumerator Definitions Refer to Table 5-24 for enumerator definitions. Table 5-24: Enumerator Definitions PicamPhosphorType Enumerator Description The phosphor is P43.
Page 95
Chapter 5 Configuration APIs 5.1.1.26 PicamPhotonDetectionMode Data Type is defined as PicamPhotonDetectionMode enum Description is the set of photon detection modes. PicamPhotonDetectionMode Enumerator Definitions Refer to Table 5-26 for enumerator definitions. Table 5-26: Enumerator Definitions PicamPhotonDetectionMode Enumerator Description Each pixel whose intensity is greater than PicamPhotonDetectionMode_Clipping or equal to the threshold is a photon and retains its original value.
Page 96
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.28 PicamReadoutControlMode Data Type is defined as PicamReadoutControlMode enum Description is the set of sensor readout modes. PicamReadoutControlMode Enumerator Definitions Refer to Table 5-28 for enumerator definitions. Table 5-28: Enumerator Definitions PicamReadoutControlMode Enumerator Description The Dual Imaging Feature where the PicamReadoutControlMode_Dif sensor acquires two frames rapidly and...
Page 97
Chapter 5 Configuration APIs Table 5-29: Enumerator Definitions (Sheet 2 of 2) PicamSensorTemperatureStatus Enumerator Description The temperature has not stabilized at the set PicamSensorTemperatureStatus_ Unlocked point. 5.1.1.30 PicamSensorType Data Type is defined as PicamSensorType enum Description is the set of sensor types. PicamSensorType Enumerator Definitions Refer to...
Page 98
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.32 PicamShutterTimingMode Data Type is defined as PicamShutterTimingMode enum Description is the set of shutter behaviors during data acquisition. PicamShutterTimingMode Enumerator Definitions Refer to Table 5-32 for enumerator definitions. Table 5-32: Enumerator Definitions PicamShutterTimingMode Enumerator Description The shutter only opens during exposure time.
Page 99
Chapter 5 Configuration APIs 5.1.1.33 PicamShutterType Data Type is defined as PicamShutterType enum Description is the set of shutter types. PicamShutterType NOTE: This does not indicate the presence of a shutter, only the kind of shutter that could be driven. PicamShutterStatus indicates the presence of a shutter.
Page 100
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.35 PicamTriggerCoupling Data Type is defined as PicamTriggerCoupling enum Description is the set of coupling modes between an external trigger and PicamTriggerCoupling the hardware’s input. Enumerator Definitions Refer to Table 5-35 for enumerator definitions. Table 5-35: Enumerator Definitions PicamTriggerCoupling...
Page 101
Chapter 5 Configuration APIs 5.1.1.37 PicamTriggerResponse Data Type is defined as PicamTriggerResponse enum Description is the set of the hardware’s responses to an external trigger. PicamTriggerResponse Enumerator Definitions Refer to Table 5-37 for enumerator definitions. Table 5-37: Enumerator Definitions PicamTriggerResponse Enumerator Description Each trigger controls when exposure begins...
Page 102
PICam™ 5.x Programmer’s Manual Issue 11 5.1.1.39 PicamTriggerStatus Data Type is defined as PicamTriggerStatus enum Description is the presence of an external trigger source. PicamTriggerStatus Enumerator Definitions Refer to Table 5-39 for enumerator definitions. Table 5-39: Enumerator Definitions PicamTriggerStatus Enumerator Description No trigger source is connected.
Page 103
Chapter 5 Configuration APIs 5.1.1.42 PicamValueType Data Type is defined as PicamValueType enum Description is the set of parameter value data types. PicamValueType Enumerator Definitions Refer to Table 5-42 for enumerator definitions. Table 5-42: Enumerator Definitions PicamValueType Enumerator Description Accessed as piint. PicamValueType_Boolean •...
PICam™ 5.x Programmer’s Manual Issue 11 5.1.2 Parameter Access Enumerations This section provides detailed information about the following parameter access enumerations: • PicamValueAccess 5.1.2.1 PicamValueAccess Data Type is defined as PicamValueAccess enum Description is the set of permitted parameter access. PicamValueAccess Enumerator Definitions Refer to...
Chapter 5 Configuration APIs 5.1.3 Parameter Constraint Enumerations This section provides detailed information about the following parameter constraint enumerations: • PicamConstraintScope • PicamConstraintSeverity • PicamConstraintCategory • PicamRoisConstraintRulesMask 5.1.3.1 PicamConstraintScope Data Type is defined as PicamConstraintScope enum Description is the set of constraint dependencies. PicamConstraintScope Enumerator Definitions Refer to...
Page 106
PICam™ 5.x Programmer’s Manual Issue 11 5.1.3.3 PicamConstraintCategory Data Type is defined as PicamConstraintCategory enum Description is the set of constraint categories. PicamConstraintCategory Enumerator Definitions Refer to Table 5-46 for enumerator definitions. Table 5-46: Enumerator Definitions PicamConstraintCategory Enumerator Description Which set of values are ultimately possible. PicamConstraintCategory_Capable Which set of values are currently permissible.
Page 107
Chapter 5 Configuration APIs 5.1.3.4 PicamRoisConstraintRulesMask Data Type is defined as PicamRoisConstraintRulesMask enum Description is the set of complex rules that defines a valid set PicamRoisConstraintRulesMask of regions of interest. Enumerator Definitions Refer to Table 5-47 for enumerator definitions. Table 5-47: Enumerator Definitions PicamRoisConstraintRulesMask Enumerator...
PICam™ 5.x Programmer’s Manual Issue 11 Data Structure Definitions This section provides programming information for the following PICam data structure definitions: • Camera-Specific Parameter Data Structures — PicamRoi — PicamRois — PicamPulse — PicamModulation — PicamModulations • Shared Camera/Accessory Parameter Data Structures —...
Page 109
Chapter 5 Configuration APIs 5.2.1.2 PicamRois Description defines a set of non-overlapping Regions of Interest (ROIs.) PicamRois Structure Definition The structure definition for PicamRois typedef struct PicamRois PicamRoi* roi_array; piint roi_count; PicamRois; Variable Definitions The variables required by are: PicamRois roi_array: An array of one or more regions.
Page 110
PICam™ 5.x Programmer’s Manual Issue 11 5.2.1.4 PicamModulation Description defines a custom intensifier modulation sequence point. PicamModulation Structure Definition The structure definition for PicamModulation typedef struct PicamModulation piflt duration; piflt frequency; piflt phase; piflt output_signal_frequency; } PicamModulation; Variable Definitions The variables required by are: PicamModulation duration: The time, in mS, the intensifier is modulating.
Chapter 5 Configuration APIs 5.2.2 Shared Camera/Accessory Parameter Data Structures This section provides detailed programming information about shared camera/ accessory parameter data structures. PicamStatusPurview 5.2.2.1 Description defines the scope of a status. PicamStatusPurview Structure Definition The structure definition for PicamStatusPurview typedef struct PicamStatusPurview const piint* values_array;...
PICam™ 5.x Programmer’s Manual Issue 11 Parameter Constraints This section provides programming information for the following PICam parameter constraints: • Camera-Specific Parameter Constraints — PicamRoisConstraint — PicamPulseConstraint — PicamModulationsConstraint • Shared Camera/Accessory Parameter Constraints — PicamCollectionConstraint — PicamRangeConstraint 5.3.1 Camera-Specific Parameter Constraints This section provides detailed programming information about the following camera-specific parameter constraint data structures: •...
Page 113
Chapter 5 Configuration APIs continued from previous page Variable Definitions The variables required by are: PicamRoisConstraint scope: The scope of the constraint. severity: The severity of the constraint. empty_set: Indicates when there are no valid Regions of Interest defined. Valid values are: •...
Page 114
PICam™ 5.x Programmer’s Manual Issue 11 5.3.1.2 PicamPulseConstraint Description defines the constraints placed on a valid gate pulse. PicamPulseConstraint Structure Definition The structure definition for PicamPulseConstraint typedef struct PicamPulseConstraint PicamConstraintScope scope; PicamConstraintSeverity severity; pibln empty_set; PicamRangeConstraint delay_constraint; PicamRangeConstraint width_constraint; piflt minimum_duration; piflt maximum_duration;...
PICam™ 5.x Programmer’s Manual Issue 11 5.3.2 Shared Camera/Accessory Parameter Constraints This section provides detailed programming information about the following shared camera and accessory parameter constraint data structures: • PicamCollectionConstraint • PicamRangeConstraint 5.3.2.1 PicamCollectionConstraint Description defines the constraints placed on a variable whose value PicamCollectionConstraint is selected from a list of predefined values.
Page 117
Chapter 5 Configuration APIs 5.3.2.2 PicamRangeConstraint Description defines the constraints placed a numeric variable whose value PicamRangeConstraint lies within a linear range of numeric values. Structure Definition The structure definition for PicamRangeConstraint typedef struct PicamRangeConstraint PicamConstraintScope scope; PicamConstraintSeverity severity; pibln empty_set; piflt minimum;...
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1 Camera-Specific Parameter Value APIs This section provides programming information for APIs used when working with camera-specific parameter values. 5.4.1.1 Picam_GetParameterLargeIntegerValue() Description returns the current large integer value Picam_GetParameterLargeIntegerValue() for a specified parameter. Syntax The syntax for Picam_GetParameterLargeIntegerValue() PICAM_API Picam_GetParameterLargeIntegerValue(...
Page 121
Chapter 5 Configuration APIs 5.4.1.2 Picam_CanSetParameterLargeIntegerValue() Description determines if a large integer value Picam_CanSetParameterLargeIntegerValue() is valid for a specified parameter. Syntax The syntax for Picam_CanSetParameterLargeIntegerValue() PICAM_API Picam_CanSetParameterLargeIntegerValue( PicamHandle camera, PicamParameter parameter, pi64s value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterLargeIntegerValue() camera: Handle for the camera for which the value/parameter combination...
Page 122
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.3 Picam_SetParameterLargeIntegerValue() Description sets a parameter to a specified large Picam_SetParameterLargeIntegerValue() integer value during camera setup. Syntax The syntax for Picam_SetParameterLargeIntegerValue() PICAM_API Picam_SetParameterLargeIntegerValue( PicamHandle camera, PicamParameter parameter, pi64s value); Input Parameters Input parameters for are: Picam_SetParameterLargeIntegerValue() camera: Handle for the camera being configured.
Page 123
Chapter 5 Configuration APIs 5.4.1.4 Picam_DestroyRois() Description releases memory that has been allocated by PICam for use by Picam_DestroyRois() the array rois is null, calling has no effect. Picam_DestroyRois() rois Syntax The syntax for Picam_DestroyRois() Picam_DestroyRois( PICAM_API const PicamRois* rois); Input Parameters Input parameters for are:...
Page 124
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.5 Picam_GetParameterRoisValue() Description returns the current value for a specified Rois Picam_GetParameterRoisValue() parameter. Syntax The syntax for Picam_GetParameterRoisValue() PICAM_API Picam_GetParameterRoisValue( PicamHandle camera, PicamParameter parameter, const PicamRois** value); Input Parameters Input parameters for are: Picam_GetParameterRoisValue() camera: Handle for the camera for which the Rois parameter value is being requested.
Page 125
Chapter 5 Configuration APIs 5.4.1.6 Picam_CanSetParameterRoisValue() Description determines if a value is valid for a specified Picam_CanSetParameterRoisValue() Rois parameter. Syntax The syntax for Picam_CanSetParameterRoisValue() PICAM_API Picam_CanSetParameterRoisValue( PicamHandle camera, PicamParameter parameter, const PicamRois* value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterRoisValue() camera: Handle for the camera for which the value/parameter combination...
Page 126
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.7 Picam_SetParameterRoisValue() Description configures an Rois parameter to a specified value Picam_SetParameterRoisValue() during camera setup. Syntax The syntax for Picam_SetParameterRoisValue() PICAM_API Picam_SetParameterRoisValue( PicamHandle camera, PicamParameter parameter, const PicamRois* value); Input Parameters Input parameters for are: Picam_SetParameterRoisValue() camera: Handle for the camera being configured.
Page 127
Chapter 5 Configuration APIs 5.4.1.8 Picam_DestroyPulses() Description releases memory that has been allocated by PICam for use Picam_DestroyPulses() pulses is null, calling has no effect. Picam_DestroyPulses() pulses Syntax The syntax for Picam_DestroyPulses() PICAM_API Picam_DestroyPulses( const PicamPulse* pulses); Input Parameters Input parameters for are: Picam_DestroyPulses() pulses: Pointer to array memory that is to be released.
Page 128
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.9 Picam_GetParameterPulseValue() Description returns the current value for a specified Pulse Picam_GetParameterPulseValue() parameter. Syntax The syntax for Picam_GetParameterPulseValue() PICAM_API Picam_GetParameterPulseValue( PicamHandle camera, PicamParameter parameter, const PicamPulse** value); Input Parameters Input parameters for are: Picam_GetParameterPulseValue() camera: Handle for the camera for which the specified pulse parameter value is being requested.
Page 129
Chapter 5 Configuration APIs 5.4.1.10 Picam_CanSetParameterPulseValue() Description determines if a value is valid for a specified Picam_CanSetParameterPulseValue() Pulse parameter. Syntax The syntax for Picam_CanSetParameterPulseValue() PICAM_API Picam_CanSetParameterPulseValue( PicamHandle camera, PicamParameter parameter, const PicamPulse* value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterPulseValue() camera: Handle for the camera for which the value/parameter combination...
Page 130
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.11 Picam_SetParameterPulseValue() Description configures a Pulse parameter to a specified Picam_SetParameterPulseValue() value during camera setup. Syntax The syntax for Picam_SetParameterPulseValue() PICAM_API Picam_SetParameterPulseValue( PicamHandle camera, PicamParameter parameter, const PicamPulse* value); Input Parameters Input parameters for are: Picam_SetParameterPulseValue() camera: Handle for the camera being configured.
Page 131
Chapter 5 Configuration APIs 5.4.1.12 Picam_DestroyModulations() Description releases memory that has been allocated by PICam Picam_DestroyModulations() for use by modulations is null, calling has no effect. Picam_DestroyModulations() modulations Syntax The syntax for Picam_DestroyModulations() PICAM_API Picam_DestroyModulations( const PicamModulations* modulations); Input Parameters Input parameters for are: Picam_DestroyModulations()
Page 132
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.13 Picam_GetParameterModulationsValue() Description returns the current value for a specified Picam_GetParameterModulationsValue() intensifier modulation sequence parameter. Syntax The syntax for Picam_GetParameterModulationsValue() PICAM_API Picam_GetParameterModulationsValue( PicamHandle camera, PicamParameter parameter, const PicamModulations** value); Input Parameters Input parameters for are: Picam_GetParameterModulationsValue() camera: Handle for the camera for which the intensifier modulation sequence...
Page 133
Chapter 5 Configuration APIs 5.4.1.14 Picam_CanSetParameterModulationsValue() Description determines if a value is valid for a Picam_CanSetParameterModulationsValue() specified intensifier modulation sequence parameter. Syntax The syntax for Picam_CanSetParameterModulationsValue() PICAM_API Picam_CanSetParameterModulationsValue( PicamHandle camera, PicamParameter parameter, const PicamModulations* value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterModulationsValue() camera: Handle for the camera for which the value/parameter combination...
Page 134
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.15 Picam_SetParameterModulationsValue() Description configures an intensifier modulation Picam_SetParameterModulationsValue() sequence parameter to a specified value during camera setup. Syntax The syntax for Picam_SetParameterModulationsValue() PICAM_API Picam_SetParameterModulationsValue( PicamHandle camera, PicamParameter parameter, const PicamModulations* value); Input Parameters Input parameters for are: Picam_SetParameterModulationsValue() camera: Handle for the camera being configured.
Page 135
Chapter 5 Configuration APIs 5.4.1.16 Picam_GetParameterLargeIntegerDefaultValue() Description returns the large integer Picam_GetParameterLargeIntegerDefaultValue() default value for a specified parameter. Syntax The syntax for Picam_GetParameterLargeIntegerDefaultValue() PICAM_API Picam_GetParameterLargeIntegerDefaultValue( PicamHandle camera, PicamParameter parameter, pi64s* value); Input Parameters Input parameters for are: Picam_GetParameterLargeIntegerDefaultValue() camera: Handle for the camera for which the default parameter value is being requested.
Page 136
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.17 Picam_GetParameterRoisPointDefaultValue() Description returns the default value for a Picam_GetParameterRoisPointDefaultValue() specified Rois parameter. Syntax The syntax for Picam_GetParameterRoisPointDefaultValue() PICAM_API Picam_GetParameterRoisDefaultValue( PicamHandle camera, PicamParameter parameter, const PicamRois** value); Input Parameters Input parameters for are: Picam_GetParameterRoisPointDefaultValue() camera: Handle for the camera for which the default parameter value is being requested.
Page 137
Chapter 5 Configuration APIs 5.4.1.18 Picam_GetParameterPulseDefaultValue() Description returns the default value for a specified Picam_GetParameterPulseDefaultValue() Pulse parameter. Syntax The syntax for Picam_GetParameterPulseDefaultValue() PICAM_API Picam_GetParameterPulseDefaultValue( PicamHandle camera, PicamParameter parameter, const PicamPulse** value); Input Parameters Input parameters for are: Picam_GetParameterPulseDefaultValue() camera: Handle for the camera for which the default parameter value is being requested.
Page 138
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.19 Picam_GetParameterModulationsDefaultValue() Description returns the default value for a Picam_GetParameterModulationsDefaultValue() specified intensifier modulation sequence parameter. Syntax The syntax for Picam_GetParameterModulationsDefaultValue() PICAM_API Picam_GetParameterModulationsDefaultValue( PicamHandle camera, PicamParameter parameter, const PicamModulations** value); Input Parameters Input parameters for are: Picam_GetParameterModulationsDefaultValue() camera: Handle for the camera for which the default parameter value is being...
Page 139
Chapter 5 Configuration APIs 5.4.1.20 Picam_SetParameterIntegerValueOnline() Description configures the specified parameter Picam_SetParameterIntegerValueOnline() with an integer value during data acquisition. NOTE: The specified parameter must be capable of being configured during data acquisition. Refer to for additional Picam_CanSetParameterOnline() information. Syntax The syntax for Picam_SetParameterIntegerValueOnline() PICAM_API Picam_SetParameterIntegerValueOnline( PicamHandle camera,...
Page 140
PICam™ 5.x Programmer’s Manual Issue 11 5.4.1.21 Picam_SetParameterFloatingPointValueOnline() Description configures the specified Picam_SetParameterFloatingPointValueOnline() parameter with a floating point value during data acquisition. NOTE: The specified parameter must be capable of being configured during data acquisition. Refer to for additional Picam_CanSetParameterOnline() information.
Page 141
Chapter 5 Configuration APIs 5.4.1.22 Picam_SetParameterPulseValueOnline() Description configures the specified Pulse Picam_SetParameterPulseValueOnline() parameter during data acquisition. NOTE: The specified parameter must be capable of being configured during data acquisition. Refer to for additional Picam_CanSetParameterOnline() information. Syntax The syntax for Picam_SetParameterPulseValueOnline() PICAM_API Picam_SetParameterPulseValueOnline( PicamHandle camera, PicamParameter parameter,...
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2 Shared Camera/Accessory Parameter Value APIs This section provides programming information for APIs used when working with shared camera/accessory parameter values. Picam_GetParameterIntegerValue() 5.4.2.1 Description returns the integer value for a specified Picam_GetParameterIntegerValue() parameter. Syntax The syntax for Picam_GetParameterIntegerValue() Picam_GetParameterIntegerValue(...
Page 143
Chapter 5 Configuration APIs 5.4.2.2 Picam_CanSetParameterIntegerValue() Description determines if an integer value is valid for Picam_CanSetParameterIntegerValue() a specified parameter. Syntax The syntax for Picam_CanSetParameterIntegerValue() PICAM_API Picam_CanSetParameterIntegerValue( PicamHandle camera_or_accessory, PicamParameter parameter, piint value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterIntegerValue() camera_or_accessory: Handle for the hardware for which the value/parameter combination is being validated.
Page 144
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.3 Picam_SetParameterIntegerValue() Description sets a parameter to a specified integer value Picam_SetParameterIntegerValue() during hardware setup. Syntax The syntax for Picam_SetParameterIntegerValue() PICAM_API Picam_SetParameterIntegerValue( PicamHandle camera_or_accessory, PicamParameter parameter, piint value); Input Parameters Input parameters for are: Picam_SetParameterIntegerValue() camera_or_accessory: Handle for the hardware being configured.
Page 145
Chapter 5 Configuration APIs 5.4.2.4 Picam_GetParameterFloatingPointValue() Description returns the current floating point Picam_GetParameterFloatingPointValue() value for a specified parameter. Syntax The syntax for Picam_GetParameterFloatingPointValue() PICAM_API Picam_GetParameterFloatingValue( PicamHandle camera_or_accessory, PicamParameter parameter, piflt* value); Input Parameters Input parameters for are: Picam_GetParameterFloatingPointValue() camera_or_accessory: Handle for the hardware for which the floating point value is being requested.
Page 146
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.5 Picam_CanSetParameterFloatingPointValue() Description determines if a floating point Picam_CanSetParameterFloatingPointValue() value is valid for a specified parameter. Syntax The syntax for Picam_CanSetParameterFloatingPointValue() PICAM_API Picam_CanSetParameterFloatingValue( PicamHandle camera_or_accessory, PicamParameter parameter, piflt value, pibln* settable); Input Parameters Input parameters for are: Picam_CanSetParameterFloatingPointValue() camera_or_accessory: Handle for the hardware for which the value/parameter...
Page 147
Chapter 5 Configuration APIs 5.4.2.6 Picam_SetParameterFloatingPointValue() Description sets a parameter to a specified Picam_SetParameterFloatingPointValue() floating point value during hardware setup. Syntax The syntax for Picam_SetParameterFloatingPointValue() PICAM_API Picam_SetParameterFloatingValue( PicamHandle camera_or_accessory, PicamParameter parameter, piflt value); Input Parameters Input parameters for are: Picam_SetParameterFloatingPointValue() camera_or_accessory: Handle for the hardware being configured.
Page 148
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.7 Picam_GetParameterIntegerDefaultValue() Description returns the integer default value for Picam_GetParameterIntegerDefaultValue() a specified parameter. Syntax The syntax for Picam_GetParameterIntegerDefaultValue() PICAM_API Picam_GetParameterIntegerDefaultValue( PicamHandle camera_or_accessory, PicamParameter parameter, piint* value); Input Parameters Input parameters for are: Picam_GetParameterIntegerDefaultValue() camera_or_accessory: Handle for the hardware for which the default parameter value is being requested.
Page 149
Chapter 5 Configuration APIs 5.4.2.8 Picam_GetParameterFloatingPointDefaultValue() Description returns the floating point Picam_GetParameterFloatingPointDefaultValue() default value for a specified parameter. Syntax The syntax for Picam_GetParameterFloatingPointDefaultValue() PICAM_API Picam_GetParameterFloatingPointDefaultValue( PicamHandle camera_or_accessory, PicamParameter parameter, piflt* value); Input Parameters Input parameters for are: Picam_GetParameterFloatingPointDefaultValue() camera_or_accessory: Handle for the camera for which the default parameter value is being requested.
Page 150
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.9 Picam_RestoreParametersToDefaultValues() Description will set all read/write parameters Picam_RestoreParametersToDefaultValues() to default values. Syntax The syntax for Picam_RestoreParametersToDefaultValues() PICAM_API Picam_RestoreParametersToDefaultValues( PicamHandle camera_or_accessory); Input Parameters Input parameters for are: Picam_RestoreParametersToDefaultValues() camera_or_accessory: Handle for the hardware for which parameters are to be restored. Output Parameters There are no output parameters associated with Picam_RestoreParametersToDefaultValues()
Page 151
Chapter 5 Configuration APIs 5.4.2.10 Picam_CanSetParameterOnline() Description determines if the specified parameter can be Picam_CanSetParameterOnline() configured during data acquisition. Syntax The syntax for Picam_CanSetParameterOnline() PICAM_API Picam_CanSetParameterOnline( PicamHandle camera_or_accessory, PicamParameter parameter, pibln* onlineable); Input Parameters Input parameters for are: Picam_CanSetParameterOnline() camera_or_accessory: Handle for the hardware under test. parameter: Specifies the parameter for which the ability to be configured during data acquisition is to be determined.
Page 152
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.11 Picam_CanReadParameter() Description determines if a parameter value can be read directly Picam_CanReadParameter() from hardware connected to the system. Syntax The syntax for Picam_CanReadParameter() PICAM_API Picam_CanReadParameter( PicamHandle camera_or_accessory, PicamParameter parameter, pibln* readable); Input Parameters Input parameters for are: Picam_CanReadParameter()
Page 153
Chapter 5 Configuration APIs 5.4.2.12 Picam_ReadParameterIntegerValue() Description returns the integer value for a specified Picam_ReadParameterIntegerValue() parameter as read directly from hardware connected to the system. NOTE: The specified parameter must be capable of being read directly from the hardware. Refer to for additional Picam_CanReadParameter() information.
Page 154
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.13 Picam_ReadParameterFloatingPointValue() Description returns the floating point value for a Picam_ReadParameterFloatingPointValue() specified parameter as read directly from hardware connected to the system. NOTE: The specified parameter must be capable of being read directly from the hardware. Refer to for additional Picam_CanReadParameter()
Page 155
Chapter 5 Configuration APIs 5.4.2.14 Picam_CanWaitForStatusParameter() Description determines if a parameter is a waitable Picam_CanWaitForStatusParameter() status. Syntax The syntax for Picam_CanWaitForStatusParameter() PICAM_API Picam_CanWaitForStatusParameter( PicamHandle camera_or_accessory, PicamParameter parameter, pibln* waitable); Input Parameters Input parameters for are: Picam_CanWaitForStatusParameter() camera_or_accessory: Handle for the hardware under test. parameter: Specifies the parameter to check as a waitable status.
Page 156
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.15 Picam_GetStatusParameterPurview() Description returns the scope of a waitable status. Picam_GetStatusParameterPurview() Syntax The syntax for Picam_GetStatusParameterPurview() PICAM_API Picam_GetStatusParameterPurview( PicamHandle camera_or_accessory, PicamParameter parameter, const PicamStatusPurview** purview); Input Parameters Input parameters for are: Picam_GetStatusParameterPurview() camera_or_accessory: Handle for the hardware for which the status purview is being requested.
Page 157
Chapter 5 Configuration APIs 5.4.2.16 Picam_DestroyStatusPurviews() Description releases memory that has been allocated by Picam_DestroyStatusPurviews() PICam for use by the purviews_array If the is null, calling Picam_DestroyStatusPurviews()has no purviews_array effect. Syntax The syntax for Picam_DestroyStatusPurviews() PICAM_API Picam_DestroyStatusPurviews( const PicamStatusPurview* purviews_array); Input Parameters Input parameters for are:...
Page 158
PICam™ 5.x Programmer’s Manual Issue 11 5.4.2.17 Picam_EstimateTimeToStatusParameterValue() Description returns the estimated time, in Picam_EstimateTimeToStatusParameterValue() milliseconds, for a particular status to be reached. Syntax The syntax for Picam_EstimateTimeToStatusParameterValue() PICAM_API Picam_EstimateTimeToStatusParameterValue( PicamHandle camera_or_accessory, PicamParameter parameter, piint value, piint* estimated_time); Input Parameters Input parameters for are: Picam_EstimateTimeToStatusParameterValue()
Page 159
Chapter 5 Configuration APIs 5.4.2.18 Picam_WaitForStatusParameterValue() Description waits for a particular status to be reached Picam_WaitForStatusParameterValue() or until milliseconds has elapsed. time_out is returned if has elapsed. PicamError_TimeOutOccurred time_out Syntax The syntax for Picam_WaitForStatusParameterValue() PICAM_API Picam_WaitForStatusParameterValue( PicamHandle camera_or_accessory, PicamParameter parameter, piint value, piint time_out);...
PICam™ 5.x Programmer’s Manual Issue 11 5.4.3 Shared Camera/Accessory Parameter Information APIs This section provides programming information for APIs used to configure and retrieve shared camera and accessory parameter information. Picam_DestroyParameters() 5.4.3.1 Description releases memory that has been allocated by PICam for Picam_DestroyParameters() use by parameter_array...
Page 161
Chapter 5 Configuration APIs 5.4.3.2 Picam_GetParameters() Description returns a list of parameters that are available for the Picam_GetParameters() specified hardware. The number of parameters is also returned. Syntax The syntax for Picam_GetParameters() PICAM_API Picam_GetParameters( PicamHandle camera_or_accessory, const PicamParameter** parameter_array, piint* parameter_count); Input Parameters Input parameters for are:...
Page 162
PICam™ 5.x Programmer’s Manual Issue 11 5.4.3.3 Picam_DoesParameterExist() Description determines if a specified parameter is available for Picam_DoesParameterExist() the specified hardware. Syntax The syntax for Picam_DoesParameterExist() PICAM_API Picam_DoesParameterExist( PicamHandle camera_or_accessory, PicamParameter parameter, pibln* exists); Input Parameters Input parameters for are: Picam_DoesParameterExist() camera_or_accessory: Handle for the hardware under test.
Page 163
Chapter 5 Configuration APIs 5.4.3.4 Picam_IsParameterRelevant() Description determines if the value of a specified parameter is Picam_IsParameterRelevant() currently applicable for the specified hardware. Syntax The syntax for Picam_IsParameterRelevant() PICAM_API Picam_IsParameterRelevant( PicamHandle camera_or_accessory, PicamParameter parameter, pibln* relevant); Input Parameters Input parameters for are: Picam_IsParameterRelevant() camera_or_accessory: Handle for the hardware under test.
Page 164
PICam™ 5.x Programmer’s Manual Issue 11 5.4.3.5 Picam_GetParameterValueType() Description returns the data type for a value stored within a Picam_GetParameterValueType() specified parameter. Syntax The syntax for Picam_GetParameterValueType() PICAM_API Picam_GetParameterValueType( PicamHandle camera_or_accessory, PicamParameter parameter, PicamValueType* type); Input Parameters Input parameters for are: Picam_GetParameterValueType() camera_or_accessory: Handle for the hardware under test.
Page 165
Chapter 5 Configuration APIs 5.4.3.6 Picam_GetParameterEnumeratedType() Description Picam_GetParameterEnumeratedType()returns the enumeration type for a specified parameter. Syntax The syntax for Picam_GetParameterEnumeratedType() PICAM_API Picam_GetParameterEnumeratedType( PicamHandle camera_or_accessory, PicamParameter parameter, PicamEnumeratedType* type); Input Parameters Input parameters for are: Picam_GetParameterEnumeratedType() camera_or_accessory: Handle for the hardware under test. parameter: Specifies the parameter for which the enumeration type is being requested.
Page 166
PICam™ 5.x Programmer’s Manual Issue 11 5.4.3.7 Picam_GetParameterValueAccess() Description returns the read/write permissions for the Picam_GetParameterValueAccess() specified parameter. Syntax The syntax for Picam_GetParameterValueAccess() PICAM_API Picam_GetParameterValueAccess( PicamHandle camera_or_accessory, PicamParameter parameter, PicamValueAccess* access); Input Parameters Input parameters for are: Picam_GetParameterValueAccess() camera_or_accessory: Handle for the hardware under test. parameter: Specifies the parameter for which read/write permission is being requested.
Page 167
Chapter 5 Configuration APIs 5.4.3.8 Picam_GetParameterConstraintType() Description returns the type of constraint placed on a Picam_GetParameterConstraintType() specified parameter. Syntax The syntax for Picam_GetParameterConstraintType() PICAM_API Picam_GetParameterConstraintType( PicamHandle camera_or_accessory, PicamParameter parameter, PicamConstraintType* type); Input Parameters Input parameters for are: Picam_GetParameterConstraintType() camera_or_accessory: Handle for the hardware under test. parameter: Specifies the parameter for which constraint information is being requested.
PICam™ 5.x Programmer’s Manual Issue 11 5.4.4 Camera-Specific Parameter Constraints APIs This section provides programming information for APIs used to configure camera-specific parameter constraints. Picam_DestroyRoisConstraints() 5.4.4.1 Description releases memory that has been allocated by Picam_DestroyRoisConstraints() PICam for use by constraint_array is null, calling has no Picam_DestroyRoisConstraints()
Page 169
Chapter 5 Configuration APIs 5.4.4.2 Picam_GetParameterRoisConstraint() Description returns Roi constraints for a specified Picam_GetParameterRoisConstraint() constraint category and parameter combination. Syntax The syntax for Picam_GetParameterRoisConstraint() PICAM_API Picam_GetParameterRoisConstraint( PicamHandle camera, PicamParameter parameter, PicamConstraintCategory category, const PicamRoisConstraint** constraint); Input Parameters Input parameters for are: Picam_GetParameterRoisConstraint() camera: Handle for the camera for which constraint information is being...
Page 170
PICam™ 5.x Programmer’s Manual Issue 11 5.4.4.3 Picam_DestroyPulseConstraints() Description releases memory that has been allocated by Picam_DestroyPulseConstraints() PICam for use by constraint_array is null, calling has no Picam_DestroyPulseConstraints() constraint_array effect. NOTE: may be a single constraint_array allocated by PICam. PicamPulseConstraint Syntax The syntax for Picam_DestroyPulseConstraints()
Page 171
Chapter 5 Configuration APIs 5.4.4.4 Picam_GetParameterPulseConstraint() Description returns Pulse constraints for a specified Picam_GetParameterPulseConstraint() constraint category and parameter combination. Syntax The syntax for Picam_GetParameterPulseConstraint() PICAM_API Picam_GetParameterPulseConstraint( PicamHandle camera, PicamParameter parameter, PicamConstraintCategory category, const PicamPulseConstraint** constraint); Input Parameters Input parameters for are: Picam_GetParameterPulseConstraint() camera: Handle for the camera for which constraint information is being...
Page 172
PICam™ 5.x Programmer’s Manual Issue 11 5.4.4.5 Picam_DestroyModulationsConstraints() Description releases memory that has been Picam_DestroyModulationsConstraints() allocated by PICam for use by constraint_array is null, calling Picam_DestroyModulationsConstraints() constraint_array no effect. NOTE: may be a single constraint_array allocated by PICam. PicamModulationsConstraint Syntax The syntax for Picam_DestroyModulationsConstraints() PICAM_API Picam_DestroyModulationConstraints(...
Page 173
Chapter 5 Configuration APIs 5.4.4.6 Picam_GetParameterModulationsConstraint() Description returns intensifier modulation Picam_GetParameterModulationsConstraint() sequence constraints for a specified constraint category and parameter combination. Syntax The syntax for Picam_GetParameterModulationsConstraint() PICAM_API Picam_GetParameterModulationsConstraint( PicamHandle camera, PicamParameter parameter, PicamConstraintCategory category, const PicamModulationsConstraint** constraint); Input Parameters Input parameters for are: Picam_GetParameterModulationsConstraint() camera: Handle for the camera for which constraint information is being...
PICam™ 5.x Programmer’s Manual Issue 11 5.4.5 Shared Camera/Accessory Parameter Constraints APIs This section provides programming information for APIs used to configure shared camera and accessory parameter constraints. Picam_DestroyCollectionConstraints() 5.4.5.1 Description releases memory that has been Picam_DestroyCollectionConstraints() allocated by PICam for use by constraint_array is null, calling Picam_DestroyCollectionConstraints()
Page 175
Chapter 5 Configuration APIs 5.4.5.2 Picam_GetParameterRangeConstraint() Description returns range constraints for a specified Picam_GetParameterRangeConstraint() constraint category and parameter combination. Syntax The syntax for Picam_GetParameterRangeConstraint() PICAM_API Picam_GetParameterRangeConstraint( PicamHandle camera, PicamParameter parameter, PicamConstraintCategory category, const PicamRangeConstraint** constraint); Input Parameters Input parameters for are: Picam_GetParameterRangeConstraint() camera: Handle for the camera for which range constraints are being...
Page 176
PICam™ 5.x Programmer’s Manual Issue 11 5.4.5.3 Picam_GetParameterCollectionConstraint() Description returns constraint information for Picam_GetParameterCollectionConstraint() a specified constraint category and parameter combination. Syntax The syntax for Picam_GetParameterCollectionConstraint() PICAM_API Picam_GetParameterCollectionConstraint( PicamHandle camera_or_accessory, PicamParameter parameter, PicamConstraintCategory category, const PicamCollectionConstraint** constraint); Input Parameters Input parameters for are: Picam_GetParameterCollectionConstraint() camera_or_accessory: Handle for the hardware for which constraint information is being...
Page 177
Chapter 5 Configuration APIs 5.4.5.4 Picam_DestroyRangeConstraints() Description releases memory that has been allocated by Picam_DestroyRangeConstraints() PICam for use by constraint_array is null, calling has no Picam_DestroyRangeConstraints() constraint_array effect. NOTE: may be a single constraint_array allocated by PICam. PicamRangeConstraint Syntax The syntax for Picam_DestroyRangeConstraints() PICAM_API Picam_DestroyRangeConstraints( const PicamRangeConstraint* constraint_array);...
PICam™ 5.x Programmer’s Manual Issue 11 5.4.6 Shared Camera/Accessory Parameter Commitment APIs This section provides programming information about APIs used to commit parameter values. NOTE: Accessories are always considered committed since any changes to their parameters are applied directly to the hardware.
Page 179
Chapter 5 Configuration APIs 5.4.6.2 Picam_CommitParameters() Description validates parameter values and applies these valid Picam_CommitParameters() values to the specified hardware during system setup and configuration. • Any parameter that fails to satisfy its required constraint(s) is flagged as invalid and is stored within failed_parameter_array •...
Page 180
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Page 181
Chapter 6: Data Acquisition APIs Once system hardware has been configured and the parameters are committed, the system is ready to acquire data. Data can be acquired either synchronously or asynchronously. By default, memory is allocated automatically to accommodate the data. This automatic memory is valid until the next acquisition or until the hardware is closed.
Page 182
PICam™ 5.x Programmer’s Manual Issue 11 Data Format By default, the data is returned as follows: • One frame of sensor data containing each region of interest (in the order defined); • Followed by any metadata for that frame (timestamps followed by frame tracking, gate tracking delay, gate tracking width, and modulation tracking);...
Chapter 6 Data Acquisition APIs Data Type Definitions This section provides programming information about PICam data definitions. 6.2.1 Data Acquisition Enumerations This section provides detailed information about the following data acquisition enumerations: • PicamAcquisitionErrorsMask. 6.2.1.1 PicamAcquisitionErrorsMask Data Type is defined as PicamAcquisitionErrorsMask enum Description...
PICam™ 5.x Programmer’s Manual Issue 11 Data Acquisition Data Structures This section provides programming information about the following PICam data acquisition data structures: • PicamAvailableData; • PicamAcquisitionStatus. 6.3.1 PicamAvailableData Description represents newly acquired data. PicamAvailableData Structure Definition The structure definition for PicamAvailableData typedef struct PicamAvailableData void* initial_readout;...
Chapter 6 Data Acquisition APIs Programmers’ Reference for Acquisition Control APIs This section provides programming information for the following acquisition control APIs: • Picam_Acquire(); • Picam_StartAcquisition(); • Picam_StopAcquisition(); • Picam_IsAcquisitionRunning(); • Picam_WaitForAcquisitionUpdate(). 6.4.1 Picam_Acquire() Description performs a specified number of data readouts (specified by Picam_Acquire() readout_count) and returns once the acquisition has been completed.
Page 186
PICam™ 5.x Programmer’s Manual Issue 11 continued from previous page Input Parameters Input parameters for are: Picam_Acquire() camera: Handle for the hardware from which data are to be acquired. readout_count: The number of readouts desired. Valid values are in the range: [1…PicamParameter_ExactReadoutCount Maximum] If this value becomes excessively large, this function may fail due to...
Page 187
Chapter 6 Data Acquisition APIs 6.4.2 Picam_StartAcquisition() Description asynchronously initiates data acquisition and returns Picam_StartAcquisition() immediately. NOTE: Parameters must be committed prior to initiating data acquisition. Refer to Section 5.4.6.2, Picam_CommitParameters(), on page 179 for information. On success, data acquisition is running and continues until: •...
Page 188
PICam™ 5.x Programmer’s Manual Issue 11 6.4.3 Picam_StopAcquisition() Description asynchronously requests an in-progress data acquisition Picam_StopAcquisition() to halt and returns immediately. On success, the data acquisition will stop running sometime in the future after this function returns. The acquisition is stopped when returns FALSE or Picam_IsAcquisitionRunning() PicamAcquisitionStatus.running is FALSE.
Page 189
Chapter 6 Data Acquisition APIs 6.4.4 Picam_IsAcquisitionRunning() Description determines if there is an active data acquisition in Picam_IsAcquisitionRunning() process. NOTE: This function should not be used to wait for data to arrive. instead. Picam_WaitForAcquisitionUpdate() Syntax The syntax for Picam_IsAcquisitionRunning() PICAM_API Picam_IsAcquisitionRunning( PicamHandle camera, pibln* running);...
Page 190
PICam™ 5.x Programmer’s Manual Issue 11 6.4.5 Picam_WaitForAcquisitionUpdate() Description is used in combination with Picam_WaitForAcquisitionUpdate() and indicates when: Picam_StartAcquisition() • New data are available; or • The hardware’s status has changed. Usage must be continuously called until Picam_WaitForAcquisitionUpdate() . This is true regardless of any acquisition PicamAcquisitionStatus.running FALSE errors that may be returned or if...
Page 191
Chapter 6 Data Acquisition APIs continued from previous page Advanced API Usage When used in conjunction with Advanced APIs, data in the output buffer available also invalidated when is called (in the PicamAdvanced_SetAcquisitionBuffer() case of the last call.) Picam_WaitForAcquisitionUpdate() is mutually exclusive with the usage of an Picam_WaitForAcquisitionUpdate() acquisition-updated callback.
Page 192
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Chapter 7: Advanced Function APIs This chapter provides programming information about PICam advanced function APIs, including related data definitions and structures which are included in the file. picam_advanced.h Figure 7-1 illustrates a block diagram of the PICam Advanced Function structure. REFERENCES: Refer to Section 2.6.1,...
PICam™ 5.x Programmer’s Manual Issue 11 Data Type Definitions This section provides programming information about the following PICam advanced data definitions: • Shared Camera/Accessory Plug and Play Discovery Data Enumerations — PicamDiscoveryAction • Shared Camera/Accessory Access Enumerations — PicamHandleType • Shared Camera/Accessory Parameter Information Enumerations —...
Chapter 7 Advanced Function APIs 7.1.2 Shared Camera/Accessory Access Enumerations This section provides programming information about shared camera and accessory access data enumerations. PicamHandleType 7.1.2.1 Data Type is defined as PicamHandleType enum Description is the set of handle types. PicamHandleType Enumerator Definitions Refer to Table 7-2...
PICam™ 5.x Programmer’s Manual Issue 11 7.1.3 Shared Camera/Accessory Parameter Information Enumerations This section provides programming information about shared camera and accessory parameter information data enumerations. PicamDynamicsMask 7.1.3.1 Data Type is defined as PicamDynamicsMask enum Description is the set of descriptors for how parameters and their various PicamDynamicsMask attributes may or may not change.
Chapter 7 Advanced Function APIs 7.1.4 Camera-Specific Data Acquisition Enumerations This section provides programming information about camera-specific data acquisition enumerations. PicamAcquisitionState 7.1.4.1 Data Type is defined as PicamAcquisitionState enum Description is the set of camera states that can be detected during an PicamAcquisitionState acquisition.
PICam™ 5.x Programmer’s Manual Issue 11 Data Structures This section provides programming information about the following PICam data structures: • Camera-Specific Information Data Structures; — PicamPixelLocation — PicamColumnDefect — PicamRowDefect — PicamPixelDefectMap — PicamStarDefect — PicamStarDefectMap • Camera-Specific Parameter Validation Data Structures; —...
Page 199
Chapter 7 Advanced Function APIs 7.2.1.2 PicamColumnDefect Description specifies the location and size of a single defective column on PicamColumnDefect the sensor. Structure Definition The structure definition for PicamPixelLocation typedef struct PicamColumnDefect PicamPixelLocation start; piint height; } PicamColumnDefect; Variable Definitions The variables required by are: PicamPixelLocation...
Page 200
PICam™ 5.x Programmer’s Manual Issue 11 7.2.1.4 PicamPixelDefectMap Description is an array in which all defects for a specified sensor are PicamPixelDefectMap stored. Structure Definition The structure definition for PicamPixelDefectMap typedef struct PicamPixelDefectMap const PicamColumnDefect* column_defect_array; piint column_defect_count; const PicamRowDefect* row_defect_array; piint row_defect_count;...
Page 201
Chapter 7 Advanced Function APIs 7.2.1.5 PicamStarDefect Description specifies the location of the center of a “star” defect and additional PicamStarDefect information. A star defect is a pixel that leaks most of its charge where some of which go into its surrounding pixels. The leaky pixel and its neighbors make up the star. Structure Definition The structure definition for PicamStarDefect...
Page 202
PICam™ 5.x Programmer’s Manual Issue 11 7.2.1.6 PicamStarDefectMap Description is an array in which all star defects for a specified sensor are PicamStarDefectMap stored. The number, location and details of the star defects can vary depending on camera parameters, so a camera can have more than one such map. Structure Definition The structure definition for PicamStarDefectMap...
Chapter 7 Advanced Function APIs 7.2.2 Camera-Specific Parameter Validation Data Structures This section provides programming information about camera-specific parameter validation structures. PicamValidationResult 7.2.2.1 Description provides information about the validation status for a single PicamValidationResult parameter. Structure Definition The structure definition for PicamValidationResult typedef struct PicamValidationResult pibln is_valid;...
Page 204
PICam™ 5.x Programmer’s Manual Issue 11 7.2.2.2 PicamValidationResults Description provides information about the validation status for PicamValidationResults multiple parameters. Structure Definition The structure definition for PicamValidationResults typedef struct PicamValidationResults pibln is_valid; const PicamValidationResult* validation_result_array; piint validation_result_count; } PicamValidationResults; Variable Definitions The variables required by are: PicamValidationResults...
Page 205
Chapter 7 Advanced Function APIs 7.2.2.4 PicamDependentValidationResult Description provides information about the failed validation PicamDependentValidationResult of a parameter that is constrained by a second parameter. Structure Definition The structure definition for PicamDependentValidationResult typedef struct PicamDependentValidationResult pibln is_valid; PicamParameter constraining_parameter; const PicamFailedDependentParameter* failed_dependent_parameter_array;...
PICam™ 5.x Programmer’s Manual Issue 11 7.2.3 Camera-Specific Data Acquisition Data Structures This section provides programming information for camera-specific data acquisition structures. PicamAcquisitionBuffer 7.2.3.1 Description is a user-allocated buffer into which acquired data is PicamAcquisitionBuffer stored. Structure Definition The structure definition for PicamAcquisitionBuffer typedef struct PicamAcquisitionBuffer void* memory;...
Chapter 7 Advanced Function APIs Callback Functions This section provides programming information about the following callbacks used within PICam: • Camera-Specific Discovery Callbacks — PicamDiscoveryCallback() • Accessory-Specific Discovery Callbacks — PicamAccessoryDiscoveryCallback() • Camera-Specific Parameter Value Callbacks — PicamLargeIntegerValueChangedCallback() — PicamRoisValueChangedCallback() —...
PICam™ 5.x Programmer’s Manual Issue 11 7.3.1 Camera-Specific Discovery Callbacks This section provides programming information about camera-specific discovery callbacks. PicamDiscoveryCallback() 7.3.1.1 Description is the callback function for camera discovery. PicamDiscoveryCallback() Syntax The syntax for PicamDiscoveryCallback() typedef PicamError (PIL_CALL* PicamDiscoveryCallback) const PicamCameraID* id, PicamHandle device, PicamDiscoveryAction action);...
Chapter 7 Advanced Function APIs 7.3.3 Camera-Specific Parameter Value Callbacks This section provides programming information about camera-specific parameter value callbacks. PicamLargeIntegerValueChangedCallback() 7.3.3.1 Description is the change notification callback PicamLargeIntegerValueChangedCallback() function called when a parameter’s large integer value has been changed. Syntax The syntax for PicamLargeIntegerValueChangedCallback()
Page 210
PICam™ 5.x Programmer’s Manual Issue 11 7.3.3.3 PicamPulseValueChangedCallback() Description is the change notification callback function PicamPulseValueChangedCallback() called when a parameter’s gate pulse value has been changed. Syntax The syntax for PicamPulseValueChangedCallback() typedef PicamError (PIL_CALL* PicamPulseValueChangedCallback) PicamHandle camera, PicamParameter parameter, const PicamPulse* value); Input Parameters Input parameters for are:...
Chapter 7 Advanced Function APIs 7.3.4 Shared Camera/Accessory Parameter Value Callbacks This section provides programming information about shared camera and accessory parameter value callbacks. PicamIntegerValueChangedCallback() 7.3.4.1 Description is the change notification callback PicamIntegerValueChangedCallback() function called when a parameter’s integer value has been changed. Syntax The syntax for PicamIntegerValueChangedCallback()
Page 212
PICam™ 5.x Programmer’s Manual Issue 11 7.3.4.3 PicamWhenStatusParameterValueCallback() Description is the notification callback function PicamWhenStatusParameterValueCallback() called when a waitable status value has been met or an error has occurred. Syntax The syntax for PicamWhenStatusParameterValueCallback() typedef PicamError (PIL_CALL* PicamWhenStatusParameterValueCallback) PicamHandle device_or_accessory, PicamParameter parameter, piint value, PicamError error);...
Page 213
Chapter 7 Advanced Function APIs 7.3.4.5 PicamValueAccessChangedCallback() Description is the change notification callback function PicamValueAccessChangedCallback() called when a parameter’s value access has been changed. Syntax The syntax for PicamValueAccessChangedCallback() typedef PicamError (PIL_CALL* PicamValueAccessChangedCallback) PicamHandle camera_or_accessory, PicamParameter parameter, PicamValueAccess access); Input Parameters Input parameters for are: PicamValueAccessChangedCallback()
PICam™ 5.x Programmer’s Manual Issue 11 7.3.5 Camera-Specific Parameter Constraints Callbacks This section provides programming information about camera-specific parameter constraints callbacks. PicamDependentRoisConstraintChangedCallback() 7.3.5.1 Description is the change notification PicamDependentRoisConstraintChangedCallback() callback function called when a parameter’s dependent Rois constraints have been changed.
Page 215
Chapter 7 Advanced Function APIs 7.3.5.3 PicamDependentModulationsConstraintChangedCallback() Description is the change PicamDependentModulationsConstraintChangedCallback() notification callback function called when a parameter’s dependent intensifier modulations sequence constraints have been changed. Syntax The syntax for PicamDependentModulationsConstraintChangedCallback() typedef PicamError (PIL_CALL* PicamDependentModulationsConstraint ChangedCallback) PicamHandle camera, PicamParameter parameter, const PicamModulationsConstraint* constraint);...
PICam™ 5.x Programmer’s Manual Issue 11 7.3.6 Shared Camera/Accessory Parameter Constraints Callbacks This section provides programming information about shared camera and accessory parameter constraints callbacks. PicamDependentCollectionConstraintChangedCallback() 7.3.6.1 Description is the change PicamDependentCollectionConstraintChangedCallback() notification callback function called when a parameter’s dependent collection constraints have been changed.
Chapter 7 Advanced Function APIs 7.3.7 Camera-Specific Data Acquisition Callbacks This section provides programming information about camera-specific data acquisition callbacks. PicamAcquisitionUpdatedCallback() 7.3.7.1 Description is the change notification callback function PicamAcquisitionUpdatedCallback() called when a camera’s data acquisition status has changed. Syntax The syntax for PicamAcquisitionUpdatedCallback() typedef PicamError (PIL_CALL* PicamAcquisitionUpdatedCallback)
PICam™ 5.x Programmer’s Manual Issue 11 7.4.1 Camera-Specific Advanced Discovery APIs This section provides programming information for advanced camera-specific discovery APIs. PicamAdvanced_RegisterForDiscovery() 7.4.1.1 Description registers a function to call when camera PicamAdvanced_RegisterForDiscovery() discovery is made. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 221
Chapter 7 Advanced Function APIs 7.4.1.2 PicamAdvanced_UnregisterForDiscovery() Description removes the function from the PicamAdvanced_UnregisterForDiscovery() discovery process such that it is no longer called when a camera discovery is made. Syntax The syntax for PicamAdvanced_UnregisterForDiscovery() PICAM_API PicamAdvanced_UnregisterForDiscovery( PicamDiscoveryCallback discover); Input Parameters Input parameters for are: PicamAdvanced_UnregisterForDiscovery()
Page 222
PICam™ 5.x Programmer’s Manual Issue 11 7.4.1.4 PicamAdvanced_StopDiscoveringCameras() Description stops the camera discovery process. PicamAdvanced_StopDiscoveringCameras() Syntax The syntax for PicamAdvanced_StopDiscoveringCameras() PICAM_API PicamAdvanced_StopDiscoveringCameras (void); Input Parameters There are no input parameters associated with PicamAdvanced_StopDiscoveringCameras(). Output Parameters There are no output parameters associated with PicamAdvanced_StopDiscoveringCameras().
Chapter 7 Advanced Function APIs 7.4.2 Accessory-Specific Advanced Discovery APIs This section provides programming information for accessory-specific advanced discovery APIs. PicamAccessory_RegisterForDiscovery() 7.4.2.1 Description registers a function to call when PicamAccessory_RegisterForDiscovery() accessory discovery is made. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 224
PICam™ 5.x Programmer’s Manual Issue 11 7.4.2.2 PicamAccessory_UnregisterForDiscovery() Description removes the function from the PicamAccessory_UnregisterForDiscovery() discovery process such that it is no longer called when an accessory discovery is made. Syntax The syntax for PicamAccessory_UnregisterForDiscovery() PICAM_API PicamAccessory_UnregisterForDiscovery( PicamAccessoryDiscoveryCallback discover); Input Parameters Input parameters for are: PicamAccessory_UnregisterForDiscovery()
Page 225
Chapter 7 Advanced Function APIs 7.4.2.4 PicamAccessory_StopDiscoveringAccessories() Description stops the accessory discovery PicamAccessory_StopDiscoveringAccessories() process. Syntax The syntax for PicamAccessory_StopDiscoveringAccessories() PICAM_API PicamAccessory_StopDiscoveringAccessories (void); Input Parameters There are no input parameters associated with PicamAccessory_StopDiscoveringAccessories(). Output Parameters There are no output parameters associated with PicamAccessory_StopDiscoveringAccessories().
PICam™ 5.x Programmer’s Manual Issue 11 7.4.3 Camera-Specific Advanced Access APIs This section provides programming information for camera-specific advanced access APIs. PicamAdvanced_OpenCameraDevice() 7.4.3.1 Description opens the specified camera and returns a PicamAdvanced_OpenCameraDevice() handle to the device. When done, all resources that have been assigned for use by the camera/device must be released by calling: •...
Page 227
Chapter 7 Advanced Function APIs 7.4.3.3 PicamAdvanced_GetOpenCameraDevices() Description returns an allocated array of open PicamAdvanced_GetOpenCameraDevices() camera device handles. in device_array whose number of items is in device_count. Returns null and 0 (respectively) if no cameras are opened in this process Syntax The syntax for PicamAdvanced_GetOpenCameraDevices()
Page 228
PICam™ 5.x Programmer’s Manual Issue 11 7.4.3.5 PicamAdvanced_GetCameraDevice() Description returns the handle for a specified camera PicamAdvanced_GetCameraDevice() device. Syntax The syntax for PicamAdvanced_GetCameraDevice() PICAM_API PicamAdvanced_GetCameraDevice( PicamHandle camera, PicamHandle* device); Input Parameters Input parameters for are: PicamAdvanced_GetCameraDevice() camera: Specifies the camera device or camera model for which the handle is to be returned.
Chapter 7 Advanced Function APIs 7.4.4 Shared Camera/Accessory Advanced Access APIs This section provides programming information for shared camera and accessory advanced access APIs. PicamAdvanced_GetHandleType() 7.4.4.1 Description returns the type of handle for a specified handle. PicamAdvanced_GetHandleType() Syntax The syntax for PicamAdvanced_GetHandleType() PICAM_API PicamAdvanced_GetHandleType( PicamHandle handle,...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.5 Camera-Specific Information APIs This section provides programming information about advanced camera-specific information APIs. PicamAdvanced_DestroyPixelDefectMaps() 7.4.5.1 Description releases memory that has been PicamAdvanced_DestroyPixelDefectMaps() allocated by PICam for use by defect_map_array is null, calling PicamAdvanced_DestroyPixelDefectMaps() defect_map_array has no effect.
Page 231
Chapter 7 Advanced Function APIs 7.4.5.2 PicamAdvanced_GetPixelDefectMap() Description returns an allocated array/map in which PicamAdvanced_GetPixelDefectMap() defective pixel information for a specified camera is stored. Syntax The syntax for PicamAdvanced_GetPixelDefectMap() PICAM_API PicamAdvanced_GetPixelDefectMap( PicamHandle camera, const PicamPixelDefectMap** pixel_defect_map); Input Parameters Input parameters for are: PicamAdvanced_GetPixelDefectMap() camera: Handle for the camera for which...
Page 232
PICam™ 5.x Programmer’s Manual Issue 11 7.4.5.3 PicamAdvanced_DestroyStarDefectMaps() Description releases memory that has been allocated PicamAdvanced_DestroyStarDefectMaps() by PICam for use by star_defect_map_array is null, calling star_defect_map_array PicamAdvanced_DestroyStarDefectMaps()has no effect. NOTE: may be a single star_defect_map_array allocated by PICam. PicamStarDefect Syntax The syntax for PicamAdvanced_DestroyStarDefectMaps() PICAM_API PicamAdvanced_DestroyStarDefectMaps(...
Page 233
Chapter 7 Advanced Function APIs 7.4.5.4 PicamAdvanced_GetStarDefectMap() Description returns an allocated array/map in which star PicamAdvanced_GetStarDefectMap() defect information for a specific camera is stored. If there are multiple maps, the map returned is appropriate based on the current camera parameters. Syntax The syntax for PicamAdvanced_GetStarDefectMap()
Page 234
PICam™ 5.x Programmer’s Manual Issue 11 7.4.5.5 PicamAdvanced_GetStarDefectMaps() Description PicamAdvanced_GetStarDefectMaps()returns an allocated array of arrays/maps in which star defect information for a specific camera is stored. All star defect maps for the camera are returned. If there is more than one map, only one map applies based on the current camera parameters.
Chapter 7 Advanced Function APIs 7.4.6 Accessory-Specific Information APIs This section provides programming information about advanced accessory-specific information APIs. PicamAccessory_GetLightSourceReference() 7.4.6.1 Description returns a wavelength reference PicamAccessory_GetLightSourceReference() calibration for an accessory. NOTE: Prior to program termination, memory that has been dynamically allocated to must be calibration_array...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.7 Shared Camera/Accessory Advanced Information APIs This section provides programming information about shared camera and accessory advanced information APIs. 7.4.7.1 PicamAdvanced_GetUserState() Description returns user-state information for the specified PicamAdvanced_GetUserState() hardware. This is especially useful when using callbacks as this can give access to user- defined state within the callback.
Page 237
Chapter 7 Advanced Function APIs 7.4.7.2 PicamAdvanced_SetUserState() Description sets user-state information for the specified PicamAdvanced_SetUserState() hardware. This is especially useful when using callbacks as this can give access to user- defined state within the callback. NOTE: This API is thread safe. Syntax The syntax for PicamAdvanced_SetUserState()
PICam™ 5.x Programmer’s Manual Issue 11 7.4.8 Camera-Specific Advanced Parameter Value APIs This section provides programming information for camera-specific advanced parameter value APIs. PicamAdvanced_RegisterForLargeIntegerValueChanged() 7.4.8.1 Description registers a function PicamAdvanced_RegisterForLargeIntegerValueChanged() to call when the large integer value for specified camera parameter has been set, even if it is changed as a result of a different parameter’s value being changed.
Page 239
Chapter 7 Advanced Function APIs 7.4.8.2 PicamAdvanced_UnregisterForLargeIntegerValueChanged() Description removes the PicamAdvanced_UnregisterForLargeIntegerValueChanged() callback function so that it is no longer called when the large integer value for a specified parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForLargeIntegerValueChanged() PICAM_API PicamAdvanced_UnregisterForLargeIntegerValueChanged( PicamHandle camera, PicamParameter parameter, PicamLargeIntegerValueChangedCallback changed);...
Page 240
PICam™ 5.x Programmer’s Manual Issue 11 7.4.8.3 PicamAdvanced_RegisterForRoisValueChanged() Description PicamAdvanced_RegisterForRoisValueChanged()registers a function to call when the value of a specified Rois parameter has been set, even if it is changed as a result of a different parameter’s value being changed. NOTE: Multiple functions may be registered.
Page 241
Chapter 7 Advanced Function APIs 7.4.8.4 PicamAdvanced_UnregisterForRoisValueChanged() Description PicamAdvanced_UnregisterForRoisValueChanged()removes the callback function so that it is no longer called when the value of a specified Rois parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForRoisValueChanged() PICAM_API PicamAdvanced_UnregisterForRoisValueChanged( PicamHandle camera, PicamParameter parameter, PicamRoisValueChangedCallback changed);...
Page 242
PICam™ 5.x Programmer’s Manual Issue 11 7.4.8.5 PicamAdvanced_RegisterForPulseValueChanged() Description registers a function to call PicamAdvanced_RegisterForPulseValueChanged() when the value of a specified gate pulse parameter has been set, even if it is changed as a result of a different parameter’s value being changed. NOTE: Multiple functions may be registered.
Page 243
Chapter 7 Advanced Function APIs 7.4.8.6 PicamAdvanced_UnregisterForPulseValueChanged() Description removes the callback PicamAdvanced_UnregisterForPulseValueChanged() function so that it is no longer called when the value of a specified gate pulse parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForPulseValueChanged() PICAM_API PicamAdvanced_UnregisterForPulseValueChanged( PicamHandle camera, PicamParameter parameter, PicamPulseValueChangedCallback changed);...
Page 244
PICam™ 5.x Programmer’s Manual Issue 11 7.4.8.7 PicamAdvanced_RegisterForModulationsValueChanged() Description registers a function to PicamAdvanced_RegisterForModulationsValueChanged() call when the value of a specified intensifier modulation sequence parameter has been set, even if it is changed as a result of a different parameter’s value being changed. NOTE: Multiple functions may be registered.
Page 245
Chapter 7 Advanced Function APIs 7.4.8.8 PicamAdvanced_UnregisterForModulationsValueChanged() Description removes the PicamAdvanced_UnregisterForModulationsValueChanged() callback function so that it is no longer called when the value of an intensifier modulation sequence parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForModulationsValueChanged() PICAM_API PicamAdvanced_UnregisterForModulationsValueChanged( PicamHandle camera, PicamParameter parameter, PicamModulationsValueChangedCallback changed);...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.9 Shared Camera/Accessory Advanced Parameter Value APIs This section provides programming information for shared camera/accessory advanced parameter value APIs. PicamAdvanced_RegisterForIntegerValueChanged() 7.4.9.1 Description registers a function to call PicamAdvanced_RegisterForIntegerValueChanged() when the integer value for specified hardware parameter has been set, even if it is changed as a result of a different parameter’s value being changed.
Page 247
Chapter 7 Advanced Function APIs 7.4.9.2 PicamAdvanced_UnregisterForIntegerValueChanged() Description removes the callback PicamAdvanced_UnregisterForIntegerValueChanged() function so that it is no longer called when the integer value for a specified parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForIntegerValueChanged() PICAM_API PicamAdvanced_UnregisterForIntegerValueChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamIntegerValueChangedCallback changed);...
Page 248
PICam™ 5.x Programmer’s Manual Issue 11 7.4.9.3 PicamAdvanced_RegisterForExtrinsicIntegerValueChanged() Description registers a PicamAdvanced_RegisterForExtrinsicIntegerValueChanged() function to call when the integer value for specified hardware parameter has changed due to external influences (e.g., representing the status of hardware). NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 249
Chapter 7 Advanced Function APIs 7.4.9.4 PicamAdvanced_UnregisterForExtrinsicIntegerValueChanged() Description removes the PicamAdvanced_UnregisterForExtrinsicIntegerValueChanged() callback function so that it is no longer called when the integer value for a specified parameter is changed due to external influences (e.g., representing the status of camera hardware).
Page 250
PICam™ 5.x Programmer’s Manual Issue 11 7.4.9.5 PicamAdvanced_RegisterForFloatingPointValueChanged() Description registers a function PicamAdvanced_RegisterForFloatingPointValueChanged() to call when the floating point value for specified hardware parameter has been set, even if it is changed as a result of a different parameter’s value being changed. NOTE: Multiple functions may be registered.
Page 251
Chapter 7 Advanced Function APIs 7.4.9.6 PicamAdvanced_UnregisterForFloatingPointValueChanged() Description removes the PicamAdvanced_UnregisterForFloatingPointValueChanged() callback function so that it is no longer called when the floating point value for a specified parameter is changed. Syntax The syntax for PicamAdvanced_UnregisterForFloatingPointValueChanged() PICAM_API PicamAdvanced_UnregisterForFloatingPointValueChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamFloatingPointValueChangedCallback changed);...
Page 252
PICam™ 5.x Programmer’s Manual Issue 11 7.4.9.7 PicamAdvanced_RegisterForExtrinsicFloatingPointValueChanged() Description PicamAdvanced_RegisterForExtrinsicFloatingPointValueChanged() registers a function to call when the floating point value for specified hardware parameter has changed due to external influences (e.g., representing the status of hardware). NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 253
Chapter 7 Advanced Function APIs 7.4.9.8 PicamAdvanced_UnregisterForExtrinsicFloatingPointValueChanged() Description PicamAdvanced_UnregisterForExtrinsicFloatingPointValueChanged() removes the callback function so that it is no longer called when the floating point value for a specified parameter is changed due to external influences (e.g., representing the status of hardware). Syntax The syntax for PicamAdvanced_UnregisterForExtrinsicFloatingPointValueChanged()
Page 254
PICam™ 5.x Programmer’s Manual Issue 11 7.4.9.9 PicamAdvanced_NotifyWhenStatusParameterValue() Description sets a function to call once PicamAdvanced_NotifyWhenStatusParameterValue() when the value of a specified status has been met or when an error has occurred. NOTE: Multiple functions may be set. When this is the case, the functions are called in the order in which they have been set.
Page 255
Chapter 7 Advanced Function APIs 7.4.9.10 PicamAdvanced_CancelNotifyWhenStatusParameterValue() Description cancels a function PicamAdvanced_CancelNotifyWhenStatusParameterValue() to call once when the value of a specified status has been met or when an error has occurred. Syntax The syntax for PicamAdvanced_CancelNotifyWhenStatusParameterValue() PICAM_API PicamAdvanced_CancelNotifyWhenStatusParameterValue( PicamHandle device_or_accessory, PicamParameter parameter, piint value, PicamWhenStatusParameterValueCallback when);...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.10 Shared Camera/Accessory Advanced Parameter Information APIs This section provides programming information for camera and accessory advanced parameter information APIs. PicamAdvanced_RegisterForIsRelevantChanged() 7.4.10.1 Description PicamAdvanced_RegisterForIsRelevantChanged()registers a function to call when the relevance for a parameter has been changed, even if it is changed as a result of a different parameter’s value being changed.
Page 257
Chapter 7 Advanced Function APIs 7.4.10.2 PicamAdvanced_UnregisterForIsRelevantChanged() Description removes the callback PicamAdvanced_UnregisterForIsRelevantChanged() function so that it is no longer called when the relevance for a parameter has been changed. Syntax The syntax for PicamAdvanced_UnregisterForIsRelevantChanged() PICAM_API PicamAdvanced_UnregisterForIsRelevantChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamIsRelevantChangedCallback changed);...
Page 258
PICam™ 5.x Programmer’s Manual Issue 11 7.4.10.3 PicamAdvanced_RegisterForValueAccessChanged() Description registers a function to call PicamAdvanced_RegisterForValueAccessChanged() when the value access for a parameter has been changed, even if it is changed as a result of a different parameter’s value being changed. NOTE: Multiple functions may be registered.
Page 259
Chapter 7 Advanced Function APIs 7.4.10.4 PicamAdvanced_UnregisterForValueAccessChanged() Description removes the callback PicamAdvanced_UnregisterForValueAccessChanged() function so that it is no longer called when the value access for a parameter has been changed. Syntax The syntax for PicamAdvanced_UnregisterForValueAccessChanged() PICAM_API PicamAdvanced_UnregisterForValueAccessChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamValueAccessChangedCallback changed);...
Page 260
PICam™ 5.x Programmer’s Manual Issue 11 7.4.10.6 PicamAdvanced_GetParameterExtrinsicDynamics() Description returns the dynamics for a PicamAdvanced_GetParameterExtrinsicDynamics() specified parameter that can change due to external influences (e.g., representing the status of hardware). Syntax The syntax for PicamAdvanced_GetParameterExtrinsicDynamics() PICAM_API PicamAdvanced_GetParameterExtrinsicDynamics( PicamHandle camera_or_accessory, PicamParameter parameter, PicamDynamicsMask* extrinsic);...
Chapter 7 Advanced Function APIs 7.4.11 Camera-Specific Advanced Parameter Constraints APIs This section provides programming information for camera-specific advanced parameter constraint APIs. PicamAdvanced_GetParameterRoisConstraints() 7.4.11.1 Description returns an allocated array in PicamAdvanced_GetParameterRoisConstraints() which all Rois constraints for a specified camera parameter are stored. Syntax The syntax for PicamAdvanced_GetParameterRoisConstraints()
Page 262
PICam™ 5.x Programmer’s Manual Issue 11 7.4.11.2 PicamAdvanced_RegisterForDependentRoisConstraintChanged() Description registers a PicamAdvanced_RegisterForDependentRoisConstraintChanged() function to call when any dependent Rois constraint has been changed due to the setting of a DIFFERENT parameter’s value. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 263
Chapter 7 Advanced Function APIs 7.4.11.3 PicamAdvanced_UnregisterForDependentRoisConstraintChanged() Description removes PicamAdvanced_UnregisterForDependentRoisConstraintChanged() the callback function so that it is no longer called when any dependent Rois constraint has been changed. Syntax The syntax for PicamAdvanced_UnregisterForDependentRoisConstraintChanged() PICAM_API PicamAdvanced_UnregisterForDependentRoisConstraintChanged( PicamHandle camera, PicamParameter parameter, PicamDependentRoisConstraintChangedCallback changed); Input Parameters Input parameters for are:...
Page 264
PICam™ 5.x Programmer’s Manual Issue 11 7.4.11.4 PicamAdvanced_GetParameterPulseConstraints() Description returns an allocated array in PicamAdvanced_GetParameterPulseConstraints() which all Pulse constraints for a specified camera parameter are stored. Syntax The syntax for PicamAdvanced_GetParameterPulseConstraints() PICAM_API PicamAdvanced_GetParameterPulseConstraints( PicamHandle camera, PicamParameter parameter, const PicamPulseConstraint** constraint_array, piint* constraint_count);...
Page 265
Chapter 7 Advanced Function APIs 7.4.11.5 PicamAdvanced_RegisterForDependentPulseConstraintChanged() Description registers a PicamAdvanced_RegisterForDependentPulseConstraintChanged() function to call when any dependent Pulse constraint has been changed due to the setting of a DIFFERENT parameter’s value. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 266
PICam™ 5.x Programmer’s Manual Issue 11 7.4.11.6 PicamAdvanced_UnregisterForDependentPulseConstraintChanged() Description removes PicamAdvanced_UnregisterForDependentPulseConstraintChanged() the callback function so that it is no longer called when any dependent Pulse constraint has been changed. Syntax The syntax for PicamAdvanced_UnregisterForDependentPulseConstraintChanged() PICAM_API PicamAdvanced_UnregisterForDependentPulseConstraintChanged( PicamHandle camera, PicamParameter parameter, PicamDependentPulseConstraintChangedCallback changed);...
Page 267
Chapter 7 Advanced Function APIs 7.4.11.7 PicamAdvanced_GetParameterModulationsConstraints() Description returns an allocated PicamAdvanced_GetParameterModulationsConstraints() array in which all Modulation constraints for a specified camera parameter are stored. Syntax The syntax for PicamAdvanced_GetParameterModulationsConstraints() PICAM_API PicamAdvanced_GetParameterModulationsConstraints( PicamHandle camera, PicamParameter parameter, const PicamModulationsConstraint** constraint_array, piint* constraint_count); Input Parameters Input parameters for PicamAdvanced_GetParameterModulationsConstraints()
Page 268
PICam™ 5.x Programmer’s Manual Issue 11 7.4.11.8 PicamAdvanced_RegisterForDependentModulationsConstraintChanged() Description PicamAdvanced_RegisterForDependentModulationsConstraintChanged() registers a function to call when any dependent Modulation constraint has been changed due to the setting of a DIFFERENT parameter’s value. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 269
Chapter 7 Advanced Function APIs 7.4.11.9 PicamAdvanced_UnregisterForDependentModulationsConstraintChanged() Description PicamAdvanced_UnregisterForDependentModulationsConstraintChanged() removes the callback function so that it is no longer called when any dependent Modulation constraint has been changed. Syntax The syntax for PicamAdvanced_UnregisterForDependentModulationsConstraintChanged() PICAM_API PicamAdvanced_UnregisterForDependentModulations ConstraintChanged( PicamHandle camera, PicamParameter parameter, PicamDependentModulationsConstraintChangedCallback changed);...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.12 Shared Camera/Accessory Advanced Parameter Constraints APIs This section provides programming information for camera and accessory advanced parameter constraint APIs. PicamAdvanced_GetParameterCollectionConstraints() 7.4.12.1 Description returns an allocated PicamAdvanced_GetParameterCollectionConstraints() array in which all collection constraints for a specified hardware parameter are stored. Syntax The syntax for PicamAdvanced_GetParameterCollectionConstraints()
Page 271
Chapter 7 Advanced Function APIs 7.4.12.2 PicamAdvanced_RegisterForDependentCollectionConstraintChanged() Description PicamAdvanced_RegisterForDependentCollectionConstraintChanged() registers a function to call when any dependent collection constraint has been changed due to the setting of a DIFFERENT parameter’s value. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 272
PICam™ 5.x Programmer’s Manual Issue 11 7.4.12.3 PicamAdvanced_UnregisterForDependentCollectionConstraintChanged() Description PicamAdvanced_UnregisterForDependentCollectionConstraintChanged() removes the callback function so that it is no longer called when any dependent collection constraint has been changed. Syntax The syntax for PicamAdvanced_UnregisterForDependentCollectionConstraintChanged() PICAM_API PicamAdvanced_UnregisterForDependentCollection ConstraintChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamDependentCollectionConstraintChangedCallback changed);...
Page 273
Chapter 7 Advanced Function APIs 7.4.12.4 PicamAdvanced_GetParameterRangeConstraints() Description returns an allocated array in PicamAdvanced_GetParameterRangeConstraints() which all range constraints for a specified hardware parameter are stored. Syntax The syntax for PicamAdvanced_GetParameterRangeConstraints() PICAM_API PicamAdvanced_GetParameterRangeConstraints( PicamHandle camera_or_accessory, PicamParameter parameter, const PicamRangeConstraint** constraint_array, piint* constraint_count); Input Parameters Input parameters for are:...
Page 274
PICam™ 5.x Programmer’s Manual Issue 11 7.4.12.5 PicamAdvanced_RegisterForDependentRangeConstraintChanged() Description registers a PicamAdvanced_RegisterForDependentRangeConstraintChanged() function to call when any dependent range constraint has been changed due to the setting of a DIFFERENT parameter’s value. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 275
Chapter 7 Advanced Function APIs 7.4.12.6 PicamAdvanced_UnregisterForDependentRangeConstraintChanged() Description removes PicamAdvanced_UnregisterForDependentRangeConstraintChanged() the callback function so that it is no longer called when any dependent range constraint has been changed. Syntax The syntax for PicamAdvanced_UnregisterForDependentRangeConstraintChanged() PICAM_API PicamAdvanced_UnregisterForDependentRangeConstraintChanged( PicamHandle camera_or_accessory, PicamParameter parameter, PicamDependentRangeConstraintChangedCallback changed); Input Parameters Input parameters for are:...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.13 Camera-Specific Advanced Commitment APIs This section provides programming information for camera-specific advanced commitment APIs. Picam_DestroyValidationResult() 7.4.13.1 Description releases memory that has been allocated by Picam_DestroyValidationResult() PICam for use by result is null, calling has no effect.
Page 277
Chapter 7 Advanced Function APIs 7.4.13.3 PicamAdvanced_ValidateParameter() Description PicamAdvanced_ValidateParameter()validates a single, specified parameter against all associated constraints and returns the results. Syntax The syntax for PicamAdvanced_ValidateParameter() PICAM_API PicamAdvanced_ValidateParameter( PicamHandle model, PicamParameter parameter, const PicamValidationResult** result); Input Parameters Input parameters for are: PicamAdvanced_ValidateParameter() model: Handle for the model for which the parameter is being validated.
Page 278
PICam™ 5.x Programmer’s Manual Issue 11 7.4.13.4 PicamAdvanced_ValidateParameters() Description validates all parameters against all PicamAdvanced_ValidateParameters() associated constraints and returns the results. Syntax The syntax for PicamAdvanced_ValidateParameters() PICAM_API PicamAdvanced_ValidateParameters( PicamHandle model, const PicamValidationResults** results); Input Parameters Input parameters for are: PicamAdvanced_ValidateParameters() model: Handle for the model for which all parameters are being validated.
Page 279
Chapter 7 Advanced Function APIs 7.4.13.6 PicamAdvanced_ValidateDependentParameter() Description validates all parameters of a PicamAdvanced_ValidateDependentParameter() specified model whose constraints are dependent on a specified parameter. Syntax The syntax for PicamAdvanced_ValidateDependentParameter() PICAM_API PicamAdvanced_ValidateDependentParameter( PicamHandle model, PicamParameter parameter, const PicamDependentValidationResult** result); Input Parameters Input parameters for are: PicamAdvanced_ValidateDependentParameter()
Page 280
PICam™ 5.x Programmer’s Manual Issue 11 7.4.13.8 PicamAdvanced_RefreshParameterFromCameraDevice() Description updates a single PicamAdvanced_RefreshParameterFromCameraDevice() parameter’s value stored in with the value from the connected camera device. model Syntax The syntax for PicamAdvanced_RefreshParameterFromCameraDevice() PICAM_API PicamAdvanced_RefreshParameterFromCameraDevice( PicamHandle model, PicamParameter parameter); Input Parameters Input parameters for PicamAdvanced_RefreshParameterFromCameraDevice() are: model: Handle for the model for which the parameter’s value is to be...
Chapter 7 Advanced Function APIs 7.4.14 Camera-Specific Advanced Acquisition Setup APIs This section provides programming information about camera-specific advanced acquisition setup APIs. PicamAdvanced_GetAcquisitionBuffer() 7.4.14.1 Description returns the user-allocated buffer to be PicamAdvanced_GetAcquisitionBuffer() used during data acquisition. Syntax The syntax for PicamAdvanced_GetAcquisitionBuffer() PICAM_API PicamAdvanced_GetAcquisitionBuffer( PicamHandle device,...
PICam™ 5.x Programmer’s Manual Issue 11 7.4.15 Camera-Specific Advanced Acquisition Notification APIs This section provides programming information for camera-specific advanced acquisition notification APIs. PicamAdvanced_RegisterForAcquisitionUpdated() 7.4.15.1 Description registers a function to call PicamAdvanced_RegisterForAcquisitionUpdated() during data acquisition when: • New data are available, or •...
Page 283
Chapter 7 Advanced Function APIs 7.4.15.2 PicamAdvanced_UnregisterForAcquisitionUpdated() Description removes the callback PicamAdvanced_UnregisterForAcquisitionUpdated() function so that it is no longer called during data acquisition. Syntax The syntax for PicamAdvanced_UnregisterForAcquisitionUpdated() PICAM_API PicamAdvanced_UnregisterForAcquisitionUpdated( PicamHandle device, PicamAcquisitionUpdatedCallback updated); Input Parameters Input parameters for are: PicamAdvanced_UnregisterForAcquisitionUpdated() device: Handle for the device for which the callback is being unregistered.
PICam™ 5.x Programmer’s Manual Issue 11 7.4.16 Camera-Specific Advanced Acquisition State Notification APIs This section provides programming information for camera-specific advanced acquisition state notification APIs. PicamAdvanced_CanRegisterForAcquisitionStateUpdated() 7.4.16.1 Description determines if an PicamAdvanced_CanRegisterForAcquisitionStateUpdated() acquisition state can be detected. Syntax The syntax for PicamAdvanced_CanRegisterForAcquisitionStateUpdated() PICAM_API PicamAdvanced_CanRegisterForAcquisitionStateUpdated( PicamHandle device,...
Page 285
Chapter 7 Advanced Function APIs 7.4.16.2 PicamAdvanced_RegisterForAcquisitionStateUpdated() Description registers a function to PicamAdvanced_RegisterForAcquisitionStateUpdated() call during data acquisition when the camera transitions to an acquisition state. NOTE: Multiple functions may be registered. When this is the case, the functions are called in the order in which they have been registered.
Page 286
PICam™ 5.x Programmer’s Manual Issue 11 7.4.16.3 PicamAdvanced_UnregisterForAcquisitionStateUpdated() Description removes the PicamAdvanced_UnregisterForAcquisitionStateUpdated() callback function so that it is no longer called during data acquisition. Syntax The syntax for PicamAdvanced_UnregisterForAcquisitionStateUpdated() PICAM_API PicamAdvanced_UnregisterForAcquisitionStateUpdated( PicamHandle device, PicamAcquisitionState state, PicamAcquisitionStateUpdatedCallback updated); Input Parameters Input parameters for are: PicamAdvanced_UnregisterForAcquisitionStateUpdated() device: Handle for the device for which the callback is being unregistered.
Chapter 7 Advanced Function APIs 7.4.17 Camera-Specific Advanced Acquisition Control APIs This section provides programming information for camera-specific advance acquisition control APIs. PicamAdvanced_HasAcquisitionBufferOverrun() 7.4.17.1 Description determines if a user-allocated PicamAdvanced_HasAcquisitionBufferOverrun() circular buffer has overflowed. Syntax The syntax for PicamAdvanced_HasAcquisitionBufferOverrun() PICAM_API PicamAdvanced_HasAcquisitionBufferOverrun( PicamHandle device, pibln* overran);...
Page 288
PICam™ 5.x Programmer’s Manual Issue 11 7.4.17.2 PicamAdvanced_CanClearReadoutCountOnline() Description indicates if it is possible to set PicamAdvanced_CanClearReadoutCountOnline() the readout count to 0 [zero] while the camera is running. Syntax The syntax for PicamAdvanced_CanClearReadoutCountOnline() PICAM_API PicamAdvanced_CanClearReadoutCountOnline( PicamHandle device, pibln* clearable); Input Parameters Input parameters for are: PicamAdvanced_CanClearReadoutCountOnline()
Page 289
Chapter 7 Advanced Function APIs 7.4.17.3 PicamAdvanced_ClearReadoutCountOnline() Description tries to set the readout count to 0 PicamAdvanced_ClearReadoutCountOnline() [zero] while the camera is running. Syntax The syntax for PicamAdvanced_ClearReadoutCountOnline() PICAM_API PicamAdvanced_ClearReadoutCountOnline( PicamHandle device, pibln* cleared); Input Parameters Input parameters for are: PicamAdvanced_ClearReadoutCountOnline() device: Handle for the device for which the status of the readout count is being tested.
Page 290
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Chapter 8: EM Calibration APIs This chapter provides information about the EM gain calibration APIs. All functions, data definitions, and structures are located in the file. picam_em_calibration.h NOTE: The information and APIs described within this chapter are NOT applicable to emICCD cameras. EM Calibration Applications Each ProEM or Evolve camera is factory-calibrated for linear EM Gain.
PICam™ 5.x Programmer’s Manual Issue 11 Structure Definitions This section provides programming information about PICam structure definitions. 8.2.1 EM Calibration Structures This section provides detailed programming information about the following EM Calibration data structures: • PicamEMCalibrationDate 8.2.1.1 PicamEMCalibrationDate Description specifies the calibration date. PicamEMCalibrationDate Structure Definition The structure definition for...
Chapter 8 EM Calibration APIs Callback Functions This section provides programming information about callback functions used by PICam 8.3.1 EM Calibration This section provides information about the following callback functions: • PicamEMCalibrationCallback(). 8.3.1.1 PicamEMCalibrationCallback() Description is the callback function for EM calibration progress PicamEMCalibrationCallback() and/or cancellation.
PICam™ 5.x Programmer’s Manual Issue 11 Programmers’ Reference for EM Calibration APIs This section provides a detailed programmers’ reference guide for the following EM Calibration APIs: • EM Calibration Access APIs — PicamEMCalibration_OpenCalibration() — PicamEMCalibration_CloseCalibration() — PicamEMCalibration_GetOpenCalibrations() — PicamEMCalibration_GetCameraID() • EM Calibration Parameter Value APIs —...
Page 295
Chapter 8 EM Calibration APIs 8.4.1.2 PicamEMCalibration_CloseCalibration() Description releases all resources that have been PicamEMCalibration_CloseCalibration() associated with a specified calibration process. Syntax The syntax for PicamEMCalibration_CloseCalibration() PICAM_API PicamEMCalibration_CloseCalibration( PicamHandle calibration); Input Parameters Input parameters for are: PicamEMCalibration_CloseCalibration() calibration: Pointer to the handle for the calibration process for which resources are to be released.
Page 296
PICam™ 5.x Programmer’s Manual Issue 11 8.4.1.4 PicamEMCalibration_GetCameraID() Description returns the camera id associated with a PicamEMCalibration_GetCameraID() specified calibration process. Syntax The syntax for PicamEMCalibration_GetCameraID() PICAM_API PicamEMCalibration_GetCameraID( PicamHandle calibration, PicamCameraID* id); Input Parameters Input parameters for are: PicamEMCalibration_GetCameraID() calibration: Handle associated with the calibration process for which the associated camera is to be determined.
Chapter 8 EM Calibration APIs 8.4.2 EM Calibration Parameter Value APIs This section provides programming information about EM Calibration Parameter Value APIs. PicamEMCalibration_GetCalibrationDate() 8.4.2.1 Description returns the date of the most recent PicamEMCalibration_GetCalibrationDate() successful calibration. Syntax The syntax for PicamEMCalibration_GetCalibrationDate() PICAM_API PicamEMCalibration_GetCalibrationDate( PicamHandle calibration, PicamEMCalibrationDate* value);...
Page 298
PICam™ 5.x Programmer’s Manual Issue 11 8.4.2.3 PicamEMCalibration_ReadSensorTemperatureStatus() Description returns the status of the PicamEMCalibration_ReadSensorTemperatureStatus() current sensor temperature for a specified camera. NOTE: Calibration cannot begin until the status of the current sensor temperature is locked. Syntax The syntax for PicamEMCalibration_ReadSensorTemperatureStatus() PICAM_API PicamEMCalibration_ReadSensorTemperatureStatus( PicamHandle calibration,...
Page 299
Chapter 8 EM Calibration APIs 8.4.2.4 PicamEMCalibration_GetSensorTemperatureSetPoint() Description returns the PicamEMCalibration_GetSensorTemperatureSetPoint() temperature set point that has been programmed for a specified camera. Syntax The syntax for PicamEMCalibration_GetSensorTemperatureSetPoint() PICAM_API PicamEMCalibration_GetSensorTemperatureSetPoint( PicamHandle calibration, piflt* value); Input Parameters Input parameters for PicamEMCalibration_GetSensorTemperatureSetPoint() are: calibration: Handle of the camera for which the programmed temperature set point is to be determined.
PICam™ 5.x Programmer’s Manual Issue 11 8.4.3 EM Calibration Parameter Constraints APIs This section provides programming information about EM Calibration Parameter Constraint APIs. PicamEMCalibration_GetSensorTemperatureSetPointConstraint() 8.4.3.1 Description returns an PicamEMCalibration_GetSensorTemperatureSetPointConstraint() allocated constraint in which the set of valid temperature set points, in degrees Celsius, for a specified camera is stored.
Chapter 8 EM Calibration APIs 8.4.4 EM Calibration APIs This section provides programming information about EM Calibration APIs. 8.4.4.1 PicamEMCalibration_Calibrate() Description calibrates the EM Gain for a specified camera. PicamEMCalibration_Calibrate() NOTE: Calibration cannot begin until the status of the current sensor temperature is locked.
Page 302
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Appendix A: Available Parameters NOTES: Parameters are listed using a truncated version of their names (e.g., the prefix has been PicamParameter_ dropped.) For example, the parameter named is listed as PicamParameter_ExposureTime ExposureTime 2. An asterisk indicates that the parameter does not apply to all members of a camera family.
Page 304
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 2 of 15) Parameter Name Value Type Constraint Type Permission ExternalShut terType * InactiveShut terTimingM odeResult InternalShut terStatus ...
Page 305
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 3 of 15) Parameter Name Value Type Constraint Type Permission Sequential StartingGate Intensifier * Bracket Gating Custom * Modulation Sequence * EMIccdGain * EMIccdGain ControlMode Enable Intensifier Enable...
Page 306
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 4 of 15) Parameter Name Value Type Constraint Type Permission Phosphor Type Photocathode Sensitivity * Repetitive Modulation Phase Sequential * Ending Modulation Phase * Sequential Starting Modulation...
Page 307
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 5 of 15) Parameter Name Value Type Constraint Type Permission Hardware I/O * Anticipate Trigger AuxOutput * DelayFrom PreTrigger EnableAux Output Enable * Modulation OutputSignal ...
Page 308
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 6 of 15) Parameter Name Value Type Constraint Type Permission Trigger Determinatio Trigger...
Page 309
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 7 of 15) Parameter Name Value Type Constraint Type Permission Readout Control Accumulation Enable Nondestructi Readout * ...
Page 310
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 8 of 15) Parameter Name Value Type Constraint Type Permission ...
Page 311
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 9 of 15) Parameter Name Value Type Constraint Type Permission ReadoutStrid Rois ...
Page 312
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 10 of 15) Parameter Name Value Type Constraint Type Permission Sensor Information CcdCharacter istics ...
Page 313
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 11 of 15) Parameter Name Value Type Constraint Type Permission Sensor Secondary MaskedHeight...
Page 314
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 12 of 15) Parameter Name Value Type Constraint Type Permission Sensor Layout ActiveBottom Margin * ActiveExtend edHeight...
Page 315
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 13 of 15) Parameter Name Value Type Constraint Type Permission Sensor Cleaning * * CleanBefore Exposure ...
Page 316
PICam™ 5.x Programmer’s Manual Issue 11 Table A-2: Parameter Information and Camera Support (Sheet 14 of 15) Parameter Name Value Type Constraint Type Permission ...
Page 317
Appendix A Available Parameters Table A-2: Parameter Information and Camera Support (Sheet 15 of 15) Parameter Name Value Type Constraint Type Permission Spectrograph Center Wavelength Reading Center WavelengthSe Point Center Wavelength Status FocalLength ...
PICam™ 5.x Programmer’s Manual Issue 11 Accessory Parameter Information Refer to Table A-3 for the list of available Accessory parameters. Table A-3: Parameter Information and Accessory Support Parameter Name Laser * InputTriggerStatus * LaserOutputMode LaserPower LaserStatus ...
Appendix B: EM Gain Calibration Code Sample CAUTION! The information provided within this appendix is NOT applicable to emICCD cameras. file is sample code included with PICam which, when EMGainCalibration.exe built, allows PICam users to perform an EM Gain Calibration that may occasionally be required by ProEM or Evolve systems.
PICam™ 5.x Programmer’s Manual Issue 11 4. Launch EMGainCalibration.exe. CAUTION! Do not operate the camera while EM gain calibration is in process. 5. When the EM Gain Calibration dialog is displayed, the default temperature for the camera is shown in the Target field. See Figure B-1.
Appendix C: Firmware Upgrade/Restore This appendix provides the procedures to upgrade and restore a GigE camera’s firmware. NOTE: It is strongly recommended that cameras be upgraded one at a time to avoid confusion. Firmware Upgrade Procedure Perform the following procedure to upgrade a GigE camera’s firmware to be compatible with PICam 5.x: On the Host Computer, navigate to the following directory: c:\program files\princeton instruments\picam\firmware...
PICam™ 5.x Programmer’s Manual Issue 11 3. Within the Available IP Engines field, select the desired IP Engine from the list of available devices. NOTE: Each IP Engine listed represents one camera. Figure C-2. Figure C-2: Firmware Upgrade: Selecting Device to be Upgraded 4.
Appendix C Firmware Upgrade/Restore 5. Once the upgrade is complete, click OK on the Updating dialog. See Figure C-4. Figure C-4: Firmware Upgrade: Upgrade Complete 6. Finally, cycle power to the camera to complete the Firmware Upgrade. Restore Firmware In the unlikely event that PICam 3.x firmware must be restored onto a camera, this section provides detailed information about using the Princeton Instruments provided Firmware Restore tool.
PICam™ 5.x Programmer’s Manual Issue 11 C.2.2 Procedure Perform the following procedure: On the Host Computer, navigate to the following directory: c:\program files\princeton instruments\picam\firmware 2. Double-click on the file to launch the firmware restore tool. Firmware_Restore.exe The IP Engine Selection dialog is displayed. See Figure C-5.
Appendix C Firmware Upgrade/Restore 4. Once selected, click to begin restoring the firmware. The Updating dialog is displayed, similar to that shown in Figure C-7. Figure C-7: Firmware Restore: Typical Updating Dialog As the firmware restoration proceeds, the dialog displays appropriate messages, and the progress bar provides a visual indication.
Page 326
PICam™ 5.x Programmer’s Manual Issue 11 This page is intentionally blank.
Appendix D: Debugging GigE Cameras Beginning with PICam 5.x, Princeton Instruments’ GigE cameras incorporate a Camera Heartbeat that enables the camera and PICam to coordinate communication with one another. As long as a Heartbeat signal has been received by the camera before the specified Heartbeat Timeout has expired, the Camera will continue to be controlled exclusively by PICam.
PICam™ 5.x Programmer’s Manual Issue 11 D.1.1 Timeout Period Considerations When deciding on an appropriate timeout period, achieving a balance between having adequate time to review/debug each section of code while not consistently timing out can be tricky. If too long of a timeout period has been selected and the PICam process crashes or is subsequently killed (a typical action following any debugging session,) the GigE camera will remain unavailable to a future debugging session until the Heartbeat Timeout has expired.
Appendix E: PICam 5.0 Compatibility Issues Beginning with PICam 5.0, usage of the suite of Left/Right Margin Parameters has been modified for scenarios where Readout Orientation is not Normal. Specifically, the parameter does not have the value PicamParameter_ReadoutOrientation PicamOrientationMask_Normal. Originally, the Left/Right Margin parameters would swap positions in this scenario.
Appendix E PICam 5.0 Compatibility Issues PI-MAX4: 2048B, PI-MAX4: 2048B-RF Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PI-MAX4:2048B;...
PICam™ 5.x Programmer’s Manual Issue 11 PI-MAX4: 512B/EM, PI-MAX4: 1024B/EM This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PI-MAX4: 512B/EM; •...
Page 333
Appendix E PICam 5.0 Compatibility Issues Table E-3: PICam 4.x (and Older) Code Changes: PI-MAX4: 512B/EM, 1024B/EM (Sheet 2 of 2) In PICam 4.x and Older Code, if you: … in PICam 5.0, you need to: Action Parameter Action Parameter ADC Quality: Low Noise PicamParameter_ActiveRightMargin PicamParameter_ActiveRightMargin...
PICam™ 5.x Programmer’s Manual Issue 11 PI-MAX4: 512EM/1024EM Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PI-MAX4: 512EM; •...
Appendix E PICam 5.0 Compatibility Issues PI-MTE: 1300B/1300BR Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PI-MTE: 1300B; •...
PICam™ 5.x Programmer’s Manual Issue 11 PI-MTE: 1300R Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PI-MTE: 1300R. E.6.1 What Changed with PICam 5.0? In PICam 5.0, the following Low Noise (PicamAdcQuality_LowNoise) parameters...
Appendix E PICam 5.0 Compatibility Issues PIXIS: 100B/100BR/400B/400BR/1300B/1300BR, and XO/XF/ XB/eXcelon Variant Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
PICam™ 5.x Programmer’s Manual Issue 11 PIXIS: 100F/100R/100C/400F/400R/1300F/1300F-2, and XB Variant Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
Appendix E PICam 5.0 Compatibility Issues PIXIS: 512F, PIXIS-XO: 512F, PIXIS-XF: 512F Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
PICam™ 5.x Programmer’s Manual Issue 11 E.10 ProEM Cameras (All Models) This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • ProEM (All Models) E.10.1 What Changed with PICam 5.0?
Appendix E PICam 5.0 Compatibility Issues E.11 ProEM-HS: 1KB-10 and eXcelon Variant Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
PICam™ 5.x Programmer’s Manual Issue 11 E.12 ProEM-HS: 512B/512BK/1024B and eXcelon Variant Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
Page 343
Appendix E PICam 5.0 Compatibility Issues Table E-12: PICam 4.x (and Older) Code Changes: ProEM-HS: 512B/512BK/1024B and eXcelon Variants (Sheet 2 of 2) In PICam 4.x and Older Code, if you: … in PICam 5.0, you need to: Action Parameter Action Parameter ADC Quality: Low Noise...
PICam™ 5.x Programmer’s Manual Issue 11 E.13 ProEM+ (All Models) This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • ProEM+ (All Models) E.13.1 What Changed with PICam 5.0? In PICam 5.0, the following parameters have been made symmetrical in general, and...
Appendix E PICam 5.0 Compatibility Issues E.14 PyLoN: 100B/100BR/400B/400BR/1300B/1300BR, and eXcelon Variant Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: •...
PICam™ 5.x Programmer’s Manual Issue 11 E.15 PyLoN: 100F/400F/1300F/1300R Cameras This section provides information necessary to update customer-modified code (PICam 4.x and older) for the following cameras in order for it to work as designed with PICam 5.0: • PyLoN: 100F; •...
Page 347
(1) year after shipment. During this period, Teledyne Princeton Instruments will repair the product or, at its sole option, repair or replace any defective part without charge to you. You must deliver the entire product to the Teledyne Princeton Instruments factory or, at our option, to a factory-authorized service center.
Page 348
(1) year from shipment. Teledyne Princeton Instruments does not warrant that the function of the software will meet your requirements or that operation will be uninterrupted or error free.
Page 349
3. All warranty service must be made by the Teledyne Princeton Instruments factory or, at our option, an authorized service center. 4. Before products or parts can be returned for service you must contact the Teledyne Princeton Instruments factory and receive a return authorization number (RMA.) Products or parts returned for service without a return authorization evidenced by an RMA will be sent back freight collect.
Page 350
In no event shall Teledyne Princeton Instruments’ liability exceed the cost of the repair or replacement of the defective product or part.
Page 357
All rights reserved. No part of this publication may be reproduced by any means without the written permission of Teledyne Princeton Instruments. Printed in the United States of America. PICam is a trademark of Teledyne Princeton Instruments. Windows, Windows 7, Windows 8, and Windows 10 are registered trademarks of Microsoft Corporation in the United States and/or other countries.
Need help?
Do you have a question about the Princeton Instruments PICam 5.x and is the answer not in the manual?
Questions and answers