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

bool ApogeeCam::AreFlushCmdsDisabled (  ) 

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 Alta, AltaF, Ascent, and Quad.

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] ad The analog to digital convert to query. Valid range is 0 to 1 - GetNumAds().
[in] channel Channel 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] ad The analog to digital convert to query. Valid range is 0 to 1 - GetNumAds().
[in] channel Channel 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.

Apg::CameraMode ApogeeCam::GetCameraMode (  ) 

Returns the camera's operational mode.

Exceptions:
std::runtime_error 
Apg::Resolution ApogeeCam::GetCcdAdcResolution (  ) 

Returns the camera's digitization resolution.

Exceptions:
std::runtime_error 
Apg::AdcSpeed ApogeeCam::GetCcdAdcSpeed (  ) 

Returns the camera's acquisition speed.

Exceptions:
std::runtime_error 
double ApogeeCam::GetCoolerBackoffPoint (  ) 

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.

double ApogeeCam::GetCoolerSetPoint (  ) 

Returns the desired cooler temperature in Celsius.

Exceptions:
std::runtime_error 
Apg::CoolerStatus ApogeeCam::GetCoolerStatus (  ) 

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 Alta, AltaF, Ascent, and Quad.

uint16_t ApogeeCam::GetFirmwareRev (  ) 

Version number of the camera control firmware.

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

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] out Vector that will recieve the image data
Exceptions:
std::runtime_error 

Implemented in Alta, and CamGen2Base.

uint16_t ApogeeCam::GetImageCount (  ) 

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.

uint16_t ApogeeCam::GetImgSequenceCount (  ) 

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 
double ApogeeCam::GetInputVoltage (  ) 

Returns the operating input voltage to the camera.

Exceptions:
std::runtime_error 
CamModel::InterfaceType ApogeeCam::GetInterfaceType (  ) 

Retruns the camera interface type.

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

Returns the I/O port's signal usage.

Exceptions:
std::runtime_error 
uint16_t ApogeeCam::GetIoPortBlankingBits (  ) 
Exceptions:
std::runtime_error 
uint16_t ApogeeCam::GetIoPortData (  ) 

Returns the I/O port data.

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

Returns the IO Port Direction.

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

Returns the vertical height for a Kinetics Mode section.

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

Retruns the number of sections in a Kinetics Mode image.

Exceptions:
std::runtime_error 
double ApogeeCam::GetKineticsShiftInterval (  ) 

Returns the incremental rate between Kinetics Mode sections.

Exceptions:
std::runtime_error 
Apg::LedState ApogeeCam::GetLedAState (  ) 

Returns the state of LED light A.

Exceptions:
std::runtime_error 
double ApogeeCam::GetLedBrightness (  ) 

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 
Apg::LedState ApogeeCam::GetLedBState (  ) 

Returns the state of LED light B.

Exceptions:
std::runtime_error 
Apg::LedMode ApogeeCam::GetLedMode (  ) 

Returns the mode of LED status lights.

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

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

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

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

Exceptions:
std::runtime_error 
double ApogeeCam::GetMaxExposureTime (  ) 

Returns the maximum exposure duration.

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

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

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

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

Exceptions:
std::runtime_error 
double ApogeeCam::GetMinExposureTime (  ) 

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 Alta, AltaF, Ascent, and Quad.

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.

uint16_t ApogeeCam::GetNumOverscanCols (  ) 

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 
double ApogeeCam::GetPixelHeight (  ) 

Returns sensor's pixels height in micrometers.

Exceptions:
std::runtime_error 
double ApogeeCam::GetPixelWidth (  ) 

Returns sensor's pixels width in micrometers.

Exceptions:
std::runtime_error 
CamModel::PlatformType ApogeeCam::GetPlatformType (  ) 

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 
uint16_t ApogeeCam::GetRoiBinCol (  ) 

Returns the number of binning columns.

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

Returns the number of binning rows.

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

Returns the number of imaging ROI columns

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

Returns the number of imaging ROI rows

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

Returns the starting column for the imaging ROI

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

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 
double ApogeeCam::GetSequenceDelay (  ) 

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 
double ApogeeCam::GetShutterCloseDelay (  ) 

Returns the shutter close delay

Exceptions:
std::runtime_error 
Apg::ShutterState ApogeeCam::GetShutterState (  ) 

Returns the current shutter state.

Exceptions:
std::runtime_error 
double ApogeeCam::GetShutterStrobePeriod (  ) 

Returns ths shutter strobe period.

