libapogee  3.0.3079
Public Member Functions | Protected Member Functions | Protected Attributes
ApogeeCam Class Reference

Base class for apogee cameras. More...

#include <ApogeeCam.h>

Inheritance diagram for ApogeeCam:
Alta CamGen2Base AltaF Ascent Quad HiC

List of all members.

Public Member Functions

void Reset ()
uint16_t ReadReg (uint16_t reg)
void WriteReg (uint16_t reg, uint16_t value)
void SetRoiNumRows (uint16_t rows)
void SetRoiNumCols (uint16_t cols)
uint16_t GetRoiNumRows ()
uint16_t GetRoiNumCols ()
void SetRoiStartRow (uint16_t row)
void SetRoiStartCol (uint16_t col)
uint16_t GetRoiStartRow ()
uint16_t GetRoiStartCol ()
void SetRoiBinRow (uint16_t bin)
uint16_t GetRoiBinRow ()
void SetRoiBinCol (uint16_t bin)
uint16_t GetRoiBinCol ()
uint16_t GetFirmwareRev ()
void SetImageCount (uint16_t count)
uint16_t GetImageCount ()
uint16_t GetImgSequenceCount ()
void SetSequenceDelay (double delay)
double GetSequenceDelay ()
void SetVariableSequenceDelay (bool variable)
bool GetVariableSequenceDelay ()
void SetTdiRate (double TdiRate)
double GetTdiRate ()
void SetTdiRows (uint16_t TdiRows)
uint16_t GetTdiRows ()
uint16_t GetTdiCounter ()
void SetTdiBinningRows (uint16_t bin)
uint16_t GetTdiBinningRows ()
void SetKineticsSectionHeight (uint16_t height)
uint16_t GetKineticsSectionHeight ()
void SetKineticsSections (uint16_t sections)
uint16_t GetKineticsSections ()
void SetKineticsShiftInterval (double interval)
double GetKineticsShiftInterval ()
void SetShutterStrobePosition (double position)
double GetShutterStrobePosition ()
void SetShutterStrobePeriod (double period)
double GetShutterStrobePeriod ()
void SetShutterCloseDelay (double delay)
double GetShutterCloseDelay ()
void SetCoolerBackoffPoint (double point)
double GetCoolerBackoffPoint ()
void SetCoolerSetPoint (double point)
double GetCoolerSetPoint ()
Apg::CameraMode GetCameraMode ()
void SetCameraMode (Apg::CameraMode mode)
void SetFastSequence (bool TurnOn)
bool IsFastSequenceOn ()
void SetBulkDownload (bool TurnOn)
bool IsBulkDownloadOn ()
void SetPipelineDownload (bool TurnOn)
bool IsPipelineDownloadOn ()
void SetIoPortAssignment (uint16_t assignment)
uint16_t GetIoPortAssignment ()
void SetIoPortBlankingBits (uint16_t blankingBits)
uint16_t GetIoPortBlankingBits ()
void SetIoPortDirection (uint16_t direction)
uint16_t GetIoPortDirection ()
void SetIoPortData (uint16_t data)
uint16_t GetIoPortData ()
void SetPreFlash (bool TurnOn)
bool GetPreFlash ()
void SetExternalTrigger (bool TurnOn, Apg::TriggerMode trigMode, Apg::TriggerType trigType)
bool IsTriggerNormEachOn ()
bool IsTriggerNormGroupOn ()
bool IsTriggerTdiKinEachOn ()
bool IsTriggerTdiKinGroupOn ()
bool IsTriggerExternalShutterOn ()
bool IsTriggerExternalReadoutOn ()
void SetShutterState (Apg::ShutterState state)
Apg::ShutterState GetShutterState ()
bool IsShutterForcedOpen ()
bool IsShutterForcedClosed ()
bool IsShutterOpen ()
void SetShutterAmpCtrl (bool TurnOn)
bool IsShutterAmpCtrlOn ()
void SetCooler (bool TurnOn)
Apg::CoolerStatus GetCoolerStatus ()
bool IsCoolerOn ()
double GetTempCcd ()
void SetCcdAdcResolution (Apg::Resolution res)
Apg::Resolution GetCcdAdcResolution ()
void SetCcdAdcSpeed (Apg::AdcSpeed speed)
Apg::AdcSpeed GetCcdAdcSpeed ()
uint16_t GetMaxBinCols ()
uint16_t GetMaxBinRows ()
uint16_t GetMaxImgCols ()
uint16_t GetMaxImgRows ()
uint16_t GetTotalRows ()
uint16_t GetTotalCols ()
uint16_t GetNumOverscanCols ()
bool IsInterline ()
CamModel::PlatformType GetPlatformType ()
void SetLedAState (Apg::LedState state)
Apg::LedState GetLedAState ()
void SetLedBState (Apg::LedState state)
Apg::LedState GetLedBState ()
void SetLedMode (Apg::LedMode mode)
Apg::LedMode GetLedMode ()
std::string GetInfo ()
std::string GetModel ()
std::string GetSensor ()
void SetFlushCommands (bool Disable)
bool AreFlushCmdsDisabled ()
void SetPostExposeFlushing (bool Disable)
bool IsPostExposeFlushingDisabled ()
double GetPixelWidth ()
double GetPixelHeight ()
double GetMinExposureTime ()
double GetMaxExposureTime ()
bool IsColor ()
bool IsCoolingSupported ()
bool IsCoolingRegulated ()
double GetInputVoltage ()
CamModel::InterfaceType GetInterfaceType ()
void GetUsbVendorInfo (uint16_t &VendorId, uint16_t &ProductId, uint16_t &DeviceId)
bool IsCCD ()
void PauseTimer (bool TurnOn)
bool IsSerialASupported ()
bool IsSerialBSupported ()
void SetFlushBinningRows (uint16_t bin)
uint16_t GetFlushBinningRows ()
bool IsOverscanDigitized ()
void SetDigitizeOverscan (const bool TurnOn)
void SetAdcGain (uint16_t gain, int32_t ad, int32_t channel)
uint16_t GetAdcGain (int32_t ad, int32_t channel)
void SetAdcOffset (uint16_t offset, int32_t ad, int32_t channel)
uint16_t GetAdcOffset (int32_t ad, int32_t channel)
bool IsInitialized ()
bool IsConnected ()
void SetAdSimMode (bool TurnOn)
bool IsAdSimModeOn ()
void SetLedBrightness (double PercentIntensity)
double GetLedBrightness ()
std::string GetDriverVersion ()
std::string GetUsbFirmwareVersion ()
std::string GetSerialNumber ()
virtual void OpenConnection (const std::string &ioType, const std::string &DeviceAddr, const uint16_t FirmwareRev, const uint16_t Id)=0
virtual void CloseConnection ()=0
virtual void Init ()=0
virtual void StartExposure (double Duration, bool IsLight)=0
virtual CameraStatusRegs GetStatus ()=0
virtual Apg::Status GetImagingStatus ()=0
virtual void GetImage (std::vector< uint16_t > &out)=0
virtual void StopExposure (bool Digitize)=0
virtual uint32_t GetAvailableMemory ()=0
virtual int32_t GetNumAds ()=0
virtual int32_t GetNumAdChannels ()=0
virtual double GetCoolerDrive ()=0
virtual void SetFanMode (Apg::FanMode mode, bool PreCondCheck=true)=0
virtual Apg::FanMode GetFanMode ()=0
virtual double GetTempHeatsink ()=0

