background image

Chapter 3

General Library APIs

27

3.2.3

Picam_InitializeLibrary()

Description

Picam_InitializeLibrary()

 initializes the library and prepares it for use.

Syntax

The syntax of 

Picam_InitializeLibrary()

 is:

PICAM_API Picam_InitializeLibrary (void);

Usage

Unless specifically noted otherwise, 

Picam_InitializeLibrary()

 MUST be called 

prior to calling any additional Library API routine.

NOTE:

Picam_UninitializeLibrary()

 MUST be called prior to 

program termination.

Input Parameters

There are no input parameters associated with 

Picam_InitializeLibrary()

.

Output Parameters

There are no output parameters associated with 

Picam_InitializeLibrary()

.

Related APIs

For additional information, refer to the following related APIs:

Picam_UninitializeLibrary()

Summary of Contents for Princeton Instruments PICam 5.x

Page 1: ...www princetoninstruments com PICam 5 x Programmer s Manual 4411 0161 Issue 11 June 28 2021...

Page 2: ...tMaps Updated PicamAdvanced_GetUserState PicamAdvanced_SetUserState Issue 8 January 7 2020 Issue 8 of this document incorporates the following changes Updated the copyright year Issue 7 June 27 2019 I...

Page 3: ...are registered trademarks of Red Hat Inc The information in this publication is believed to be accurate as of the publication release date However Teledyne Princeton Instruments does not assume any re...

Page 4: ...4 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 5: ...ogrammers API Reference 35 4 3 1 Identification APIs 36 4 3 2 Access APIs 46 4 3 3 Information APIs 60 4 3 4 Demo Camera Identification APIs 64 Chapter 5 Configuration APIs 69 5 1 Data Type Definition...

Page 6: ...4 7 3 6 Shared Camera Accessory Parameter Constraints Callbacks 216 7 3 7 Camera Specific Data Acquisition Callbacks 217 7 4 Programmers Reference for Advanced APIs 218 7 4 1 Camera Specific Advanced...

Page 7: ...MAX4 2048B PI MAX4 2048B RF Cameras 329 E 2 1 What Changed with PICam 5 0 329 E 2 2 Code Updates to Retain Existing Behavior 329 E 3 PI MAX4 512B EM PI MAX4 1024B EM 330 E 3 1 What Changed with PICam...

Page 8: ...43 E 14 2 Code Updates to Retain Existing Behavior 343 E 15 PyLoN 100F 400F 1300F 1300R Cameras 344 E 15 1 What Changed with PICam 5 0 344 E 15 2 Code Updates to Retain Existing Behavior 344 List of F...

Page 9: ...ightSourceStatus Enumerator Definitions 80 Table 5 20 PicamModulationTrackingMask Enumerator Definitions 81 Table 5 21 PicamOrientationMask Enumerator Definitions 81 Table 5 22 PicamOutputSignal Enume...

Page 10: ...Changes PI MAX4 512B EM 1024B EM 330 Table E 4 PICam 4 x and Older Code Changes PI MAX4 512EM 1024EM 332 Table E 5 PICam 4 x and Older Code Changes PI MTE 1300B 1300BR 333 Table E 6 PICam 4 x and Olde...

Page 11: ...ion for Princeton Instruments Chapter 2 Introduction to PICam This chapter provides information about concepts terms and data types used in PICam It also provides information about the general sequenc...

Page 12: ...patibility Concerns 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 Additional information about thi...

Page 13: ...11 on page 339 ProEM HS 512B 512BK 1024B and eXcelon Variant Cameras Section E 12 on page 340 ProEM All Models Section E 13 on page 342 PyLoN 100B 100BR 400B 400BR 1300B 1300BR and eXcelon Variant Cam...

Page 14: ...14 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 15: ...ieved using the Upgrade Tool supplied by Princeton Instruments The key symptom of a firmware mismatch between PICam and a GigE camera is the inability to see the camera from within PICam When this occ...

Page 16: ...programs link with picam32 dll 2 4 Sample Code Code samples are provided with PICam When the PICam Software Development Kit SDK is installed these samples are installed by default in the PICam install...

Page 17: ...raw data file Metadata This sample enables metadata i e Time Stamp s and Frame Tracking It illustrates how to extract metadata from the data stream MultiCam This example opens multiple i e 2 cameras...

Page 18: ...ords two arguments to the function are const PicamParameter and piint All functions that free memory allocated by PICam have a Picam_Destroy prefix e g Picam_DestroyString PicamDestroy_CollectionConst...

Page 19: ...e Availability Parameter Information Constraints Hardware Information Opening Readable Firmware Details Connected Open Elsewhere HardwareID Onlineable Access Relevant Recommended Value and Constraint...

Page 20: ...en device is passed to an API any resulting interaction or configuration performed by the API is done on a physical camera that is attached to the system This handle is passed as an Advanced API param...

Page 21: ...e to platform pichar Character native to platform pibyte Byte native to platform pibool C Boolean native to platform Table 2 3 Sized Data Type Definitions Type Definition pi8s 8 bit signed integer pi8...

Page 22: ...unctions found within them are required picam_special h Only include picam_special h when using a special function defined in that file picam_advanced h This is the Princeton Instruments advanced came...

Page 23: ...determined by the error code that is returned It is paramount this error code be checked as most results are invalidated if a function fails To facilitate debugging PICam can convert an error code int...

Page 24: ...may be requested Major This is the Major release version which is incremented with each major feature addition or breaks backward compatibility Minor This is the Minor release version which is increm...

Page 25: ...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 Valid values are minor Indicates that the Minor version is t...

Page 26: ...nitialized is PICAM_API Picam_IsLibraryInitialized pibln inited Input Parameters There are no input parameters associated with Picam_IsLibraryInitialized Output Parameters Output parameters for Picam_...

Page 27: ...noted otherwise Picam_InitializeLibrary MUST be called prior to calling any additional Library API routine NOTE Picam_UninitializeLibrary MUST be called prior to program termination Input Parameters...

Page 28: ...be called prior to program termination Syntax The syntax of Picam_UninitializeLibrary is PICAM_API Picam_UninitializeLibrary void Input Parameters There are no input parameters associated with Picam_U...

Page 29: ...s NOTE If the character string s is null Picam_DestroyString has no effect Syntax The syntax of Picam_DestroyString is PICAM_API Picam_DestroyString const pichar s Input Parameters Input parameters f...

Page 30: ...with string s Syntax The syntax of Picam_GetEnumerationString is PICAM_API Picam_GetEnumerationString PicamEnumeratedType type piint value const pichar s Input Parameters Input parameters for Picam_Ge...

Page 31: ...choosing a particular camera model and connecting it Once connected it can be interacted with as any other camera Once hardware possibly a demo camera is no longer used it should be closed The followi...

Page 32: ...rdware APIs Name Type Description PicamModel enum The hardware model Series models represent a model family and may be used to represent older hardware whose exact model is not known PicamComputerInte...

Page 33: ...on for PicamAccessoryID is typedef struct PicamAccessoryID PicamModel model PicamComputerInterface computer_interface pichar serial_number PicamAccessoryID Variable Definitions The variables required...

Page 34: ...ons The variables required for PicamCalibrationPoint are 4 2 5 PicamCalibration Structure Definition The structure definition for PicamCalibration is typedef struct PicamCalibration const PicamCalibra...

Page 35: ...cessoryIDOpenElsewhere Access APIs Picam_DestroyHandles Picam_OpenFirstCamera PicamAccessory_OpenFirstAccessory Picam_OpenCamera PicamAccessory_OpenAccessory Picam_CloseCamera PicamAccessory_CloseAcce...

Page 36: ...am If id_array is a null array calling Picam_DestroyCameraIDs has no effect Syntax The syntax for Picam_DestroyCameraIDs is PICAM_API Picam_DestroyCameraIDs const PicamCameraID id_array Input Paramete...

Page 37: ...x The syntax for PicamAccessory_DestroyAccessoryIDs is PICAM_API PicamAccessory_DestroyAccessoryIDs const PicamAccessoryID id_array Input Parameters Input parameters for PicamAccessory_DestroyAccessor...

Page 38: ...ICAM_API Picam_GetAvailableCameraIDs const PicamCameraID id_array piint id_count Input Parameters There are no input parameters associated with Picam_GetAvailableCameraIDs Output Parameters Output par...

Page 39: ...PI PicamAccessory_GetAvailableAccessoryIDs const PicamAccessoryID id_array piint id_count Input Parameters There are no input parameters associated with PicamAccessory_GetAvailableAccessoryIDs Output...

Page 40: ..._API Picam_GetUnavailableCameraIDs const PicamCameraID id_array piint id_count Input Parameters There are no input parameters associated with Picam_GetUnavailableCameraIDs Output Parameters Output par...

