TwiceAsNice  2019-02-18
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
QSIModelInfo Class Reference

#include <QSIModelInfo.h>

Collaboration diagram for QSIModelInfo:
Collaboration graph

Public Member Functions

 QSIModelInfo (ICameraEeprom *eeprom)
 
 ~QSIModelInfo (void)
 
std::string GetBaseModelNumber (std::string defaultNumber)
 
std::string GetModelNumber (std::string defaultNumber)
 
std::string GetModelName (std::string defaultName)
 

Private Types

enum  AddressesEnum {
  ADDR_Family = 0x0238, ADDR_Origination = 0x0237, ADDR_HardwareType = 0x0236, ADDR_CoolingConfiguration = 0x0235,
  ADDR_ChamberWindowConfiguration = 0x0234, ADDR_ShutterConfiguration = 0x0233, ADDR_FilterWheelConfiguration = 0x0232, ADDR_CcdSensorManufacturer = 0x0231,
  ADDR_CcdSensorManufacturerPartNumber = 0x0230, ADDR_CcdSensorType = 0x022F, ADDR_CcdSensorColorMask = 0x022E, ADDR_CcdSensorMicrolens = 0x022D,
  ADDR_CcdSensorBlueEnhanced = 0x022C, ADDR_CcdSensorCoverGlass = 0x022B, ADDR_CcdSensorClass = 0x022A, ADDR_CcdSensorBackThinned = 0x0229
}
 
enum  FamilyEnum {
  FAM_NotImplemented = 0, FAM_NotSpecified = 1, FAM_Series500 = 2, FAM_Corona = 3,
  FAM_Series600 = 4, FAM_ResearchSpec600 = 5, FAM_Series700 = 6, FAM_NotInitialized = 255
}
 This field specifies the general 'Family' of the camera. More...
 
enum  OriginationEnum {
  ORIG_NotImplemented = 0, ORIG_NotSpecified = 1, ORIG_QSI = 2, ORIG_Veralight = 3,
  ORIG_NotInitialized = 255
}
 This field specifies how the camera formally declares its origination, either QSI for normal retail cameras or otherwise for specific OEM customers. More...
 
enum  HardwareTypeEnum {
  HWT_NotImplemented = 0, HWT_NotSpecified = 1, HWT_Unused2 = 2, HWT_Unused3 = 3,
  HWT_Unused4 = 4, HWT_Unused5 = 5, HWT_Version05 = 5, HWT_Version06 = 6,
  HWT_Version07 = 7, HWT_Version08 = 8, HWT_Version09 = 9, HWT_Version10 = 10,
  HWT_Version12 = 12, HWT_NotInitialized = 255
}
 This field specifies the type of hardware in the camera. More...
 
enum  CoolingConfigurationEnum {
  CC_NotImplemented = 0, CC_NotSpecified = 1, CC_Standard500 = 2, CC_Enhanced500 = 3,
  CC_Standard600 = 4, CC_VeralightCorona = 5, CC_NotInitialized = 255
}
 This field specifies the type of cooling installed in the camera. More...
 
enum  ChamberWindowConfigurationEnum {
  CWC_NotImplemented = 0, CWC_NotSpecified = 1, CWC_EO_B270_32951_25mmDia_MgF2 = 2, CWC_EO_B270_45254_30mmDia_MgF2 = 3,
  CWC_EO_1WaveFS_45812_25mmDia_UV_AR = 4, CWC_EO_1WaveFS_84475_25mmDia_UV_VIS = 5, CWC_EO_1WaveFS_49643_25mmDia_NIR_VIS = 6, CWC_EO_1WaveFS_45813_30mmDia_UV_AR = 7,
  CWC_EO_1WaveFS_84477_30mmDia_UV_VIS = 8, CWC_EO_1WaveFS_49645_30mmDia_NIR_VIS = 9, CWC_NotInitialized = 255
}
 This field specifies the type of chamber window installed in the camera. More...
 
enum  ShutterConfigurationEnum {
  SC_NotImplemented = 0, SC_NotSpecified = 1, SC_NoShutter = 2, SC_QsiStandardShutter = 3,
  SC_QsiCoronaShutter = 4, SC_NotInitialized = 255
}
 This field specifies the kind of shutter installed in the camera. More...
 
enum  FilterWheelConfigurationEnum {
  FWC_NotImplemented = 0, FWC_NotSpecified = 1, FWC_NoFilterWheel = 2, FWC_QsiStandardFilterWheel = 3,
  FWC_NotInitialized = 255
}
 This field specifies the kind of filter assembly installed in the camera. More...
 
