TwiceAsNice  2019-02-18
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ApogeeCam Class Referenceabstract

Base class for apogee cameras. More...

#include <ApogeeCam.h>

Inheritance diagram for ApogeeCam:
Inheritance graph
Collaboration diagram for ApogeeCam:
Collaboration graph

Public Member Functions

virtual ~ApogeeCam ()
 
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 ()
 
CamInfo::StrDb ReadStrDatabase ()
 
void WriteStrDatabase (CamInfo::StrDb &info)
 
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
 
void UpdateAlta (const std::string FilenameCamCon, const std::string FilenameBufCon, const std::string FilenameFx2, const std::string FilenameGpifCamCon, const std::string FilenameGpifBufCon, const std::string FilenameGpifFifo)
 
void UpdateAscentOrAltaF (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor)
 
void UpdateAspen (const std::string FilenameFpga, const std::string FilenameFx2, const std::string FilenameDescriptor, const std::string FilenameWebPage, const std::string FilenameWebServer, const std::string FilenameWebCfg)
 

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::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< PlatformDatam_CameraConsts
 
std::shared_ptr< CApnCamDatam_CamCfgData
 
std::shared_ptr< ModeFsmm_CamMode
 
std::shared_ptr< CcdAcqParamsm_CcdAcqSettings
 
std::shared_ptr< ApgTimerm_ExposureTimer
 
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
 
double m_LastExposureTime
 

Private Member Functions

 ApogeeCam (const ApogeeCam &)
 
ApogeeCamoperator= (ApogeeCam &)
 

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.

Constructor & Destructor Documentation

◆ ~ApogeeCam()

ApogeeCam::~ApogeeCam ( )
virtual

◆ ApogeeCam() [1/2]

ApogeeCam::ApogeeCam ( CamModel::PlatformType  platform)
protected

◆ ApogeeCam() [2/2]

ApogeeCam::ApogeeCam ( const ApogeeCam )
private

Member Function Documentation

◆ AdcParamCheck()

void ApogeeCam::AdcParamCheck ( const int32_t  ad,
const int32_t  channel,
const std::string &  fxName 
)
protected

◆ AreFlushCmdsDisabled()

bool ApogeeCam::AreFlushCmdsDisabled ( )

Retruns if flushing commands have been disabled.

Exceptions
std::runtime_error

◆ CancelExposureNoThrow()

void ApogeeCam::CancelExposureNoThrow ( )
protected

◆ CfgCamFromId()

virtual void ApogeeCam::CfgCamFromId ( uint16_t  CameraId)
protectedpure virtual

Implemented in Alta, Ascent, Aspen, Quad, and AltaF.

◆ CheckAndWaitForStatus()

bool ApogeeCam::CheckAndWaitForStatus ( Apg::Status  desired,
Apg::Status &  acutal 
)
protected

◆ ClearAllRegisters()

void ApogeeCam::ClearAllRegisters ( )
protected

◆ CloseConnection()

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, AltaF, and Aspen.

◆ DefaultCfgCamFromId()

void ApogeeCam::DefaultCfgCamFromId ( uint16_t  CameraId)
protected

◆ DefaultCloseConnection()

void ApogeeCam::DefaultCloseConnection ( )
protected

◆ DefaultGetFanMode()

Apg::FanMode ApogeeCam::DefaultGetFanMode ( )
protected

◆ DefaultGetTempHeatsink()

double ApogeeCam::DefaultGetTempHeatsink ( )
protected

◆ DefaultInit()

void ApogeeCam::DefaultInit ( )
protected

◆ DefaultSetFanMode()

void ApogeeCam::DefaultSetFanMode ( Apg::FanMode  mode,
bool  PreCondCheck 
)
protected

◆ ExectuePreFlash()

void ApogeeCam::ExectuePreFlash ( )
protected

◆ ExposureAndGetImgRC()

virtual void ApogeeCam::ExposureAndGetImgRC ( uint16_t r,
uint16_t c 
)
protectedpure virtual

Implemented in Alta, Ascent, Aspen, Quad, and AltaF.

◆ ExposureZ()

virtual uint16_t ApogeeCam::ExposureZ ( )
protectedpure virtual

Implemented in Alta, and CamGen2Base.

◆ FixImgFromCamera()