Protected Member Functions

 ApogeeCam (CamModel::PlatformType platform)
void VerifyFrmwrRev ()
void LogConnectAndDisconnect (bool Connect)
void ExectuePreFlash ()
void SetExpsoureTime (double Duration)
void IssueExposeCmd (bool IsLight)
void IsThereAStatusError (uint16_t statusReg)
bool IsImgDone (const CameraStatusRegs &statusObj)
Apg::Status LogAndReturnStatus (Apg::Status status, const CameraStatusRegs &statusObj)
void SupsendCooler (bool &resume)
void ResumeCooler ()
void WaitForCoolerSuspendBit (const uint16_t mask, const bool IsHigh)
void InitShutterCloseDelay ()
void StopExposureModeNorm (bool Digitize)
void Reset (bool Flush)
void HardStopExposure (const std::string &msg)
void GrabImageAndThrowItAway ()
void AdcParamCheck (const int32_t ad, const int32_t channel, const std::string &fxName)
void SetNumAdOutputs (const uint16_t num)
bool CheckAndWaitForStatus (Apg::Status desired, Apg::Status &acutal)
void CancelExposureNoThrow ()
double DefaultGetTempHeatsink ()
void DefaultInit ()
void ClearAllRegisters ()
void DefaultCfgCamFromId (uint16_t CameraId)
void DefaultSetFanMode (Apg::FanMode mode, bool PreCondCheck)
Apg::FanMode DefaultGetFanMode ()
void DefaultCloseConnection ()
virtual void CfgCamFromId (uint16_t CameraId)=0
virtual void ExposureAndGetImgRC (uint16_t &r, uint16_t &c)=0
virtual uint16_t ExposureZ ()=0
virtual uint16_t GetImageZ ()=0
virtual uint16_t GetIlluminationMask ()=0
virtual void FixImgFromCamera (const std::vector< uint16_t > &data, std::vector< uint16_t > &out, int32_t rows, int32_t cols)=0

Protected Attributes

std::tr1::shared_ptr< CameraIo > m_CamIo
std::tr1::shared_ptr
< PlatformData > 
m_CameraConsts
std::tr1::shared_ptr< CApnCamData > m_CamCfgData
std::tr1::shared_ptr< ModeFsm > m_CamMode
std::tr1::shared_ptr
< CcdAcqParams > 
m_CcdAcqSettings
CamModel::PlatformType m_PlatformType
const std::string m_fileName
uint16_t m_FirmwareVersion
uint16_t m_Id
uint16_t m_NumImgsDownloaded
bool m_ImageInProgress
bool m_IsPreFlashOn
bool m_IsInitialized
bool m_IsConnected

Detailed Description

Base class for apogee cameras.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.

Copyright(c) 2009 Apogee Instruments, Inc.


Member Function Documentation

Retruns if flushing commands have been disabled.

Exceptions:
std::runtime_error
virtual void ApogeeCam::CloseConnection ( ) [pure virtual]