Page 41: ...PicamAccessory_GetUnavailableAccessoryIDs const PicamAccessoryID id_array piint id_count Input Parameters There are no input parameters associated with PicamAccessory_GetUnavailableAccessoryIDs Output...

Page 42: ...connected Input Parameters Input parameters for Picam_IsCameraIDConnected are Output Parameters Output parameters for Picam_IsCameraIDConnected are id Specifies the ID of the camera for which the con...

Page 43: ...ibln connected Input Parameters Input parameters for PicamAccessory_IsAccessoryIDConnected are Output Parameters Output parameters for PicamAccessory_IsAccessoryIDConnected are id Specifies the ID of...

Page 44: ...id pibln open_elsewhere Input Parameters Input parameters for Picam_IsCameraIDOpenElsewhere are Output Parameters Output parameters for Picam_IsCameraIDOpenElsewhere are id Specifies the ID of the cam...

Page 45: ...ryID id pibln open_elsewhere Input Parameters Input parameters for PicamAccessory_IsAccessoryIDOpenElsewhere are Output Parameters Output parameters for PicamAccessory_IsAccessoryIDOpenElsewhere are i...

Page 46: ...d by PICam If handle_array is a null array calling Picam_DestroyHandles has no effect NOTE Picam_DestroyHandles releases the memory used to store the handles It does NOT free the resources to which th...

Page 47: ...am_OpenFirstCamera is PICAM_API Picam_OpenFirstCamera PicamHandle camera Input Parameters There are no input parameters associated with Picam_OpenFirstCamera Output Parameters Output parameters for Pi...

Page 48: ...ry_CloseAccessory Syntax The syntax for PicamAccessory_OpenFirstAccessory is PICAM_API PicamAccessory_OpenFirstAccessory PicamHandle accessory Input Parameters There are no input parameters associated...

Page 49: ...a is PICAM_API Picam_OpenCamera const PicamCameraID id PicamHandle camera Input Parameters Input parameters for Picam_OpenCamera are Output Parameters Output parameters for Picam_OpenCamera are Advanc...

Page 50: ...ssory Syntax The syntax for PicamAccessory_OpenAccessory is PICAM_API PicamAccessory_OpenAccessory const PicamAccessoryID id PicamHandle accessory Input Parameters Input parameters for PicamAccessory_...

Page 51: ...andle camera Input Parameters Input parameters for Picam_CloseCamera are Output Parameters There are no output parameters associated with Picam_CloseCamera Advanced API Usage When used in conjunction...

Page 52: ...specified accessory Syntax The syntax for PicamAccessory_CloseAccessory is PICAM_API PicamAccessory_CloseAccessory PicamHandle accessory Input Parameters Input parameters for PicamAccessory_CloseAcce...

Page 53: ...o input parameters associated with Picam_GetOpenCameras Output Parameters Output parameters for Picam_GetOpenCameras are Advanced API Usage When used in conjunction with Advanced APIs this array camer...

Page 54: ...mHandle accessory_array piint accessory_count Input Parameters There are no input parameters associated with PicamAccessory_GetOpenAccessories Output Parameters Output parameters for PicamAccessory_Ge...

Page 55: ...Parameters Output parameters for Picam_IsCameraConnected are Advanced API Usage When used in conjunction with Advanced APIs camera can be a handle to either the device or model Both device and model s...

Page 56: ...cessory pibln connected Input Parameters Input parameters for PicamAccessory_IsAccessoryConnected are Output Parameters Output parameters for PicamAccessory_IsAccessoryConnected are accessory The hand...

Page 57: ...camera pibln faulted Input Parameters Input parameters for Picam_IsCameraFaulted are Output Parameters Output parameters for Picam_IsCameraFaulted are Advanced API Usage When used in conjunction with...

Page 58: ...era PicamCameraID id Input Parameters Input parameters for Picam_GetCameraID are Output Parameters Output parameters for Picam_GetCameraID are Advanced API Usage When used in conjunction with Advanced...

Page 59: ...Accessory_GetAccessoryID is PICAM_API PicamAccessory_GetAccessoryID PicamHandle accessory PicamAccessoryID id Input Parameters Input parameters for PicamAccessory_GetAccessoryID are Output Parameters...

Page 60: ...firmware_array is a null array calling Picam_DestroyFirmwareDetails has no effect SyntaxPicam_DestroyCalibrations The syntax for Picam_DestroyFirmwareDetails is PICAM_API Picam_DestroyFirmwareDetails...

Page 61: ...Detail firmware_array piint firmware_count Input Parameters Input parameters for Picam_GetFirmwareDetails are Output Parameters Output parameters for Picam_GetFirmwareDetails are Related APIs For addi...

Page 62: ...t PicamFirmwareDetail firmware_array piint firmware_count Input Parameters Input parameters for PicamAccessory_GetFirmwareDetails are Output Parameters Output parameters for PicamAccessory_GetFirmware...

Page 63: ...PICam If calibrations_array is a null array calling Picam_DestroyCalibrations has no effect Syntax The syntax for Picam_DestroyCalibrations is PICAM_API Picam_DestroyCalibrations const PicamCalibratio...

Page 64: ...llocated by PICam If model_array is a null array calling Picam_DestroyModels has no effect Syntax The syntax for Picam_DestroyModels is PICAM_API Picam_DestroyModels const PicamModel model_array Input...

Page 65: ...PicamModel model_array piint model_count Input Parameters There are no input parameters associated with Picam_GetAvailableDemoCameraModels Output Parameters Output parameters for Picam_GetAvailableDe...

Page 66: ...onst pichar serial_number PicamCameraID id Input Parameters Input parameters for Picam_ConnectDemoCamera are Output Parameters Output parameters for Picam_ConnectDemoCamera are NOTE id is an optional...

Page 67: ...virtual camera Syntax The syntax for Picam_DisconnectDemoCamera is PICAM_API Picam_DisconnectDemoCamera const PicamCameraID id Input Parameters Input parameters for Picam_DisconnectDemoCamera are Out...

Page 68: ...oCamera const PicamCameraID id pibln demo Input Parameters Input parameters for Picam_IsDemoCamera are Output Parameters Output parameters for Picam_IsDemoCamera are id ID of the camera being identifi...

Page 69: ...be written have constraints Constraints describe the set of values a parameter value can take The nature of this set determines the constraint type e g a numeric range a set of options etc It is usef...

Page 70: ...mGateTrackingMask PicamGatingMode PicamGatingSpeed PicamGratingCoating PicamGratingType PicamIntensifierOptionsMask PicamIntensifierStatus PicamLaserOutputMode PicamLaserStatus PicamLightSource PicamL...

Page 71: ...camActiveShutter Enumerator Definitions Enumerator Description PicamActiveShutter_External The shutter external to the hardware PicamActiveShutter_Internal The shutter internal to the hardware PicamAc...

Page 72: ...pixel digitization Enumerator Definitions Refer to Table 5 3 for enumerator definitions Table 5 3 PicamAdcQuality Enumerator Definitions Enumerator Description PicamAdcQuality_ElectronMultiplied Prov...

Page 73: ...Valid values are 1 CCD is back illuminated 0 CCD is front illuminated PicamCcdCharacteristicsMask_DeepDepleted The CCD is deep depleted PicamCcdCharacteristicsMask_ExcelonEnabled The CCD is enhanced w...

Page 74: ...numerator Definitions Enumerator Description PicamCenterWavelengthStatus_Faulted The grating drive has malfunctioned PicamCenterWavelengthStatus_Moving The center wavelength is moving PicamCenterWavel...

Page 75: ...d electron multiplication gain for emICCD hardware Enumerator Definitions Refer to Table 5 8 for enumerator definitions Table 5 7 PicamCoolingFanStatus Enumerator Definitions Enumerator Description Pi...

Page 76: ...modes Enumerator Definitions Refer to Table 5 10 for enumerator definitions Table 5 9 PicamGateTrackingMask Enumerator Definitions Enumerator Description PicamGateTrackingMask_Delay The delay of the...

Page 77: ...oating is the coating on the grating Enumerator Definitions Refer to Table 5 12 for enumerator definitions Table 5 11 PicamGatingSpeed Enumerator Definitions Enumerator Description PicamGatingSpeed_Fa...

Page 78: ...or Description PicamGratingType_Ruled Ruled grating PicamGratingType_HolographicVisible Holographic grating for the visible range PicamGratingType_HolographicNir Holographic grating for the near infra...

Page 79: ...umerator Definitions Refer to Table 5 17 for enumerator definitions Table 5 15 PicamIntensifierStatus Enumerator Definitions Enumerator Description PicamIntensifierStatus_PoweredOff The physical switc...