virtual void ApogeeCam::FixImgFromCamera ( const std::vector< uint16_t > &  data,
std::vector< uint16_t > &  out,
int32_t  rows,
int32_t  cols 
)
protectedpure virtual

Implemented in Alta, Ascent, Aspen, Quad, and AltaF.

◆ GetAdcGain()

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

◆ GetAdcOffset()

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

◆ GetAvailableMemory()

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.

◆ GetCameraMode()

Apg::CameraMode ApogeeCam::GetCameraMode ( )

Returns the camera's operational mode.

Exceptions
std::runtime_error

◆ GetCcdAdcResolution()

Apg::Resolution ApogeeCam::GetCcdAdcResolution ( )

Returns the camera's digitization resolution.

Exceptions
std::runtime_error

◆ GetCcdAdcSpeed()

Apg::AdcSpeed ApogeeCam::GetCcdAdcSpeed ( )

Returns the camera's acquisition speed.

Exceptions
std::runtime_error

◆ GetCoolerBackoffPoint()

double ApogeeCam::GetCoolerBackoffPoint ( )

Returns the cooler backoff temperature in Celsius.

Exceptions
std::runtime_error

◆ GetCoolerDrive()

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.

◆ GetCoolerSetPoint()

double ApogeeCam::GetCoolerSetPoint ( )

Returns the desired cooler temperature in Celsius.

Exceptions
std::runtime_error

◆ GetCoolerStatus()

Apg::CoolerStatus ApogeeCam::GetCoolerStatus ( )

Returns the current cooler status

Exceptions
std::runtime_error

◆ GetDriverVersion()

std::string ApogeeCam::GetDriverVersion ( )

On Windows returns device driver version

Exceptions
std::runtime_error

◆ GetFanMode()

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

◆ GetFirmwareRev()

uint16_t ApogeeCam::GetFirmwareRev ( )

Version number of the camera control firmware.

Exceptions
std::runtime_error

◆ GetFlushBinningRows()

uint16_t ApogeeCam::GetFlushBinningRows ( )

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

Exceptions
std::runtime_error

◆ GetIlluminationMask()

virtual uint16_t ApogeeCam::GetIlluminationMask ( )
protectedpure virtual

Implemented in Alta, and CamGen2Base.

◆ GetImage()

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.

◆ GetImageCount()

uint16_t ApogeeCam::GetImageCount ( )

Returns the number of sequence images set by the user.

Exceptions
std::runtime_error

◆ GetImageZ()

virtual uint16_t ApogeeCam::GetImageZ ( )
protectedpure virtual

Implemented in Alta, and CamGen2Base.

◆ GetImagingStatus()

virtual Apg::Status ApogeeCam::GetImagingStatus ( )
pure virtual

Returns the current imaging state of the camera.

Exceptions
std::runtime_error

Implemented in Alta, and CamGen2Base.

◆ GetImgSequenceCount()

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

◆ GetInfo()

std::string ApogeeCam::GetInfo ( )

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

Exceptions
std::runtime_error

◆ GetInputVoltage()

double ApogeeCam::GetInputVoltage ( )

Returns the operating input voltage to the camera.

Exceptions
std::runtime_error

◆ GetInterfaceType()

CamModel::InterfaceType ApogeeCam::GetInterfaceType ( )

Retruns the camera interface type.

Exceptions
std::runtime_error

◆ GetIoPortAssignment()

uint16_t ApogeeCam::GetIoPortAssignment ( )

Returns the I/O port's signal usage.

Exceptions
std::runtime_error

◆ GetIoPortBlankingBits()

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

◆ GetIoPortData()

uint16_t ApogeeCam::GetIoPortData ( )

Returns the I/O port data.

Exceptions
std::runtime_error

◆ GetIoPortDirection()

uint16_t ApogeeCam::GetIoPortDirection ( )

Returns the IO Port Direction.

Exceptions
std::runtime_error

◆ GetKineticsSectionHeight()

uint16_t ApogeeCam::GetKineticsSectionHeight ( )

Returns the vertical height for a Kinetics Mode section.

Exceptions
std::runtime_error

◆ GetKineticsSections()

uint16_t ApogeeCam::GetKineticsSections ( )

Retruns the number of sections in a Kinetics Mode image.

Exceptions
std::runtime_error

◆ GetKineticsShiftInterval()