Closes the IO connection to the camera. IMPORTANT: If this call is made if camera is in an error condition, then the function will try to reset the interface. Thus it is not guaranteed that the address for the camera will be the same after this function is called.

Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

uint16_t ApogeeCam::GetAdcGain ( int32_t  ad,
int32_t  channel 
)

This function returns the analog to digital converter gain value for the given ad and channel.

Parameters:
[in]adThe analog to digital convert to query. Valid range is 0 to 1 - GetNumAds().
[in]channelChannel on the ADC to query. Valid range is 0 to 1 - GetNumAdChannels().
Exceptions:
std::runtime_error
uint16_t ApogeeCam::GetAdcOffset ( int32_t  ad,
int32_t  channel 
)

This function returns the analog to digital converter offset value for the given ad and channel.

Parameters:
[in]adThe analog to digital convert to query. Valid range is 0 to 1 - GetNumAds().
[in]channelChannel on the ADC to query. Valid range is 0 to 1 - GetNumAdChannels().
Exceptions:
std::runtime_error
virtual uint32_t ApogeeCam::GetAvailableMemory ( ) [pure virtual]

Returns the amount of available memory for storing images in terms of kilobytes (KB).

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the camera's operational mode.

Exceptions:
std::runtime_error

Returns the camera's digitization resolution.

Exceptions:
std::runtime_error

Returns the camera's acquisition speed.

Exceptions:
std::runtime_error

Returns the cooler backoff temperature in Celsius.

Exceptions:
std::runtime_error
virtual double ApogeeCam::GetCoolerDrive ( ) [pure virtual]

Drive level applied to the temp controller. Expressed as a percentage from 0% to 100%.

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the desired cooler temperature in Celsius.

Exceptions:
std::runtime_error

Returns the current cooler status

Exceptions:
std::runtime_error
std::string ApogeeCam::GetDriverVersion ( )

On Windows returns device driver version

Exceptions:
std::runtime_error
virtual Apg::FanMode ApogeeCam::GetFanMode ( ) [pure virtual]

Retruns current fan mode. Ascents always return Apg::FanMode_Off.

Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

Version number of the camera control firmware.

Exceptions:
std::runtime_error

Returns the row (vertical) binning value used during flushing operations.

Exceptions:
std::runtime_error
virtual void ApogeeCam::GetImage ( std::vector< uint16_t > &  out) [pure virtual]

Downloads the image data from the camera.

Parameters:
[out]outVector that will recieve the image data
Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the number of sequence images set by the user.

Exceptions:
std::runtime_error
virtual Apg::Status ApogeeCam::GetImagingStatus ( ) [pure virtual]

Returns the current imaging state of the camera.

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the number of images in a sequence the camera has acquired. The camera updates this value after the StartExposure function has been called.

Exceptions:
std::runtime_error
std::string ApogeeCam::GetInfo ( )

Returns information on the camera such as model, sensor, ids, etc.

Exceptions:
std::runtime_error

Returns the operating input voltage to the camera.

Exceptions:
std::runtime_error

Retruns the camera interface type.

Exceptions:
std::runtime_error

Returns the I/O port's signal usage.

Exceptions:
std::runtime_error
Exceptions:
std::runtime_error

Returns the I/O port data.

Exceptions:
std::runtime_error

Returns the IO Port Direction.

Exceptions:
std::runtime_error

Returns the vertical height for a Kinetics Mode section.

Exceptions:
std::runtime_error

Retruns the number of sections in a Kinetics Mode image.

Exceptions:
std::runtime_error

Returns the incremental rate between Kinetics Mode sections.

Exceptions:
std::runtime_error

Returns the state of LED light A.

Exceptions:
std::runtime_error

Returns brightness/intensity level of the LED light within the cap of the camera head. Expressed as a percentage from 0% to 100%.

Exceptions:
std::runtime_error

Returns the state of LED light B.

Exceptions:
std::runtime_error

Returns the mode of LED status lights.

Exceptions:
std::runtime_error

Returns the maximum number of binning columns (horizontal) for the camera.

Exceptions:
std::runtime_error

Returns the maximum number of binning rows (vertical) for the camera.

Exceptions:
std::runtime_error

Returns the maximum exposure duration.

Exceptions:
std::runtime_error

Returns number of imaging columns in terms of unbinned pixels. This value depends on the camera's sensor geometry.

Exceptions:
std::runtime_error

Returns number of imaging rows in terms of unbinned pixels. This value depends on the camera's sensor geometry.

Exceptions:
std::runtime_error

Returns the suggested minimum exposure duration, based on the camera's configuration.

Exceptions:
std::runtime_error
std::string ApogeeCam::GetModel ( )

Returns a camera model.

Exceptions:
std::runtime_error
virtual int32_t ApogeeCam::GetNumAdChannels ( ) [pure virtual]

Returns the number of channels on the camera's AD converters.

Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

virtual int32_t ApogeeCam::GetNumAds ( ) [pure virtual]

Returns the number of analog to digital (AD) converters on the camera.

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the number of overscan columns in terms of unbinned pixels. This variable depends upon the particular sensor used within the camera.

Exceptions:
std::runtime_error

Returns sensor's pixels height in micrometers.

Exceptions:
std::runtime_error

Returns sensor's pixels width in micrometers.

