VR-Vantage 3.1 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes
seSenSim Class Reference

class: seSenSim More...

Public Types

enum  OutputImageArrayType { OUTPUT_TYPE_RADIANCE, OUTPUT_TYPE_PHOTONS, OUTPUT_TYPE_COUNTS, OUTPUT_TYPE_NUM }

Public Member Functions

 seSenSim ()
 constructor
 ~seSenSim ()
 destructor
bool initialize ()
 initialize sensor effects
void outputImage (char *filename, float *inputImage, long numCols, long numRows)
 output an floating point image to a file.
void applyCpuSensorEffects (float *inputImage, long numCols, long numRows)
 apply slow-time cpu based sensor effects
double getFocalLength () const
 gets the aperture's focal length (cm)
double getFNumber () const
 gets the aperture's f number (unitless)
seDetectorgetDetector () const
 gets Detector object pointer
seOpticsgetOptics () const
 gets Optics object pointer
seFiltergetFilter ()
 gets Filter object pointer
seNoisegetNoise ()
 gets Noise object pointer
seElectronicsgetElectronics () const
 gets Electronics object pointer
seGainLevelgetGainLevel () const
 gets gain/level object pointer
void setSensorEffectsFlags (bool enable, bool gpuEnable, bool filterEnable, bool noiseEnable, bool gainEnable, bool AGCenable, bool haloEnable, bool motionBlurEnable=false)
 Sets the sensor effects enable flags in the interface.
bool isSensorEffectsOn () const
 Gets the sensor effects enable flags in the interface.
void setInputSize (int w, int h, bool use888Encoding=false)
 set input size in width and height When the input size changes everything is initialized to work with the new resolution.
void setInputOffset (int x, int y)
 set input offset
void setDisplaySize (int w, int h)
 set size of the display in width and height When the input size changes everything is initialized to work with the new resolution.
void setDisplayOffset (int x, int y, bool clearBuffer)
 set display offset
void applyGpuSensorEffects (int inputTextureId, bool usePreviousFBO=false, float *inputImage=NULL, bool swapBuffer=false, bool useTextureRect=false, int outputTextureId=0)
 description: applies all of the enabled sensor effects using the Gpu.
void getMTFSamples (int numSamples, double &xCutoffFreq, double &yCutoffFreq, double *xMTF, double *yMTF) const
 Get both the horizontal and vertical mtf for a given number of samples, compute the cutoff frequencies and return the data in the provided arrays.
bool isFilterOn () const
 indicates that filtering is on.
bool isNoiseOn () const
 indicates that noise processing is on.
bool isHaloOn () const
bool isMotionBlurOn () const
bool isGainOn () const
 indicates that gain and level processing is on.
bool isGpuSensorEffectsOn () const
 indicates that GPU real-time sensor effects processing is on.
void setFilterAdjustment (double adjustment)
 Adjust the filter.
void setNoiseAdjustment (double adjustment)
 Adjust the noise.
void setGainAdjustment (double adjustment)
 Adjust the gain.
void setLevelAdjustment (double adjustment)
 Adjust the level.
double getFilterAdjustment () const
 Get the filter adjustment.
double getNoiseAdjustment () const
 Get the noise adjustment.
double getGainAdjustment () const
 Get the gain adjustment.
double getLevelAdjustment () const
 Get the level adjustment.
bool isBlackHotEnable () const
 Return true if blackhot is enabled.
void setBlackHotEnable (bool flag)
 Set the blackhot enable on or off.
bool isAeroDynamicHeatingEnable () const
 Return true if aerodynamic heating is enabled.
void setAeroDynamicHeatingEnable (bool flag)
 Set the aerodynamic heatin enable on or off.
int getAeroDynamicHeatingGimbalMode () const
 Return the Gimbal mode for aerodynamic heating.
void setAeroDynamicHeatingGimbalMode (int flag)
 Set the Gimbal mode for aerodynamic heating.
void setBandpass (const double ax, const double bx)
 set the bandpass.
void setColorMapType (seElectronics::ColorMapType newColorMapType)
 sets the color map type.