double ApogeeCam::GetKineticsShiftInterval ( )

Returns the incremental rate between Kinetics Mode sections.

Exceptions
std::runtime_error

◆ GetLedAState()

Apg::LedState ApogeeCam::GetLedAState ( )

Returns the state of LED light A.

Exceptions
std::runtime_error

◆ GetLedBrightness()

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

◆ GetLedBState()

Apg::LedState ApogeeCam::GetLedBState ( )

Returns the state of LED light B.

Exceptions
std::runtime_error

◆ GetLedMode()

Apg::LedMode ApogeeCam::GetLedMode ( )

Returns the mode of LED status lights.

Exceptions
std::runtime_error

◆ GetMaxBinCols()

uint16_t ApogeeCam::GetMaxBinCols ( )

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

Exceptions
std::runtime_error

◆ GetMaxBinRows()

uint16_t ApogeeCam::GetMaxBinRows ( )

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

Exceptions
std::runtime_error

◆ GetMaxExposureTime()

double ApogeeCam::GetMaxExposureTime ( )

Returns the maximum exposure duration.

Exceptions
std::runtime_error

◆ GetMaxImgCols()

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

◆ GetMaxImgRows()

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

◆ GetMinExposureTime()

double ApogeeCam::GetMinExposureTime ( )

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

Exceptions
std::runtime_error

◆ GetModel()

std::string ApogeeCam::GetModel ( )

Returns a camera model.

Exceptions
std::runtime_error

◆ GetNumAdChannels()

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, AltaF, and Aspen.

◆ GetNumAds()

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.

◆ GetNumOverscanCols()

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

◆ GetPixelHeight()

double ApogeeCam::GetPixelHeight ( )

Returns sensor's pixels height in micrometers.

Exceptions
std::runtime_error

◆ GetPixelWidth()

double ApogeeCam::GetPixelWidth ( )

Returns sensor's pixels width in micrometers.

Exceptions
std::runtime_error

◆ GetPlatformType()

CamModel::PlatformType ApogeeCam::GetPlatformType ( )

Returns camera platform type.

Exceptions
std::runtime_error

◆ GetPreFlash()

bool ApogeeCam::GetPreFlash ( )
inline

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

Exceptions
std::runtime_error

◆ GetRoiBinCol()

uint16_t ApogeeCam::GetRoiBinCol ( )

Returns the number of binning columns.

Exceptions
std::runtime_error

◆ GetRoiBinRow()

uint16_t ApogeeCam::GetRoiBinRow ( )

Returns the number of binning rows.

Exceptions
std::runtime_error

◆ GetRoiNumCols()

uint16_t ApogeeCam::GetRoiNumCols ( )

Returns the number of imaging ROI columns

Exceptions
std::runtime_error

◆ GetRoiNumRows()

uint16_t ApogeeCam::GetRoiNumRows ( )

Returns the number of imaging ROI rows

Exceptions
std::runtime_error

◆ GetRoiStartCol()

uint16_t ApogeeCam::GetRoiStartCol ( )

Returns the starting column for the imaging ROI

Exceptions
std::runtime_error

◆ GetRoiStartRow()

uint16_t ApogeeCam::GetRoiStartRow ( )

Returns the starting row for the imaging ROI

Exceptions
std::runtime_error

◆ GetSensor()

std::string ApogeeCam::GetSensor ( )

Returns the sensor model installed in the camera

Exceptions
std::runtime_error

◆ GetSequenceDelay()

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

◆ GetSerialNumber()

std::string ApogeeCam::GetSerialNumber ( )

Returns a special OEM-specific serial number.

Exceptions
std::runtime_error

◆ GetShutterCloseDelay()

double ApogeeCam::GetShutterCloseDelay ( )

Returns the shutter close delay

Exceptions
std::runtime_error

◆ GetShutterState()

Apg::ShutterState ApogeeCam::GetShutterState ( )

Returns the current shutter state.

Exceptions
std::runtime_error

◆ GetShutterStrobePeriod()

double ApogeeCam::GetShutterStrobePeriod ( )

Returns ths shutter strobe period.

Exceptions
std::runtime_error

◆ GetShutterStrobePosition()

double ApogeeCam::GetShutterStrobePosition ( )

Returns the shutter strobe position.

Exceptions
std::runtime_error