Page 80: ...he light source stability Enumerator Definitions Refer to Table 5 19 for enumerator definitions Table 5 18 PicamLightSource Enumerator Definitions Enumerator Description PicamLightSource_Disabled No L...

Page 81: ...initions Enumerator Description PicamModulationTrackingMask_Duration The modulation duration is tracked PicamModulationTrackingMask_Frequency The modulation frequency is tracked PicamModulationTrackin...

Page 82: ...mOutputSignal_EffectivelyExposing The signal is high for the entire duration the sensor is exposed PicamOutputSignal_EffectivelyExposing Alternation The signal is high for the entire duration the sens...

Page 83: ...or additional information PicamParameter_ActiveTopMargin Controls the inactive number of rows on the top PicamParameter_ActiveWidth Controls the active number of columns PicamParameter_AdcAnalogGain C...

Page 84: ...rations for exponential decomposition cleaning PicamParameter_CleanSerialRegister Controls the cleaning of the serial register itself PicamParameter_CleanUntilTrigger Controls the nature of cleaning w...

Page 85: ...uctive readouts from hardware that supports the feature PicamParameter_ExposureTime Controls the time the sensor is exposed in milliseconds mS PicamParameter_ExternalShutterStatus Reports the status o...

Page 86: ...icamParameter_GratingGrooveDensity Reports the groove density of the grating in grooves per millimeter PicamParameter_GratingType Reports the type of grating Refer to Section 5 1 1 13 PicamGratingType...

Page 87: ...OutputMode Controls when the laser produces light Refer to Section 5 1 1 16 PicamLaserOutputMode on page 79 for additional information PicamParameter_LaserPower Controls the laser power as a multiplie...

Page 88: ...mParameter_OnlineReadoutRate Calculation Reports the fastest possible readout rate that could occur given the current setup and accounting for possible changes to online hardware parameters while acqu...

Page 89: ...apWidth Reports the horizontal distance between pixels in microns PicamParameter_PixelHeight Reports the pixel height in microns PicamParameter_PixelWidth Reports the pixel width in microns PicamParam...

Page 90: ...om PicamParameter_SensorActiveExtended Height Reports the number of additional active rows that can be used for storage NOTE These rows cannot be imaged directly PicamParameter_SensorActiveHeight Repo...

Page 91: ...h step in a sequence PicamParameter_SequentialStartingGate Controls the first gate pulse in a sequence in nanoseconds nS PicamParameter_SequentialStarting ModulationPhase Controls the first modulation...

Page 92: ...ternal trigger via the PicamTriggerDetermination data enumeration Refer to Section 5 1 1 36 PicamTriggerDetermination on page 100 for additional information PicamParameter_TriggerFrequency Controls th...

Page 93: ...s the status of the vacuum chamber containing the sensor PicamParameter_VerticalShiftRate Controls the rate to shift one row towards the serial register in a CCD in microseconds S Table 5 23 PicamPara...

Page 94: ...phosphor is P46 Table 5 25 PicamPhotocathodeSensitivity Enumerator Definitions Enumerator Description PicamPhotocathodeSensitivity_HighBlue Filmless Improved quantum efficiency and optimized for blue...

Page 95: ...finitions Table 5 26 PicamPhotonDetectionMode Enumerator Definitions Enumerator Description PicamPhotonDetectionMode_Clipping Each pixel whose intensity is greater than or equal to the threshold is a...

Page 96: ...ng out a frame while exposing the next frame PicamReadoutControlMode_FrameTransfer The sensor is reading out a frame while exposing the next frame PicamReadoutControlMode_FullFrame The sensor is read...

Page 97: ...point Table 5 29 PicamSensorTemperatureStatus Enumerator Definitions Sheet 2 of 2 Enumerator Description Table 5 30 PicamSensorType Enumerator Definitions Enumerator Description PicamSensorType_Ccd T...

Page 98: ..._ Normal The shutter only opens during exposure time NOTE During PicamReadoutControlMode_Kinetics readout the shutter stays open while storing frames PicamShutterTimingMode_ AlwaysClosed The shutter i...

Page 99: ...Type Enumerator Definitions Enumerator Description PicamShutterType_None No shutter PicamShutterType_ProntorMagnetic0 PRONTOR magnetic 0 shutter PicamShutterType_ProntorMagneticE40 PRONTOR magnetic E...

Page 100: ...led PicamTriggerCoupling_DC The components are DC coupled Table 5 36 PicamTriggerDetermination Enumerator Definitions Enumerator Description PicamTriggerDetermination_ AlternatingEdgeRising The first...

Page 101: ...mTriggerResponse_GatePerTrigger The hardware generates a gate pulse after the trigger PicamTriggerResponse_NoResponse The hardware does not respond to triggering PicamTriggerResponse_ReadoutPer Trigge...

Page 102: ...efined as enum Description PicamVacuumStatus reports the status of the vacuum chamber containing the sensor Enumerator Definitions Refer to Table 5 41 for enumerator definitions Table 5 39 PicamTrigge...

Page 103: ...2 PicamValueType Enumerator Definitions Enumerator Description PicamValueType_Boolean Accessed as piint FALSE 0 TRUE 1 PicamValueType_Enumeration Any enum accessed as piint PicamValueType_FloatingPoin...

Page 104: ...cess is the set of permitted parameter access Enumerator Definitions Refer to Table 5 43 for enumerator definitions Table 5 43 PicamValueAccess Enumerator Definitions Enumerator Description PicamValue...

Page 105: ...ata Type PicamConstraintSeverity is defined as enum Description PicamConstraintSeverity is the set of severities when failing a constraint Enumerator Definitions Refer to Table 5 45 for enumerator def...

Page 106: ...ator Definitions Refer to Table 5 46 for enumerator definitions Table 5 46 PicamConstraintCategory Enumerator Definitions Enumerator Description PicamConstraintCategory_Capable Which set of values are...

Page 107: ...binning boundaries PicamRoisConstraintRulesMask_Y BinningAlignment Regions sharing rows must bin those rows equally This means not only must they contain equal y binning values the regions must also...

Page 108: ...ed programming information about camera specific parameter data structures 5 2 1 1 PicamRoi Description PicamRoi defines a single Region of Interest ROI Structure Definition The structure definition f...

Page 109: ...e Definitions The variables required by PicamRois are 5 2 1 3 PicamPulse Description PicamPulse defines a gate pulse in ns Structure Definition The structure definition for PicamPulse is typedef struc...

Page 110: ...ence of intensifier modulation sequence points Structure Definition The structure definition for PicamModulations is typedef struct PicamModulations PicamModulation modulation_array piint modulation_c...

Page 111: ...icamStatusPurview Description PicamStatusPurview defines the scope of a status Structure Definition The structure definition for PicamStatusPurview is typedef struct PicamStatusPurview const piint val...

Page 112: ...nstraint PicamModulationsConstraint 5 3 1 1 PicamRoisConstraint Description PicamRoisConstraint defines the constraints placed on a set of Regions of Interest ROIs NOTE Regions of Interest may not ove...

Page 113: ...ng the value of PicamRoi width x_binning_limits_array The list of valid values for PicamRoi x_binning NOTE An additional requirement is that PicamRoi x_binning must always divide evenly into PicamRoi...

Page 114: ...seConstraint Variable Definitions The variables required by PicamPulseConstraint are scope The scope of the constraint severity The severity of the constraint empty_set Indicates when there are no val...

Page 115: ...able Definitions The variables required by PicamModulationsConstraint are scope The scope of the constraint severity The severity of the constraint empty_set Indicates when there are no valid modulati...

Page 116: ...onstraints placed on a variable whose value is selected from a list of predefined values Structure Definition The structure definition for PicamCollectionConstraint is typedef struct PicamCollectionCo...

Page 117: ...the range Valid values are TRUE There are no valid values within the range When TRUE only scope and severity are relevant FALSE There is at least one valid value within the range minimum The smallest...

Page 118: ...ameterIntegerValueOnline Picam_SetParameterFloatingPointValueOnline Picam_SetParameterPulseValueOnline Shared Camera Accessory Parameter Value APIs Picam_GetParameterIntegerValue Picam_CanSetParameter...

Page 119: ...cam_GetParameterPulseConstraint Picam_DestroyModulationsConstraints Picam_GetParameterModulationsConstraint Shared Camera Accessory Parameter Constraints APIs Picam_DestroyCollectionConstraints Picam_...

Page 120: ...camParameter parameter pi64s value Input Parameters Input parameters for Picam_GetParameterLargeIntegerValue are Output Parameters Output parameters for Picam_GetParameterLargeIntegerValue are Advance...

Page 121: ...ut parameters for Picam_CanSetParameterLargeIntegerValue are Advanced API Usage When used in conjunction with Advanced APIs camera may be a handle to either the model or device camera Handle for the c...

