28 #define PRODUCT_VERSION "SenSimRT"
30 #define VERSIONNUMBER 100
78 void outputImage(
char *filename,
float *inputImage,
long numCols,
89 void applyCpuSensorEffects(
float *inputImage,
long numCols,
long numRows);
99 double getFocalLength()
const;
108 double getFNumber()
const;
171 void setSensorEffectsFlags(
bool enable,
bool gpuEnable,
bool filterEnable,
bool noiseEnable,
bool gainEnable,
bool haloEnable,
bool motionBlurEnable =
false) {
172 m_enableSensorEffects =
enable;
173 m_enableGPUSensorEffects = gpuEnable;
174 m_enableFilterEffects = filterEnable;
175 m_enableGainEffects = gainEnable;
176 m_enableNoiseEffects = noiseEnable;
177 m_enableHaloEffects = haloEnable;
178 m_enableMotionBlurEffects = motionBlurEnable;
179 if (m_enableSensorEffects) {
180 m_optics->setFilterEnable(isFilterOn());
181 m_detector->setNoiseEnable(isNoiseOn());
182 m_optics->setHaloEnable(isHaloOn());
183 m_detector->setMotionBlurEnable(isMotionBlurOn());
184 m_electronics->setGainEnable(isGainOn());
186 m_optics->setFilterEnable(
false);
187 m_detector->setNoiseEnable(
false);
188 m_optics->setHaloEnable(
false);
189 m_electronics->setGainEnable(
false);
190 m_detector->setMotionBlurEnable(
false);
201 return m_enableSensorEffects;
214 void setInputSize(
int w,
int h,
bool use888Encoding =
false);
223 void setInputOffset(
int x,
int y);
232 void setDisplaySize(
int w,
int h);
242 void setDisplayOffset(
int x,
int y,
bool clearBuffer=
true);
255 void applyGpuSensorEffects(
int inputTextureId,
float *inputImage=NULL,
bool swapBuffer =
false,
bool useTextureRect =
false,
int outputTextureId = 0);
268 void getMTFSamples (
int numSamples,
double &xCutoffFreq,
double &yCutoffFreq,
269 double *xMTF,
double *yMTF)
const;
292 bool isHaloOn()
const {
return m_enableHaloEffects; }
306 bool isGainOn()
const {
return m_enableGainEffects; }
321 void setFilterAdjustment(
double adjustment);
328 void setNoiseAdjustment(
double adjustment);
335 void setGainAdjustment(
double adjustment);
342 void setLevelAdjustment(
double adjustment);
349 double getFilterAdjustment()
const;
356 double getNoiseAdjustment()
const;
363 double getGainAdjustment()
const;
370 double getLevelAdjustment()
const;
377 bool isBlackHotEnable()
const;
384 void setBlackHotEnable(
bool flag);
391 void setBandpass(
const double ax,
const double bx);
396 bool isFullColorEnable()
const;
401 void setFullColorEnable(
bool flag);
413 void setSaveImage(
char *saveFileName,
bool preAperture =
false,
bool continuous =
false,
bool flip =
true);
420 void setStopContinuous();
429 void setSaveImageFileName(
char *saveFileName);
438 void setSavePreApertureImage(
bool preAperture);
446 void setSaveContinuousImages(
bool continuous);
454 void setFlipSaveImages(
bool flip);
462 void setSaveRadianceImageEnable();
471 void setSaveRadianceImageArrayEnable(
bool enable );
479 float* getRadianceImageArray()
const;
486 float* getObjectIDImageArray()
const;
494 float* getDownSampledRadianceImageArray()
const;
501 float* getDownSampledObjectIDImageArray()
const;
511 m_gpuProcessor->getDownSampledImageSize( width, height);
519 void setDownSampledImagesEnable(
bool bEnable )
521 m_gpuProcessor->setDownSampledImagesEnable(bEnable);
529 bool getDownSampledImagesEnable()
const
531 return m_gpuProcessor->getDownSampledImagesEnable();
539 void setObjectIDRenderingEnable(
bool bEnable)
541 m_gpuProcessor->setObjectIDRenderingEnable(bEnable);
548 bool getObjectIDRenderingEnable()
const
550 return m_gpuProcessor->getObjectIDRenderingEnable();
563 bool initializeLicense();
570 bool licenseCheck()
const;
577 bool openGLCheck()
const;
585 const char * getVersion()
const;
594 void setDisplayTextureID(
GLuint textureID,
bool enable =
true);
633 struct Implementation;