seElectronics::ColorMapType getColorMapType () const
 gets the color map type.
void setColorMapEnable (int flag)
 sets the color map enable flag.
int getColorMapEnable () const
 gets the color map enable flag.
bool isFullColorEnable () const
 Return true if full color is enabled. Higher level function for non license version.
void setFullColorEnable (bool flag)
 Set the full color enable on or off. Higher level function for non license version.
void setSaveImage (char *saveFileName, bool preAperture=false, bool continuous=false, bool flip=true, bool detectorResolution=false)
 setup saving the radiance image output of sensim into a raw floating point format.
void setStopContinuous ()
 Tell seGpuProcessor to stop recording radiance images continuously.
void setSaveImageFileName (char *saveFileName)
 setup file name for saving the radiance image output of sensim into a raw floating point format.
void setSavePreApertureImage (bool preAperture)
 setup saving the radiance image output of sensim before the sensor effects are added (pre-aperture).
void setSaveContinuousImages (bool continuous)
 setup saving the radiance image output into a continuous image stream.
void setFlipSaveImages (bool flip)
 setup to flip the image that is saved to match ImageJ.
void setSaveImagesAtDetectorResolution (bool flag)
 set the saved image to occur at the detector resolution rather than at display resolution
void setSaveRadianceImageEnable ()
 Cause the saving the radiance image(s) output of sensim to begin.
void setSaveRadianceImageArrayEnable (bool enable)
 Cause the saving the radiance image(s) output of sensim to begin without saving files to disk.
void applyAeroDynamicHeating (float azimuthOffset, float elevationOffset, float speed, float aeroDynamicHeating)
 set the azimuth and elevation offset, speed, scaled radiance, and gimbal mode for aerodynamic heating
float * getRadianceImageArray () const
 get image array containing radiance image.
float * getObjectIDImageArray () const
 get image array containing object ID image.
float * getDownSampledRadianceImageArray () const
 get the down sampled image array containing radiance image.
float * getDownSampledObjectIDImageArray () const
 get the down sampled image array containing object ID image.
void getDownSampledImageSize (int &width, int &height) const
 get the size of the down sampled image
void setDownSampledImagesEnable (bool bEnable)
 get the flag for enabling down sampled image captures
bool getDownSampledImagesEnable () const
 get the flag determining the state of down sampled image captures
void setObjectIDRenderingEnable (bool bEnable)
 set the state for object ID rendering for object ID buffer captures
bool getObjectIDRenderingEnable () const
 get the state for object ID rendering and buffer captures
void setNumberSubloadRows (int numberOfRows)
 control factor that defines the number of rows (or scan lines) to subload in a frame for performance
void setOutputImageArrayType (OutputImageArrayType type)
 sets the desired output type for image saves.
OutputImageArrayType getOutputImageArrayType () const
 gets the desired output type for image saves.
bool initializeLicense ()
 check the license and display the SenSimRT version This should be called before any other methods to verify that a SenSim license is available.
bool licenseCheck () const
 Checks for SenSimRT license registration - the initializeLicense method must first be called.
bool openGLCheck () const
 Check if there is a rendering context.
const char * getVersion () const
 gets the version of SenSimRT
void setDisplayTextureID (GLuint textureID, bool enable=true)
 sets the texture ID for the display texture feature and also the enable flag.
bool getUsePreviousFBO () const
void setFilteringMode (int mode=1)
int getFilteringMode () const
void setMaxLightLevel (double maxLightLevel)
void setMaxRadiance (double maxRadiance)
 set the maximum radiance.
void setMinRadiance (double minRadiance)
 set the minimum radiance.
void setApertureWidth (double apertureWidth)
 set the aperture width.
void setApertureAspectRatio (double apertureWidth)
 set the aperture aspect ratio.
void setNoiseEquivalentTemp (double apertureWidth)
 set the noise equivalent temperature.
void setNoiseEquivalentRadiance (double apertureWidth)
 set the noise equivalent radiance.

Protected Member Functions

double getDistortionScaleFactor () const
 gets the distortion scale factor for OSV processing