Page 122: ...used in conjunction with Advanced APIs camera may be a handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so requires that a...

Page 123: ...array rois If rois is null calling Picam_DestroyRois has no effect Syntax The syntax for Picam_DestroyRois is PICAM_API Picam_DestroyRois const PicamRois rois Input Parameters Input parameters for Pic...

Page 124: ...handle to either the model or device Stored values for any specific parameter are not necessarily the same for the device and model instances Related Structures For additional information refer to the...

Page 125: ...meterRoisValue are Advanced API Usage When used in conjunction with Advanced APIs camera may be a handle to either the model or device Related Structures For additional information refer to the follow...

Page 126: ...handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so requires that all parameters be committed to the device prior to start...

Page 127: ...If pulses is null calling Picam_DestroyPulses has no effect Syntax The syntax for Picam_DestroyPulses is PICAM_API Picam_DestroyPulses const PicamPulse pulses Input Parameters Input parameters for Pic...

Page 128: ...handle to either the device or model Stored values for any specific parameter are not necessarily the same for the device and model instances Related Structures For additional information refer to the...

Page 129: ...ameterPulseValue are Advanced API Usage When used in conjunction with Advanced APIs camera may be a handle to either the device or model Related Structures For additional information refer to the foll...

Page 130: ...y be a handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so requires that all parameters be committed to the device prior to...

Page 131: ...is null calling Picam_DestroyModulations has no effect Syntax The syntax for Picam_DestroyModulations is PICAM_API Picam_DestroyModulations const PicamModulations modulations Input Parameters Input pa...

Page 132: ...model Stored values for any specific parameter are not necessarily the same for the device and model instances Related Structures For additional information refer to the following intensifier modulati...

Page 133: ...I Usage When used in conjunction with Advanced APIs camera may be a handle to either the device or model Related Structures For additional information refer to the following intensifier modulation seq...

Page 134: ...e a handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so requires that all parameters be committed to the device prior to st...

Page 135: ...rLargeIntegerDefaultValue are Output Parameters Output parameters for Picam_GetParameterLargeIntegerDefaultValue are Advanced API Usage When used in conjunction with Advanced APIs camera may be a hand...

Page 136: ...ed in conjunction with Advanced APIs camera may be a handle to either the device or model Both the device and model share the same default value Related Structures For additional information refer to...

Page 137: ...ion with Advanced APIs camera may be a handle to either the device or model Both the device and model share the same default value Related Structures For additional information refer to the following...

Page 138: ...PIs camera may be a handle to either the device or model Both the device and model share the same default value Related Structures For additional information refer to the following intensifier modulat...

Page 139: ...e Input Parameters Input parameters for Picam_SetParameterIntegerValueOnline are Advanced API Usage When used in conjunction with Advanced APIs camera may be a handle to either the device or model Pic...

Page 140: ...Parameters Input parameters for Picam_SetParameterFloatingPointValueOnline are Advanced API Usage When used in conjunction with Advanced APIs camera may be a handle to either the device or model Pica...

Page 141: ...ameter const PicamPulse value Input Parameters Input parameters for Picam_SetParameterPulseValueOnline are Output Parameters There are no output parameters associated with Picam_SetParameterPulseValue...

Page 142: ...Parameters Input parameters for Picam_GetParameterIntegerValue are Output Parameters Output parameters for Picam_GetParameterIntegerValue are Advanced API Usage When used in conjunction with Advanced...

Page 143: ...m_CanSetParameterIntegerValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the model or device camera_or_ac...

Page 144: ...ccessory is a camera handle it may be a handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so requires that all parameters be...

Page 145: ...Value are Output Parameters Output parameters for Picam_GetParameterFloatingPointValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it m...

Page 146: ...Picam_CanSetParameterFloatingPointValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the model or device ca...

Page 147: ...h Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the model The model parameter may be set independently from the corresponding device parameter However doing so r...

Page 148: ...ut parameters for Picam_GetParameterIntegerDefaultValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the de...

Page 149: ...ltValue are Output Parameters Output parameters for Picam_GetParameterFloatingPointDefaultValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera ha...

Page 150: ...ParametersToDefaultValues PicamHandle camera_or_accessory Input Parameters Input parameters for Picam_RestoreParametersToDefaultValues are Output Parameters There are no output parameters associated w...

Page 151: ...tParameterOnline are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model camera_or_accessory Handl...

Page 152: ...anReadParameter are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model camera_or_accessory Handle...

Page 153: ...parameters for Picam_ReadParameterIntegerValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or m...

Page 154: ...ointValue are Output Parameters Output parameters for Picam_ReadParameterFloatingPointValue are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle...

Page 155: ...tusParameter are Output Parameters Output parameters for Picam_CanWaitForStatusParameter are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it...

Page 156: ...PI Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related APIs For additional information refer to the fol...

Page 157: ...s null calling Picam_DestroyStatusPurviews has no effect Syntax The syntax for Picam_DestroyStatusPurviews is PICAM_API Picam_DestroyStatusPurviews const PicamStatusPurview purviews_array Input Parame...

Page 158: ...junction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam...

Page 159: ...put Parameters There are no output parameters associated with Picam_WaitForStatusParameterValue Related APIs For additional information refer to the following related APIs Picam_CanWaitForStatusParame...

Page 160: ...parameter_array is null calling Picam_DestroyParameters has no effect NOTE parameter_array may be a single PicamParameter allocated by PICam Syntax The syntax for Picam_DestroyParameters is PICAM_API...

Page 161: ...nction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_D...

Page 162: ...nced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related Structures For additional information refe...

Page 163: ...sed in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related Structures For additional information refer to the following pa...

Page 164: ...alueType are Output Parameters Output parameters for Picam_GetParameterValueType are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be...

Page 165: ...put Parameters Output parameters for Picam_GetParameterEnumeratedType are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera handle it may be a handle to...

Page 166: ...tParameterValueAccess are Output Parameters Output parameters for Picam_GetParameterValueAccess are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a camera ha...

Page 167: ...GetParameterConstraintType are Output Parameters Output parameters for Picam_GetParameterConstraintType are Advanced API Usage When used in conjunction with Advanced APIs if camera_or_accessory is a c...

Page 168: ...Picam_DestroyRoisConstraints has no effect NOTE constraint_array may be a single PicamRoisConstraint allocated by PICam Syntax The syntax for Picam_DestroyRoisConstraints is PICAM_API Picam_DestroyRoi...

Page 169: ...ith Advanced APIs camera may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_DestroyRoisConstraints Related Structures For a...

Page 170: ...icamPulseConstraint allocated by PICam Syntax The syntax for Picam_DestroyPulseConstraints is PICAM_API Picam_DestroyPulseConstraints const PicamPulseConstraint constraint_array Input Parameters Input...

Page 171: ...with Advanced APIs camera may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_DestroyPulseConstraints Related Structures For...

Page 172: ...ionsConstraint allocated by PICam Syntax The syntax for Picam_DestroyModulationsConstraints is PICAM_API Picam_DestroyModulationConstraints const PicamModulationsConstraint constraint array Input Para...

Page 173: ...APIs camera may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_DestroyModulationsConstraints Related Structures For additio...

Page 174: ...stroyCollectionConstraints has no effect NOTE constraint_array may be a single PicamCollectionConstraint allocated by PICam Syntax The syntax for Picam_DestroyCollectionConstraints is PICAM_API Picam_...

Page 175: ...n with Advanced APIs camera may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_DestroyRangeConstraints Related Structures F...

Page 176: ...h Advanced APIs if camera_or_accessory is a camera handle it may be a handle to either the device or model Related APIs For additional information refer to the following related APIs Picam_DestroyColl...

Page 177: ...angeConstraint allocated by PICam Syntax The syntax for Picam_DestroyRangeConstraints is PICAM_API Picam_DestroyRangeConstraints const PicamRangeConstraint constraint_array Input Parameters Input para...

Page 178: ...ra_or_accessory pibln committed Input Parameters Input parameters for Picam_AreParametersCommitted are Output Parameters Output parameters for Picam_AreParametersCommitted are Advanced API Usage When...

Page 179: ...arameters Input parameters for Picam_CommitParameters are Output Parameters Output parameters for Picam_CommitParameters are Advanced API Usage When used in conjunction with Advanced APIs if camera_or...

Page 180: ...180 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 181: ...be any size as long as it can contain at least one readout Typically using a user allocated buffer is optional However configuring the hardware such that the total number of readouts is indeterminate...

Page 182: ...is divided into Frame Pixel Data Frame pixel data contains data for X Regions of Interest stored in the order in which each ROI was defined Frame Metadata by a frame size Frame Metadata contains any t...