Exceptions:
std::runtime_error

Returns camera platform type.

Exceptions:
std::runtime_error
bool ApogeeCam::GetPreFlash ( ) [inline]

Returns IR pre-flash state ( true = turned on, false = turned off )

Exceptions:
std::runtime_error

Returns the number of binning columns.

Exceptions:
std::runtime_error

Returns the number of binning rows.

Exceptions:
std::runtime_error

Returns the number of imaging ROI columns

Exceptions:
std::runtime_error

Returns the number of imaging ROI rows

Exceptions:
std::runtime_error

Returns the starting column for the imaging ROI

Exceptions:
std::runtime_error

Returns the starting row for the imaging ROI

Exceptions:
std::runtime_error
std::string ApogeeCam::GetSensor ( )

Returns the sensor model installed in the camera

Exceptions:
std::runtime_error

Returns he amount of time between the close of the shutter and the beginning of the sensor readout.

Exceptions:
std::runtime_error
std::string ApogeeCam::GetSerialNumber ( )

Returns a special OEM-specific serial number.

Exceptions:
std::runtime_error

Returns the shutter close delay

Exceptions:
std::runtime_error

Returns the current shutter state.

Exceptions:
std::runtime_error

Returns ths shutter strobe period.

Exceptions:
std::runtime_error

Returns the shutter strobe position.

Exceptions:
std::runtime_error
virtual CameraStatusRegs ApogeeCam::GetStatus ( ) [pure virtual]

Returns the camera's status registers as a CameraStatusRegs class.

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the number TDI binning rows

Exceptions:
std::runtime_error

Dynamically incrementing count during a TDI image. The final value of TDICounter equals TDIRows. Valid range is between 1 and 65535.

Exceptions:
std::runtime_error

Returns the rate between TDI rows.

Exceptions:
std::runtime_error
uint16_t ApogeeCam::GetTdiRows ( )

Returns the total number of rows in the TDI image.

Exceptions:
std::runtime_error

Returns the current CCD temperature in degrees Celsius.

Exceptions:
std::runtime_error
virtual double ApogeeCam::GetTempHeatsink ( ) [pure virtual]

Returns the current Heatsink temperature in degrees Celsius. The Ascent camera platform does not support reading the heatsink temperature, and this property will return -255.

Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

Returns the total number of physical columns on the CCD. This value depends on the camera's sensor geometry.

Exceptions:
std::runtime_error

Returns the total number of physical rows on the CCD. This value depends on the camera's sensor geometry.

Exceptions:
std::runtime_error

Returns USB firmware version.

Exceptions:
std::runtime_error
void ApogeeCam::GetUsbVendorInfo ( uint16_t &  VendorId,
uint16_t &  ProductId,
uint16_t &  DeviceId 
)

Returns the USB ids associated with the camera system.

Parameters:
[out]VendorIdUSB vendor id
[out]ProductIdUSB product id
[out]DeviceIdUSB device id
Exceptions:
std::runtime_error

Returns the variable sequence delay state.

Exceptions:
std::runtime_error
virtual void ApogeeCam::Init ( ) [pure virtual]

Method for initializing the Apogee camera system. Must be called once before image acquisition.

Exceptions:
std::runtime_error

Implemented in Ascent, Quad, AltaF, and Alta.

Status of camera simulator mode

Exceptions:
std::runtime_error

Returns the state of bulk downloads (true = on, false = off)

Exceptions:
std::runtime_error
bool ApogeeCam::IsCCD ( )

Returns true if the sensor is a CCD; false if CMOS

Exceptions:
std::runtime_error

Returns true is CCD sensor has color dyes, and false otherwise

Exceptions:
std::runtime_error
bool ApogeeCam::IsConnected ( ) [inline]

Returns if the host is connected to a camera

Returns the state of the camera's cooler (true = on, false = off);

Exceptions:
std::runtime_error

Returns true if the camera supports regulated cooling, false if regulated cooling is not available.

Exceptions:
std::runtime_error

Returns true if the camera supports cooling, false if no cooling is available.

Exceptions:
std::runtime_error

Retruns the state of fast sequences (true = on, false = off)

Exceptions:
std::runtime_error
bool ApogeeCam::IsInitialized ( ) [inline]

Returns if the Init() function has been called.

Returns true if the sensor is an Interline CCD and false otherwise.

Exceptions:
std::runtime_error
Returns:
The digitize overscan state (on = true, off = false)
Exceptions:
std::runtime_error

Returns the state of pipelined downloads (true = on, false = off)

Exceptions:
std::runtime_error

Retruns if post exposure flushing has been disabled.

Exceptions:
std::runtime_error

Returns whether the camera supports Serial Port A. NOTE: Ascent cameras do not have serial ports.

Exceptions:
std::runtime_error

Returns whether the camera supports Serial Port B. NOTE: Ascent cameras do not have serial ports.

Exceptions:
std::runtime_error

Returns shutter amp control state (true = CCD voltage disabled, false = CCD voltage enabled)

Exceptions:
std::runtime_error

Returns if the shutter is in the Apg::ShutterState_ForceClosed state (true = yes, false = no)

Exceptions:
std::runtime_error

Returns if the shutter is in the Apg::ShutterState_ForceOpen state (true = yes, false = no)