◆ GetStatus()

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.

◆ GetTdiBinningRows()

uint16_t ApogeeCam::GetTdiBinningRows ( )

Returns the number TDI binning rows

Exceptions
std::runtime_error

◆ GetTdiCounter()

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

◆ GetTdiRate()

double ApogeeCam::GetTdiRate ( )

Returns the rate between TDI rows.

Exceptions
std::runtime_error

◆ GetTdiRows()

uint16_t ApogeeCam::GetTdiRows ( )

Returns the total number of rows in the TDI image.

Exceptions
std::runtime_error

◆ GetTempCcd()

double ApogeeCam::GetTempCcd ( )

Returns the current CCD temperature in degrees Celsius.

Exceptions
std::runtime_error

◆ GetTempHeatsink()

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.

◆ GetTotalCols()

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

◆ GetTotalRows()

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

◆ GetUsbFirmwareVersion()

std::string ApogeeCam::GetUsbFirmwareVersion ( )

Returns USB firmware version.

Exceptions
std::runtime_error

◆ GetUsbVendorInfo()

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

◆ GetVariableSequenceDelay()

bool ApogeeCam::GetVariableSequenceDelay ( )

Returns the variable sequence delay state.

Exceptions
std::runtime_error

◆ GrabImageAndThrowItAway()

void ApogeeCam::GrabImageAndThrowItAway ( )
protected

◆ HardStopExposure()

void ApogeeCam::HardStopExposure ( const std::string &  msg)
protected

◆ Init()

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

◆ InitShutterCloseDelay()

void ApogeeCam::InitShutterCloseDelay ( )
protected

◆ IsAdSimModeOn()

bool ApogeeCam::IsAdSimModeOn ( )

Status of camera simulator mode

Exceptions
std::runtime_error

◆ IsBulkDownloadOn()

bool ApogeeCam::IsBulkDownloadOn ( )

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

Exceptions
std::runtime_error

◆ IsCCD()

bool ApogeeCam::IsCCD ( )

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

Exceptions
std::runtime_error

◆ IsColor()

bool ApogeeCam::IsColor ( )

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

Exceptions
std::runtime_error

◆ IsConnected()

bool ApogeeCam::IsConnected ( )
inline

Returns if the host is connected to a camera

◆ IsCoolerOn()

bool ApogeeCam::IsCoolerOn ( )

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

Exceptions
std::runtime_error

◆ IsCoolingRegulated()

bool ApogeeCam::IsCoolingRegulated ( )

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

Exceptions
std::runtime_error

◆ IsCoolingSupported()

bool ApogeeCam::IsCoolingSupported ( )

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

Exceptions
std::runtime_error

◆ IsFastSequenceOn()

bool ApogeeCam::IsFastSequenceOn ( )

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

Exceptions
std::runtime_error

◆ IsImgDone()

bool ApogeeCam::IsImgDone ( const CameraStatusRegs statusObj)
protected

◆ IsInitialized()

bool ApogeeCam::IsInitialized ( )
inline

Returns if the Init() function has been called.

◆ IsInterline()

bool ApogeeCam::IsInterline ( )

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

Exceptions
std::runtime_error

◆ IsOverscanDigitized()

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

◆ IsPipelineDownloadOn()

bool ApogeeCam::IsPipelineDownloadOn ( )

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

Exceptions
std::runtime_error

◆ IsPostExposeFlushingDisabled()

bool ApogeeCam::IsPostExposeFlushingDisabled ( )

Retruns if post exposure flushing has been disabled.

Exceptions
std::runtime_error

◆ IsSerialASupported()

bool ApogeeCam::IsSerialASupported ( )

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

Exceptions
std::runtime_error

◆ IsSerialBSupported()

bool ApogeeCam::IsSerialBSupported ( )

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

Exceptions
std::runtime_error

◆ IsShutterAmpCtrlOn()

bool ApogeeCam::IsShutterAmpCtrlOn ( )

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

Exceptions
std::runtime_error

◆ IsShutterForcedClosed()

bool ApogeeCam::IsShutterForcedClosed ( )

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

Exceptions
std::runtime_error

◆ IsShutterForcedOpen()

bool ApogeeCam::IsShutterForcedOpen ( )

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

Exceptions
std::runtime_error

◆ IsShutterOpen()