void setHaloQEResponse (double QEResponse)

Protected Attributes

double m_haloQEResponse
bool m_usePreviousFBO

Private Attributes

bool m_enableSensorEffects
 Overall enable flag for sensor effects.
bool m_enableGPUSensorEffects
 Flag that enables the GPU-based sensor effects rather than the CPU-based.
bool m_enableFilterEffects
 Flag that enables the Filtering effect.
bool m_enableGainEffects
 Flag that enables the Gain/Level effect.
bool m_enableNoiseEffects
 Flag that enables the noise effect.
bool m_enableMotionBlurEffects
 Flag that enables the motion blur effect.
bool m_enableHaloEffects
 Flag that enables the halo effect.
bool m_enableAeroDynamicHeatingEffects
 Flag that enables the aerodynamic heating effect.
int m_aeroDynamicHeatingGimbalMode
 Flag that specifies the Gimbal mode the aerodynamic heating effect.
seDetectorm_detector
 Detector object pointer.
seOpticsm_optics
 Optics object pointer.
seElectronicsm_electronics
 Electronics object pointer.
seGainLevelm_gainLevel
 Gain and level object pointer.
seFilterm_filter
 Filter object pointer.
seNoisem_noise
 Noise object pointer.
seGpuProcessorm_gpuProcessor
 Gpu processor object pointer.
Implementation * m_impl

Detailed Description

class: seSenSim

Top level class for sensor effects processing using SenSimRT techniques

Member Enumeration Documentation

Enumerator:
OUTPUT_TYPE_RADIANCE 
OUTPUT_TYPE_PHOTONS 
OUTPUT_TYPE_COUNTS 
OUTPUT_TYPE_NUM 

Constructor & Destructor Documentation

seSenSim::seSenSim ( )

constructor

seSenSim::~seSenSim ( )

destructor

Member Function Documentation

bool seSenSim::initialize ( )

initialize sensor effects

void seSenSim::outputImage ( char *  filename,
float *  inputImage,
long  numCols,
long  numRows 
)

output an floating point image to a file.

Parameters
filename
inputImage
numCols
numRows
void seSenSim::applyCpuSensorEffects ( float *  inputImage,
long  numCols,
long  numRows 
)

apply slow-time cpu based sensor effects

Parameters
*inputImage
numCols
numRows
double seSenSim::getFocalLength ( ) const

gets the aperture's focal length (cm)

Returns
double
double seSenSim::getFNumber ( ) const

gets the aperture's f number (unitless)

Returns
double
seDetector* seSenSim::getDetector ( ) const

gets Detector object pointer

Returns
seDetector
seOptics* seSenSim::getOptics ( ) const

gets Optics object pointer

Returns
seOptics
seFilter* seSenSim::getFilter ( )
inline

gets Filter object pointer

Returns
seFilter
seNoise* seSenSim::getNoise ( )
inline

gets Noise object pointer

Returns
seNoise
seElectronics* seSenSim::getElectronics ( ) const

gets Electronics object pointer

Returns
seElectronics
seGainLevel* seSenSim::getGainLevel ( ) const

gets gain/level object pointer

Returns
seGainLevel
void seSenSim::setSensorEffectsFlags ( bool  enable,
bool  gpuEnable,
bool  filterEnable,
bool  noiseEnable,
bool  gainEnable,
bool  AGCenable,
bool  haloEnable,
bool  motionBlurEnable = false 
)
inline

Sets the sensor effects enable flags in the interface.

Parameters
enable
gpuEnable
filterEnable
noiseEnable
gainEnable
AGCenable
haloEnable
motionBlurEnable
bool seSenSim::isSensorEffectsOn ( ) const
inline

Gets the sensor effects enable flags in the interface.

Returns
bool - sensor effects enable flag
void seSenSim::setInputSize ( int  w,
int  h,
bool  use888Encoding = false 
)

set input size in width and height When the input size changes everything is initialized to work with the new resolution.

Parameters
w- width of input texture
h- height of input texture
use888Encoding- use if 888 encoding is changing in real-time
void seSenSim::setInputOffset ( int  x,
int  y 
)