Exceptions:
std::runtime_error

Returns shutter state (true = open, false = closed)

Exceptions:
std::runtime_error

Returns true if external readout trigger is on, false if off.

Exceptions:
std::runtime_error

Returns true if external shutter trigger is on, false if off.

Exceptions:
std::runtime_error

Returns true if normal each trigger is on, false if off.

Exceptions:
std::runtime_error

Returns true if normal group trigger is on, false if off.

Exceptions:
std::runtime_error

Returns true if TDI-Kinetrics each trigger is on, false if off.

Exceptions:
std::runtime_error

Returns true if TDI-Kinetrics group trigger is on, false if off.

Exceptions:
std::runtime_error
virtual void ApogeeCam::OpenConnection ( const std::string &  ioType,
const std::string &  DeviceAddr,
const uint16_t  FirmwareRev,
const uint16_t  Id 
) [pure virtual]

Opens a connection from the PC to the camera. The results strings from the FindDeviceUsb::Find() and the FindDeviceEthernet::Find() functions. provide the input into this function.

Parameters:
[in]ioTypespecifies camera IO interface 'usb' or 'ethernet'
[in]DeviceAddrspecifies the address of the camera on the interface
[in]FirmwareRevCamera's firmware revision. Used to verify interface connection.
[in]IdCamera's ID. Used to verify interface connection and setup camera specfic parameters.
Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

void ApogeeCam::PauseTimer ( bool  TurnOn)

Pauses the current exposure by closing the shutter and pausing the exposure timer.

Parameters:
[in]TurnOnA state variable that controls the pausing of the exposure timer. A value of true will issue a command to pause the timer. A value offalse will issue a command to unpause the timer. Multiple calls with this parameter set consistently to either state (i.e. back-to-back true states) have no effect.
Exceptions:
std::runtime_error
uint16_t ApogeeCam::ReadReg ( uint16_t  reg)
Parameters:
[in]regRegister
Returns:
Register value
Exceptions:
std::runtime_error
void ApogeeCam::Reset ( )

Resets the camera's internal pixel processing engines, and then starts the system flushing again. This function will cancel and pending expsoures. For more information on when to use this function please review the Exception Handling page.

Exceptions:
std::runtime_error
void ApogeeCam::SetAdcGain ( uint16_t  gain,
int32_t  ad,
int32_t  channel 
)

Sets the analog to digital converter gain value for the given ad and channel.

Parameters:
[in]gainThe new gain value. 0-1023 is a valid range for Alta cameras. 0-63 is a valid range for Ascent cameras.
[in]adThe analog to digital convert to set. Valid range is 0 to 1 - GetNumAds().
[in]channelChannel on the ADC to set. Valid range is 0 to 1 - GetNumAdChannels().
Exceptions:
std::runtime_error
void ApogeeCam::SetAdcOffset ( uint16_t  offset,
int32_t  ad,
int32_t  channel 
)

Sets the analog to digital converter offset value for the given ad and channel.

Parameters:
[in]offsetThe new offset value. 0-255 is a valid range for Alta cameras. 0-511 is a valid range for Ascent cameras.
[in]adThe analog to digital convert to set. Valid range is 0 to 1 - GetNumAds().
[in]channelChannel on the ADC to set. Valid range is 0 to 1 - GetNumAdChannels().
Exceptions:
std::runtime_error
void ApogeeCam::SetAdSimMode ( bool  TurnOn)

Specifies that the camera operation should be defined using simulated data for image parameters. param [in] TurnOn True turns on simulator mode. False turns of the simulator.

Exceptions:
std::runtime_error
void ApogeeCam::SetBulkDownload ( bool  TurnOn)

Enables/Disables how image data will be retrieved from the camera during a sequence. For USB camera systems, this variable is used to determine whether the returned data will be downloaded in bulk, or streamed as it becomes available. By definition, bulk download must be false when the continuous imaging is enabled, since setting this variable true assumes that the number of images in a series is known in advance of starting the exposure. The default value for this variable after initialization is true.

Parameters:
[in]TurnOntrue enables bulk download, false disables this feature
Exceptions:
std::runtime_error

Returns the camera's operational mode. The default value for this variable after initialization is Apg::CameraMode_Normal.

Exceptions:
std::runtime_error

Sets the camera's digitization resolution. NOTE: This feature is scheduled for deprecation and only functional on AltaU cameras. Please use the SetCcdAdcSpeed(Apg::AdcSpeed speed) function; 16bit = Normal, 12bit = Fast.

Exceptions:
std::runtime_error

Sets the camera's acquisition speed. The default value after initialization is Apg::AdcSpeed_Normal. For the AltaU setting the camera's speed to normal/fast is the equivalant of SetCcdAdcResolution( 16bit/12bit ). Calling GetCcdAdcResolution() after setting the ADC speed will return 16bit for normal speed and 12bit for fast.

void ApogeeCam::SetCooler ( bool  TurnOn)

Sets the state of the camera's cooler

Parameters:
[in]TurnOntrue = on, false = off
Exceptions:
std::runtime_error
void ApogeeCam::SetCoolerBackoffPoint ( double  point)