enum  CcdSensorManufacturerEnum {
  MAN_NotImplemented = 0, MAN_NotSpecified = 1, MAN_Truesense = 2, MAN_Sony = 3,
  MAN_NotInitialized = 255
}
 This field specifies the manufacturer of the CCD imager installed in the camera. More...
 
enum  CcdSensorManufacturerPartNumberEnum {
  PN_NotImplemented = 0, PN_NotSpecified = 1, PN_KAF_0402_ABA_CD_B1 = 10, PN_KAF_0402_ABA_CD_B2 = 11,
  PN_KAF_0402_ABA_CP_B1 = 12, PN_KAF_0402_ABA_CP_B2 = 13, PN_KAF_1603_ABA_CD_B2 = 20, PN_KAF_3200_ABA_CD_B2 = 30,
  PN_KAF_3200_ABA_CP_B2 = 31, PN_KAF_8300_AXC_CD_AA = 40, PN_KAF_8300_CXB_CB_AA = 41, PN_KAI_2020_ABA_CD_BA = 50,
  PN_KAI_2020_ABA_CR_BA = 51, PN_KAI_2020_CBA_CD_BA = 52, PN_KAI_04022_ABA_CD_BA = 60, PN_KAI_04022_ABA_CR_BA = 61,
  PN_KAI_04022_CBA_CD_BA = 62, PN_ICX674ALG = 70, PN_ICX674AQG = 71, PN_ICX694ALG = 72,
  PN_ICX694AQG = 73, PN_ICX814ALG = 74, PN_ICX814AQG = 75, PN_SeeExtensionTable = 254,
  PN_NotInitialized = 255
}
 This field specifies the exact manufacturers part number. More...
 
enum  CcdSensorTypeEnum {
  CST_NotImplemented = 0, CST_NotSpecified = 1, CST_KAF_0402 = 2, CST_KAF_1603 = 3,
  CST_KAF_3200 = 4, CST_KAF_8300 = 5, CST_KAI_2020 = 6, CST_KAI_04022 = 7,
  CST_ICX674 = 8, CST_ICX694 = 9, CST_ICX814 = 10, CST_NotInitialized = 255
}
 This field specifies the shorthand CCD sensor part name. More...
 
enum  CcdSensorColorMaskEnum {
  CSC_NotImplemented = 0, CSC_NotSpecified = 1, CSC_None = 2, CSC_BayerNormal = 3,
  CSC_TruesenseNormal = 4, CSC_NotInitialized = 255
}
 This field specifies if the CCD imager has a color mask. More...
 
enum  CcdSensorMicrolensEnum {
  CSM_NotImplemented = 0, CSM_NotSpecified = 1, CSM_None = 2, CSM_Yes = 3,
  CSM_NotInitialized = 255
}
 This field specifies if the CCD imager has microlens. More...
 
enum  CcdSensorBlueEnhancedEnum {
  CSB_NotImplemented = 0, CSB_NotSpecified = 1, CSB_No = 2, CSB_Yes = 3,
  CSB_NotInitialized = 255
}
 This field specifies the whether the CCD imager is Blue Enhanced. More...
 
enum  CcdSensorCoverGlassEnum {
  CSCG_NotImplemented = 0, CSCG_NotSpecified = 1, CSCG_AntiReflectiveGlass = 2, CSCG_ClearGlass = 3,
  CSCG_NoGlass = 4, CSCG_NotInitialized = 255
}
 This field specifies the cover glass on the CCD imager. More...
 
enum  CcdSensorClassEnum {
  CS_NotImplemented = 0, CS_NotSpecified = 1, CS_NotApplicable = 2, CS_TruesenseClass1 = 3,
  CS_TruesenseClass2 = 4, CS_TruesenseEngineering = 5, CS_NotInitialized = 255
}
 This field specifies the cover glass on the CCD imager. More...
 
enum  CcdSensorBackThinnedEnum { CBT_NotImplemented = 0, CBT_NotSpecified = 1, CBT_NotApplicable = 2, CBT_NotInitialized = 255 }
 This field specifies that the CCD imager is back thinned. More...
 

Private Member Functions

template<typename T >
GetFeature (AddressesEnum address)
 Gets the feature. More...
 
FamilyEnum Family (void)
 Gets or sets the family. More...
 
OriginationEnum Origination (void)
 Gets or sets the origination. More...
 
HardwareTypeEnum HardwareType (void)
 Gets or sets the type of the hardware. More...
 
CoolingConfigurationEnum CoolingConfiguration (void)
 Gets or sets the cooling configuration. More...
 