set input offset

Parameters
x- x offset of the input
y- y offset of the input
void seSenSim::setDisplaySize ( int  w,
int  h 
)

set size of the display in width and height When the input size changes everything is initialized to work with the new resolution.

Parameters
w- width of display
h- height of display
void seSenSim::setDisplayOffset ( int  x,
int  y,
bool  clearBuffer 
)

set display offset

Parameters
x- x offset of the display
y- y offset of the display
void seSenSim::applyGpuSensorEffects ( int  inputTextureId,
bool  usePreviousFBO = false,
float *  inputImage = NULL,
bool  swapBuffer = false,
bool  useTextureRect = false,
int  outputTextureId = 0 
)

description: applies all of the enabled sensor effects using the Gpu.

Parameters
inputTextureId- optional texture to read the input from instead of the framebuffer
usePreviousFBO- flag to indicate whether SenSim will render into a previously bound FBO or the back buffer
inputImage- no longer used - now saveImage API is used
swapBuffer
useTextureRect
outputTextureId- optional texture to save the SensorFX output to instead of the framebuffer
void seSenSim::getMTFSamples ( int  numSamples,
double &  xCutoffFreq,
double &  yCutoffFreq,
double *  xMTF,
double *  yMTF 
) const

Get both the horizontal and vertical mtf for a given number of samples, compute the cutoff frequencies and return the data in the provided arrays.

Parameters
numSamples
&xCutoffFreq
&yCutoffFreq
*xMTF
*yMTF
bool seSenSim::isFilterOn ( ) const
inline

indicates that filtering is on.

Returns
bool - flag indicating whether filtering is on.
bool seSenSim::isNoiseOn ( ) const
inline

indicates that noise processing is on.

Returns
bool - flag indicating whether noise processing is on.
bool seSenSim::isHaloOn ( ) const
inline
Returns
bool
bool seSenSim::isMotionBlurOn ( ) const
inline
Returns
bool
bool seSenSim::isGainOn ( ) const
inline

indicates that gain and level processing is on.

Returns
bool - flag indicating whether gain and level processing is on.
bool seSenSim::isGpuSensorEffectsOn ( ) const
inline

indicates that GPU real-time sensor effects processing is on.

Returns
bool - flag indicating whether GPU real-time sensor effects processing is on.
void seSenSim::setFilterAdjustment ( double  adjustment)

Adjust the filter.

Higher level function for non license version.

void seSenSim::setNoiseAdjustment ( double  adjustment)

Adjust the noise.

Higher level function for non license version.

void seSenSim::setGainAdjustment ( double  adjustment)

Adjust the gain.

Higher level function for non license version.

void seSenSim::setLevelAdjustment ( double  adjustment)

Adjust the level.

Higher level function for non license version.

double seSenSim::getFilterAdjustment ( ) const

Get the filter adjustment.

Higher level function for non license version.

double seSenSim::getNoiseAdjustment ( ) const

Get the noise adjustment.

Higher level function for non license version.

double seSenSim::getGainAdjustment ( ) const

Get the gain adjustment.

Higher level function for non license version.

double seSenSim::getLevelAdjustment ( ) const

Get the level adjustment.

Higher level function for non license version.

bool seSenSim::isBlackHotEnable ( ) const

Return true if blackhot is enabled.

Higher level function for non license version.

void seSenSim::setBlackHotEnable ( bool  flag)

Set the blackhot enable on or off.

Higher level function for non license version.

bool seSenSim::isAeroDynamicHeatingEnable ( ) const

Return true if aerodynamic heating is enabled.

Higher level function for non license version.

void seSenSim::setAeroDynamicHeatingEnable ( bool  flag)

Set the aerodynamic heatin enable on or off.

Higher level function for non license version.

int seSenSim::getAeroDynamicHeatingGimbalMode ( ) const

Return the Gimbal mode for aerodynamic heating.

Higher level function for non license version.

void seSenSim::setAeroDynamicHeatingGimbalMode ( int  flag)

