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 Member Functions | Protected Member Functions | Protected Attributes
seGpuProcessor Class Reference

Public Member Functions

 seGpuProcessor (seDetector *detector, seOptics *optics, seElectronics *electronics, seNoise *noise, seGainLevel *gainLevel, seFilter *filter)
 constructor Sensor Effects RT Gpu processing main image processing engine.
 ~seGpuProcessor ()
 destructor
void initialize ()
 description: initialize CG programs for sensor effects
void applyGpuSensorEffects (GLint inputTextureId, bool usePreviousFBO=false, float *inputImage=NULL, bool swapBuffer=false, bool useTextureRect=false, GLuint outputTextureId=0)
 description: applies all of the enabled sensor effects using the Gpu.
void setUseTexFilter (bool flag)
 set use Texure Filtering flag.
void setUseTexture2D (bool flag)
 set use Texure 2D vs texture rectangle flag.
void setUseLooping (bool flag)
 set use NV40 Looping flag.
void setUse888InputEncoding (bool flag)
 set use 888 floating point encoded input data In order to use HW AA, a rgba8 framebuffer is currently required but that does not provide enough dynamic range for sensor effects such as gain/level and halos.
void setInputSize (int width, int height, 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
int getInputWidth () const
 get input window width
int getInputHeight () const
 get input window height
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 TIFF file.
void setStopContinuous ()
 Set the flag to stop writing out continuous image data.
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.
float * getRadianceImageArray () const
 get image array containing radiance image.
float * getDownSampledRadianceImageArray () const
 get image array containing radiance image.
float * getObjectIDImageArray () const
 get image array containing object ID image.
float * getDownSampledObjectIDImageArray () const
 get image array containing object ID image.
void getDownSampledImageSize (int &width, int &height) const
 get image size of the downsampled image array
void setDisplayTextureID (GLuint textureID, bool enable=true)
void setDownSampledImagesEnable (bool bEnable)
 Enables or disables down sample image capture capability.
bool getDownSampledImagesEnable () const
 Returns the state of whether down sampled image capture is enabled or not.
void setObjectIDRenderingEnable (bool bEnable)
 Enables or disables rendering object IDs to the buffer.
bool getObjectIDRenderingEnable () const
 Returns the state of whether object ID rendering is enabled or not.
void applyAeroDynamicHeating (float azimuthOffset, float elevationOffset, float speed, float aeroDynamicHeating, bool enable, int gimbalMode)
 set the azimuth and elevation offset, speed, scaled radiance, and gimbalMode for aerodynamic heating
void setMaxLightLevel (double maxLightLevel)
 Sets the max light level computed by the ssSensor.
double getDistortionScaleFactor () const
 Sets the computed distortion scale factor.
void setHaloQEResponse (double QEResponse)
 Sets the QE Response for the sensor as it is applied to haloing.
void setNumberSubloadRows (int numberOfRows)
 control factor that defines the number of rows (or scan lines) to subload in a frame for performance
void setOutputImageArrayType (int type)
 sets the desired output type for image saves.
int getOutputImageArrayType () const
 gets the desired output type for image saves.

Protected Member Functions

double getResolutionRatio ()
 returns ratio of the input resolution to the detector resolution
void createFBObuffers (int w, int h, bool usePreviousFBO)
 create the framebuffer_object buffers
void initConvolutionProg ()
 initialize fragment programs for convolution
void initDownSampleProg ()
 initialize down sampling fragment program for AC coupling/AGC histogram
void initHaloProg (bool sizeChange)
 initialize fragment programs for halo generation
void initNoiseTexture (bool fullTexture, float gain, float xOffset=0.0, float yOffset=0.0)
void initScanMaskTexture ()
void initAeroHeatingTexture ()
void computeHaloParameters (double RadianceGain, double RadianceLevel, double gain, double level)
void DrawQuad (imageArea destArea, imageArea srcArea, bool rect)
void doQuadPass (fbObject *srcBuffer, fbObject *destBuffer, imageArea srcArea, imageArea destArea, CGprogram prog)
 perform convolution from source to destination buffer using given fragment program
void doConvolution (fbObject *src, fbObject *dest, fbObject *temp)
void doSpatialDependentConvolution (fbObject *src, fbObject *dest, fbObject *temp)
void doDopplerConvolution (fbObject *src, fbObject *dest, fbObject *temp)
void doDownSample (fbObject *src, fbObject *dest, fbObject *temp)
 perform convolution based on current settings using an optimized technique
void doOptimizedFilter (fbObject *src, fbObject *dest, fbObject *temp)
 generate alll the mip levels and place them in the destination pbuffer
void makeMipLevels (fbObject *src, fbObject *dest, fbObject *temp)
 generate alll the mip levels and place them in the destination pbuffer
void addHalos (fbObject *src, fbObject *dest, fbObject *temp)
 Add halos based on pixels that exceed a given threshold.
void initMotionBlurProg ()
void doMotionBlur (fbObject *src, fbObject *dest, fbObject *prev)
void getImageFromTexture (double radScale, double radOffset, double gain, double level, int width, int height)
 read the image from the pbuffer texture and place in the image array
void writeWidthHeightFile (char *fileName, int width, int height)
 Write out a file describing the width and height of the fpf file.
bool replaceSymbol (std::string &filename, int num, const std::string &symbols) const
 Replace last occurring symbol with the current image number.
void appendNumber (std::string &filename, int num) const
 Append a number to the file basename.
void ensureTiffExtension (std::string &filename) const
 Ensure filename ends in .tif or .tiff for TIFF images.
bool writeImageToFile (const std::string &filename, size_t width, size_t height, size_t channels, float *rawData, FIBITMAP *imgBuffer)
 Write image data to a usable image file (32-bit floating point TIFF)
bool isOptimizeFiltering ()
 are the conditions set up for optimized filtering.
void applyInputSize (bool useTextureRect, bool usePreviousFBO)
void computeDistortionScaleFactor (double distortionFactor)
void initializeGraphicsResources ()

Protected Attributes

seDetectorm_detector
 pointer to detector object
seOpticsm_optics
 pointer to optics object
seElectronicsm_electronics
 pointer to electronics object
seNoisem_noise
 pointer to noise object
seGainLevelm_gainLevel
 pointer to gain/level object
seFilterm_filter
 pointer to filter object
fbObjectm_fboBuffer [4]
 render targets
float * m_noiseImage
 data array for noise texture data
float * m_noiseIndexImage
float * m_3DNoiseRowData
float * m_scanMaskImage
 data array for scan mask texture data
float * m_aeroHeatingImage
 data array for aero heating texture data
CGcontext m_cgContext
 Cg context.
CGprofile m_vertexProfile
CGprofile m_fragmentProfile
CGprogram m_passthruProg
CGprogram m_convolveBypassProg
CGprogram m_finalPassthruProg
CGprogram m_finalScaleProg
CGprogram m_horizontalFilterProgram
CGprogram m_verticalFilterProgram
CGprogram m_2DFilterProgram
CGprogram m_texFilterProgram
CGprogram m_2DtexFilterProgram
CGprogram m_dopplerFilterProgram
CGprogram m_haloTexFilterProgram
CGprogram m_distortionMapProgram
CGprogram m_upSampleProg
CGprogram m_thresholdProg
 for halo processing
CGprogram m_convolveHaloProg
CGprogram m_haloBlendProg
CGprogram m_downSampleProg
 for downsampling for Ac coupling and AGC
CGprogram m_motionBlurProg
fbObjectm_prevFrame
CGparameter m_gainParam
CGparameter m_levelParam
CGparameter m_colorMapScaleParam
CGparameter m_scanLevelScaleParam
CGparameter m_aeroHeatingControlParam
CGparameter m_finalGainParam
CGparameter m_finalLevelParam
CGparameter m_offsetParam
CGparameter m_thresholdGainParam
CGparameter m_pixelThresholdParam
CGparameter m_thresholdOffsetParam
CGparameter m_intensityParam
CGparameter m_polarityParam
CGparameter m_channelSelectPassThruParam
CGparameter m_channelSelectScaleParam
CGparameter m_channelSelectFinalParam
CGparameter m_passObjectIDParam
CGparameter m_histogramParam
CGparameter m_aeroHeatingAngularSpreadParam
CGparameter m_aeroHeatingAngleOffsetsParam
CGparameter m_aberrationVerticalParam
CGparameter m_dopplerFilterTexWidthParam
CGparameter m_dopplerFilterROIwidthParam
CGparameter m_haloVerticalParam
CGparameter m_haloSamplingRegionParam
CGparameter m_haloRadiusParam
CGparameter m_bitDepthScaleParam
CGparameter m_bitDepthFinalParam
CGparameter m_imageMaskRadiusScaleParam
CGparameter m_imageMaskRadiusFinalParam
CGparameter m_imageMaskControlScaleParam
CGparameter m_imageMaskControlFinalParam
int m_minKernelRadius
double m_filterAdjustment
bool myIsHaloProgramInitialized
double m_haloRadius
double m_haloThreshold
double m_haloIntensity
double m_quantumEfficiency
double m_haloQEResponse
double m_prevMaterialCutOn
double m_prevMaterialCutOff
bool m_useTexFilter
bool m_useTexture2D
bool m_useLooping
bool m_use888InputEncoding
bool m_bObjectIDRenderingEnable
bool m_bDownSampledImagesEnable
long m_inWidth
long m_inHeight
long m_inOffsetX
long m_inOffsetY
long m_detectorWidth
long m_detectorHeight
long m_displayWidth
long m_displayHeight
long m_pbWidth
long m_pbHeight
float * m_downSampleImage
float * m_downSampleRadianceImage
float * m_downSampleRadianceImageCopy
float * m_downSampleObjectIDImage
float * m_downSampleObjectIDImageCopy
long m_downSampleWidth
long m_downSampleHeight
bool m_usePBOReadback
GLuint m_inputTexId
GLuint m_noiseTexId
GLuint m_noiseIndexTexId
GLuint m_ColorMapTexId
GLuint m_BayerFilterMapTexId
GLuint m_HistogramEqMapTexId
GLuint m_scanMaskTexId
GLuint m_aeroHeatingTexId
GLuint m_filterWeightsTexId
GLuint m_2DfilterWeightsTexId
GLuint m_filterSizeTexId
GLuint m_haloWeightsTexId
GLuint m_pboID [2]
int m_currentPBOIndex
GLint m_prevFrameBufferID
GLenum m_bufferTarget
bool m_saveImage
bool m_preApertureSave
char m_saveImageFileName [255]
bool m_displayAltTexture
GLuint m_displayAltTextureID
bool m_initNoise
bool m_continuousSave
int m_imageNumber
seElectronics::ColorMapType m_lastColorMapType
int m_lastColorMapFlag
bool m_lastNoiseFlag
bool m_lastScanningFlag
bool m_lastFullColorFlag
bool m_lastLogScaleFlag
bool m_lastPolarityFlag
bool m_lastSaveImage
int m_lastAGC
double m_oldPrevFrameWeight
long m_oldWidth
long m_oldHeight
long m_prevGainLevelImageSize
double m_pixelThreshold
double m_maxLightLevel
bool m_saveImageLegacyFpf
FIBITMAP * m_saveImageBuffer
FIBITMAP * m_secondarySaveImageBuffer
float * m_saveImageArray
float * m_secondarySaveImageArray
float * m_saveImageArrayCopy
float * m_saveObjectIDImageArray
float * m_saveObjectIDImageArrayCopy
float * m_frameBuffer
int m_saveImageArraySize
int m_saveObjectIDArraySize
bool m_newImageBufferCopy
bool m_newObjectIDBufferCopy
bool m_saveImageToArray
bool m_flipSaveImage
bool m_saveImageDetectorRes
float m_aeroHeatingAzimuthOffset
float m_aeroHeatingElevationOffset
float m_aeroHeatingHorizontalAngleSpread
float m_aeroHeatingVerticalAngleSpread
float m_aeroHeatingSpeed
float m_aeroDynamicHeating
bool m_updateAeroHeating
bool m_aeroHeatingEnable
bool m_lastAeroHeatingEnable
double m_distortionScaleFactor
int m_outputImageArrayType
int m_noiseIndexOffset
int m_noiseIndexImageLoadSize
int m_prevAberrationX
int m_prevAberrationY
int m_prevSeparableAberrationX
int m_prevSeparableAberrationY
bool m_resetAfterDistortion
int m_numberOfRowsToSubload
int m_numberOfColorChannelsToRead

Constructor & Destructor Documentation

seGpuProcessor::seGpuProcessor ( seDetector detector,
seOptics optics,
seElectronics electronics,
seNoise noise,
seGainLevel gainLevel,
seFilter filter 
)

constructor Sensor Effects RT Gpu processing main image processing engine.

Parameters
*detector- pointer to detector data object
*optics- pointer to optics data object
*electronics- pointer to electronics data object
*noise- pointer to noise processing object
*gainLevel- pointer to gain and level processing object
*filter- pointer to filter processing object
seGpuProcessor::~seGpuProcessor ( )

destructor

Member Function Documentation

void seGpuProcessor::initialize ( )

description: initialize CG programs for sensor effects

void seGpuProcessor::applyGpuSensorEffects ( GLint  inputTextureId,
bool  usePreviousFBO = false,
float *  inputImage = NULL,
bool  swapBuffer = false,
bool  useTextureRect = false,
GLuint  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- specify whether to render to the currently bound FBO or 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 seGpuProcessor::setUseTexFilter ( bool  flag)
inline

set use Texure Filtering flag.

Using the GPU's texture filtering in parallel with the pixel shader increases performance. Normally set true.

Parameters
flag

References m_useTexFilter.

void seGpuProcessor::setUseTexture2D ( bool  flag)
inline

set use Texure 2D vs texture rectangle flag.

The texture rectangle is 32 bit float vs 16 bit float on NV40 Normally set true.

Parameters
flag

References m_useTexture2D.

void seGpuProcessor::setUseLooping ( bool  flag)
inline

set use NV40 Looping flag.

Use the NV40 ability to loop within a pixel shader. Looping is slower than unrolling the loops. Normally set false unless a large filter is needed.

Parameters
flag

References m_useLooping.

void seGpuProcessor::setUse888InputEncoding ( bool  flag)
inline

set use 888 floating point encoded input data In order to use HW AA, a rgba8 framebuffer is currently required but that does not provide enough dynamic range for sensor effects such as gain/level and halos.

So the floating point result of the rendering is converted into the 3 8bit channels and then reverted before sensor effects are applied.

Parameters
flag

References m_use888InputEncoding.

void seGpuProcessor::setInputSize ( int  width,
int  height,
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
width- width of input texture
height- height of input texture
use888Encoding- use if 888 encoding is changing in real-time
void seGpuProcessor::setInputOffset ( int  x,
int  y 
)

set input offset

Parameters
x- offset in the x direction
y- offset in the y direction
int seGpuProcessor::getInputWidth ( ) const
inline

get input window width

Returns
int

References m_inWidth.

int seGpuProcessor::getInputHeight ( ) const
inline

get input window height

Returns
int

References m_inHeight.

void seGpuProcessor::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 TIFF file.

Parameters
char*saveFileName
boolpreAperture
void seGpuProcessor::setStopContinuous ( )

Set the flag to stop writing out continuous image data.

void seGpuProcessor::setSaveImageFileName ( char *  saveFileName)

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

Parameters
char*saveFileName
void seGpuProcessor::setSavePreApertureImage ( bool  preAperture)

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

Parameters
boolpreAperture
void seGpuProcessor::setSaveContinuousImages ( bool  continuous)

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

Parameters
boolcontinuous
void seGpuProcessor::setFlipSaveImages ( bool  flip)

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

Parameters
boolflip
void seGpuProcessor::setSaveImagesAtDetectorResolution ( bool  flag)

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

Parameters
flag
void seGpuProcessor::setSaveRadianceImageEnable ( )

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

void seGpuProcessor::setSaveRadianceImageArrayEnable ( bool  enable)

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

float* seGpuProcessor::getRadianceImageArray ( ) const

get image array containing radiance image.

float* seGpuProcessor::getDownSampledRadianceImageArray ( ) const

get image array containing radiance image.

float* seGpuProcessor::getObjectIDImageArray ( ) const

get image array containing object ID image.

float* seGpuProcessor::getDownSampledObjectIDImageArray ( ) const

get image array containing object ID image.

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

get image size of the downsampled image array

References m_downSampleHeight, and m_downSampleWidth.

void seGpuProcessor::setDisplayTextureID ( GLuint  textureID,
bool  enable = true 
)
void seGpuProcessor::setDownSampledImagesEnable ( bool  bEnable)
inline

Enables or disables down sample image capture capability.

References m_bDownSampledImagesEnable.

bool seGpuProcessor::getDownSampledImagesEnable ( ) const
inline

Returns the state of whether down sampled image capture is enabled or not.

Returns
bool

References m_bDownSampledImagesEnable.

void seGpuProcessor::setObjectIDRenderingEnable ( bool  bEnable)
inline

Enables or disables rendering object IDs to the buffer.

References m_bObjectIDRenderingEnable.

bool seGpuProcessor::getObjectIDRenderingEnable ( ) const
inline

Returns the state of whether object ID rendering is enabled or not.

Returns
bool

References m_bObjectIDRenderingEnable.

void seGpuProcessor::applyAeroDynamicHeating ( float  azimuthOffset,
float  elevationOffset,
float  speed,
float  aeroDynamicHeating,
bool  enable,
int  gimbalMode 
)

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

Parameters
azimuthOffset
elevationOffset
speed
aeroDynamicHeating
gimbalMode
void seGpuProcessor::setMaxLightLevel ( double  maxLightLevel)
inline

Sets the max light level computed by the ssSensor.

Only a set method exists since it is the same as what comes from ssSensor.

References m_maxLightLevel.

double seGpuProcessor::getDistortionScaleFactor ( ) const
inline

Sets the computed distortion scale factor.

References m_distortionScaleFactor.

void seGpuProcessor::setHaloQEResponse ( double  QEResponse)
inline

Sets the QE Response for the sensor as it is applied to haloing.

References m_haloQEResponse.

void seGpuProcessor::setNumberSubloadRows ( int  numberOfRows)
inline

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

References m_numberOfRowsToSubload.

void seGpuProcessor::setOutputImageArrayType ( int  type)
inline

sets the desired output type for image saves.

0 for standard output (W/sr/cm2 for pre aperture and normalized for post aperture), 1 for pre aperture # photons/s/sr/cm2, 2 for post aperture counts

References m_outputImageArrayType.

int seGpuProcessor::getOutputImageArrayType ( ) const
inline

gets the desired output type for image saves.

0 for standard output (W/sr/cm2 for pre aperture and normalized for post aperture), 1 for pre aperture # photons/s/sr/cm2, 2 for post aperture counts

References m_outputImageArrayType.

double seGpuProcessor::getResolutionRatio ( )
inlineprotected

returns ratio of the input resolution to the detector resolution

Returns
double

References dmax(), seDetector::getNumDetectors(), m_detector, m_inHeight, and m_inWidth.

void seGpuProcessor::createFBObuffers ( int  w,
int  h,
bool  usePreviousFBO 
)
protected

create the framebuffer_object buffers

Parameters
w
h
usePreviousFBO
void seGpuProcessor::initConvolutionProg ( )
protected

initialize fragment programs for convolution

void seGpuProcessor::initDownSampleProg ( )
protected

initialize down sampling fragment program for AC coupling/AGC histogram

void seGpuProcessor::initHaloProg ( bool  sizeChange)
protected

initialize fragment programs for halo generation

void seGpuProcessor::initNoiseTexture ( bool  fullTexture,
float  gain,
float  xOffset = 0.0,
float  yOffset = 0.0 
)
protected
Parameters
fullTexture
gain
xOffset
yOffset
void seGpuProcessor::initScanMaskTexture ( )
protected
void seGpuProcessor::initAeroHeatingTexture ( )
protected
void seGpuProcessor::computeHaloParameters ( double  RadianceGain,
double  RadianceLevel,
double  gain,
double  level 
)
protected
void seGpuProcessor::DrawQuad ( imageArea  destArea,
imageArea  srcArea,
bool  rect 
)
protected
Parameters
destArea
srcArea
rect
void seGpuProcessor::doQuadPass ( fbObject srcBuffer,
fbObject destBuffer,
imageArea  srcArea,
imageArea  destArea,
CGprogram  prog 
)
protected

perform convolution from source to destination buffer using given fragment program

Parameters
*srcBuffer
*destBuffer
srcArea
destArea
prog
void seGpuProcessor::doConvolution ( fbObject src,
fbObject dest,
fbObject temp 
)
protected
Parameters
*src
*dest
*temp
void seGpuProcessor::doSpatialDependentConvolution ( fbObject src,
fbObject dest,
fbObject temp 
)
protected
Parameters
*src
*dest
*temp
void seGpuProcessor::doDopplerConvolution ( fbObject src,
fbObject dest,
fbObject temp 
)
protected
Parameters
*src
*dest
*temp
void seGpuProcessor::doDownSample ( fbObject src,
fbObject dest,
fbObject temp 
)
protected

perform convolution based on current settings using an optimized technique

Parameters
*src
*dest
*temp
void seGpuProcessor::doOptimizedFilter ( fbObject src,
fbObject dest,
fbObject temp 
)
protected

generate alll the mip levels and place them in the destination pbuffer

Parameters
*src
*dest
*temp
void seGpuProcessor::makeMipLevels ( fbObject src,
fbObject dest,
fbObject temp 
)
protected

generate alll the mip levels and place them in the destination pbuffer

Parameters
*src
*dest
*temp
void seGpuProcessor::addHalos ( fbObject src,
fbObject dest,
fbObject temp 
)
protected

Add halos based on pixels that exceed a given threshold.

Parameters
*src
*dest
*temp
void seGpuProcessor::initMotionBlurProg ( )
protected
void seGpuProcessor::doMotionBlur ( fbObject src,
fbObject dest,
fbObject prev 
)
protected
void seGpuProcessor::getImageFromTexture ( double  radScale,
double  radOffset,
double  gain,
double  level,
int  width,
int  height 
)
protected

read the image from the pbuffer texture and place in the image array

Parameters
*inputImage
gain
level
void seGpuProcessor::writeWidthHeightFile ( char *  fileName,
int  width,
int  height 
)
protected

Write out a file describing the width and height of the fpf file.

bool seGpuProcessor::replaceSymbol ( std::string filename,
int  num,
const std::string symbols 
) const
protected

Replace last occurring symbol with the current image number.

Parameters
filename- base path string to edit
num- image number
symbols- string of syllables to sarch for (replaces last occurring)
Returns
whether symbol was found
void seGpuProcessor::appendNumber ( std::string filename,
int  num 
) const
protected

Append a number to the file basename.

Parameters
filename- base path string to edit
num- image number
void seGpuProcessor::ensureTiffExtension ( std::string filename) const
protected

Ensure filename ends in .tif or .tiff for TIFF images.

Parameters
filename- base path string to edit
bool seGpuProcessor::writeImageToFile ( const std::string filename,
size_t  width,
size_t  height,
size_t  channels,
float *  rawData,
FIBITMAP *  imgBuffer 
)
protected

Write image data to a usable image file (32-bit floating point TIFF)

Parameters
filename- base path string
width- width of image data
height- height of image data
channels- image data channels
rawData- pointer to source data
imgBuffer- pointer to allocated FreeImage buffer
Returns
whether image was written successfully
bool seGpuProcessor::isOptimizeFiltering ( )
protected

are the conditions set up for optimized filtering.

Returns
bool
void seGpuProcessor::applyInputSize ( bool  useTextureRect,
bool  usePreviousFBO 
)
protected
void seGpuProcessor::computeDistortionScaleFactor ( double  distortionFactor)
protected
void seGpuProcessor::initializeGraphicsResources ( )
protected

Member Data Documentation

seDetector* seGpuProcessor::m_detector
protected

pointer to detector object

Referenced by getResolutionRatio().

seOptics* seGpuProcessor::m_optics
protected

pointer to optics object

seElectronics* seGpuProcessor::m_electronics
protected

pointer to electronics object

seNoise* seGpuProcessor::m_noise
protected

pointer to noise object

seGainLevel* seGpuProcessor::m_gainLevel
protected

pointer to gain/level object

seFilter* seGpuProcessor::m_filter
protected

pointer to filter object

fbObject* seGpuProcessor::m_fboBuffer[4]
protected

render targets

float* seGpuProcessor::m_noiseImage
protected

data array for noise texture data

float* seGpuProcessor::m_noiseIndexImage
protected
float* seGpuProcessor::m_3DNoiseRowData
protected
float* seGpuProcessor::m_scanMaskImage
protected

data array for scan mask texture data

float* seGpuProcessor::m_aeroHeatingImage
protected

data array for aero heating texture data

CGcontext seGpuProcessor::m_cgContext
protected

Cg context.

CGprofile seGpuProcessor::m_vertexProfile
protected
CGprofile seGpuProcessor::m_fragmentProfile
protected
CGprogram seGpuProcessor::m_passthruProg
protected
CGprogram seGpuProcessor::m_convolveBypassProg
protected
CGprogram seGpuProcessor::m_finalPassthruProg
protected
CGprogram seGpuProcessor::m_finalScaleProg
protected
CGprogram seGpuProcessor::m_horizontalFilterProgram
protected
CGprogram seGpuProcessor::m_verticalFilterProgram
protected
CGprogram seGpuProcessor::m_2DFilterProgram
protected
CGprogram seGpuProcessor::m_texFilterProgram
protected
CGprogram seGpuProcessor::m_2DtexFilterProgram
protected
CGprogram seGpuProcessor::m_dopplerFilterProgram
protected
CGprogram seGpuProcessor::m_haloTexFilterProgram
protected
CGprogram seGpuProcessor::m_distortionMapProgram
protected
CGprogram seGpuProcessor::m_upSampleProg
protected
CGprogram seGpuProcessor::m_thresholdProg
protected

for halo processing

CGprogram seGpuProcessor::m_convolveHaloProg
protected
CGprogram seGpuProcessor::m_haloBlendProg
protected
CGprogram seGpuProcessor::m_downSampleProg
protected

for downsampling for Ac coupling and AGC

CGprogram seGpuProcessor::m_motionBlurProg
protected
fbObject* seGpuProcessor::m_prevFrame
protected
CGparameter seGpuProcessor::m_gainParam
protected
CGparameter seGpuProcessor::m_levelParam
protected
CGparameter seGpuProcessor::m_colorMapScaleParam
protected
CGparameter seGpuProcessor::m_scanLevelScaleParam
protected
CGparameter seGpuProcessor::m_aeroHeatingControlParam
protected
CGparameter seGpuProcessor::m_finalGainParam
protected
CGparameter seGpuProcessor::m_finalLevelParam
protected
CGparameter seGpuProcessor::m_offsetParam
protected
CGparameter seGpuProcessor::m_thresholdGainParam
protected
CGparameter seGpuProcessor::m_pixelThresholdParam
protected
CGparameter seGpuProcessor::m_thresholdOffsetParam
protected
CGparameter seGpuProcessor::m_intensityParam
protected
CGparameter seGpuProcessor::m_polarityParam
protected
CGparameter seGpuProcessor::m_channelSelectPassThruParam
protected
CGparameter seGpuProcessor::m_channelSelectScaleParam
protected
CGparameter seGpuProcessor::m_channelSelectFinalParam
protected
CGparameter seGpuProcessor::m_passObjectIDParam
protected
CGparameter seGpuProcessor::m_histogramParam
protected
CGparameter seGpuProcessor::m_aeroHeatingAngularSpreadParam
protected
CGparameter seGpuProcessor::m_aeroHeatingAngleOffsetsParam
protected
CGparameter seGpuProcessor::m_aberrationVerticalParam
protected
CGparameter seGpuProcessor::m_dopplerFilterTexWidthParam
protected
CGparameter seGpuProcessor::m_dopplerFilterROIwidthParam
protected
CGparameter seGpuProcessor::m_haloVerticalParam
protected
CGparameter seGpuProcessor::m_haloSamplingRegionParam
protected
CGparameter seGpuProcessor::m_haloRadiusParam
protected
CGparameter seGpuProcessor::m_bitDepthScaleParam
protected
CGparameter seGpuProcessor::m_bitDepthFinalParam
protected
CGparameter seGpuProcessor::m_imageMaskRadiusScaleParam
protected
CGparameter seGpuProcessor::m_imageMaskRadiusFinalParam
protected
CGparameter seGpuProcessor::m_imageMaskControlScaleParam
protected
CGparameter seGpuProcessor::m_imageMaskControlFinalParam
protected
int seGpuProcessor::m_minKernelRadius
protected
double seGpuProcessor::m_filterAdjustment
protected
bool seGpuProcessor::myIsHaloProgramInitialized
protected
double seGpuProcessor::m_haloRadius
protected
double seGpuProcessor::m_haloThreshold
protected
double seGpuProcessor::m_haloIntensity
protected
double seGpuProcessor::m_quantumEfficiency
protected
double seGpuProcessor::m_haloQEResponse
protected

Referenced by setHaloQEResponse().

double seGpuProcessor::m_prevMaterialCutOn
protected
double seGpuProcessor::m_prevMaterialCutOff
protected
bool seGpuProcessor::m_useTexFilter
protected

Referenced by setUseTexFilter().

bool seGpuProcessor::m_useTexture2D
protected

Referenced by setUseTexture2D().

bool seGpuProcessor::m_useLooping
protected

Referenced by setUseLooping().

bool seGpuProcessor::m_use888InputEncoding
protected

Referenced by setUse888InputEncoding().

bool seGpuProcessor::m_bObjectIDRenderingEnable
protected
bool seGpuProcessor::m_bDownSampledImagesEnable
protected
long seGpuProcessor::m_inWidth
protected
long seGpuProcessor::m_inHeight
protected
long seGpuProcessor::m_inOffsetX
protected
long seGpuProcessor::m_inOffsetY
protected
long seGpuProcessor::m_detectorWidth
protected
long seGpuProcessor::m_detectorHeight
protected
long seGpuProcessor::m_displayWidth
protected
long seGpuProcessor::m_displayHeight
protected
long seGpuProcessor::m_pbWidth
protected
long seGpuProcessor::m_pbHeight
protected
float* seGpuProcessor::m_downSampleImage
protected
float* seGpuProcessor::m_downSampleRadianceImage
protected
float* seGpuProcessor::m_downSampleRadianceImageCopy
mutableprotected
float* seGpuProcessor::m_downSampleObjectIDImage
protected
float* seGpuProcessor::m_downSampleObjectIDImageCopy
mutableprotected
long seGpuProcessor::m_downSampleWidth
protected

Referenced by getDownSampledImageSize().

long seGpuProcessor::m_downSampleHeight
protected

Referenced by getDownSampledImageSize().

bool seGpuProcessor::m_usePBOReadback
protected
GLuint seGpuProcessor::m_inputTexId
protected
GLuint seGpuProcessor::m_noiseTexId
protected
GLuint seGpuProcessor::m_noiseIndexTexId
protected
GLuint seGpuProcessor::m_ColorMapTexId
protected
GLuint seGpuProcessor::m_BayerFilterMapTexId
protected
GLuint seGpuProcessor::m_HistogramEqMapTexId
protected
GLuint seGpuProcessor::m_scanMaskTexId
protected
GLuint seGpuProcessor::m_aeroHeatingTexId
protected
GLuint seGpuProcessor::m_filterWeightsTexId
protected
GLuint seGpuProcessor::m_2DfilterWeightsTexId
protected
GLuint seGpuProcessor::m_filterSizeTexId
protected
GLuint seGpuProcessor::m_haloWeightsTexId
protected
GLuint seGpuProcessor::m_pboID[2]
protected
int seGpuProcessor::m_currentPBOIndex
protected
GLint seGpuProcessor::m_prevFrameBufferID
protected
GLenum seGpuProcessor::m_bufferTarget
protected
bool seGpuProcessor::m_saveImage
protected
bool seGpuProcessor::m_preApertureSave
protected
char seGpuProcessor::m_saveImageFileName[255]
protected
bool seGpuProcessor::m_displayAltTexture
protected
GLuint seGpuProcessor::m_displayAltTextureID
protected
bool seGpuProcessor::m_initNoise
protected
bool seGpuProcessor::m_continuousSave
protected
int seGpuProcessor::m_imageNumber
protected
seElectronics::ColorMapType seGpuProcessor::m_lastColorMapType
protected
int seGpuProcessor::m_lastColorMapFlag
protected
bool seGpuProcessor::m_lastNoiseFlag
protected
bool seGpuProcessor::m_lastScanningFlag
protected
bool seGpuProcessor::m_lastFullColorFlag
protected
bool seGpuProcessor::m_lastLogScaleFlag
protected
bool seGpuProcessor::m_lastPolarityFlag
protected
bool seGpuProcessor::m_lastSaveImage
protected
int seGpuProcessor::m_lastAGC
protected
double seGpuProcessor::m_oldPrevFrameWeight
protected
long seGpuProcessor::m_oldWidth
protected
long seGpuProcessor::m_oldHeight
protected
long seGpuProcessor::m_prevGainLevelImageSize
protected
double seGpuProcessor::m_pixelThreshold
protected
double seGpuProcessor::m_maxLightLevel
protected

Referenced by setMaxLightLevel().

bool seGpuProcessor::m_saveImageLegacyFpf
protected
FIBITMAP* seGpuProcessor::m_saveImageBuffer
protected
FIBITMAP* seGpuProcessor::m_secondarySaveImageBuffer
protected
float* seGpuProcessor::m_saveImageArray
protected
float* seGpuProcessor::m_secondarySaveImageArray
protected
float* seGpuProcessor::m_saveImageArrayCopy
mutableprotected
float* seGpuProcessor::m_saveObjectIDImageArray
protected
float* seGpuProcessor::m_saveObjectIDImageArrayCopy
mutableprotected
float* seGpuProcessor::m_frameBuffer
protected
int seGpuProcessor::m_saveImageArraySize
protected
int seGpuProcessor::m_saveObjectIDArraySize
protected
bool seGpuProcessor::m_newImageBufferCopy
mutableprotected
bool seGpuProcessor::m_newObjectIDBufferCopy
mutableprotected
bool seGpuProcessor::m_saveImageToArray
protected
bool seGpuProcessor::m_flipSaveImage
protected
bool seGpuProcessor::m_saveImageDetectorRes
protected
float seGpuProcessor::m_aeroHeatingAzimuthOffset
protected
float seGpuProcessor::m_aeroHeatingElevationOffset
protected
float seGpuProcessor::m_aeroHeatingHorizontalAngleSpread
protected
float seGpuProcessor::m_aeroHeatingVerticalAngleSpread
protected
float seGpuProcessor::m_aeroHeatingSpeed
protected
float seGpuProcessor::m_aeroDynamicHeating
protected
bool seGpuProcessor::m_updateAeroHeating
protected
bool seGpuProcessor::m_aeroHeatingEnable
protected
bool seGpuProcessor::m_lastAeroHeatingEnable
protected
double seGpuProcessor::m_distortionScaleFactor
protected
int seGpuProcessor::m_outputImageArrayType
protected
int seGpuProcessor::m_noiseIndexOffset
protected
int seGpuProcessor::m_noiseIndexImageLoadSize
protected
int seGpuProcessor::m_prevAberrationX
protected
int seGpuProcessor::m_prevAberrationY
protected
int seGpuProcessor::m_prevSeparableAberrationX
protected
int seGpuProcessor::m_prevSeparableAberrationY
protected
bool seGpuProcessor::m_resetAfterDistortion
protected
int seGpuProcessor::m_numberOfRowsToSubload
protected

Referenced by setNumberSubloadRows().

int seGpuProcessor::m_numberOfColorChannelsToRead
protected

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


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