ChamberWindowConfigurationEnum ChamberWindowConfiguration (void)
 Gets or sets the chamber window configuration. More...
 
ShutterConfigurationEnum ShutterConfiguration (void)
 Gets or sets the shutter configuration. More...
 
FilterWheelConfigurationEnum FilterWheelConfiguration (void)
 Gets or sets the filter wheel configuration. More...
 
CcdSensorManufacturerEnum CcdSensorManufacturer (void)
 Gets or sets the CCD sensor manufacturer. More...
 
CcdSensorManufacturerPartNumberEnum CcdSensorManufacturerPartNumber (void)
 Gets or sets the CCD sensor manufacturer part number. More...
 
CcdSensorTypeEnum CcdSensorType (void)
 Gets or sets the type of the CCD sensor. More...
 
CcdSensorColorMaskEnum CcdSensorColorMask (void)
 Gets or sets the CCD sensor color mask. More...
 
CcdSensorMicrolensEnum CcdSensorMicrolens (void)
 Gets or sets the CCD sensor microlens. More...
 
CcdSensorBlueEnhancedEnum CcdSensorBlueEnhanced (void)
 Gets or sets the CCD sensor blue enhanced. More...
 
CcdSensorCoverGlassEnum CcdSensorCoverGlass (void)
 Gets or sets the CCD sensor cover glass. More...
 
CcdSensorClassEnum CcdSensorClass (void)
 Gets or sets the CCD sensor class. More...
 
CcdSensorBackThinnedEnum CcdSensorBackThinned (void)
 Gets or sets the CCD sensor back thinned. More...
 

Private Attributes

ICameraEepromeeprom
 

Member Enumeration Documentation

◆ AddressesEnum

Enumerator
ADDR_Family 
ADDR_Origination 
ADDR_HardwareType 
ADDR_CoolingConfiguration 
ADDR_ChamberWindowConfiguration 
ADDR_ShutterConfiguration 
ADDR_FilterWheelConfiguration 
ADDR_CcdSensorManufacturer 
ADDR_CcdSensorManufacturerPartNumber 
ADDR_CcdSensorType 
ADDR_CcdSensorColorMask 
ADDR_CcdSensorMicrolens 
ADDR_CcdSensorBlueEnhanced 
ADDR_CcdSensorCoverGlass 
ADDR_CcdSensorClass 
ADDR_CcdSensorBackThinned 

◆ CcdSensorBackThinnedEnum

This field specifies that the CCD imager is back thinned.

Enumerator
CBT_NotImplemented 
CBT_NotSpecified 
CBT_NotApplicable 
CBT_NotInitialized 

◆ CcdSensorBlueEnhancedEnum

This field specifies the whether the CCD imager is Blue Enhanced.

Enumerator
CSB_NotImplemented 
CSB_NotSpecified 
CSB_No 
CSB_Yes 
CSB_NotInitialized 

◆ CcdSensorClassEnum

This field specifies the cover glass on the CCD imager.

Enumerator
CS_NotImplemented 
CS_NotSpecified 
CS_NotApplicable 
CS_TruesenseClass1 
CS_TruesenseClass2 
CS_TruesenseEngineering 
CS_NotInitialized 

◆ CcdSensorColorMaskEnum

This field specifies if the CCD imager has a color mask.

Enumerator
CSC_NotImplemented 
CSC_NotSpecified 
CSC_None 
CSC_BayerNormal 
CSC_TruesenseNormal 
CSC_NotInitialized 

◆ CcdSensorCoverGlassEnum

This field specifies the cover glass on the CCD imager.

Enumerator
CSCG_NotImplemented 
CSCG_NotSpecified 
CSCG_AntiReflectiveGlass 
CSCG_ClearGlass 
CSCG_NoGlass 
CSCG_NotInitialized 

◆ CcdSensorManufacturerEnum

This field specifies the manufacturer of the CCD imager installed in the camera.

Enumerator
MAN_NotImplemented 
MAN_NotSpecified 
MAN_Truesense 
MAN_Sony 
MAN_NotInitialized 

◆ CcdSensorManufacturerPartNumberEnum

This field specifies the exact manufacturers part number.

Presumably, this part number will explicitly specify every aspect of the CCD imager. At this point, having only dealt with Kodak CCDs, it isn't clear if this field will provide more information than the Secondary CCD Image Sensor Description feature bytes describe further down in this document. In any case, this is a future issue to be dealt with. This information is included in cameras manufactured from here on for maximum flexibility in the future.

FOR MANUFACTURING USE ONLY

Enumerator
PN_NotImplemented 
PN_NotSpecified 
PN_KAF_0402_ABA_CD_B1 
PN_KAF_0402_ABA_CD_B2 
PN_KAF_0402_ABA_CP_B1 
PN_KAF_0402_ABA_CP_B2 
PN_KAF_1603_ABA_CD_B2 
PN_KAF_3200_ABA_CD_B2 
PN_KAF_3200_ABA_CP_B2 
PN_KAF_8300_AXC_CD_AA 
PN_KAF_8300_CXB_CB_AA 
PN_KAI_2020_ABA_CD_BA 
PN_KAI_2020_ABA_CR_BA 
PN_KAI_2020_CBA_CD_BA 
PN_KAI_04022_ABA_CD_BA 
PN_KAI_04022_ABA_CR_BA 
PN_KAI_04022_CBA_CD_BA 
PN_ICX674ALG 
PN_ICX674AQG 
PN_ICX694ALG 
PN_ICX694AQG 
PN_ICX814ALG 
PN_ICX814AQG 
PN_SeeExtensionTable 
PN_NotInitialized 

◆ CcdSensorMicrolensEnum

This field specifies if the CCD imager has microlens.

Enumerator
CSM_NotImplemented 
CSM_NotSpecified 
CSM_None 
CSM_Yes 
CSM_NotInitialized 

◆ CcdSensorTypeEnum

This field specifies the shorthand CCD sensor part name.

Enumerator
CST_NotImplemented 
CST_NotSpecified 
CST_KAF_0402 
CST_KAF_1603 
CST_KAF_3200 
CST_KAF_8300 
CST_KAI_2020 
CST_KAI_04022 
CST_ICX674 
CST_ICX694 
CST_ICX814 
CST_NotInitialized 

◆ ChamberWindowConfigurationEnum

This field specifies the type of chamber window installed in the camera.

Enumerator
CWC_NotImplemented 
CWC_NotSpecified 
CWC_EO_B270_32951_25mmDia_MgF2 
CWC_EO_B270_45254_30mmDia_MgF2 
CWC_EO_1WaveFS_45812_25mmDia_UV_AR 
CWC_EO_1WaveFS_84475_25mmDia_UV_VIS 
CWC_EO_1WaveFS_49643_25mmDia_NIR_VIS 
CWC_EO_1WaveFS_45813_30mmDia_UV_AR 
CWC_EO_1WaveFS_84477_30mmDia_UV_VIS 
CWC_EO_1WaveFS_49645_30mmDia_NIR_VIS 
CWC_NotInitialized 

◆ CoolingConfigurationEnum

This field specifies the type of cooling installed in the camera.

Enumerator
CC_NotImplemented 
CC_NotSpecified 
CC_Standard500 
CC_Enhanced500 
CC_Standard600 
CC_VeralightCorona 
CC_NotInitialized 

◆ FamilyEnum

This field specifies the general 'Family' of the camera.

Enumerator
FAM_NotImplemented 
FAM_NotSpecified 
FAM_Series500 
FAM_Corona 
FAM_Series600 
FAM_ResearchSpec600 
FAM_Series700 
FAM_NotInitialized 

◆ FilterWheelConfigurationEnum

This field specifies the kind of filter assembly installed in the camera.

Enumerator
FWC_NotImplemented 
FWC_NotSpecified 
FWC_NoFilterWheel 
FWC_QsiStandardFilterWheel 
FWC_NotInitialized 

◆ HardwareTypeEnum

This field specifies the type of hardware in the camera.

Enumerator
HWT_NotImplemented 
HWT_NotSpecified 
HWT_Unused2 
HWT_Unused3 
HWT_Unused4 
HWT_Unused5 
HWT_Version05 
HWT_Version06 
HWT_Version07 
HWT_Version08 
HWT_Version09 
HWT_Version10 
HWT_Version12 
HWT_NotInitialized 

◆ OriginationEnum

This field specifies how the camera formally declares its origination, either QSI for normal retail cameras or otherwise for specific OEM customers.

Enumerator
ORIG_NotImplemented 
ORIG_NotSpecified 
ORIG_QSI 
ORIG_Veralight 
ORIG_NotInitialized 

◆ ShutterConfigurationEnum

This field specifies the kind of shutter installed in the camera.

Enumerator
SC_NotImplemented 
SC_NotSpecified 
SC_NoShutter 
SC_QsiStandardShutter 
SC_QsiCoronaShutter 
SC_NotInitialized 

Constructor & Destructor Documentation