Set the Gimbal mode for aerodynamic heating.

Higher level function for non license version.

void seSenSim::setBandpass ( const double  ax,
const double  bx 
)

set the bandpass.

Higher level function for non license version.

void seSenSim::setColorMapType ( seElectronics::ColorMapType  newColorMapType)

sets the color map type.

Higher level function for non license version.

Parameters
newColorMapType
seElectronics::ColorMapType seSenSim::getColorMapType ( ) const

gets the color map type.

Higher level function for non license version.

Returns
ColorMapType
void seSenSim::setColorMapEnable ( int  flag)

sets the color map enable flag.

Higher level function for non license version. color mapping is off when 0, color mapping is on when > 0. Bayer filter is enabled when flag is 2

Parameters
flag
int seSenSim::getColorMapEnable ( ) const

gets the color map enable flag.

Higher level function for non license version.

Returns
int
bool seSenSim::isFullColorEnable ( ) const

Return true if full color is enabled. Higher level function for non license version.

void seSenSim::setFullColorEnable ( bool  flag)

Set the full color enable on or off. Higher level function for non license version.

void seSenSim::setSaveImage ( char *  saveFileName,
bool  preAperture = false,
bool  continuous = false,
bool  flip = true,
bool  detectorResolution = false 
)

setup saving the radiance image output of sensim into a raw floating point format.

Parameters
saveFileName
preAperture
continuous
flip
detectorResolution
void seSenSim::setStopContinuous ( )

Tell seGpuProcessor to stop recording radiance images continuously.

void seSenSim::setSaveImageFileName ( char *  saveFileName)

setup file name for saving the radiance image output of sensim into a raw floating point format.

Parameters
saveFileName
void seSenSim::setSavePreApertureImage ( bool  preAperture)

setup saving the radiance image output of sensim before the sensor effects are added (pre-aperture).

Parameters
preAperture
void seSenSim::setSaveContinuousImages ( bool  continuous)

setup saving the radiance image output into a continuous image stream.

Parameters
continuous
void seSenSim::setFlipSaveImages ( bool  flip)

setup to flip the image that is saved to match ImageJ.

Parameters
flip
void seSenSim::setSaveImagesAtDetectorResolution ( bool  flag)

set the saved image to occur at the detector resolution rather than at display resolution

Parameters
flag
void seSenSim::setSaveRadianceImageEnable ( )

Cause the saving the radiance image(s) output of sensim to begin.

void seSenSim::setSaveRadianceImageArrayEnable ( bool  enable)

Cause the saving the radiance image(s) output of sensim to begin without saving files to disk.

void seSenSim::applyAeroDynamicHeating ( float  azimuthOffset,
float  elevationOffset,
float  speed,
float  aeroDynamicHeating 
)

set the azimuth and elevation offset, speed, scaled radiance, and gimbal mode for aerodynamic heating

Parameters
azimuthOffset
elevationOffset
speed
aeroDynamicHeating
float* seSenSim::getRadianceImageArray ( ) const

get image array containing radiance image.

float* seSenSim::getObjectIDImageArray ( ) const

get image array containing object ID image.

float* seSenSim::getDownSampledRadianceImageArray ( ) const

get the down sampled image array containing radiance image.

float* seSenSim::getDownSampledObjectIDImageArray ( ) const

get the down sampled image array containing object ID image.

void seSenSim::getDownSampledImageSize ( int width,
int height 
) const
inline

get the size of the down sampled image

void seSenSim::setDownSampledImagesEnable ( bool  bEnable)
inline

get the flag for enabling down sampled image captures

bool seSenSim::getDownSampledImagesEnable ( ) const
inline

get the flag determining the state of down sampled image captures

void seSenSim::setObjectIDRenderingEnable ( bool  bEnable)
inline

set the state for object ID rendering for object ID buffer captures

bool seSenSim::getObjectIDRenderingEnable ( ) const
inline

get the state for object ID rendering and buffer captures

void seSenSim::setNumberSubloadRows ( int  numberOfRows)
inline

control factor that defines the number of rows (or scan lines) to subload in a frame for performance