Sets the cooler backoff temperature of the cooler subsystem in Celsius. If the cooler is unable to reach the desired cooler set point, the Backoff Point is number of degrees up from the lowest point reached. Used to prevent the cooler from being constant driven with max power to an unreachable temperature. The default value of this variable after initialization can vary depending on camera model, but is typically set at 2.0 degrees Celsius.

Parameters:
[in]pointDesired backoff point. Must be greater than 0.
Exceptions:
std::runtime_error
void ApogeeCam::SetCoolerSetPoint ( double  point)

Sets the desired cooler temperature in Celsius. If the input set point cannot be reached, the cooler subsystem will determine a new set point based on the backoff point and change the cooler status to Apg::CoolerStatus_Revision. An application should reread this property to see the new set point that the system is using. Once the application rereads this property, the status of Apg::CoolerStatus_Revision will be cleared.

Parameters:
[in]pointDesired cooler set point
Exceptions:
std::runtime_error
void ApogeeCam::SetDigitizeOverscan ( const bool  TurnOn)

Function is a no op. It is in this interface for backwards compatibility purposes. The way to get the overscan data is to set the ROI to capture it.

Parameters:
[in]TurnOnToggling the digitize overscan variable
Exceptions:
std::runtime_error
void ApogeeCam::SetExternalTrigger ( bool  TurnOn,
Apg::TriggerMode  trigMode,
Apg::TriggerType  trigType 
)

Sets the external trigger mode and type. For more information see Hardware Trigger page

Parameters:
[in]TurnOntrue activates the trigger type and mode, false deactivates it
[in]trigModeTrigger mode
[in]trigTypeTrigger Type
Exceptions:
std::runtime_error
virtual void ApogeeCam::SetFanMode ( Apg::FanMode  mode,
bool  PreCondCheck = true 
) [pure virtual]

Sets the current fan speed. The default value of this variable after initialization is Apg::FanMode_Low. Ascent cameras do not support programmable fan speed, thus writes using this property have no effect.

Parameters:
[in]modeDesired fan mode
[in]PreCondCheckSetting PreCondCheck to false results in the pre-condition checking to be skipped. PreCondCheck should ALWAYS be set to true.
Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

void ApogeeCam::SetFastSequence ( bool  TurnOn)

Enables/Disables very fast back to back exposures for interline CCDs only. Also referred to as Ratio Mode. The default value for this variable after initialization is false. Note that this property cannot be used in conjunction with the TriggerNormalEach property, since progressive scan is defined as having the least possible time between exposures. However, the FastSequence property may be used with a single trigger to start a series of images (using TriggerNormalGroup).

Parameters:
[in]TurnOntrue enables fast sequences, false disables this feature
Exceptions:
std::runtime_error
void ApogeeCam::SetFlushBinningRows ( uint16_t  bin)

Sets the row (vertical) binning value used during flushing operations. The default value after camera initialization is sensor-specific. NOTE: This is a specialized property designed for unique experiments. Applications and users will not normally need to modify this variable from the default value.

Parameters:
[in]binThe valid range for this property is between 1 and GetMaxBinRows().
Exceptions:
std::runtime_error
void ApogeeCam::SetFlushCommands ( bool  Disable)

Enables/Disables any flushing command sent by the software to be recognized or unrecognized by the camera control firmware. This property may be used with SetPostExposeFlushing( bool Disable ) to completely stop all flushing operations within the camera. The default value of this variable after initialization is false. WARNING: This is a highly specialized property designed for very unique experiments. Applications and users will not normally need to modify this variable from the default value.

Parameters:
[in]DisableTrue disables flushing, false allows flushing after commands
Exceptions:
std::runtime_error
void ApogeeCam::SetImageCount ( uint16_t  count)

Sets the number of images to take in an image sequence.

Parameters:
[in]countNumber of image in the sequence to acquire.
Exceptions:
std::runtime_error
void ApogeeCam::SetIoPortAssignment ( uint16_t  assignment)

Defines the signal usage for the I/O port. This function is only valid on AltaU systems.

  • Bit 0 (I/O Signal 1): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used as a trigger input.
  • Bit 1 (I/O Signal 2): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used as a shutter output.
  • Bit 2 (I/O Signal 3): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used as a shutter strobe output.
  • Bit 3 (I/O Signal 4): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used as an external shutter input.
  • Bit 4 (I/O Signal 5): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used for starting readout via an external signal.
  • Bit 5 (I/O Signal 6): A value of zero (0) indicates that the I/O bit is user defined according to the specified IoPortDirection. A value of one (1) indicates that this I/O will be used for an input timer pulse.
    Parameters:
    [in]assignmentThe valid range is for the 6 LSBs, 0x0 to 0x3F.
    Exceptions:
    std::runtime_error
void ApogeeCam::SetIoPortBlankingBits ( uint16_t  blankingBits)
Exceptions:
std::runtime_error
void ApogeeCam::SetIoPortData ( uint16_t  data)

Send data to the I/O port. Applications are responsible for toggling bits, i.e., if Bit 2 of the I/O port is specified as an OUT signal, and a 0x1 is written to this bit, it will remain 0x1 until 0x0 is written to the same bit.

Parameters:
[in]dataValid range of this property is for the 6 LSBs, 0x0 to 0x3F.
Exceptions:
std::runtime_error
void ApogeeCam::SetIoPortDirection ( uint16_t  direction)