Exceptions:
std::runtime_error 
double ApogeeCam::GetShutterStrobePosition (  ) 

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.

uint16_t ApogeeCam::GetTdiBinningRows (  ) 

Returns the number TDI binning rows

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

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 
double ApogeeCam::GetTdiRate (  ) 

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 
double ApogeeCam::GetTempCcd (  ) 

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.

uint16_t ApogeeCam::GetTotalCols (  ) 

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

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

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

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

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] VendorId USB vendor id
[out] ProductId USB product id
[out] DeviceId USB device id
Exceptions:
std::runtime_error 
bool ApogeeCam::GetVariableSequenceDelay (  ) 

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 Alta, AltaF, Ascent, and Quad.

bool ApogeeCam::IsAdSimModeOn (  ) 

Status of camera simulator mode

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

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 
bool ApogeeCam::IsColor (  ) 

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

bool ApogeeCam::IsCoolerOn (  ) 

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

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

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

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

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

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

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.

bool ApogeeCam::IsInterline (  ) 

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

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

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

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

Retruns if post exposure flushing has been disabled.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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] ioType specifies camera IO interface 'usb' or 'ethernet'
[in] DeviceAddr specifies the address of the camera on the interface
[in] FirmwareRev Camera's firmware revision. Used to verify interface connection.
[in] Id Camera's ID. Used to verify interface connection and setup camera specfic parameters.
Exceptions:
std::runtime_error 

Implemented in Alta, AltaF, Ascent, and Quad.

void ApogeeCam::PauseTimer ( bool  TurnOn  ) 

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

Parameters:
[in] TurnOn A 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] reg Register
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] gain The new gain value. 0-1023 is a valid range for Alta cameras. 0-63 is a valid range for Ascent cameras.
[in] ad The analog to digital convert to set. Valid range is 0 to 1 - GetNumAds().
[in] channel Channel 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] offset The new offset value. 0-255 is a valid range for Alta cameras. 0-511 is a valid range for Ascent cameras.
[in] ad The analog to digital convert to set. Valid range is 0 to 1 - GetNumAds().
[in] channel Channel 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] TurnOn true enables bulk download, false disables this feature
Exceptions:
std::runtime_error 
void ApogeeCam::SetCameraMode ( Apg::CameraMode  mode  ) 

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

Exceptions:
std::runtime_error 
void ApogeeCam::SetCcdAdcResolution ( Apg::Resolution  res  ) 

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 
void ApogeeCam::SetCcdAdcSpeed ( Apg::AdcSpeed  speed  ) 

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] TurnOn true = 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] point Desired 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] point Desired 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] TurnOn Toggling 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] TurnOn true activates the trigger type and mode, false deactivates it
[in] trigMode Trigger mode
[in] trigType Trigger 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] mode Desired fan mode
[in] PreCondCheck Setting 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 Alta, AltaF, Ascent, and Quad.

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] TurnOn true 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] bin The 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] Disable True 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] count Number 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] assignment The 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] data Valid 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] direction Valid 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] height Valid 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] sections Valid 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] interval The valid range is from 5.12us to 336ms.
Exceptions:
std::runtime_error 
void ApogeeCam::SetLedAState ( Apg::LedState  state  ) 

Sets the state of LED light A.

Parameters:
[in] state Desired 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] PercentIntensity Valid range is 0-100.
Exceptions:
std::runtime_error 
void ApogeeCam::SetLedBState ( Apg::LedState  state  ) 

Sets the state of LED light B.

Parameters:
[in] state Desired Apg::LedState
Exceptions:
std::runtime_error 
void ApogeeCam::SetLedMode ( Apg::LedMode  mode  ) 

Sets the mode of LED status lights.

Parameters:
[in] mode Desired 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] TurnOn true 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] Disable True 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] bin Valid 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] bin Valid 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] cols 1 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] rows number 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] col 0 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] row 0 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] delay The 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] TurnOn true 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 
void ApogeeCam::SetShutterState ( Apg::ShutterState  state  ) 

Set the shutter state.

Parameters:
[in] state Desired 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] period The 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] position The 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] bin The 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] TdiRate Range 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] TdiRows Range 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] variable If 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] Duration Length of the exposure(s), in seconds. The valid range for this parameter is GetMinExposureTime() to GetMaxExposureTime().
[in] Determines whether 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 Alta, AltaF, Ascent, and Quad.

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] Digitize If 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] reg Register
[in] value Value to write
Exceptions:
std::runtime_error 

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

Generated on 25 Aug 2014 for libapogee by  doxygen 1.6.1