Page 183: ...s Table 6 1 PicamAcquisitionErrorsMask Enumerator Definitions Enumerator Description PicamAcquisitionErrorsMask_Camera Faulted The hardware has critically malfunctioned and is in need of service Furth...

Page 184: ...s reports various status information during data acquisition by the hardware Structure Definition The structure definition for PicamAcquisitionStatus is typedef struct PicamAcquisitionStatus pibln run...

Page 185: ...will change the number of non destructive readouts and therefore the total number of readouts acquired NOTE Parameters must be committed prior to initiating data acquisition Refer to Section 5 4 6 2...

Page 186: ...ware 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 th...

Page 187: ...ll stop asynchronously i e sometime in the future after this function returns NOTE To determine the current data acquisition status call Picam_WaitForAcquisitionUpdate Syntax The syntax for Picam_Star...

Page 188: ...Advanced API Usage ONLY If PicamParameter_ReadoutCount 0 the hardware will run continuously until Picam_StopAcquisition has been called Syntax The syntax for Picam_StopAcquisition is PICAM_API Picam_S...

Page 189: ...is PICAM_API Picam_IsAcquisitionRunning PicamHandle camera pibln running Input Parameters Input parameters for Picam_IsAcquisitionRunning are Output Parameters Output parameters for Picam_IsAcquisiti...

Page 190: ...ntents of both the data buffer available as well as the status data structure are invalid Syntax The syntax for Picam_WaitForAcquisitionUpdate is PICAM_API Picam_WaitForAcquisitionUpdate PicamHandle c...

Page 191: ...n the case of the last Picam_WaitForAcquisitionUpdate call Picam_WaitForAcquisitionUpdate is mutually exclusive with the usage of an acquisition updated callback Related APIs For additional informatio...

Page 192: ...192 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 193: ...Is including related data definitions and structures which are included in the picam_advanced h file Figure 7 1 illustrates a block diagram of the PICam Advanced Function structure REFERENCES Refer to...

Page 194: ...ides programming information about shared camera accessory plug and play discovery data enumerations 7 1 1 1 PicamDiscoveryAction Data Type PicamDiscoveryAction is defined as enum Description PicamDis...

Page 195: ...on PicamHandleType is the set of handle types Enumerator Definitions Refer to Table 7 2 for enumerator definitions Table 7 2 PicamHandleType Enumerator Definitions Enumerator Description PicamHandlTyp...

Page 196: ...descriptors for how parameters and their various attributes may or may not change Enumerator Definitions Refer to Table 7 3 for enumerator definitions Table 7 3 PicamDynamicsMask Enumerator Definition...

Page 197: ...AcquisitionStateErrorsMask is defined as enum Description PicamAcquisitionStateErrorsMask is the set of errors that can occur while detecting acquisition states Enumerator Definitions Refer to Table 7...

Page 198: ...ructures PicamAcquisitionBuffer PicamAcquisitionStateCounters 7 2 1 Camera Specific Information Data Structures This section provides programming information about structures used to define and descri...

Page 199: ...ariables required by PicamPixelLocation are 7 2 1 3 PicamRowDefect Description PicamRowDefect specifies the location and size of a single defective row on the sensor Structure Definition The structure...

Page 200: ...elDefectMap Variable Definitions The variables required by PicamPixelDefectMap are column_defect_array A set of all column defects This is null where there are no column defects column_defect_count Th...

Page 201: ...tion The structure definition for PicamStarDefect is typedef struct PicamStarDefect PicamPixelLocation center pi32f bias pi32f adjacent_factor pi32f diagonal_factor PicamStarDefect Variable Definition...

Page 202: ...tructure Definition The structure definition for PicamStarDefectMap is typedef struct PicamStarDefectMap piint id const PicamStarDefect star_defect_array piint star_defect_count PicamStarDefectMap Var...

Page 203: ...eter validation has succeeded FALSE Indicates the parameter validation has failed failed_parameter The parameter that has failed validation This is null when validation has succeeded failed_error_cons...

Page 204: ...Parameter failed_parameter const PicamConstraintScope failed_error_constraint_scope const PicamConstraintScope failed_warning_constraint_scope PicamFailedDependentParameter Variable Definitions The va...

Page 205: ...equired by PicamDependentValidationResult are is_valid Indicates the validation status for a parameter that is constrained by a second parameter Valid values are TRUE Indicates the parameter validatio...

Page 206: ...2 3 2 PicamAcquisitionStateCounters Description PicamAcquisitionStateCounters counts all acquisition state transitions registered for detection while acquiring Structure Definition The structure defi...

Page 207: ...Camera Accessory Parameter Value Callbacks PicamIntegerValueChangedCallback PicamFloatingPointValueChangedCallback PicamWhenStatusParameterValueCallback PicamIsRelevantChangedCallback PicamValueAcces...

Page 208: ...out accessory specific discovery callbacks 7 3 2 1 PicamAccessoryDiscoveryCallback Description PicamAccessoryDiscoveryCallback is the callback function for accessory discovery Syntax The syntax for Pi...

Page 209: ...k are 7 3 3 2 PicamRoisValueChangedCallback Description PicamRoisValueChangedCallback is the change notification callback function called when a parameter s Rois value has been changed Syntax The synt...

Page 210: ...er s intensifier modulation sequence value has been changed Syntax The syntax for PicamModulationsValueChangedCallback is typedef PicamError PIL_CALL PicamModulationsValueChangedCallback PicamHandle c...

Page 211: ...gPointValueChangedCallback Description PicamFloatingPointValueChangedCallback is the change notification callback function called when a parameter s floating point value has been changed Syntax The sy...

Page 212: ...Callback is the change notification callback function called when a parameter s relevance has been changed Syntax The syntax for PicamIsRelevantChangedCallback is typedef PicamError PIL_CALL PicamIsRe...

Page 213: ...or PicamValueAccessChangedCallback is typedef PicamError PIL_CALL PicamValueAccessChangedCallback PicamHandle camera_or_accessory PicamParameter parameter PicamValueAccess access Input Parameters Inpu...

Page 214: ...tPulseConstraintChangedCallback is the change notification callback function called when a parameter s dependent gate pulse constraints have been changed Syntax The syntax for PicamDependentPulseConst...

Page 215: ...rror PIL_CALL PicamDependentModulationsConstraint ChangedCallback PicamHandle camera PicamParameter parameter const PicamModulationsConstraint constraint Input Parameters Input parameters for PicamDep...

Page 216: ...ion PicamDependentRangeConstraintChangedCallback is the change notification callback function called when a parameter s dependent range constraints have been changed Syntax The syntax for PicamDepende...

Page 217: ...atedCallback is the notification callback function called when a camera has transitioned into the acquisition state requested for detection Syntax The syntax for PicamAcquisitionStateUpdatedCallback i...

Page 218: ...arDefectMap PicamAdvanced_GetStarDefectMaps Accessory Specific Information APIs PicamAccessory_GetLightSourceReference Shared Camera Accessory Advanced Information APIs PicamAdvanced_GetUserState Pica...

Page 219: ...onConstraintChanged PicamAdvanced_UnregisterForDependentCollectionConstraintChanged PicamAdvanced_GetParameterRangeConstraints PicamAdvanced_RegisterForDependentRangeConstraintChanged PicamAdvanced_Un...

Page 220: ...fered a critical malfunction Callbacks are called asynchronously from another thread but are serialized on that thread This means that additional notifications do not occur simultaneously but occur af...

Page 221: ...additional information refer to the following related APIs PicamAdvanced_RegisterForDiscovery 7 4 1 3 PicamAdvanced_DiscoverCameras Description PicamAdvanced_DiscoverCameras asynchronously initiates...

Page 222: ...Related APIs For additional information refer to the following related APIs PicamAdvanced_DiscoverCameras 7 4 1 5 PicamAdvanced_IsDiscoveringCameras Description PicamAdvanced_IsDiscoveringCameras det...

Page 223: ...ffered a critical malfunction Callbacks are called asynchronously from another thread but are serialized on that thread This means that additional notifications do not occur simultaneously but occur a...

Page 224: ...l information refer to the following related APIs PicamAccessory_RegisterForDiscovery 7 4 2 3 PicamAccessory_DiscoverAccessories Description PicamAccessory_DiscoverAccessories asynchronously initiates...

Page 225: ...PIs For additional information refer to the following related APIs PicamAccessory_DiscoverAccessories 7 4 2 5 PicamAccessory_IsDiscoveringAccessories Description PicamAccessory_IsDiscoveringAccessorie...

Page 226: ...enCameraDevice are Output Parameters Output parameters for PicamAdvanced_OpenCameraDevice are Related APIs For additional information refer to the following related APIs Picam_CloseCamera PicamAdvance...