This function is only valid on AltaU camera systems.
On Ascent camera systems, the direction cannot be configured. Pins 1, 4, and 5 are always input and pins 2, 3, and 6 are always output.

  • Bit 0: I/O Signal 1 (0=IN and 1=OUT)
  • Bit 1: I/O Signal 2 (0=IN and 1=OUT)
  • Bit 2: I/O Signal 3 (0=IN and 1=OUT)
  • Bit 3: I/O Signal 4 (0=IN and 1=OUT)
  • Bit 4: I/O Signal 5 (0=IN and 1=OUT)
  • Bit 5: I/O Signal 6 (0=IN and 1=OUT)
    Parameters:
    [in]directionValid range is for the 6 LSBs, 0x0 to 0x3F.
    Exceptions:
    std::runtime_error
void ApogeeCam::SetKineticsSectionHeight ( uint16_t  height)

Set the vertical height for a Kinetics Mode section. Modifying this property also changes the value of the SetTdiBinningRows( uint16_t bin ) variable. The default value for this variable after initialization is 1.

Parameters:
[in]heightValid range for this variable is between 1 and the corresponding value of GetMaxBinRows().
Exceptions:
std::runtime_error
void ApogeeCam::SetKineticsSections ( uint16_t  sections)

Sets the number of sections in a Kinetics Mode image. Modifying this property also changes the value of the SetTdiRows( uint16_t TdiRows )

Parameters:
[in]sectionsValid range is 1 to 65535.
Exceptions:
std::runtime_error
void ApogeeCam::SetKineticsShiftInterval ( double  interval)

Sets the incremental rate between Kinetics Mode sections. The default value for this variable after initialization is 0.100s. Modifying this property also changes the value of SetTdiRate( double TdiRate ).

Parameters:
[in]intervalThe valid range is from 5.12us to 336ms.
Exceptions:
std::runtime_error

Sets the state of LED light A.

Parameters:
[in]stateDesired Apg::LedState
Exceptions:
std::runtime_error
void ApogeeCam::SetLedBrightness ( double  PercentIntensity)

Sets brightness/intensity level of the LED light within the cap of the camera head. The default value of this variable after initialization is 0%.

Parameters:
[in]PercentIntensityValid range is 0-100.
Exceptions:
std::runtime_error

Sets the state of LED light B.

Parameters:
[in]stateDesired Apg::LedState
Exceptions:
std::runtime_error

Sets the mode of LED status lights.

Parameters:
[in]modeDesired Apg::LedMode
Exceptions:
std::runtime_error
void ApogeeCam::SetPipelineDownload ( bool  TurnOn)

For USB camera systems, this variable is used to determine when ImageReady status is returned. When on, camera will return ImageReady status as soon as there is any data to download. When off, camera will not return ImageReady status until all data has been digitized and is ready for download. Turn on for faster downloads and increased frame rate in exchange for higher noise. Which option is best depends on your application. The default value for this variable after initialization is true.

Parameters:
[in]TurnOntrue enables pipelined download, false disables this feature
Exceptions:
std::runtime_error
void ApogeeCam::SetPostExposeFlushing ( bool  Disable)

Enables/Disables the camera control firmware to/from immediately beginning an internal flush cycle after an exposure. This property may be used with SetFlushCommands( bool Disable ) to completely stop all flushing operations within the camera. The default value of this variable after initialization is false. WARNING: This is a highly specialized property designed for very unique experiments. Applications and users will not normally need to modify this variable from the default value.

Parameters:
[in]DisableTrue disables flushing, false allows flushing after exposures
Exceptions:
std::runtime_error
void ApogeeCam::SetPreFlash ( bool  TurnOn) [inline]

Toggles IR pre-flash control. IR pre-flash normalizes the sensor before an image is taken with a flash of IR. false is the default camera state. \ param [in] TurnOn, true turn IR pre-flash on, false turns pre-flash off.

Exceptions:
std::runtime_error
void ApogeeCam::SetRoiBinCol ( uint16_t  bin)

Sets the number of columns to bin (horizontal binning). Default value is 1. Binning is not allowed in Apg::AdcSpeed_Video mode or for quad readout ccds.

Parameters:
[in]binValid range is 1 - GetMaxBinCols()
Exceptions:
std::runtime_error
void ApogeeCam::SetRoiBinRow ( uint16_t  bin)

Sets the number of rows to bin (vertical binning). Default value is 1. Binning is not allowed in Apg::AdcSpeed_Video mode or for quad readout ccds.

Parameters:
[in]binValid range is 1 - GetMaxBinRows()
Exceptions:
std::runtime_error
void ApogeeCam::SetRoiNumCols ( uint16_t  cols)

Sets the number of imaging ROI columns. The default value is the GetMaxImgCols().

Parameters:
[in]cols1 to GetMaxImgCols() is the valid value range for normal imaging. For imaging the overscan columns maximum is GetMaxImgCols() + GetNumOverscanCols().
Exceptions:
std::runtime_error
void ApogeeCam::SetRoiNumRows ( uint16_t  rows)

Sets the number of imaging ROI rows The default value is the GetMaxImgRows().

