37 InvalidScanDirection = -1,
38 ScanDirectionNone = 0,
39 HorizontalScanDirection = 1,
40 VerticalScanDirection = 2,
88 void setBandpass(
const double ax,
const double bx);
97 void getBandpass(
double &ax,
double &bx)
const
111 if ((m_detectorWidth != width) ||
112 (m_detectorHeight != height)) {
113 m_detectorWidth =
width;
114 m_detectorHeight =
height;
128 width = m_detectorWidth;
129 height = m_detectorHeight;
142 if (m_horizontalPitch != pitchHorz ||
143 m_verticalPitch != pitchVert)
145 m_horizontalPitch = pitchHorz;
146 m_verticalPitch = pitchVert;
158 void getPitchDetectors(
double &pitchHorz,
double &pitchVert)
const
160 pitchHorz = m_horizontalPitch;
161 pitchVert = m_verticalPitch;
172 void setSampleSize(
const double Horz,
const double Vert);
181 void getSampleSize(
double &Horz,
double &Vert)
const
183 Horz = m_horizontalSampleSize;
184 Vert = m_verticalSampleSize;
195 if (m_dwellTime != dwellTime) {
196 m_dwellTime = dwellTime;
217 void setJitterAmplitude(
const double amplitudeX,
const double amplitudeY)
220 if (m_jitterAmplitudeX != amplitudeX)
222 m_jitterAmplitudeX = amplitudeX;
225 if (m_jitterAmplitudeY != amplitudeY)
227 m_jitterAmplitudeY = amplitudeY;
242 void getJitterAmplitude(
double &jitterAmplitudeX,
double &jitterAmplitudeY)
const
244 jitterAmplitudeX = m_jitterAmplitudeX;
245 jitterAmplitudeY = m_jitterAmplitudeY;
256 void setJitterFrequency(
const double jitterfrequencyX,
const double jitterfrequencyY)
259 if (m_jitterFrequencyX != jitterfrequencyX)
261 m_jitterFrequencyX = jitterfrequencyX;
264 if (m_jitterFrequencyY != jitterfrequencyY)
266 m_jitterFrequencyY = jitterfrequencyY;
281 void getJitterFrequency(
double &jitterFrequencyX,
double &jitterFrequencyY)
const
283 jitterFrequencyX = m_jitterFrequencyX;
284 jitterFrequencyY = m_jitterFrequencyY;
295 if (m_noiseFrequencyKnee != freqKnee) {
296 m_noiseFrequencyKnee = freqKnee;
348 if (m_noiseFrequencyExp != freqExp) {
349 m_noiseFrequencyExp = freqExp;
370 if (m_noiseEquivalentTemp != temp) {
371 m_noiseEquivalentTemp = temp;
391 void setBackgroundTemp(
const double temp);
417 m_percentFixedNoise = temp;
436 if (m_noiseEquivRadiance != temp) {
437 m_noiseEquivRadiance = temp;
459 if (m_percentPixelFill != temp) {
460 m_percentPixelFill = temp;
461 m_percentHorzPixelFill = temp;
462 m_percentVertPixelFill = temp;
482 void setPercentPixelFill(
double fillHorz,
double fillVert);
489 void getPercentPixelFill(
double &fillHorz,
double &fillVert)
const
491 fillHorz = m_percentHorzPixelFill;
492 fillVert = m_percentVertPixelFill;
503 m_percentDeadPixel = temp;
522 m_noiseEnable = flag;
540 if (m_FullColorEnable != flag) {
541 m_FullColorEnable = flag;
556 void getChannelSelects(
float &redSelect,
float &greenSelect,
float &blueSelect )
const
558 redSelect = m_redSelect;
559 greenSelect = m_greenSelect;
560 blueSelect = m_blueSelect;
574 m_redSelect = redSelect;
575 m_greenSelect = greenSelect;
576 m_blueSelect = blueSelect;
595 m_scanningSensorEnable = flag;
612 void setNonUniformityEnable(
const bool flag)
614 m_nonUniformityEnable = flag;
640 void setScanMaskGainFilename(
char *scanMaskFileName);
648 char *getScanMaskGainFilename();
656 void setScanMaskLevelFilename(
char *scanMaskFileName);
664 char *getScanMaskLevelFilename();
677 void setScanMask(
float minGain,
float maxGain, ScanDirectionType scanDirection,
int lineSpacing = 1,
float minLevel = 0.0,
float maxLevel = 0.0);
693 void setScanMaskMaxGain(
float val);
709 void setScanMaskMinGain(
float val);
725 void setScanMaskMaxLevel(
float val);
741 void setScanMaskMinLevel(
float val);
757 void setScanMaskDirection(ScanDirectionType
val);
773 void setScanMaskLineSpacing(
int val);
783 m_scanMaskLevelAdjustment = adjustment;
800 bool getScanMaskUserDefined()
const;
808 void setScanMaskUserDefined(
bool userDefined);
815 float *getUserDefinedNonUniformityGainData()
const;
822 void setUserDefinedNonUniformityGainData(
float *
data);
829 float *getUserDefinedNonUniformityLevelData()
const;
836 void setUserDefinedNonUniformityLevelData(
float *
data);
854 m_noiseAdjustment = adjustment;
872 m_motionBlurEnable = flag;
890 if ((weight >= 0.0) &&
892 m_motionBlurWeight =
weight;
911 if (m_weightThreshold != threshold) {
912 m_weightThreshold = threshold;
931 double getChargeWellCapacity()
const
933 return m_chargeWellCapacity;
942 void setChargeWellCapacity(
double threshold)
944 if (m_chargeWellCapacity != threshold)
946 m_chargeWellCapacity = threshold;
957 double getQuantumEfficiency()
const
959 return m_quantumEfficiency;
968 void setQuantumEfficiency(
double efficiency)
970 if (m_quantumEfficiency != efficiency)
972 m_quantumEfficiency = efficiency;
986 return m_antiBloomDirection;
998 if (m_antiBloomDirection != antibloomDirection)
1000 m_antiBloomDirection = antibloomDirection;
1010 void getMaterialWavelengthCutOnCutOff(
double &cuton,
double &cutoff)
const
1012 cuton = m_wavelengthCutOn;
1013 cutoff = m_wavelengthCutOff;
1022 void setMaterialWavelengthCutOnCutOff(
double cuton,
double cutoff)
1024 if (m_wavelengthCutOn != cuton)
1026 m_wavelengthCutOn = cuton;
1030 if (m_wavelengthCutOff != cutoff)
1032 m_wavelengthCutOff = cutoff;
1043 double getMicroChannelPlateDistance()
const
1045 return m_microChannelPlateDistance;
1056 if (m_microChannelPlateDistance != distance)
1058 m_microChannelPlateDistance =
distance;
1069 double getPhotoCathodeVoltage()
const
1071 return m_photoCathodeVoltage;
1080 void setPhotoCathodeVoltage(
double voltage)
1082 if (m_photoCathodeVoltage != voltage)
1084 m_photoCathodeVoltage = voltage;
1095 double getReadoutNoiseNumElectron()
const
1097 return m_electronReadoutNoise;
1106 void setReadoutNoiseNumElectron(
double electrons)
1108 if (m_electronReadoutNoise != electrons)
1110 m_electronReadoutNoise = electrons;
1121 double getWellCapacityPercentage()
const
1123 return m_wellCapacityPercentage;
1132 void setWellCapacityPercentage(
double percentage);
1140 bool get3DNoiseEnable()
const
1142 return m_enable3DNoise;
1153 if (m_enable3DNoise != enable)
1155 m_enable3DNoise =
enable;
1166 float get3DNoiseSigmaH()
const
1168 return m_3DNoiseSigmaH;
1177 void set3DNoiseSigmaH(
float STD)
1179 if (m_3DNoiseSigmaH != STD)
1181 m_3DNoiseSigmaH = STD;
1192 float get3DNoiseSigmaV()
const
1194 return m_3DNoiseSigmaV;
1203 void set3DNoiseSigmaV(
float STD)
1205 if (m_3DNoiseSigmaV != STD)
1207 m_3DNoiseSigmaV = STD;
1218 float get3DNoiseSigmaVH()
const
1220 return m_3DNoiseSigmaVH;
1229 void set3DNoiseSigmaVH(
float STD)
1231 if (m_3DNoiseSigmaVH != STD)
1233 m_3DNoiseSigmaVH = STD;
1244 float get3DNoiseSigmaT()
const
1246 return m_3DNoiseSigmaT;
1255 void set3DNoiseSigmaT(
float STD)
1257 if (m_3DNoiseSigmaT != STD)
1259 m_3DNoiseSigmaT = STD;
1270 float get3DNoiseSigmaTH()
const
1272 return m_3DNoiseSigmaTH;
1281 void set3DNoiseSigmaTH(
float STD)
1283 if (m_3DNoiseSigmaTH != STD)
1285 m_3DNoiseSigmaTH = STD;
1296 float get3DNoiseSigmaTV()
const
1298 return m_3DNoiseSigmaTV;
1307 void set3DNoiseSigmaTV(
float STD)
1309 if (m_3DNoiseSigmaTV != STD)
1311 m_3DNoiseSigmaTV = STD;
1322 float get3DNoiseSigmaTVH()
const
1324 return m_3DNoiseSigmaTVH;
1333 void set3DNoiseSigmaTVH(
float STD)
1335 if (m_3DNoiseSigmaTVH != STD)
1337 m_3DNoiseSigmaTVH = STD;
1346 void computeVariables(
double focalLen,
double horzFOV,
double vertFOV,
double frameRate);
1352 void getDetectorAngularSubtense(
double &DASHorz,
double &DASVert)
const
1354 DASHorz = m_DASHorz;
1355 DASVert = m_DASVert;
1362 void getNyquistSamplingFrequency(
double &nyquistHorz,
double &nyquistVert)
const
1364 nyquistHorz = m_nyquistHorz;
1365 nyquistVert = m_nyquistVert;
1374 double getScanVelocity()
const
1376 return m_scanVelocity;
1468 char m_scanMaskGainFileName[255];
1469 char m_scanMaskLevelFileName[255];
1507 #endif // _seDetector_