Page 227: ...camAdvanced_GetCameraModel Description PicamAdvanced_GetCameraModel returns the handle for a specified camera model Syntax The syntax for PicamAdvanced_GetCameraModel is PICAM_API PicamAdvanced_GetCam...

Page 228: ...raDevice is PICAM_API PicamAdvanced_GetCameraDevice PicamHandle camera PicamHandle device Input Parameters Input parameters for PicamAdvanced_GetCameraDevice are Output Parameters Output parameters fo...

Page 229: ...ed_GetHandleType returns the type of handle for a specified handle Syntax The syntax for PicamAdvanced_GetHandleType is PICAM_API PicamAdvanced_GetHandleType PicamHandle handle PicamHandleType type In...

Page 230: ...ectMaps has no effect NOTE defect_map_array may be a single PicamPixelDefectMap allocated by PICam Syntax The syntax for PicamAdvanced_DestroyPixelDefectMaps is PICAM_API PicamAdvanced_DestroyPixelDef...

Page 231: ...ectMap are Related APIs For additional information refer to the following related APIs PicamAdvanced_DestroyPixelDefectMaps Related Structures For additional information refer to the following related...

Page 232: ...le PicamStarDefect allocated by PICam Syntax The syntax for PicamAdvanced_DestroyStarDefectMaps is PICAM_API PicamAdvanced_DestroyStarDefectMaps const PicamStarDefectMap star_defect_map_array Input Pa...

Page 233: ...ters for PicamAdvanced_GetStarDefectMap are Related APIs For additional information refer to the following related APIs PicamAdvanced_DestroyStarDefectMaps PicamAdvanced_GetStarDefectMaps Related Stru...

Page 234: ...anced_GetStarDefectMaps are Output Parameters Output parameters for PicamAdvanced_GetStarDefectMaps are Related APIs For additional information refer to the following related APIs PicamAdvanced_Destro...

Page 235: ...PicamAccessory_GetLightSourceReference PicamHandle accessory const PicamCalibration counts_vs_nm Input Parameters Input parameters for PicamAccessory_GetLightSourceReference are Output Parameters Out...

Page 236: ...ser defined state within the callback NOTE This API is thread safe Syntax The syntax for PicamAdvanced_GetUserState is PICAM_API PicamAdvanced_GetUserState PicamHandle camera_or_accessory void user_st...

Page 237: ...or PicamAdvanced_SetUserState is PICAM_API PicamAdvanced_SetUserState PicamHandle camera_or_accessory void user_state Input Parameters Input parameters for PicamAdvanced_SetUserState are Output Parame...

Page 238: ...e g representing the status of camera hardware do not result in a callback s being called Call PicamAdvanced_UnregisterForLargeIntegerValueChanged to unregister each callback once it is no longer req...

Page 239: ...parameter PicamLargeIntegerValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForLargeIntegerValueChanged are Output Parameters There are no output parameters...

Page 240: ...result in a callback s being called Call PicamAdvanced_UnregisterForRoisValueChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForRoisValu...

Page 241: ...meter PicamRoisValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForRoisValueChanged are Output Parameters There are no output parameters associated with Picam...

Page 242: ...result in a callback s being called Call PicamAdvanced_UnregisterForPulseValueChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForPulseVa...

Page 243: ...arameter PicamPulseValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForPulseValueChanged are Output Parameters There are no output parameters associated with...

Page 244: ...in a callback s being called Call PicamAdvanced_UnregisterForModulationsValueChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForModulati...

Page 245: ...eter parameter PicamModulationsValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForModulationsValueChanged are Output Parameters There are no output parameter...

Page 246: ...ave changed due to external influences e g representing the status of camera hardware do not result in a callback s being called Call PicamAdvanced_UnregisterForIntegerValueChanged to unregister each...

Page 247: ...ccessory PicamParameter parameter PicamIntegerValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForIntegerValueChanged are Output Parameters There are no outpu...

Page 248: ...once it is no longer required Syntax The syntax for PicamAdvanced_RegisterForExtrinsicIntegerValueChanged is PICAM_API PicamAdvanced_RegisterForExtrinsicIntegerValueChanged PicamHandle device_or_acce...

Page 249: ...tegerValueChanged PicamHandle device_or_accessory PicamParameter parameter PicamIntegerValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForExtrinsicIntegerVal...

Page 250: ...in a callback s being called Call PicamAdvanced_UnregisterForFloatingPointValueChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForFloatin...

Page 251: ...r_accessory PicamParameter parameter PicamFloatingPointValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForFloatingPointValueChanged are Output Parameters The...

Page 252: ...it is no longer required Syntax The syntax for PicamAdvanced_RegisterForExtrinsicFloatingPointValueChanged is PICAM_API PicamAdvanced_RegisterForExtrinsicFloatingPointValueChanged PicamHandle device_...

Page 253: ...ingPoint ValueChanged PicamHandle device_or_accessory PicamParameter parameter PicamIntegerValueChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForExtrinsicFloati...

Page 254: ...ry PicamParameter parameter piint value PicamWhenStatusParameterValueCallback when Input Parameters Input parameters for PicamAdvanced_NotifyWhenStatusParameterValue are Output Parameters There are no...

Page 255: ...rs Input parameters for PicamAdvanced_CancelNotifyWhenStatusParameterValue are Output Parameters There are no output parameters associated with PicamAdvanced_CancelNotifyWhenStatusParameterValue Relat...

Page 256: ...are being set i e called prior to returning from the set operation Call PicamAdvanced_UnregisterForIsRelevantChanged to unregister each callback once it is not longer required Syntax The syntax for Pi...

Page 257: ...sory PicamParameter parameter PicamIsRelevantChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForIsRelevantChanged are Output Parameters There are no output parame...

Page 258: ...registerForValueAccessChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForValueAccessChanged is PICAM_API PicamAdvanced_RegisterForValueAc...

Page 259: ...ForValueAccessChanged 7 4 10 5 PicamAdvanced_GetParameterDynamics Description PicamAdvanced_GetParameterDynamics returns the dynamics for a specified parameter Syntax The syntax for PicamAdvanced_GetP...

Page 260: ..._GetParameterExtrinsicDynamics PicamHandle camera_or_accessory PicamParameter parameter PicamDynamicsMask extrinsic Input Parameters Input parameters for PicamAdvanced_GetParameterExtrinsicDynamics ar...

Page 261: ...RoisConstraint constraint_array piint constraint_count Input Parameters Input parameters for PicamAdvanced_GetParameterRoisConstraints are Output Parameters Output parameters for PicamAdvanced_GetPara...

Page 262: ...ntChanged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForDependentRoisConstraintChanged is PICAM_API PicamAdvanced_RegisterForDependentRoisCo...

Page 263: ...amera PicamParameter parameter PicamDependentRoisConstraintChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForDependentRoisConstraintChanged are Output Parameters...

Page 264: ...parameters for PicamAdvanced_GetParameterPulseConstraints are Output Parameters Output parameters for PicamAdvanced_GetParameterPulseConstraints are Related APIs For additional information refer to t...

Page 265: ...anged to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForDependentPulseConstraintChanged is PICAM_API PicamAdvanced_RegisterForDependentPulseCons...

Page 266: ...le camera PicamParameter parameter PicamDependentPulseConstraintChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForDependentPulseConstraintChanged are Output Para...

Page 267: ...meters for PicamAdvanced_GetParameterModulationsConstraints are Output Parameters Output parameters for PicamAdvanced_GetParameterModulationsConstraints are Related APIs For additional information ref...

Page 268: ...d to unregister each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForDependentModulationsConstraintChanged is PICAM_API PicamAdvanced_RegisterForDependentModulat...

Page 269: ...le camera PicamParameter parameter PicamDependentModulationsConstraintChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForDependentModulationsConstraintChanged are...

Page 270: ...mCollectionConstraint constraint_array piint constraint_count Input Parameters Input parameters for PicamAdvanced_GetParameterCollectionConstraints are Output Parameters Output parameters for PicamAdv...

Page 271: ...each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForDependentCollectionConstraintChanged is PICAM_API PicamAdvanced_RegisterForDependentCollection ConstraintCh...

Page 272: ...r_accessory PicamParameter parameter PicamDependentCollectionConstraintChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForDependentCollectionConstraintChanged are...

Page 273: ...rameters for PicamAdvanced_GetParameterRangeConstraints are Output Parameters Output parameters for PicamAdvanced_GetParameterRangeConstraints are Related APIs For additional information refer to the...