Parameters:
[in]rowsnumber of rows, 1 to GetMaxImgRows() is the valid value range.
Exceptions:
std::runtime_error
void ApogeeCam::SetRoiStartCol ( uint16_t  col)

Sets the starting column for the imaging ROI. 0 is the default value.

Parameters:
[in]col0 to GetMaxImgCols() -1 is the valid value range.
Exceptions:
std::runtime_error
void ApogeeCam::SetRoiStartRow ( uint16_t  row)

Sets the starting row for the imaging ROI. 0 is the default value.

Parameters:
[in]row0 to GetMaxImgRows() -1 is the valid value range.
Exceptions:
std::runtime_error
void ApogeeCam::SetSequenceDelay ( double  delay)

Time delay between images of the sequence. Dependent on SetVariableSequenceDelay( bool variable ). The default value of this variable after initialization is 327us.

Parameters:
[in]delayThe valid range is from 327us to 21.42s.
Exceptions:
std::runtime_error
void ApogeeCam::SetShutterAmpCtrl ( bool  TurnOn)

Enables/disables the CCD voltage while the shutter strobe is high. The default value of this variable after initialization is FALSE.

Parameters:
[in]TurnOntrue disables the CCD voltage, false enables voltage
Exceptions:
std::runtime_error
void ApogeeCam::SetShutterCloseDelay ( double  delay)

Sets the amount of time between the close of the shutter and the beginning of the sensor readout. The default value of this variable after initialization is camera dependent. NOTE: This is a specialized property designed for unique experiments. Applications and users will not normally need to modify this variable from the default value.

Parameters:
[in]delay
Exceptions:
std::runtime_error

Set the shutter state.

Parameters:
[in]stateDesired shutter state
Exceptions:
std::runtime_error
void ApogeeCam::SetShutterStrobePeriod ( double  period)

Sets the period of the shutter strobe appearing on a pin at the experiment interface. The default value of this variable after initialization is 0.001s (1ms).

Parameters:
[in]periodThe minimum valid value is 45ns and maximum value is 2.6ms (40ns/bit resolution).
Exceptions:
std::runtime_error
void ApogeeCam::SetShutterStrobePosition ( double  position)

Sets the delay from the time the exposure begins to the time the rising edge of the shutter strobe period appears on a pin at the experiment interface. The default value of this variable after initialization is 0.001s (1ms).

Parameters:
[in]positionThe minimum valid value is 3.31us and the maximum value is 167ms (2.56us/bit resolution).
Exceptions:
std::runtime_error
void ApogeeCam::SetTdiBinningRows ( uint16_t  bin)

The row (vertical) binning of a TDI image. The default value for this variable after initialization is 1. Modifying this property also changes the value of the SetKineticsSectionHeight( uint16_t height ) property.

Parameters:
[in]binThe valid range for this variable is between 1 and the corresponding value of GetMaxBinRows().
Exceptions:
std::runtime_error
void ApogeeCam::SetTdiRate ( double  TdiRate)

Rate between TDI rows. The default value for this variable after initialization is 0.100s. Modifying this property also changes the value of the SetKineticsShiftInterval( double interval ) property.

Parameters:
[in]TdiRateRange is from 5.12us to 336ms.
Exceptions:
std::runtime_error
void ApogeeCam::SetTdiRows ( uint16_t  TdiRows)

Total number of rows in the TDI image. The default value for this variable after initialization is 1. Modifying this property also changes the value of the SetKineticsSections( uint16_t sections ) property.

Parameters:
[in]TdiRowsRange is between 1 and 65535.
Exceptions:
std::runtime_error
void ApogeeCam::SetVariableSequenceDelay ( bool  variable)

Tells the camera when it should apply the sequeuce delay during an image sequence. The default value of this variable after initialization is true.

Parameters:
[in]variableIf true, the delay is applied between the end of last readout to beginning of next exposure. If false, delay is a constant time interval from the beginning of the last exposure to the beginning of the next exposure.
Exceptions:
std::runtime_error
virtual void ApogeeCam::StartExposure ( double  Duration,
bool  IsLight 
) [pure virtual]

This method begins the imaging process. The type of exposure taken is depends on various state variables including the CameraMode and TriggerMode.

Parameters:
[in]DurationLength of the exposure(s), in seconds. The valid range for this parameter is GetMinExposureTime() to GetMaxExposureTime().
[in]Determineswhether the exposure is a light or dark/bias frame. A light frame requires this parameter to be set to true, while a dark frame requires this parameter to be false.
Exceptions:
std::runtime_error

Implemented in Ascent, Alta, Quad, and AltaF.

virtual void ApogeeCam::StopExposure ( bool  Digitize) [pure virtual]

This method halts an in progress exposure. If this method is called and there is no exposure in progress a std::runtime_error exception is thrown.

Parameters:
[in]DigitizeIf set to true, then the application must call GetImage() to retrieve the image data and to put the camera in a good state for the next exposure. If set to false, then an application should not call GetImage().
Exceptions:
std::runtime_error

Implemented in Alta, and CamGen2Base.

void ApogeeCam::WriteReg ( uint16_t  reg,
uint16_t  value 
)
Parameters:
[in]regRegister
[in]valueValue to write
Exceptions:
std::runtime_error

The documentation for this class was generated from the following file: