![]() |
VR-Vantage 3.1 API Documentation
|
Sensor Effects optics class. More...
Public Types | |
| enum | shapeType { Circular = 0, Rectangular = 1 } |
| shapeType More... | |
| enum | HaloType { HALO_TYPE_PMT, HALO_TYPE_CCD, HALO_TUPE_NUM } |
| HaloType. More... | |
Public Member Functions | |
| seOptics () | |
| constructor | |
| ~seOptics () | |
| destructor | |
| void | loadDefaults () |
| sets all the member data to default values. | |
| void | setApertureWidth (const double dim) |
| sets the aperture's width or horizontal dimension (mm) | |
| double | getApertureWidth () |
| gets the aperture's width or horizontal dimension (mm) | |
| void | setApertureShape (shapeType shape) |
| sets the aperture's shape | |
| shapeType | getApertureShape () |
| gets the aperture's shape | |
| void | setApertureAspectRatio (const double ratio) |
| sets the aperture's horizontal to vertical aspect ratio | |
| double | getApertureAspectRatio () |
| gets the aperture's horizontal to vertical aspect ratio | |
| void | setBlurSpotDiameter (const double size) |
| sets the blur spot's diameter (mrad) | |
| double | getBlurSpotDiameter () |
| gets the blur spot's diameter (mrad) | |
| void | setFOVdegs (const double horzFov, const double vertFov) |
| sets the fov of the sensor (deg) | |
| void | getFOVdegs (double &horzFov, double &vertFov) |
| gets the fov of the sensor (degs) | |
| void | setMtfMotionBlurSize (const double size) |
| sets the motion blur spot size (milliRad) currently this is not implemented as a motion blur but is added to the other MTFs | |
| double | getMtfMotionBlurSize () |
| gets the motion blur spot size (milliRad) currently this is not implemented as a motion blur but is added to the other MTFs | |
| void | setLensTransmittance (const double transmittance) |
| sets the len's transmittance - is applied as an additional gain factor | |
| double | getLensTransmittance () |
| gets the len's transmittance - is applied as an additional gain factor | |
| void | setImageMaskRadius (const double radius) |
| sets the radius in normalized image space to mask pixels out for a rounded edge display | |
| double | getImageMaskRadius () const |
| gets the radius in normalized image space to mask pixels out for a rounded edge display | |
| void | setImageMaskScale (const double scaleX, const double scaleY) |
| sets the horizontal and vertical scale in normalized image space to mask pixels out for a rounded edge display | |
| void | getImageMaskScale (double &scaleX, double &scaleY) const |
| gets the horizontal and vertical scale in normalized image space to mask pixels out for a rounded edge display | |
| void | setFocalLength (double focalLength, double pixelPitchX, double pixelPitchY, double numPixelsX, double numPixelsY, double fillX, double fillY) |
| sets the focal length for the optical system | |
| double | getFocalLength () const |
| returns the focal length of the system | |
| void | setFNumber (const double fNumber) |
| sets the f number for the optical system | |
| double | getFNumber () const |
| returns the f number of the optical system | |
| void | setFilterEnable (const bool flag) |
| sets the filter enable flag | |
| bool | isFilterEnable () |
| gets the filter enable flag. | |
| void | setOptimizedFilterEnable (const bool flag) |
| sets the flag to select a performance optimized filtering technique | |
| bool | isOptimizedFilterEnable () |
| gets the optimized filter enable flag. | |
| void | setFilterAdjustment (double adjustment) |
| sets the adjustment that is multiplied by the calculated filter size. | |
| double | getFilterAdjustment () |
| gets the adjustment that is multiplied by the calculated filter size. | |
| void | setHaloEnable (const bool flag) |
| bool | isHaloEnable () |
| gets the halo enable flag. | |
| void | setHaloThreshold (const double value) |
| sets the halo threshold value | |
| double | getHaloThreshold () |
| gets the halo threshold value | |
| void | setHaloRadius (const double value) |
| sets the halo Radius in pixels | |
| double | getHaloRadius () |
| gets the halo Radius in pixels | |
| void | setHaloIntensity (const double intensity) |
| sets the halo intensity | |
| double | getHaloIntensity () |
| gets the halo intensity | |
| void | setHaloType (HaloType type) |
| sets the halo type. | |
| HaloType | getHaloType () const |
| gets the halo type. | |
| void | setSeparableKernelEnable (bool enable) |
| sets enable/disable of separable kernel support | |
| bool | getSeparableKernelEnable () const |
| gets enable/disable of separable kernel support | |
| void | setAberrationsEnable (bool enable) |
| sets the flag to compute monochromatic aberrations | |
| bool | getAberrationsEnable () const |
| gets the flag that controls computations of monochromatic aberrations | |
| void | setDefocusCoefficient (const double defocus) |
| sets the amount of defocus in wavelength units | |
| double | getDefocusCoefficient () const |
| gets the amount of defocus in wavelength units | |
| void | setSphericalAberrationCoefficient (const double sphericalAberration) |
| sets the amount of spherical aberration in wavelength units | |
| double | getSphericalAberrationCoefficient () const |
| gets the amount of spherical aberration in wavelength units | |
| void | setComaCoefficient (const double coma) |
| sets the amount of coma in wavelength units | |
| double | getComaCoefficient () const |
| gets the amount of coma in wavelength units | |
| void | setAstigmatismCoefficient (const double astigmatism) |
| sets the amount of astigmatism in wavelength units | |
| double | getAstigmatismCoefficient () const |
| gets the amount of coma in wavelength units | |
| void | setFieldCurvatureCoefficient (const double fieldCurvature) |
| sets the amount of field curvature in wavelength units | |
| double | getFieldCurvatureCoefficient () const |
| gets the amount of field curvature in wavelength units | |
| void | setDistortionCoefficient (const double distortion) |
| sets the amount of distortion in wavelength units | |
| double | getDistortionCoefficient () const |
| gets the amount of distortion in wavelength units | |
| void | setFPASubDivisions (int subdivisions) |
| sets the number of subdivions over the FPA to perform spatially dependent kernel mappings | |
| int | getFPASubDivisions () const |
| gets the number of subdivions over the FPA to perform spatially dependent kernel mappings | |
| void | setUserDefinedKernelEnable (bool enable) |
| sets enable/disable of user defined kernel support | |
| bool | getUserDefinedKernelEnable () const |
| gets enable/disable of user defined kernel support | |
| void | setUserDefinedKernelRootFilename (char *filename) |
| Set the user defined Root Kernel filename this file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties. | |
| char * | getUserDefinedKernelRootFilename () |
| get the user defined root kernel filename | |
| void | setAperturePercentage (const double aperSizeX, const double aperSizeY) |
| sets the relative size of the pupil plane for aberration calculation | |
| void | getAperturePercentage (double *aperSizeX, double *aperSizeY) const |
| gets the relative size of the pupil plane for aberration calculation | |
| void | setHaloThresholdAdjustment (double threshold) |
| sets the adjustment that is multiplied by the given halo threshold. | |
| double | getHaloThresholdAdjustment () |
| gets the adjustment that is multiplied by the given halo threshold. | |
| void | setMeanWavelength (const double wavelength) |
| sets the mean wavelength of the current waveband | |
| double | getMeanWavelength () const |
| sets the mean wavelength of the current waveband | |
| void | setDetectorAngularSubtense (const double DASHorz, const double DASVert) |
| sets the detector angular subtense for internal calculations | |
| void | setUserDefinedMTFenable (bool enable) |
| Set the user defined MTF enable If set then the file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties. | |
| bool | getUserDefinedMTFenable () |
| Get the user defined MTF enable. | |
| void | setUserDefinedMTFfilename (char *filename) |
| Set the user defined MTF filename this file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties. | |
| char * | getUserDefinedMTFfilename () |
| get the user defined MTF filename | |
| bool | isDirty () |
| Specifies whether the seOptics has been changed. | |
| void | setDirty () |
| Specify whether the seOptics has been changed. | |
| void | clrDirty () |
| Clear the flag that specifies whether the seOptics has been changed. | |
| bool | getUserDefinedKernelDataLoaded () const |
Private Member Functions | |
| void | setUserDefinedKernelDataLoaded (bool kernelsLoaded) |
Private Attributes | |
| double | m_apertureWidth |
| Aperture width [mm]. | |
| double | m_focalLength |
| Optical System Focal Length [mm]. | |
| double | m_FNumber |
| Optical System F Number [1]. | |
| double | m_lamdaMean |
| mean wavelength of waveband [um] | |
| shapeType | m_apertureShape |
| Aperture shape - circular or rectangular. | |
| double | m_apertureAspectRatio |
| Aperture's aspect ratio - horizontal to vertical. | |
| double | m_blurSpotDiameter |
| blur spot diameter | |
| double | m_horizontalFov |
| horizontal fov (deg) | |
| double | m_verticalFov |
| vertical fov (deg) | |
| double | m_mtfMotionBlurSize |
| motion blur mtf size | |
| double | m_lensTransmittance |
| Lens Transmittance. | |
| bool | m_filterEnable |
| enable flag for filtering | |
| bool | m_optimizedFilterEnable |
| enable flag for peforming optimized filtering | |
| double | m_filterAdjustment |
| percent of the calculated filter that is applied | |
| bool | m_haloEnable |
| enable flag to process halos | |
| double | m_haloThreshold |
| Threshold to trigger a halo. | |
| double | m_haloRadius |
| radius of the halos | |
| double | m_haloIntensity |
| intensity scale factor for halos | |
| HaloType | m_haloType |
| selector for halo type (0 for PMT type like NVGs and 1 for CCD type) | |
| double | m_haloThresholdAdjustment |
| adjustment multiplied by the halo threshold | |
| double | m_DASHorz |
| Horizontal Detector Angular Subtense. | |
| double | m_DASVert |
| Vertical Detector Angular Subtense. | |
| double | m_ImageClipRadius |
| Image clip radius to mask out edges of the rendered image. | |
| double | m_ImageClipScaleHorz |
| Image scale for clipping edges of rendered image in horizontal direction. | |
| double | m_ImageClipScaleVert |
| Image scale for clipping edges of rendered image in vertical direction. | |
| bool | m_userDefinedMTFenable |
| flag indicating the use of user defined MTF data | |
| char | m_userDefinedMTFfilename [512] |
| file name for user defined MTF data | |
| char | m_userDefinedRootKernelfilename [512] |
| file name for user defined kernel loading | |
| bool | m_aberrationsEnable |
| Monochromatic wavefront error aberration (W) coefficients. | |
| double | m_W020 |
| double | m_W040 |
| double | m_W131 |
| double | m_W222 |
| double | m_W220 |
| double | m_W311 |
| int | m_maxKernelSize |
| bool | m_enableUserDefinedKernel |
| bool | m_enableSeparableKernel |
| double | m_horzAperturePercentage |
| double | m_vertAperturePercentage |
| bool | m_userDefinedKernelsLoaded |
| bool | m_dirty |
| dirty flag for optics object | |
Friends | |
| class | seFilter |
Sensor Effects optics class.
Holds the data related to the optics portion of a device.
| enum seOptics::shapeType |
| enum seOptics::HaloType |
| seOptics::seOptics | ( | ) |
constructor
| seOptics::~seOptics | ( | ) |
destructor
| void seOptics::loadDefaults | ( | ) |
sets all the member data to default values.
|
inline |
sets the aperture's width or horizontal dimension (mm)
| dim |
|
inline |
gets the aperture's width or horizontal dimension (mm)
sets the aperture's shape
| shape | - circular or rectangular |
|
inline |
gets the aperture's shape
|
inline |
sets the aperture's horizontal to vertical aspect ratio
| ratio |
|
inline |
gets the aperture's horizontal to vertical aspect ratio
|
inline |
sets the blur spot's diameter (mrad)
| size |
|
inline |
gets the blur spot's diameter (mrad)
|
inline |
sets the fov of the sensor (deg)
| horzFov | |
| vertFov |
|
inline |
gets the fov of the sensor (degs)
| horzFov | |
| vertFov |
|
inline |
sets the motion blur spot size (milliRad) currently this is not implemented as a motion blur but is added to the other MTFs
| size |
|
inline |
gets the motion blur spot size (milliRad) currently this is not implemented as a motion blur but is added to the other MTFs
|
inline |
sets the len's transmittance - is applied as an additional gain factor
| transmittance |
|
inline |
gets the len's transmittance - is applied as an additional gain factor
| void seOptics::setImageMaskRadius | ( | const double | radius | ) |
sets the radius in normalized image space to mask pixels out for a rounded edge display
| radius |
| double seOptics::getImageMaskRadius | ( | ) | const |
gets the radius in normalized image space to mask pixels out for a rounded edge display
| void seOptics::setImageMaskScale | ( | const double | scaleX, |
| const double | scaleY | ||
| ) |
sets the horizontal and vertical scale in normalized image space to mask pixels out for a rounded edge display
| radius |
| void seOptics::getImageMaskScale | ( | double & | scaleX, |
| double & | scaleY | ||
| ) | const |
gets the horizontal and vertical scale in normalized image space to mask pixels out for a rounded edge display
| void seOptics::setFocalLength | ( | double | focalLength, |
| double | pixelPitchX, | ||
| double | pixelPitchY, | ||
| double | numPixelsX, | ||
| double | numPixelsY, | ||
| double | fillX, | ||
| double | fillY | ||
| ) |
sets the focal length for the optical system
| transmittance |
| double seOptics::getFocalLength | ( | ) | const |
returns the focal length of the system
| void seOptics::setFNumber | ( | const double | fNumber | ) |
sets the f number for the optical system
| transmittance |
| double seOptics::getFNumber | ( | ) | const |
returns the f number of the optical system
sets the filter enable flag
| flag |
|
inline |
gets the filter enable flag.
sets the flag to select a performance optimized filtering technique
| flag |
|
inline |
gets the optimized filter enable flag.
|
inline |
sets the adjustment that is multiplied by the calculated filter size.
This can be used as an adjustment knob/slider.
| adjustment |
|
inline |
gets the adjustment that is multiplied by the calculated filter size.
This can be used as an adjustment knob/slider.
|
inline |
gets the halo enable flag.
|
inline |
sets the halo threshold value
| value |
|
inline |
gets the halo threshold value
| void seOptics::setHaloRadius | ( | const double | value | ) |
sets the halo Radius in pixels
| value |
|
inline |
gets the halo Radius in pixels
|
inline |
sets the halo intensity
| intensity |
|
inline |
gets the halo intensity
sets the halo type.
A value of 0 for PMT (like NVGs) and 1 for CCDs
| type |
|
inline |
gets the halo type.
A value of 0 for PMT (like NVGs) and 1 for CCDs
sets enable/disable of separable kernel support
|
inline |
gets enable/disable of separable kernel support
sets the flag to compute monochromatic aberrations
| enable | flag |
|
inline |
gets the flag that controls computations of monochromatic aberrations
|
inline |
sets the amount of defocus in wavelength units
| defocus | amount |
|
inline |
gets the amount of defocus in wavelength units
|
inline |
sets the amount of spherical aberration in wavelength units
| spherical | aberration amount |
|
inline |
gets the amount of spherical aberration in wavelength units
|
inline |
sets the amount of coma in wavelength units
| coma | amount |
|
inline |
gets the amount of coma in wavelength units
|
inline |
sets the amount of astigmatism in wavelength units
| astigmatism | amount |
|
inline |
gets the amount of coma in wavelength units
|
inline |
sets the amount of field curvature in wavelength units
| field | curvature amount |
|
inline |
gets the amount of field curvature in wavelength units
|
inline |
sets the amount of distortion in wavelength units
| distortion | amount |
|
inline |
gets the amount of distortion in wavelength units
sets the number of subdivions over the FPA to perform spatially dependent kernel mappings
|
inline |
gets the number of subdivions over the FPA to perform spatially dependent kernel mappings
sets enable/disable of user defined kernel support
|
inline |
gets enable/disable of user defined kernel support
| void seOptics::setUserDefinedKernelRootFilename | ( | char * | filename | ) |
Set the user defined Root Kernel filename this file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties.
| filename |
| char* seOptics::getUserDefinedKernelRootFilename | ( | ) |
get the user defined root kernel filename
|
inline |
sets the relative size of the pupil plane for aberration calculation
| percentage | of the horizontal and vertical aperture |
|
inline |
gets the relative size of the pupil plane for aberration calculation
|
inline |
sets the adjustment that is multiplied by the given halo threshold.
This can be used as an adjustment knob/slider.
| threshold | - 0.0 to 1.0 |
|
inline |
gets the adjustment that is multiplied by the given halo threshold.
This can be used as an adjustment knob/slider.
|
inline |
sets the mean wavelength of the current waveband
| wavelength |
|
inline |
sets the mean wavelength of the current waveband
| wavelength |
|
inline |
sets the detector angular subtense for internal calculations
| wavelength |
Set the user defined MTF enable If set then the file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties.
|
inline |
Get the user defined MTF enable.
| void seOptics::setUserDefinedMTFfilename | ( | char * | filename | ) |
Set the user defined MTF filename this file's data replaces the MTF/filter data that is computed based on the Sensor's optical properties.
The file format is: number of samples (integer) maximum horizontal frequency maximum vertical frequency (cycles/mrad) MTF x value and MTF y value for each frequency step from 0.0 to the maximum frequecy. (unitless)
| filename |
|
inline |
get the user defined MTF filename
|
inline |
Clear the flag that specifies whether the seOptics has been changed.
|
inline |
|
friend |
|
private |
Aperture width [mm].
|
private |
Optical System Focal Length [mm].
|
private |
Optical System F Number [1].
|
private |
mean wavelength of waveband [um]
|
private |
Aperture shape - circular or rectangular.
|
private |
Aperture's aspect ratio - horizontal to vertical.
|
private |
blur spot diameter
|
private |
horizontal fov (deg)
|
private |
vertical fov (deg)
|
private |
motion blur mtf size
|
private |
Lens Transmittance.
|
private |
enable flag for filtering
|
private |
enable flag for peforming optimized filtering
|
private |
percent of the calculated filter that is applied
|
private |
enable flag to process halos
|
private |
Threshold to trigger a halo.
|
private |
radius of the halos
|
private |
intensity scale factor for halos
|
private |
selector for halo type (0 for PMT type like NVGs and 1 for CCD type)
|
private |
adjustment multiplied by the halo threshold
|
private |
Horizontal Detector Angular Subtense.
|
private |
Vertical Detector Angular Subtense.
|
private |
Image clip radius to mask out edges of the rendered image.
|
private |
Image scale for clipping edges of rendered image in horizontal direction.
|
private |
Image scale for clipping edges of rendered image in vertical direction.
|
private |
flag indicating the use of user defined MTF data
|
private |
file name for user defined MTF data
|
private |
file name for user defined kernel loading
|
private |
Monochromatic wavefront error aberration (W) coefficients.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
dirty flag for optics object