Page 274: ...register each callback once it is not longer required Syntax The syntax for PicamAdvanced_RegisterForDependentRangeConstraintChanged is PICAM_API PicamAdvanced_RegisterForDependentRangeConstraintChang...

Page 275: ...ssory PicamParameter parameter PicamDependentRangeConstraintChangedCallback changed Input Parameters Input parameters for PicamAdvanced_UnregisterForDependentRangeConstraintChanged are Output Paramete...

Page 276: ...estroyValidationResult Related Structures For additional information refer to the following related structures PicamValidationResult 7 4 13 2 Picam_DestroyValidationResults Description Picam_DestroyVa...

Page 277: ...or PicamAdvanced_ValidateParameter are Output Parameters Output parameters for PicamAdvanced_ValidateParameter are Related APIs For additional information refer to the following related APIs Picam_Des...

Page 278: ...dationResult Description Picam_DestroyDependentValidationResult releases memory that has been allocated by PICam for use by result If result is null calling Picam_DestroyDependentValidationResult has...

Page 279: ...nced_CommitParametersToCameraDevice attempts to configure a camera device with the set of parameter values stored in model NOTE If this action leads to a camera device error the action fails and the c...

Page 280: ...ameterFromCameraDevice 7 4 13 9 PicamAdvanced_RefreshParametersFromCameraDevice Description PicamAdvanced_RefreshParametersFromCameraDevice updates all parameter values stored in model with values fro...

Page 281: ...onBuffer Description PicamAdvanced_SetAcquisitionBuffer assigns a user allocated buffer to a specific device Syntax The syntax for PicamAdvanced_SetAcquisitionBuffer is PICAM_API PicamAdvanced_SetAcqu...

Page 282: ...at thread This means that additional notifications do not occur simultaneously but occur after each callback returns Call PicamAdvanced_UnregisterForAcquisitionUpdated to unregister each callback once...

Page 283: ...rAcquisitionUpdated PicamHandle device PicamAcquisitionUpdatedCallback updated Input Parameters Input parameters for PicamAdvanced_UnregisterForAcquisitionUpdated are Output Parameters There are no ou...

Page 284: ...is PICAM_API PicamAdvanced_CanRegisterForAcquisitionStateUpdated PicamHandle device PicamAcquisitionState state pibln detectable Input Parameters Input parameters for PicamAdvanced_CanRegisterForAcqu...

Page 285: ...occur simultaneously but occur after each callback returns Syntax The syntax for PicamAdvanced_RegisterForAcquisitionStateUpdated is PICAM_API PicamAdvanced_RegisterForAcquisitionStateUpdated PicamHan...

Page 286: ...onStateUpdated PicamHandle device PicamAcquisitionState state PicamAcquisitionStateUpdatedCallback updated Input Parameters Input parameters for PicamAdvanced_UnregisterForAcquisitionStateUpdated are...

Page 287: ...itionBufferOverrun is PICAM_API PicamAdvanced_HasAcquisitionBufferOverrun PicamHandle device pibln overran Input Parameters Input parameters for PicamAdvanced_HasAcquisitionBufferOverrun are Output Pa...

Page 288: ...icamHandle device pibln clearable Input Parameters Input parameters for PicamAdvanced_CanClearReadoutCountOnline are Output Parameters Output parameters for PicamAdvanced_CanClearReadoutCountOnline ar...

Page 289: ...Output Parameters Output parameters for PicamAdvanced_ClearReadoutCountOnline are NOTE There is an inherent race between clearing the readout count and the camera stopping when it has acquired the nu...

Page 290: ...290 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 291: ...libration has been performed the gain value entered in the software by the user will be the actual multiplication gain applied to the input signal CAUTION When calibrating a ProEM or Evolve camera wit...

Page 292: ...CalibrationDate Description PicamEMCalibrationDate specifies the calibration date Structure Definition The structure definition for PicamEMCalibrationDate is typedef struct PicamEMCalibrationDate piin...

Page 293: ...and or cancellation Syntax The syntax for PicamEMCalibrationCallback is typedef pibln PIL_CALL PicamEMCalibrationCallback PicamHandle calibration piflt progress void user_state Input Parameters The i...

Page 294: ...alibration_SetSensorTemperatureSetPoint 8 4 1 EM Calibration Access APIs This section provides programming information about EM Calibration Access APIs 8 4 1 1 PicamEMCalibration_OpenCalibration Descr...

Page 295: ...ibrations returns an allocated array of open calibration handles Syntax The syntax for PicamEMCalibration_GetOpenCalibrations is PICAM_API PicamEMCalibration_GetOpenCalibrations const PicamHandle cali...

Page 296: ...tCameraID is PICAM_API PicamEMCalibration_GetCameraID PicamHandle calibration PicamCameraID id Input Parameters Input parameters for PicamEMCalibration_GetCameraID are Output Parameters Output paramet...

Page 297: ...refer to the following related APIs PicamEMCalibrationDate 8 4 2 2 PicamEMCalibration_ReadSensorTemperatureReading Description PicamEMCalibration_ReadSensorTemperatureReading returns the current senso...

Page 298: ...s is PICAM_API PicamEMCalibration_ReadSensorTemperatureStatus PicamHandle calibration PicamSensorTemperatureStatus value Input Parameters Input parameters for PicamEMCalibration_ReadSensorTemperatureS...

Page 299: ...8 4 2 5 PicamEMCalibration_SetSensorTemperatureSetPoint Description PicamEMCalibration_SetSensorTemperatureSetPoint configures the sensor temperature set point for a specified camera to a specified v...

Page 300: ...tConstraint PicamHandle calibration const PicamRangeConstraint constraint Input Parameters Input parameters for PicamEMCalibration_GetSensorTemperatureSetPointConstraint are Output Parameters Output p...

Page 301: ...librate PicamHandle calibration PicamEMCalibrationCallback calllback void user_state Input Parameters Input parameters for PicamEMCalibration_Calibrate are Output Parameters There are no output parame...

Page 302: ...302 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 303: ...1 Symbol Key for Table A 2 and Table A 3 Value Types Constraint Types F Floating Point M Modulations R Range M Modulation E Enumeration R Region of Interest C Collection P Pulse B Boolean P Pulse Ri R...

Page 304: ...g DifEnding Gate P P DifStarting Gate P P GatingMode E C RepetitiveGa te P P SequentialEn dingGate P P Sequential GateStep Count L R Sequential GateStep Iterations L R Table A 2 Parameter Information...

Page 305: ...Gain I R Intensifier Options E RO Intensifier Status E RO Modulation Duration F R Modulation Frequency F R Phosphor DecayDelay F R Phosphor DecayDelay Resolution F C Table A 2 Parameter Information a...

Page 306: ...gital Conversion AdcAnalog Gain E C AdcBitDepth I C AdcEMGain I R AdcQuality E C AdcSpeed F C CorrectPixel Bias B C Table A 2 Parameter Information and Camera Support Sheet 4 of 15 Parameter Name Valu...

Page 307: ...Signal Amplitude F R Modulation OutputSignal Frequency F R OutputSignal E C OutputSignal 2 E C SyncMaster2 Delay F R Trigger Coupling E C TriggerDelay F R Table A 2 Parameter Information and Camera Su...

Page 308: ...Termination E C Trigger Threshold F R Table A 2 Parameter Information and Camera Support Sheet 6 of 15 Parameter Name Value Type Constraint Type Permission Value Type Constraint Type BLAZE EVOLVE FER...

Page 309: ...tion F RO SeNsRWindow Height I R VerticalShif t Rate F C Data Acquisition DisableData Formatting B C ExactReadout CountMaximum L RO FrameRate Calculation F RO Table A 2 Parameter Information and Camer...

Page 310: ...alculation F RO Orientation E RO Photon DetectionMod e E C Photon Detection Threshold F R PixelBitDept h I RO PixelFormat E C ReadoutCount L R ReadoutRate Calculation F RO Table A 2 Parameter Informat...

Page 311: ...s E C TrackFrames B C Table A 2 Parameter Information and Camera Support Sheet 9 of 15 Parameter Name Value Type Constraint Type Permission Value Type Constraint Type BLAZE EVOLVE FERGIE ISO 81 KURO N...

Page 312: ...e RightMargin I RO SensorActive TopMargin I RO SensorActive Width I RO SensorMasked BottomMargin I RO SensorMasked Height I RO SensorMasked TopMargin I RO Sensor Secondary ActiveHeight I RO Table A 2...

Page 313: ...2 Parameter Information and Camera Support Sheet 11 of 15 Parameter Name Value Type Constraint Type Permission Value Type Constraint Type BLAZE EVOLVE FERGIE ISO 81 KURO NIRvana ST PIoNIR NIRvana HS...

