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

base class for managing the camera's ADCs, pattern files, and roi parmeters More...

#include <CcdAcqParams.h>

Inheritance diagram for CcdAcqParams:
Inheritance graph
Collaboration diagram for CcdAcqParams:
Collaboration graph

Public Member Functions

virtual ~CcdAcqParams ()
 
Apg::Resolution GetResolution ()
 
Apg::AdcSpeed GetSpeed ()
 
void SetRoiStartRow (uint16_t row)
 
void SetRoiStartCol (uint16_t col)
 
void SetRoiNumRows (uint16_t rows)
 
void SetRoiNumCols (uint16_t cols)
 
uint16_t GetRoiStartRow ()
 
uint16_t GetRoiStartCol ()
 
uint16_t GetRoiNumRows ()
 
uint16_t GetRoiNumCols ()
 
uint16_t GetNumCols2Bin ()
 
uint16_t GetNumRows2Bin ()
 
uint16_t GetMaxBinCols ()
 
uint16_t GetMaxBinRows ()
 
void SetNumCols2Bin (uint16_t bin)
 
void SetNumRows2Bin (uint16_t bin)
 
void SetImagingRegs (const uint16_t FirmwareVer)
 
void UpdateApnCamData (std::shared_ptr< CApnCamData > &newCamData)
 
void SetAdsSimMode (bool TurnOn)
 
bool IsOverscanDigitized ()
 
void SetDigitizeOverscan (const bool TurnOn)
 
virtual void Init ()=0
 
virtual void SetResolution (Apg::Resolution res)=0
 
virtual void SetSpeed (Apg::AdcSpeed speed)=0
 
virtual void SetAdcGain (uint16_t gain, int32_t ad, int32_t channel)=0
 
virtual uint16_t GetAdcGain (int32_t ad, int32_t channel)=0
 
virtual void SetAdcOffset (uint16_t offset, int32_t ad, int32_t channel)=0
 
virtual uint16_t GetAdcOffset (int32_t ad, int32_t channel)=0
 
virtual bool IsAdsSimModeOn ()=0
 
virtual uint16_t GetPixelShift ()=0
 

Protected Types

enum  CcdReadoutType { UNKNOWN_READOUT, SINGLE_READOUT, DUAL_READOUT, QUAD_READOUT }
 
enum  HPatternType { CLAMP, SKIP, ROI }
 

Protected Member Functions

CcdAcqParams::CcdReadoutType GetReadoutType ()
 
 CcdAcqParams (std::shared_ptr< CApnCamData > &camData, std::shared_ptr< CameraIo > &camIo, std::shared_ptr< PlatformData > &platformData)
 
void SetRoiPattern (uint16_t binning)
 
void LoadHorizontalPatterns (Apg::AdcSpeed speed, uint16_t binning)
 
void LoadRoiPattern (Apg::AdcSpeed speed, uint16_t binning)
 
CamCfg::APN_HPATTERN_FILE DefaultGetHPattern (Apg::AdcSpeed speed, CcdAcqParams::HPatternType ptype)
 
void LoadAllPatternFiles (Apg::AdcSpeed speed, uint16_t binning)
 