bool ApogeeCam::IsShutterOpen ( )

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

Exceptions
std::runtime_error

◆ IssueExposeCmd()

void ApogeeCam::IssueExposeCmd ( bool  IsLight)
protected

◆ IsThereAStatusError()

void ApogeeCam::IsThereAStatusError ( uint16_t  statusReg)
protected

◆ IsTriggerExternalReadoutOn()

bool ApogeeCam::IsTriggerExternalReadoutOn ( )

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

Exceptions
std::runtime_error

◆ IsTriggerExternalShutterOn()

bool ApogeeCam::IsTriggerExternalShutterOn ( )

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

Exceptions
std::runtime_error

◆ IsTriggerNormEachOn()

bool ApogeeCam::IsTriggerNormEachOn ( )

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

Exceptions
std::runtime_error

◆ IsTriggerNormGroupOn()

bool ApogeeCam::IsTriggerNormGroupOn ( )

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

Exceptions
std::runtime_error

◆ IsTriggerTdiKinEachOn()

bool ApogeeCam::IsTriggerTdiKinEachOn ( )

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

Exceptions
std::runtime_error

◆ IsTriggerTdiKinGroupOn()

bool ApogeeCam::IsTriggerTdiKinGroupOn ( )

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

Exceptions
std::runtime_error

◆ LogAndReturnStatus()

Apg::Status ApogeeCam::LogAndReturnStatus ( Apg::Status  status,
const CameraStatusRegs statusObj 
)
protected

◆ LogConnectAndDisconnect()

void ApogeeCam::LogConnectAndDisconnect ( bool  Connect)
protected

◆ OpenConnection()

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, AltaF, and Aspen.

◆ operator=()

ApogeeCam& ApogeeCam::operator= ( ApogeeCam )
private

◆ PauseTimer()

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

◆ ReadReg()

uint16_t ApogeeCam::ReadReg ( uint16_t  reg)
Parameters
[in]regRegister
Returns
Register value
Exceptions
std::runtime_error

◆ ReadStrDatabase()

CamInfo::StrDb ApogeeCam::ReadStrDatabase ( )

◆ Reset() [1/2]

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

◆ Reset() [2/2]

void ApogeeCam::Reset ( bool  Flush)
protected

◆ ResumeCooler()

void ApogeeCam::ResumeCooler ( )
protected

◆ SetAdcGain()

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

◆ SetAdcOffset()

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

◆ SetAdSimMode()

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

◆ SetBulkDownload()

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

◆ SetCameraMode()

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

◆ SetCcdAdcResolution()

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

◆ SetCcdAdcSpeed()

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.

◆ SetCooler()

void ApogeeCam::SetCooler ( bool  TurnOn)

Sets the state of the camera's cooler

Parameters
[in]TurnOntrue = on, false = off
Exceptions
std::runtime_error

◆ SetCoolerBackoffPoint()

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

◆ SetCoolerSetPoint()

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

◆ SetDigitizeOverscan()

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

◆ SetExpsoureTime()

void ApogeeCam::SetExpsoureTime ( double  Duration)
protected

◆ SetExternalTrigger()

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

◆ SetFanMode()

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

◆ SetFastSequence()

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

◆ SetFlushBinningRows()

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

◆ SetFlushCommands()

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

◆ SetImageCount()

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

◆ SetIoPortAssignment()

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

◆ SetIoPortBlankingBits()

void ApogeeCam::SetIoPortBlankingBits ( uint16_t  blankingBits)
Exceptions
std::runtime_error

◆ SetIoPortData()

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

◆ SetIoPortDirection()

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

◆ SetKineticsSectionHeight()

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

◆ SetKineticsSections()

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

◆ SetKineticsShiftInterval()

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

◆ SetLedAState()

void ApogeeCam::SetLedAState ( Apg::LedState  state)

Sets the state of LED light A.

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

◆ SetLedBrightness()

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

◆ SetLedBState()

void ApogeeCam::SetLedBState ( Apg::LedState  state)

Sets the state of LED light B.

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

◆ SetLedMode()

void ApogeeCam::SetLedMode ( Apg::LedMode  mode)

Sets the mode of LED status lights.

Parameters
[in]modeDesired Apg::LedMode
Exceptions
std::runtime_error

◆ SetNumAdOutputs()

