Table of Contents

Advertisement

Quick Links

PICam™ 5.x Programmer's Manual
4411-0161
Issue 11
June 28, 2021
www.princetoninstruments.com

Advertisement

Table of Contents
loading
Need help?

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

Subscribe to Our Youtube Channel

Summary of Contents for Teledyne Princeton Instruments PICam 5.x

  • Page 1 PICam™ 5.x Programmer’s Manual 4411-0161 Issue 11 June 28, 2021 www.princetoninstruments.com...
  • 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.
  • Page 5: Table Of Contents

    Table of Contents Chapter 1: About this Manual......... . . 11 Manual Organization .
  • Page 6 PICam™ 5.x Programmer’s Manual Issue 10 5.4.5 Shared Camera/Accessory Parameter Constraints APIs ... .174 5.4.6 Shared Camera/Accessory Parameter Commitment APIs ..178 Chapter 6: Data Acquisition APIs.
  • Page 7 Issue 10 Table of Contents 8.4.1 EM Calibration Access APIs ........294 8.4.2 EM Calibration Parameter Value APIs .
  • Page 8 PICam™ 5.x Programmer’s Manual Issue 10 E.10 ProEM Cameras (All Models) ......... . . 338 E.10.1 What Changed with PICam 5.0? .
  • Page 9 Issue 10 List of Tables List of Tables Revision History..........2 Table 1-1: Index to Code Updates for PICam 5.0 Support, by Camera .
  • Page 10 PICam™ 5.x Programmer’s Manual Issue 10 Table 5-47: PicamRoisConstraintRulesMask Enumerator Definitions ... .107 Table 6-1: PicamAcquisitionErrorsMask Enumerator Definitions ....183 Table 7-1: PicamDiscoveryAction Enumerator Definitions .
  • Page 11: About This Manual

    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: •...
  • Page 12: Potential Compatibility Concerns

    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.
  • Page 15: System Overview

    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: •...
  • Page 16: Supported Operating Systems

    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.
  • Page 18: Naming Conventions

    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.,...
  • Page 19: Figure 2-1: Basic Picam Structure

    Chapter 2 Introduction to PICam™ Figure 2-1: Basic PICam Structure Availability Hardware Information Connected HardwareID Firmware Details Opening Open Elsewhere Hardware Faulted (Handle) Constraints Parameter Information Capable* Relevant Parameters Required* Access Value* Recommended* Onlineable Readable Waitable Status Value and Constraint Types are parameter dependent Default Value*...
  • Page 20: Handles

    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: •...
  • Page 21: Defined Data Types

    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...
  • Page 22: Include Files

    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...
  • Page 23: General Library Apis

    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.
  • Page 24: Programmers' Reference For General Use Library Apis

    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.
  • Page 33: Identification Apis

    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.
  • Page 35: Programmers' Api Reference

    Chapter 4 Identification APIs Programmers’ API Reference This section provides a detailed programmers’ reference guide for the following APIs: • Identification APIs — Picam_DestroyCameraIDs() — PicamAccessory_DestroyAccessoryIDs() — Picam_GetAvailableCameraIDs() — PicamAccessory_GetAvailableAccessoryIDs() — Picam_GetUnavailableCameraIDs() — PicamAccessory_GetUnavailableAccessoryIDs() — Picam_IsCameraIDConnected() — PicamAccessory_IsAccessoryIDConnected() — Picam_IsCameraIDOpenElsewhere() —...
  • Page 36: Identification Apis

    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.
  • Page 46: Access Apis

    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.
  • Page 60: Information Apis

    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);...
  • Page 64: Demo Camera Identification Apis

    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.
  • Page 70: Data Type Definitions

    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 •...
  • Page 104: Parameter Access Enumerations

    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...
  • Page 105: Parameter Constraint Enumerations

    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...
  • Page 108: Data Structure Definitions

    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.
  • Page 111: Shared Camera/Accessory Parameter Data Structures

    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;...
  • Page 112: Parameter Constraints

    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;...
  • Page 115 Chapter 5 Configuration APIs 5.3.1.3 PicamModulationsConstraint Description defines the constraints placed on custom intensifier PicamModulationsConstraint modulation sequence points. Structure Definition The structure definition for PicamModulationsConstraint typedef struct PicamModulationsConstraint PicamConstraintScope scope; PicamConstraintSeverity severity; pibln empty_set; piint maximum_modulation_count; PicamRangeConstraint duration_constraint; PicamRangeConstraint frequency_constraint; PicamRangeConstraint phase_constraint;...
  • Page 116: Shared Camera/Accessory Parameter Constraints

    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;...
  • Page 118: Programmers' Reference For Configuration Apis

    PICam™ 5.x Programmer’s Manual Issue 11 Programmers’ Reference for Configuration APIs This section provides a detailed programmers’ reference guide for the following configuration APIs: • Camera-Specific Parameter Value APIs — Picam_GetParameterLargeIntegerValue() — Picam_CanSetParameterLargeIntegerValue() — Picam_SetParameterLargeIntegerValue() — Picam_DestroyRois() — Picam_GetParameterRoisValue() — Picam_CanSetParameterRoisValue() —...
  • Page 119 Chapter 5 Configuration APIs continued from previous page • Camera-Specific Parameter Constraints APIs — Picam_DestroyRoisConstraints() — Picam_GetParameterRoisConstraint() — Picam_DestroyPulseConstraints() — Picam_GetParameterPulseConstraint() — Picam_DestroyModulationsConstraints() — Picam_GetParameterModulationsConstraint() • Shared Camera/Accessory Parameter Constraints APIs — Picam_DestroyCollectionConstraints() — Picam_GetParameterRangeConstraint() — Picam_GetParameterCollectionConstraint() — Picam_DestroyRangeConstraints() • Shared Camera/Accessory Parameter Commitment APIs —...
  • Page 120: Camera-Specific Parameter Value Apis

    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,...
  • Page 142: Shared Camera/Accessory Parameter Value Apis

    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);...
  • Page 160: Shared Camera/Accessory Parameter Information Apis

    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.
  • Page 168: Camera-Specific Parameter Constraints Apis

    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...
  • Page 174: Shared Camera/Accessory Parameter Constraints Apis

    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);...
  • Page 178: Shared Camera/Accessory Parameter Commitment Apis

    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);...
  • Page 183: Data Acquisition Apis

    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...
  • Page 184: Data Acquisition Data Structures

    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;...
  • Page 185: Programmers' Reference For Acquisition Control Apis

    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.
  • Page 193: Chapter 7: Advanced Function Apis

    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,...
  • Page 194: Data Type Definitions

    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 —...
  • Page 195: Shared Camera/Accessory Access 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...
  • Page 196: Shared Camera/Accessory Parameter Information Enumerations

    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.
  • Page 197: Camera-Specific Data Acquisition Enumerations

    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.
  • Page 198: Data Structures

    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...
  • Page 203: Camera-Specific Parameter Validation Data Structures

    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;...
  • Page 206: Camera-Specific Data Acquisition Data Structures

    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;...
  • Page 207: Callback Functions

    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() —...
  • Page 208: Camera-Specific Discovery Callbacks

    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);...
  • Page 209: Camera-Specific Parameter Value Callbacks

    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:...
  • Page 211: Shared Camera/Accessory Parameter Value Callbacks

    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()
  • Page 214: Camera-Specific Parameter Constraints Callbacks

    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);...
  • Page 216: Shared Camera/Accessory Parameter Constraints Callbacks

    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.
  • Page 217: Camera-Specific Data Acquisition Callbacks

    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)
  • Page 218: Programmers' Reference For Advanced Apis

    PICam™ 5.x Programmer’s Manual Issue 11 Programmers’ Reference for Advanced APIs This section provides detailed programming information for the following advanced APIs: • Camera-Specific Advanced Discovery APIs — PicamAdvanced_RegisterForDiscovery() — PicamAdvanced_UnregisterForDiscovery() — PicamAdvanced_DiscoverCameras() — PicamAdvanced_StopDiscoveringCameras() — PicamAdvanced_IsDiscoveringCameras() • Accessory-Specific Advanced Discovery APIs —...
  • Page 219 Chapter 7 Advanced Function APIs continued from previous page • Shared Camera/Accessory Advanced Parameter Information APIs — PicamAdvanced_RegisterForIsRelevantChanged() — PicamAdvanced_UnregisterForIsRelevantChanged() — PicamAdvanced_RegisterForValueAccessChanged() — PicamAdvanced_UnregisterForValueAccessChanged() — PicamAdvanced_GetParameterDynamics() — PicamAdvanced_GetParameterExtrinsicDynamics() • Camera-Specific Advanced Parameter Constraints APIs — PicamAdvanced_GetParameterRoisConstraints() — PicamAdvanced_RegisterForDependentRoisConstraintChanged() — PicamAdvanced_UnregisterForDependentRoisConstraintChanged() —...
  • Page 220: Camera-Specific Advanced Discovery Apis

    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().
  • Page 223: Accessory-Specific Advanced Discovery Apis

    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().
  • Page 226: Camera-Specific Advanced Access Apis

    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.
  • Page 229: Shared Camera/Accessory Advanced Access Apis

    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,...
  • Page 230: Camera-Specific Information Apis

    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.
  • Page 235: Accessory-Specific Information Apis

    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...
  • Page 236: Shared Camera/Accessory Advanced Information Apis

    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()
  • Page 238: Camera-Specific Advanced Parameter Value Apis

    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);...
  • Page 246: Shared Camera/Accessory Advanced Parameter Value Apis

    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);...
  • Page 256: Shared Camera/Accessory Advanced Parameter Information Apis

    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);...
  • Page 261: Camera-Specific Advanced Parameter Constraints Apis

    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);...
  • Page 270: Shared Camera/Accessory Advanced Parameter Constraints Apis

    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:...
  • Page 276: Camera-Specific Advanced Commitment Apis

    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...
  • Page 281: Camera-Specific Advanced Acquisition Setup Apis

    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,...
  • Page 282: Camera-Specific Advanced Acquisition Notification Apis

    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.
  • Page 284: Camera-Specific Advanced Acquisition State Notification Apis

    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.
  • Page 287: Camera-Specific Advanced Acquisition Control Apis

    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.
  • Page 291: Em Calibration Apis

    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.
  • Page 292: Structure Definitions

    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...
  • Page 293: Callback Functions

    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.
  • Page 294: Programmers' Reference For Em Calibration Apis

    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.
  • Page 297: Em Calibration Parameter Value Apis

    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.
  • Page 300: Em Calibration Parameter Constraints Apis

    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.
  • Page 301: Em Calibration Apis

    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.
  • Page 303: Appendix A: Available Parameters

    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 ...
  • Page 318: Accessory Parameter Information

    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 ...
  • Page 319: Appendix B: Em Gain Calibration Code Sample

    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.
  • Page 320: Figure B-1: Typical Em Gain Calibration Dialog

    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.
  • Page 321: Appendix C: Firmware Upgrade/Restore

    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...
  • Page 322: Figure C-2: Firmware Upgrade: Selecting Device To Be Upgraded

    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.
  • Page 323: Restore Firmware

    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.
  • Page 324: Procedure

    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.
  • Page 325: Figure C-7: Firmware Restore: Typical Updating Dialog

    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.
  • Page 327: Appendix D: Debugging Gige Cameras

    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.
  • Page 328: Timeout Period Considerations

    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.
  • Page 329: Appendix E: Picam 5.0 Compatibility Issues

    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.
  • Page 330: Code Updates To Retain Existing Behavior

    PICam™ 5.x Programmer’s Manual Issue 11 E.1.2 Code Updates to Retain Existing Behavior Table E-1 lists code changes required to PICam 4.x (and older) code in order to continue working properly with PICam 5.0. Table E-1: PICam 4.x (and Older) Code Changes: FERGIE: 256F/FT, 256B/FT, 256BR/FT, and eXcelon Variants In PICam 4.x and Older Code, if you: …...
  • Page 331: Pi-Max4: 2048B, Pi-Max4: 2048B-Rf Cameras

    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;...
  • Page 332: Pi-Max4: 512B/Em, Pi-Max4: 1024B/Em

    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...
  • Page 334: Pi-Max4: 512Em/1024Em Cameras

    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; •...
  • Page 335: Pi-Mte: 1300B/1300Br Cameras

    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; •...
  • Page 336: Pi-Mte: 1300R Cameras

    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...
  • Page 337: Pixis: 100B/100Br/400B/400Br/1300B/1300Br, And Xo/Xf/Xb/Excelon Variant Cameras335

    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: •...
  • Page 338: What Changed 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: •...
  • Page 339: What Changed 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: •...
  • Page 340: Proem Cameras (All Models)

    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?
  • Page 341: E.11 Proem-Hs: 1Kb-10 And Excelon Variant Cameras

    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: •...
  • Page 342: E.12 Proem-Hs: 512B/512Bk/1024B And Excelon Variant Cameras

    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...
  • Page 344: Proem+ (All Models)

    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...
  • Page 345: Pylon: 100B/100Br/400B/400Br/1300B/1300Br, And Excelon Variant Cameras

    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: •...
  • Page 346: E.15 Pylon: 100F/400F/1300F/1300R Cameras

    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 351 This page is intentionally blank.
  • Page 352 USA +1 877-474-2286 | France +33 (1) 60 86 03 65 | Germany +49 (0) 89 660 7793 | UK & Ireland +44 (0) 1628 472 346 Singapore +65 6408 6240 | China +86 10 659 16460 | Japan +81 (3) 5639 2741...
  • Page 353 Figure 2-1: Basic PICam Structure......... 19 Figure 2-2: Block Diagram of Camera-Specific Handle Hierarchy .
  • Page 355 Revision History..........2 Table 1-1: Index to Code Updates for PICam 5.0 Support, by Camera .
  • Page 356: Table

    Table 7-1: PicamDiscoveryAction Enumerator Definitions ....194 Table 7-2: PicamHandleType Enumerator Definitions ......195 Table 7-3: PicamDynamicsMask Enumerator Definitions .
  • 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.

Table of Contents

Save PDF