void GetPostVer11Settings (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void GetPreVer11Settings (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void AppendCommonHorizontals (std::vector< std::pair< uint16_t, uint16_t > > &settings, uint16_t pixelShift)
 
void CalcVerticalValues (uint16_t &A2_RoiRows, uint16_t &A2_RoiBinRows, uint16_t &A5_RoiRows, uint16_t &A5_RoiBinRows)
 
void CalcVerticalValues (uint16_t &A1_RoiRows, uint16_t &A1_RoiBinRows, uint16_t &A2_RoiRows, uint16_t &A2_RoiBinRows, uint16_t &A4_RoiRows, uint16_t &A4_RoiBinRows, uint16_t &A5_RoiRows, uint16_t &A5_RoiBinRows)
 
void BalanceSections (const uint16_t BottomMaxRows, const uint16_t TopMaxBin, uint16_t &TopRoiRows, uint16_t &TopRoiBinRows, uint16_t &BottomRoiRows, uint16_t &BottomRoiBinRows)
 
uint16_t GetMaxFastBinCols ()
 
uint16_t GetMaxNormalBinCols ()
 
virtual uint16_t GetCcdImgRows ()=0
 
virtual uint16_t GetCcdImgCols ()=0
 
virtual uint16_t GetCcdImgBinRows ()=0
 
virtual uint16_t GetCcdImgBinCols ()=0
 
virtual uint16_t GetTotalCcdCols ()=0
 
virtual uint16_t CalcHPostRoiSkip (uint16_t HPreRoiSkip, uint16_t UnbinnedRoiCols)=0
 
virtual bool IsColCalcGood (uint16_t UnbinnedRoiCols, uint16_t PreRoiSkip, uint16_t PostRoiSkip)=0
 
virtual CamCfg::APN_HPATTERN_FILE GetHPattern (Apg::AdcSpeed speed, CcdAcqParams::HPatternType ptype)=0
 

Protected Attributes

std::string m_fileName
 
std::shared_ptr< CApnCamDatam_CamData
 
std::shared_ptr< CameraIom_CamIo
 
std::shared_ptr< PlatformDatam_PlatformData
 
Apg::Resolution m_AdcRes
 
Apg::AdcSpeed m_speed
 
uint16_t m_RoiStartRow
 
uint16_t m_RoiStartCol
 
uint16_t m_RoiNumRows
 
uint16_t m_RoiNumCols
 
uint16_t m_NumCols2Bin
 
uint16_t m_NumRows2Bin
 
bool m_DigitizeOverScan
 

Private Member Functions

 CcdAcqParams (const CcdAcqParams &)
 
CcdAcqParamsoperator= (CcdAcqParams &)
 

Detailed Description

base class for managing the camera's ADCs, pattern files, and roi parmeters

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) 2010 Apogee Instruments, Inc.

Member Enumeration Documentation

◆ CcdReadoutType

Enumerator
UNKNOWN_READOUT 
SINGLE_READOUT 
DUAL_READOUT 
QUAD_READOUT 

◆ HPatternType

Enumerator
CLAMP 
SKIP 
ROI 

Constructor & Destructor Documentation

◆ ~CcdAcqParams()

CcdAcqParams::~CcdAcqParams ( )
virtual

◆ CcdAcqParams() [1/2]

CcdAcqParams::CcdAcqParams ( std::shared_ptr< CApnCamData > &  camData,
std::shared_ptr< CameraIo > &  camIo,
std::shared_ptr< PlatformData > &  platformData 
)
protected

◆ CcdAcqParams() [2/2]

CcdAcqParams::CcdAcqParams ( const CcdAcqParams )
private

Member Function Documentation

◆ AppendCommonHorizontals()

void CcdAcqParams::AppendCommonHorizontals ( std::vector< std::pair< uint16_t, uint16_t > > &  settings,
uint16_t  pixelShift 
)
protected

◆ BalanceSections()

void CcdAcqParams::BalanceSections ( const uint16_t  BottomMaxRows,
const uint16_t  TopMaxBin,
uint16_t TopRoiRows,
uint16_t TopRoiBinRows,
uint16_t BottomRoiRows,
uint16_t BottomRoiBinRows 
)
protected

◆ CalcHPostRoiSkip()

virtual uint16_t CcdAcqParams::CalcHPostRoiSkip ( uint16_t  HPreRoiSkip,
uint16_t  UnbinnedRoiCols 
)
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ CalcVerticalValues() [1/2]

void CcdAcqParams::CalcVerticalValues ( uint16_t A2_RoiRows,
uint16_t A2_RoiBinRows,
uint16_t A5_RoiRows,
uint16_t A5_RoiBinRows 
)
protected

◆ CalcVerticalValues() [2/2]

void CcdAcqParams::CalcVerticalValues ( uint16_t A1_RoiRows,
uint16_t A1_RoiBinRows,
uint16_t A2_RoiRows,
uint16_t A2_RoiBinRows,
uint16_t A4_RoiRows,
uint16_t A4_RoiBinRows,
uint16_t A5_RoiRows,
uint16_t A5_RoiBinRows 
)
protected

◆ DefaultGetHPattern()

CamCfg::APN_HPATTERN_FILE CcdAcqParams::DefaultGetHPattern ( Apg::AdcSpeed  speed,
CcdAcqParams::HPatternType  ptype 
)
protected

◆ GetAdcGain()

virtual uint16_t CcdAcqParams::GetAdcGain ( int32_t  ad,
int32_t  channel 
)
pure virtual

Implemented in AltaCcdAcqParams, and CamGen2CcdAcqParams.

◆ GetAdcOffset()

virtual uint16_t CcdAcqParams::GetAdcOffset ( int32_t  ad,
int32_t  channel 
)
pure virtual

Implemented in AltaCcdAcqParams, and CamGen2CcdAcqParams.

◆ GetCcdImgBinCols()

virtual uint16_t CcdAcqParams::GetCcdImgBinCols ( )
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ GetCcdImgBinRows()

virtual uint16_t CcdAcqParams::GetCcdImgBinRows ( )
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ GetCcdImgCols()

virtual uint16_t CcdAcqParams::GetCcdImgCols ( )
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ GetCcdImgRows()

virtual uint16_t CcdAcqParams::GetCcdImgRows ( )
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ GetHPattern()

virtual CamCfg::APN_HPATTERN_FILE CcdAcqParams::GetHPattern ( Apg::AdcSpeed  speed,
CcdAcqParams::HPatternType  ptype 
)
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ GetMaxBinCols()

uint16_t CcdAcqParams::GetMaxBinCols ( )

◆ GetMaxBinRows()

uint16_t CcdAcqParams::GetMaxBinRows ( )

◆ GetMaxFastBinCols()

uint16_t CcdAcqParams::GetMaxFastBinCols ( )
protected

◆ GetMaxNormalBinCols()

uint16_t CcdAcqParams::GetMaxNormalBinCols ( )
protected

◆ GetNumCols2Bin()

uint16_t CcdAcqParams::GetNumCols2Bin ( )
inline

◆ GetNumRows2Bin()

uint16_t CcdAcqParams::GetNumRows2Bin ( )
inline

◆ GetPixelShift()

virtual uint16_t CcdAcqParams::GetPixelShift ( )
pure virtual

Implemented in AltaCcdAcqParams, and CamGen2CcdAcqParams.

◆ GetPostVer11Settings()

void CcdAcqParams::GetPostVer11Settings ( std::vector< std::pair< uint16_t, uint16_t > > &  settings,
uint16_t  pixelShift 
)
protected

◆ GetPreVer11Settings()

void CcdAcqParams::GetPreVer11Settings ( std::vector< std::pair< uint16_t, uint16_t > > &  settings,
uint16_t  pixelShift 
)
protected

◆ GetReadoutType()

CcdAcqParams::CcdReadoutType CcdAcqParams::GetReadoutType ( )
protected

◆ GetResolution()

Apg::Resolution CcdAcqParams::GetResolution ( )
inline

◆ GetRoiNumCols()

uint16_t CcdAcqParams::GetRoiNumCols ( )
inline

◆ GetRoiNumRows()

uint16_t CcdAcqParams::GetRoiNumRows ( )
inline

◆ GetRoiStartCol()

uint16_t CcdAcqParams::GetRoiStartCol ( )
inline

◆ GetRoiStartRow()

uint16_t CcdAcqParams::GetRoiStartRow ( )
inline

◆ GetSpeed()

Apg::AdcSpeed CcdAcqParams::GetSpeed ( )
inline

◆ GetTotalCcdCols()

virtual uint16_t CcdAcqParams::GetTotalCcdCols ( )
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ Init()

virtual void CcdAcqParams::Init ( )
pure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ IsAdsSimModeOn()

virtual bool CcdAcqParams::IsAdsSimModeOn ( )
pure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ IsColCalcGood()

virtual bool CcdAcqParams::IsColCalcGood ( uint16_t  UnbinnedRoiCols,
uint16_t  PreRoiSkip,
uint16_t  PostRoiSkip 
)
protectedpure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ IsOverscanDigitized()

bool CcdAcqParams::IsOverscanDigitized ( )
inline

◆ LoadAllPatternFiles()

void CcdAcqParams::LoadAllPatternFiles ( Apg::AdcSpeed  speed,
uint16_t  binning 
)
protected

Loads all of the camera pattern files vertical, clamp, skip roi based on the input speed and binning values. param [in] speed param [in] binning

◆ LoadHorizontalPatterns()

void CcdAcqParams::LoadHorizontalPatterns ( Apg::AdcSpeed  speed,
uint16_t  binning 
)
protected

◆ LoadRoiPattern()

void CcdAcqParams::LoadRoiPattern ( Apg::AdcSpeed  speed,
uint16_t  binning 
)
protected

◆ operator=()

CcdAcqParams& CcdAcqParams::operator= ( CcdAcqParams )
private

◆ SetAdcGain()

virtual void CcdAcqParams::SetAdcGain ( uint16_t  gain,
int32_t  ad,
int32_t  channel 
)
pure virtual

Implemented in AltaCcdAcqParams, and CamGen2CcdAcqParams.

◆ SetAdcOffset()

virtual void CcdAcqParams::SetAdcOffset ( uint16_t  offset,
int32_t  ad,
int32_t  channel 
)
pure virtual

Implemented in AltaCcdAcqParams, and CamGen2CcdAcqParams.

◆ SetAdsSimMode()

void CcdAcqParams::SetAdsSimMode ( bool  TurnOn)

◆ SetDigitizeOverscan()

void CcdAcqParams::SetDigitizeOverscan ( const bool  TurnOn)
inline

◆ SetImagingRegs()

void CcdAcqParams::SetImagingRegs ( const uint16_t  FirmwareVer)

◆ SetNumCols2Bin()

void CcdAcqParams::SetNumCols2Bin ( uint16_t  bin)

◆ SetNumRows2Bin()

void CcdAcqParams::SetNumRows2Bin ( uint16_t  bin)

◆ SetResolution()

virtual void CcdAcqParams::SetResolution ( Apg::Resolution  res)
pure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ SetRoiNumCols()

void CcdAcqParams::SetRoiNumCols ( uint16_t  cols)

◆ SetRoiNumRows()

void CcdAcqParams::SetRoiNumRows ( uint16_t  rows)

◆ SetRoiPattern()

void CcdAcqParams::SetRoiPattern ( uint16_t  binning)
protected

◆ SetRoiStartCol()

void CcdAcqParams::SetRoiStartCol ( uint16_t  col)

◆ SetRoiStartRow()

void CcdAcqParams::SetRoiStartRow ( uint16_t  row)

◆ SetSpeed()

virtual void CcdAcqParams::SetSpeed ( Apg::AdcSpeed  speed)
pure virtual

Implemented in CamGen2CcdAcqParams, and AltaCcdAcqParams.

◆ UpdateApnCamData()

void CcdAcqParams::UpdateApnCamData ( std::shared_ptr< CApnCamData > &  newCamData)

Member Data Documentation

◆ m_AdcRes

Apg::Resolution CcdAcqParams::m_AdcRes
protected

◆ m_CamData

std::shared_ptr<CApnCamData> CcdAcqParams::m_CamData
protected

◆ m_CamIo

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

◆ m_DigitizeOverScan

bool CcdAcqParams::m_DigitizeOverScan
protected

◆ m_fileName

std::string CcdAcqParams::m_fileName
protected

◆ m_NumCols2Bin

uint16_t CcdAcqParams::m_NumCols2Bin
protected

◆ m_NumRows2Bin

uint16_t CcdAcqParams::m_NumRows2Bin
protected

◆ m_PlatformData

std::shared_ptr<PlatformData> CcdAcqParams::m_PlatformData
protected

◆ m_RoiNumCols

uint16_t CcdAcqParams::m_RoiNumCols
protected

◆ m_RoiNumRows

uint16_t CcdAcqParams::m_RoiNumRows
protected

◆ m_RoiStartCol

uint16_t CcdAcqParams::m_RoiStartCol
protected

◆ m_RoiStartRow

uint16_t CcdAcqParams::m_RoiStartRow
protected

◆ m_speed

Apg::AdcSpeed CcdAcqParams::m_speed
protected

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