void ApogeeCam::SetNumAdOutputs ( const uint16_t  num)
protected

◆ SetPipelineDownload()

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

◆ SetPostExposeFlushing()

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

◆ SetPreFlash()

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

◆ SetRoiBinCol()

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

◆ SetRoiBinRow()

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

◆ SetRoiNumCols()

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

◆ SetRoiNumRows()

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

◆ SetRoiStartCol()

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

◆ SetRoiStartRow()

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

◆ SetSequenceDelay()

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

◆ SetShutterAmpCtrl()

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

◆ SetShutterCloseDelay()

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

◆ SetShutterState()

void ApogeeCam::SetShutterState ( Apg::ShutterState  state)

Set the shutter state.

Parameters
[in]stateDesired shutter state
Exceptions
std::runtime_error

◆ SetShutterStrobePeriod()

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

◆ SetShutterStrobePosition()

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

◆ SetTdiBinningRows()

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

◆ SetTdiRate()

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

◆ SetTdiRows()

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

◆ SetVariableSequenceDelay()

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

◆ StartExposure()

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, AltaF, and Aspen.

◆ StopExposure()

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.

◆ StopExposureModeNorm()

void ApogeeCam::StopExposureModeNorm ( bool  Digitize)
protected

◆ SupsendCooler()

void ApogeeCam::SupsendCooler ( bool resume)
protected

◆ UpdateAlta()

void ApogeeCam::UpdateAlta ( const std::string  FilenameCamCon,
const std::string  FilenameBufCon,
const std::string  FilenameFx2,
const std::string  FilenameGpifCamCon,
const std::string  FilenameGpifBufCon,
const std::string  FilenameGpifFifo 
)

◆ UpdateAscentOrAltaF()

void ApogeeCam::UpdateAscentOrAltaF ( const std::string  FilenameFpga,
const std::string  FilenameFx2,
const std::string  FilenameDescriptor 
)

◆ UpdateAspen()

void ApogeeCam::UpdateAspen ( const std::string  FilenameFpga,
const std::string  FilenameFx2,
const std::string  FilenameDescriptor,
const std::string  FilenameWebPage,
const std::string  FilenameWebServer,
const std::string  FilenameWebCfg 
)

◆ VerifyFrmwrRev()

void ApogeeCam::VerifyFrmwrRev ( )
protected

◆ WaitForCoolerSuspendBit()

void ApogeeCam::WaitForCoolerSuspendBit ( const uint16_t  mask,
const bool  IsHigh 
)
protected

◆ WriteReg()

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

◆ WriteStrDatabase()

void ApogeeCam::WriteStrDatabase ( CamInfo::StrDb info)

Member Data Documentation

◆ m_CamCfgData

std::shared_ptr<CApnCamData> ApogeeCam::m_CamCfgData
protected

◆ m_CameraConsts

std::shared_ptr<PlatformData> ApogeeCam::m_CameraConsts
protected

◆ m_CamIo

std::shared_ptr<CameraIo> ApogeeCam::m_CamIo
protected

◆ m_CamMode

std::shared_ptr<ModeFsm> ApogeeCam::m_CamMode
protected

◆ m_CcdAcqSettings

std::shared_ptr<CcdAcqParams> ApogeeCam::m_CcdAcqSettings
protected

◆ m_ExposureTimer

std::shared_ptr<ApgTimer> ApogeeCam::m_ExposureTimer
protected

◆ m_fileName

const std::string ApogeeCam::m_fileName
protected

◆ m_FirmwareVersion

uint16_t ApogeeCam::m_FirmwareVersion
protected

◆ m_Id

uint16_t ApogeeCam::m_Id
protected

◆ m_ImageInProgress

bool ApogeeCam::m_ImageInProgress
protected

◆ m_IsConnected

bool ApogeeCam::m_IsConnected
protected

◆ m_IsInitialized

bool ApogeeCam::m_IsInitialized
protected

◆ m_IsPreFlashOn

bool ApogeeCam::m_IsPreFlashOn
protected

◆ m_LastExposureTime

double ApogeeCam::m_LastExposureTime
protected

◆ m_NumImgsDownloaded

uint16_t ApogeeCam::m_NumImgsDownloaded
protected

◆ m_PlatformType

CamModel::PlatformType ApogeeCam::m_PlatformType
protected

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