◆ QSIModelInfo()

QSIModelInfo::QSIModelInfo ( ICameraEeprom eeprom)

◆ ~QSIModelInfo()

QSIModelInfo::~QSIModelInfo ( void  )

Member Function Documentation

◆ CcdSensorBackThinned()

QSIModelInfo::CcdSensorBackThinnedEnum QSIModelInfo::CcdSensorBackThinned ( void  )
private

Gets or sets the CCD sensor back thinned.

The CCD sensor back thinned.

◆ CcdSensorBlueEnhanced()

QSIModelInfo::CcdSensorBlueEnhancedEnum QSIModelInfo::CcdSensorBlueEnhanced ( void  )
private

Gets or sets the CCD sensor blue enhanced.

The CCD sensor blue enhanced.

◆ CcdSensorClass()

QSIModelInfo::CcdSensorClassEnum QSIModelInfo::CcdSensorClass ( void  )
private

Gets or sets the CCD sensor class.

The CCD sensor class.

◆ CcdSensorColorMask()

QSIModelInfo::CcdSensorColorMaskEnum QSIModelInfo::CcdSensorColorMask ( void  )
private

Gets or sets the CCD sensor color mask.

The CCD sensor color mask.

◆ CcdSensorCoverGlass()

QSIModelInfo::CcdSensorCoverGlassEnum QSIModelInfo::CcdSensorCoverGlass ( void  )
private

Gets or sets the CCD sensor cover glass.

The CCD sensor cover glass.

◆ CcdSensorManufacturer()

QSIModelInfo::CcdSensorManufacturerEnum QSIModelInfo::CcdSensorManufacturer ( void  )
private

Gets or sets the CCD sensor manufacturer.

The CCD sensor manufacturer.

◆ CcdSensorManufacturerPartNumber()

QSIModelInfo::CcdSensorManufacturerPartNumberEnum QSIModelInfo::CcdSensorManufacturerPartNumber ( void  )
private

Gets or sets the CCD sensor manufacturer part number.

The CCD sensor manufacturer part number.

◆ CcdSensorMicrolens()

QSIModelInfo::CcdSensorMicrolensEnum QSIModelInfo::CcdSensorMicrolens ( void  )
private

Gets or sets the CCD sensor microlens.

The CCD sensor microlens.

◆ CcdSensorType()

QSIModelInfo::CcdSensorTypeEnum QSIModelInfo::CcdSensorType ( void  )
private

Gets or sets the type of the CCD sensor.

The type of the CCD sensor.

◆ ChamberWindowConfiguration()

QSIModelInfo::ChamberWindowConfigurationEnum QSIModelInfo::ChamberWindowConfiguration ( void  )
private

Gets or sets the chamber window configuration.

The chamber window configuration.

◆ CoolingConfiguration()

QSIModelInfo::CoolingConfigurationEnum QSIModelInfo::CoolingConfiguration ( void  )
private

Gets or sets the cooling configuration.

The cooling configuration.

◆ Family()

QSIModelInfo::FamilyEnum QSIModelInfo::Family ( void  )
private

Gets or sets the family.

The family.

◆ FilterWheelConfiguration()

QSIModelInfo::FilterWheelConfigurationEnum QSIModelInfo::FilterWheelConfiguration ( void  )
private

Gets or sets the filter wheel configuration.

The filter wheel configuration.

◆ GetBaseModelNumber()

std::string QSIModelInfo::GetBaseModelNumber ( std::string  defaultNumber)

◆ GetFeature()

template<typename T >
T QSIModelInfo::GetFeature ( AddressesEnum  address)
inlineprivate

Gets the feature.

Template Parameters
T
Parameters
addressThe address.
Returns

◆ GetModelName()

std::string QSIModelInfo::GetModelName ( std::string  defaultName)

◆ GetModelNumber()

std::string QSIModelInfo::GetModelNumber ( std::string  defaultNumber)

◆ HardwareType()

QSIModelInfo::HardwareTypeEnum QSIModelInfo::HardwareType ( void  )
private

Gets or sets the type of the hardware.

The type of the hardware.

◆ Origination()

QSIModelInfo::OriginationEnum QSIModelInfo::Origination ( void  )
private

Gets or sets the origination.

The origination.

◆ ShutterConfiguration()

QSIModelInfo::ShutterConfigurationEnum QSIModelInfo::ShutterConfiguration ( void  )
private

Gets or sets the shutter configuration.

The shutter configuration.

Member Data Documentation

◆ eeprom

ICameraEeprom* QSIModelInfo::eeprom
private

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