void seSenSim::setOutputImageArrayType ( OutputImageArrayType  type)

sets the desired output type for image saves.

Default is standard radiance output type for TIFF frame buffer saves

OutputImageArrayType seSenSim::getOutputImageArrayType ( ) const

gets the desired output type for image saves.

Default is standard radiance output type for TIFF frame buffer saves

bool seSenSim::initializeLicense ( )

check the license and display the SenSimRT version This should be called before any other methods to verify that a SenSim license is available.

If this is not done, SenSimRT will execute. (note: this is also called by initialize).

Returns
bool - true license is ok
bool seSenSim::licenseCheck ( ) const

Checks for SenSimRT license registration - the initializeLicense method must first be called.

bool seSenSim::openGLCheck ( ) const

Check if there is a rendering context.

const char* seSenSim::getVersion ( ) const

gets the version of SenSimRT

Returns
const char *
void seSenSim::setDisplayTextureID ( GLuint  textureID,
bool  enable = true 
)

sets the texture ID for the display texture feature and also the enable flag.

Parameters
textureID- texture ID of the texture
enable- enable the use of the display texture
bool seSenSim::getUsePreviousFBO ( ) const
inline
void seSenSim::setFilteringMode ( int  mode = 1)
inline
int seSenSim::getFilteringMode ( ) const
inline
void seSenSim::setMaxLightLevel ( double  maxLightLevel)
inline
void seSenSim::setMaxRadiance ( double  maxRadiance)

set the maximum radiance.

Higher level function for non license version.

void seSenSim::setMinRadiance ( double  minRadiance)

set the minimum radiance.

Higher level function for non license version.

void seSenSim::setApertureWidth ( double  apertureWidth)

set the aperture width.

Higher level function for non license version.

void seSenSim::setApertureAspectRatio ( double  apertureWidth)

set the aperture aspect ratio.

Higher level function for non license version.

void seSenSim::setNoiseEquivalentTemp ( double  apertureWidth)

set the noise equivalent temperature.

Higher level function for non license version.

void seSenSim::setNoiseEquivalentRadiance ( double  apertureWidth)

set the noise equivalent radiance.

Higher level function for non license version.

double seSenSim::getDistortionScaleFactor ( ) const
inlineprotected

gets the distortion scale factor for OSV processing

Returns
double
void seSenSim::setHaloQEResponse ( double  QEResponse)
inlineprotected

Member Data Documentation

double seSenSim::m_haloQEResponse
protected
bool seSenSim::m_usePreviousFBO
protected
bool seSenSim::m_enableSensorEffects
private

Overall enable flag for sensor effects.

bool seSenSim::m_enableGPUSensorEffects
private

Flag that enables the GPU-based sensor effects rather than the CPU-based.

bool seSenSim::m_enableFilterEffects
private

Flag that enables the Filtering effect.

bool seSenSim::m_enableGainEffects
private

Flag that enables the Gain/Level effect.

bool seSenSim::m_enableNoiseEffects
private

Flag that enables the noise effect.

bool seSenSim::m_enableMotionBlurEffects
private

Flag that enables the motion blur effect.

bool seSenSim::m_enableHaloEffects
private

Flag that enables the halo effect.

bool seSenSim::m_enableAeroDynamicHeatingEffects
private

Flag that enables the aerodynamic heating effect.

int seSenSim::m_aeroDynamicHeatingGimbalMode
private

Flag that specifies the Gimbal mode the aerodynamic heating effect.

seDetector* seSenSim::m_detector
private

Detector object pointer.

seOptics* seSenSim::m_optics
private

Optics object pointer.

seElectronics* seSenSim::m_electronics
private

Electronics object pointer.

seGainLevel* seSenSim::m_gainLevel
private

Gain and level object pointer.

seFilter* seSenSim::m_filter
private

Filter object pointer.

seNoise* seSenSim::m_noise
private

Noise object pointer.

seGpuProcessor* seSenSim::m_gpuProcessor
private

Gpu processor object pointer.

Implementation* seSenSim::m_impl
private

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


Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)