Page 314: ...ttom Margin I R MaskedHeight I R MaskedTop Margin I R Secondary ActiveHeight I R Secondary MaskedHeight I R Table A 2 Parameter Information and Camera Support Sheet 12 of 15 Parameter Name Value Type...

Page 315: ...Sensor Temperature CoolingFan Status E RO DisableCooli ng Fan B C EnableSensor WindowHeater B C Sensor Temperature Reading F RO Sensor Temperature SetPoint F R Table A 2 Parameter Information and Cam...

Page 316: ...2 Parameter Information and Camera Support Sheet 14 of 15 Parameter Name Value Type Constraint Type Permission Value Type Constraint Type BLAZE EVOLVE FERGIE ISO 81 KURO NIRvana ST PIoNIR NIRvana HS...

Page 317: ...GratingType E RO InclusionAng le F RO SensorAngle F RO Laser LaserOutput Mode E C LaserPower F R LaserStatus E RO Laser Wavelength F RO Table A 2 Parameter Information and Camera Support Sheet 15 of...

Page 318: ...rameters Table A 3 Parameter Information and Accessory Support Parameter Name Read Only Value Type Constraint Type FERGIE AEL FERGIE QTH FERGIE Laser 532 785 IntelliCal SWIR QTH Laser InputTriggerStat...

Page 319: ...custom EM gain calibration application Once the sample code has been built it can be included as part of the standard customer installation process and allows users to perform EM calibration on an as...

Page 320: ...perates at a different temperature manually adjust it as necessary 6 Once the Current temperature reaches the Target temperature specified The internal shutter closes NOTE When using a manual shutter...

Page 321: ...e Procedure Perform the following procedure to upgrade a GigE camera s firmware to be compatible with PICam 5 x 1 On the Host Computer navigate to the following directory c program files princeton ins...

Page 322: ...ure C 2 Figure C 2 Firmware Upgrade Selecting Device to be Upgraded 4 Once selected click to begin the automated firmware upgrade process The Updating dialog is displayed similar to that shown in Figu...

Page 323: ...firmware requires some planning to avoid unnecessary complications It is strongly recommended that PICam 3 x firmware be restored on all affected GigE cameras before uninstalling PICam 5 x from the h...

Page 324: ..._Restore exe file to launch the firmware restore tool The IP Engine Selection dialog is displayed See Figure C 5 Figure C 5 Firmware Restore Typical IP Engine Selection Dialog 3 Within the Available I...

Page 325: ...Restore Typical Updating Dialog As the firmware restoration proceeds the dialog displays appropriate messages and the progress bar provides a visual indication 5 Once the firmware has been restored c...

Page 326: ...324 PICam 5 x Programmer s Manual Issue 11 This page is intentionally blank...

Page 327: ...f an expired Heartbeat is a continuous string of unexpected errors being received Only after the Heartbeat Timeout has expired without an incoming Heartbeat signal having been detected will the camera...

Page 328: ...ase the camera following a crashed killed process cycling its power will clean up any processes that have been abnormally terminated However unless the Heartbeat Timeout is programmed for a shorter ti...

Page 329: ...r change these parameters or make coding decisions based on their values if either of these have been implemented information is provided in the following sections with suggestions about required code...

Page 330: ...hanges FERGIE 256F FT 256B FT 256BR FT and eXcelon Variants In PICam 4 x and Older Code if you in PICam 5 0 you need to Action Parameter Action Parameter Get PicamParameter_ActiveLeftMargin Get PicamP...

Page 331: ...ograms will break only when one or both of these parameters have been set asymmetrically E 2 2 Code Updates to Retain Existing Behavior Table E 2 lists code changes required to PICam 4 x and older cod...

Page 332: ...ior Table E 3 lists code changes required to PICam 4 x and older code in order to continue working properly with PICam 5 0 Table E 3 PICam 4 x and Older Code Changes PI MAX4 512B EM 1024B EM Sheet 1 o...

Page 333: ...amParameter_ActiveRightMargin Add Set 16 to the value PicamParameter_ActiveRightMargin Get PicamParameter_SensorActiveRightM argin Get PicamParameter_SensorActiveRightM argin Subtract 16 from the valu...

Page 334: ...X4 512EM 1024EM In PICam 4 x and Older Code if you in PICam 5 0 you need to Action Parameter Action Parameter ADC Quality Electron Multiplied Get PicamParameter_ActiveRightMargin Get Subtract PicamPar...

Page 335: ...will break only when one or both of these parameters have been set asymmetrically in High Capacity E 5 2 Code Updates to Retain Existing Behavior Table E 5 lists code changes required to PICam 4 x an...

Page 336: ...eak only when one or both of these parameters have been set asymmetrically in Low Noise E 6 2 Code Updates to Retain Existing Behavior Table E 6 lists code changes required to PICam 4 x and older code...

Page 337: ...meters remain symmetric so programs will break only when one or both of these parameters have been set asymmetrically in High Capacity E 7 2 Code Updates to Retain Existing Behavior Table E 7 lists co...

Page 338: ...rs remain symmetric so programs will break only when one or both of these parameters have been set asymmetrically in Low Noise E 8 2 Code Updates to Retain Existing Behavior Table E 8 lists code chang...

Page 339: ...isting Behavior Table E 9 lists code changes required to PICam 4 x and older code in order to continue working properly with PICam 5 0 Table E 9 PICam 4 x and Older Code Changes PIXIS 512F PIXIS XO 51...

Page 340: ...ProEM All Models In PICam 4 x and Older Code if you in PICam 5 0 you need to Action Parameter Action Parameter ADC Quality Electron Multiplied Get PicamParameter_ActiveLeftMargin Get PicamParameter_A...

Page 341: ...hanges required to PICam 4 x and older code in order to continue working properly with PICam 5 0 Table E 11 PICam 4 x and Older Code Changes ProEM HS 1KB 10 and eXcelon Variants In PICam 4 x and Older...

Page 342: ...ICam 4 x and older code in order to continue working properly with PICam 5 0 ProEM HS 512B ProEM HS 512BK ProEM HS 1024B eXcelon Variants Table E 12 PICam 4 x and Older Code Changes ProEM HS 512B 512B...

Page 343: ...ActiveRightMargin Add Set 16 to the value PicamParameter_ActiveRightMargin Get PicamParameter_SensorActiveRightM argin Get PicamParameter_SensorActiveRightM argin Subtract 16 from the value Table E 12...

Page 344: ...EM All Models In PICam 4 x and Older Code if you in PICam 5 0 you need to Action Parameter Action Parameter ADC Quality Electron Multiplied Get PicamParameter_ActiveLeftMargin Get PicamParameter_Activ...

Page 345: ...been set asymmetrically in High Capacity E 14 2 Code Updates to Retain Existing Behavior Table E 14 lists code changes required to PICam 4 x and older code in order to continue working properly with...

Page 346: ...hese parameters have been set asymmetrically in Low Noise E 15 2 Code Updates to Retain Existing Behavior Table E 15 lists code changes required to PICam 4 x and older code in order to continue workin...

Page 347: ...ANTIES EXPRESS OR IMPLIED this product against defects in materials or workmanship for a period of up to one 1 year after shipment During this period Teledyne Princeton Instruments will repair or repl...

Page 348: ...athode burn damage which carry NO WARRANTIES EXPRESSED OR IMPLIED all image intensifier products for a period of one 1 year after shipment Refer to additional Limited One 1 year Warranty terms and con...

Page 349: ...tion 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 Produ...

Page 350: ...states and countries do not allow limitations on how long an implied warranty lasts when an action may be brought or the exclusion or limitation of incidental or consequential damages so the above pr...

Page 351: ...This page is intentionally blank...

Page 352: ...7 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 Copyright 2021 Teledyne Princeton Instruments...

Page 353: ...Upgrade Typical IP Engine Selection Dialog 319 Figure C 2 Firmware Upgrade Selecting Device to be Upgraded 320 Figure C 3 Firmware Upgrade Typical Updating Dialog 320 Figure C 4 Firmware Upgrade Upgr...

Page 354: ......

Page 355: ...erator Definitions 81 Table 5 21 PicamOrientationMask Enumerator Definitions 81 Table 5 22 PicamOutputSignal Enumerator Definitions 82 Table 5 23 PicamParameter Enumerator Definitions 83 Table 5 24 Pi...

Page 356: ...512EM 1024EM 332 Table E 5 PICam 4 x and Older Code Changes PI MTE 1300B 1300BR 333 Table E 6 PICam 4 x and Older Code Changes PI MTE 1300R 334 Table E 7 PICam 4 x and Older Code Changes PIXIS 100B 1...

Page 357: ...soft Corporation in the United States and or other countries Red Hat and Enterprise Linux are registered trademarks of Red Hat Inc The information in this publication is believed to be accurate as of...

Reviews: