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 Attributes
ciOptics Class Reference

Public Types

enum  enumApertureShapeType { ELLIPTICAL, RECTANGULAR }

Public Member Functions

double getAspectRatio ()
void setAspectRatio (double aspectRatio)
double getWidthDimension ()
void setWidthDimension (double widthDimension)
int getApertureShape ()
void setApertureShape (int apertureShape)
double getBlurSpotDiameter ()
void setBlurSpotDiameter (double blurSpotDiameter)
double getMtfMotionBlurSize ()
void setMtfMotionBlurSize (double mtfMotionBlur)
double getHorizFOV ()
void setHorizFOV (double horizFOV)
double getVertFOV ()
void setLensTransmittance (double trans)
double getLensTransmittance () const
void setVertFOV (double vertFOV)
void setHaloThreshold (double threshold)
double getHaloThreshold ()
void setHaloRadius (double radius)
double getHaloRadius ()
void setHaloIntensity (double intensity)
double getHaloIntensity ()
void setPercentHaloIntensity (double percent)
double getPercentHaloIntensity ()
void setUseSeparableKernelEnable (bool enable)
 sets enable/disable of separable kernel support
bool getUseSeparableKernelEnable () 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 setMeanWavelength (const double wavelength)
 sets the wavelength to use for computing monochromatic aberrations
double getMeanWavelength () const
 gets the wavelength used to compute monochromatic aberrations
void setAperturePercentageHorz (const double aperSizeX)
 sets the relative size of the pupil plane for aberration calculation
double getAperturePercentageHorz () const
 sets the relative size of the pupil plane for aberration calculation
void setAperturePercentageVert (const double aperSizeY)
 sets the relative size of the pupil plane for aberration calculation
double getAperturePercentageVert () const
 gets the relative size of the pupil plane for aberration calculation
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 sub divisions for spatially dependent kernel processing
int getFPASubDivisions () const
 gets the number of sub divisions for spatially dependent kernel processing
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 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
void setHaloType (int type)
 sets the halo type.
int getHaloType () const
 gets the halo type.
void setImageMaskRadius (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 setImageMaskScaleHorizontal (double scale)
 sets the horizontal scale for the image mask
double getImageMaskScaleHorizontal () const
 gets the horizontal scale for the image mask
void setImageMaskScaleVertical (double scale)
 sets the vertical scale for the image mask
double getImageMaskScaleVertical () const
 gets the vertical scale for the image mask
void setSensorIndex (int sensorIndex)
int getSensorIndex ()
bool archive (std::ofstream &outf, int idx=0)
int serialize (char *filepath, int idx)
bool loadXML (clXMLNode *xmlParentNode)
bool parseXML (clXML &xmlDocument)
bool loadXMLNode (std::string tag, char *nodeString)
bool loadXMLNode (std::string tag, bool *nodeBool)
bool loadXMLNode (std::string tag, int *nodeInt)
bool loadXMLNode (std::string tag, long *nodeLong)
bool loadXMLNode (std::string tag, double *nodeDouble)
void saveXML (clXML *xmlDocument)
int serializeCheck (char *filepath)
 Checks the saved configuration file for whether it has more than one panel saved.
ciOptics operator= (ciOptics &obj)
 ciOptics ()
 ciOptics (ciOptics &obj)
virtual ~ciOptics ()

Protected Attributes

double m_aspectRatio
double m_widthDimension
int m_apertureShape
double m_blurSpotDiameter
double m_horizFOV
double m_vertFOV
double m_lensTransmittance
double m_mtfMotionBlur
double m_haloThreshold
double m_haloRadius
double m_haloIntensity
double m_percentHaloIntensity
int m_haloType
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
double m_horzAperturePercentage
double m_vertAperturePercentage
double m_wavelength
double m_ImageClipRadius
double m_ImageClipScaleHorz
double m_ImageClipScaleVert
int m_FPASubDivisions
bool m_enableUserDefinedKernel
bool m_enableSeparableKernel
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]
 root file name for user defined kernel data
int m_sensorIndex
clXMLNodem_parentNode

Detailed Description

ciOptics class declaration

Member Enumeration Documentation

Description
Enumerates the aperture shapes elliptical and rectangular
Enumerator:
ELLIPTICAL 

0

RECTANGULAR 

1

Constructor & Destructor Documentation

ciOptics::ciOptics ( )
Default constructor.
ciOptics::ciOptics ( ciOptics obj)
Copy constructor.
Parameters
obj- ciOptics object to be copied.
virtual ciOptics::~ciOptics ( )
virtual

Member Function Documentation

double ciOptics::getAspectRatio ( )
inline
gets the aspect ratio of the aperture.
Returns
The aperture aspect ratio.
void ciOptics::setAspectRatio ( double  aspectRatio)
inline
sets the aperture aspect ratio.
Parameters
aspectRatio-The ascpect ratio to be assigned.
Returns
void.
double ciOptics::getWidthDimension ( )
inline
gets the width dimension of the aperture.
Returns
The width dimension of the aperture.
void ciOptics::setWidthDimension ( double  widthDimension)
inline
sets the width dimension of the aperture.
Parameters
widthDimension- The width dimension of the aperture.
Returns
void.
int ciOptics::getApertureShape ( )
inline
gets the aperture shape. This quantity is enumerated in enumApertureShapeType
Returns
The enumerated aperture shape.
void ciOptics::setApertureShape ( int  apertureShape)
inline
sets the aperture shape. This quantity is enumerated in enumApertureShapeType
Parameters
apertureshape - The enumerated aperture shape to be assigned.
Returns
void.
double ciOptics::getBlurSpotDiameter ( )
inline
gets the blur spot diameter for the aperture [mrad].
Returns
the blur spot diameter for the aperture [mrad].
void ciOptics::setBlurSpotDiameter ( double  blurSpotDiameter)
inline
sets the blur spot diameter for the aperture [mrad].
Parameters
blurSpotDiameter- The blur spot diameter [mrad] to be assigned.
Returns
void.
double ciOptics::getMtfMotionBlurSize ( )
inline
gets the motion blur spot standard deviation [uRad].
Returns
the motion blur spot standard deviation [uRad].
void ciOptics::setMtfMotionBlurSize ( double  mtfMotionBlur)
inline
sets the motion blur spot standard deviation [uRad].
Parameters
mtfMotionBlur- The motion blur spot size [uRad] to be assigned.
Returns
void.
double ciOptics::getHorizFOV ( )
inline
gets the horizontal FOV [deg].
Returns
The horizontal FOV [deg].
void ciOptics::setHorizFOV ( double  horizFOV)
inline
sets the horizontal FOV [deg].
Parameters
horizontalFOV - The horizontal FOV to be assigned [deg].
Returns
void.
double ciOptics::getVertFOV ( )
inline
gets the vertical FOV [deg].
Returns
The vertical FOV [deg].
void ciOptics::setLensTransmittance ( double  trans)
inline
sets the total lens system transmittance.
Parameters
trans- The optical system transmittance
Returns
void.
double ciOptics::getLensTransmittance ( ) const
inline
gets the optical system lens transmittance.
Returns
The tranmittance
void ciOptics::setVertFOV ( double  vertFOV)
inline
sets the vertical FOV [deg].
Parameters
verticalFOV - The vertical FOV to be assigned [deg].
Returns
void.
void ciOptics::setHaloThreshold ( double  threshold)
inline
Parameters
doublethreshold
double ciOptics::getHaloThreshold ( )
inline
Returns
double
void ciOptics::setHaloRadius ( double  radius)
inline
Parameters
doubleradius
double ciOptics::getHaloRadius ( )
inline
Returns
double
void ciOptics::setHaloIntensity ( double  intensity)
inline
Parameters
doubleintensity
double ciOptics::getHaloIntensity ( )
inline
Returns
double
void ciOptics::setPercentHaloIntensity ( double  percent)
inline
Parameters
doublepercent
double ciOptics::getPercentHaloIntensity ( )
inline
Returns
double
void ciOptics::setUseSeparableKernelEnable ( bool  enable)
inline

sets enable/disable of separable kernel support

Returns
void
bool ciOptics::getUseSeparableKernelEnable ( ) const
inline

gets enable/disable of separable kernel support

Returns
bool
void ciOptics::setAberrationsEnable ( bool  enable)
inline

sets the flag to compute monochromatic aberrations

Parameters
enableflag
bool ciOptics::getAberrationsEnable ( ) const
inline

gets the flag that controls computations of monochromatic aberrations

Returns
enable flag
void ciOptics::setMeanWavelength ( const double  wavelength)
inline

sets the wavelength to use for computing monochromatic aberrations

Parameters
centralwavelength
double ciOptics::getMeanWavelength ( ) const
inline

gets the wavelength used to compute monochromatic aberrations

Returns
central wavelength
void ciOptics::setAperturePercentageHorz ( const double  aperSizeX)
inline

sets the relative size of the pupil plane for aberration calculation

Parameters
percentageof the horizontal aperture
double ciOptics::getAperturePercentageHorz ( ) const
inline

sets the relative size of the pupil plane for aberration calculation

Parameters
percentageof the horizontal aperture
void ciOptics::setAperturePercentageVert ( const double  aperSizeY)
inline

sets the relative size of the pupil plane for aberration calculation

Parameters
percentageof the vertical aperture
double ciOptics::getAperturePercentageVert ( ) const
inline

gets the relative size of the pupil plane for aberration calculation

Returns
percentage of the vertical aperture
void ciOptics::setDefocusCoefficient ( const double  defocus)
inline

sets the amount of defocus in wavelength units

Parameters
defocusamount
double ciOptics::getDefocusCoefficient ( ) const
inline

gets the amount of defocus in wavelength units

Returns
defocus amount
void ciOptics::setSphericalAberrationCoefficient ( const double  sphericalAberration)
inline

sets the amount of spherical aberration in wavelength units

Parameters
sphericalaberration amount
double ciOptics::getSphericalAberrationCoefficient ( ) const
inline

gets the amount of spherical aberration in wavelength units

Returns
spherical aberration amount
void ciOptics::setComaCoefficient ( const double  coma)
inline

sets the amount of coma in wavelength units

Parameters
comaamount
double ciOptics::getComaCoefficient ( ) const
inline

gets the amount of coma in wavelength units

Returns
coma amount
void ciOptics::setAstigmatismCoefficient ( const double  astigmatism)
inline

sets the amount of astigmatism in wavelength units

Parameters
astigmatismamount
double ciOptics::getAstigmatismCoefficient ( ) const
inline

gets the amount of coma in wavelength units

Returns
astigmatism amount
void ciOptics::setFieldCurvatureCoefficient ( const double  fieldCurvature)
inline

sets the amount of field curvature in wavelength units

Parameters
fieldcurvature amount
double ciOptics::getFieldCurvatureCoefficient ( ) const
inline

gets the amount of field curvature in wavelength units

Returns
field curvature amount
void ciOptics::setDistortionCoefficient ( const double  distortion)
inline

sets the amount of distortion in wavelength units

Parameters
distortionamount
double ciOptics::getDistortionCoefficient ( ) const
inline

gets the amount of distortion in wavelength units

Returns
distortion amount
void ciOptics::setFPASubDivisions ( int  subdivisions)
inline

sets the number of sub divisions for spatially dependent kernel processing

Parameters
type
int ciOptics::getFPASubDivisions ( ) const
inline

gets the number of sub divisions for spatially dependent kernel processing

Returns
sub divisions
void ciOptics::setUserDefinedKernelEnable ( bool  enable)
inline

sets enable/disable of user defined kernel support

Returns
void
bool ciOptics::getUserDefinedKernelEnable ( ) const
inline

gets enable/disable of user defined kernel support

Returns
bool
void ciOptics::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.

Parameters
filename
char* ciOptics::getUserDefinedKernelRootFilename ( )
inline

get the user defined root kernel filename

Returns
char *
void ciOptics::setUserDefinedMTFenable ( bool  enable)
inline

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 ciOptics::getUserDefinedMTFenable ( )
inline

Get the user defined MTF enable.

void ciOptics::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 MTF x value and MTF y value for each frequency step from 0.0 to the maximum frequecy.

Parameters
filename
char* ciOptics::getUserDefinedMTFfilename ( )
inline

get the user defined MTF filename

Returns
char *
void ciOptics::setHaloType ( int  type)
inline

sets the halo type.

A value of 0 for PMT (like NVGs) and 1 for CCDs

Parameters
type
int ciOptics::getHaloType ( ) const
inline

gets the halo type.

A value of 0 for PMT (like NVGs) and 1 for CCDs

Returns
haloType
void ciOptics::setImageMaskRadius ( double  radius)
inline

sets the radius in normalized image space to mask pixels out for a rounded edge display

Parameters
radius
double ciOptics::getImageMaskRadius ( ) const
inline

gets the radius in normalized image space to mask pixels out for a rounded edge display

Returns
double
void ciOptics::setImageMaskScaleHorizontal ( double  scale)
inline

sets the horizontal scale for the image mask

Parameters
radius
double ciOptics::getImageMaskScaleHorizontal ( ) const
inline

gets the horizontal scale for the image mask

Returns
double
void ciOptics::setImageMaskScaleVertical ( double  scale)
inline

sets the vertical scale for the image mask

Parameters
radius
double ciOptics::getImageMaskScaleVertical ( ) const
inline

gets the vertical scale for the image mask

Returns
double
void ciOptics::setSensorIndex ( int  sensorIndex)
inline
Parameters
intsensorIndex
int ciOptics::getSensorIndex ( )
inline
Returns
int
bool ciOptics::archive ( std::ofstream &  outf,
int  idx = 0 
)
Description:
Saves the ciOptics object to file.
Parameters
filepath- complete path and filename to the file
Returns
true if sucessful
int ciOptics::serialize ( char *  filepath,
int  idx 
)
Description:
Loads the panel storage object from file.
Parameters
filepath- complete path and filename to the file
Returns
int - the style of the saved panel(s) (0 = no panels saved)(1 = one panel saved)(2 = one or more panels saved)
bool ciOptics::loadXML ( clXMLNode xmlParentNode)
bool ciOptics::parseXML ( clXML xmlDocument)
bool ciOptics::loadXMLNode ( std::string  tag,
char *  nodeString 
)
Parameters
std::stringtag
char*nodeString
Returns
bool
bool ciOptics::loadXMLNode ( std::string  tag,
bool nodeBool 
)
Parameters
std::stringtag
bool*nodeBool
Returns
bool
bool ciOptics::loadXMLNode ( std::string  tag,
int nodeInt 
)
Parameters
std::stringtag
int*nodeInt
Returns
bool
bool ciOptics::loadXMLNode ( std::string  tag,
long *  nodeLong 
)
Parameters
std::stringtag
long*nodeLong
Returns
bool
bool ciOptics::loadXMLNode ( std::string  tag,
double *  nodeDouble 
)
Parameters
std::stringtag
double*nodeDouble
Returns
bool
void ciOptics::saveXML ( clXML xmlDocument)
int ciOptics::serializeCheck ( char *  filepath)

Checks the saved configuration file for whether it has more than one panel saved.

Parameters
char*filepath - path of the configuration file that is being checked.
Returns
int - the style of the saved panel(s) (0 = no panels saved)(1 = one panel saved)(2 = one or more panels saved)
ciOptics ciOptics::operator= ( ciOptics obj)
Assignment operator.
Parameters
obj- ciOptics object to be assigned.
Returns
The assigned ciOptics object.

Member Data Documentation

double ciOptics::m_aspectRatio
protected

Aspect ratio of the aperture

double ciOptics::m_widthDimension
protected

Horizontal width dimension of the aperture [mm].

int ciOptics::m_apertureShape
protected

Aperture shape Rectangular (1) or Elliptical(0).

double ciOptics::m_blurSpotDiameter
protected

Blur Spot Diameter [urad].

double ciOptics::m_horizFOV
protected

Horizontal FOV of the sensor [deg]

double ciOptics::m_vertFOV
protected

Vertical FOV of the sensor [deg]

double ciOptics::m_lensTransmittance
protected

total lens transmittance of the sensor

double ciOptics::m_mtfMotionBlur
protected

Motion Blur Size [urad].

double ciOptics::m_haloThreshold
protected
double ciOptics::m_haloRadius
protected
double ciOptics::m_haloIntensity
protected
double ciOptics::m_percentHaloIntensity
protected
int ciOptics::m_haloType
protected
bool ciOptics::m_aberrationsEnable
protected

Monochromatic wavefront error aberration (W) coefficients.

double ciOptics::m_W020
protected
double ciOptics::m_W040
protected
double ciOptics::m_W131
protected
double ciOptics::m_W222
protected
double ciOptics::m_W220
protected
double ciOptics::m_W311
protected
double ciOptics::m_horzAperturePercentage
protected
double ciOptics::m_vertAperturePercentage
protected
double ciOptics::m_wavelength
protected
double ciOptics::m_ImageClipRadius
protected
double ciOptics::m_ImageClipScaleHorz
protected
double ciOptics::m_ImageClipScaleVert
protected
int ciOptics::m_FPASubDivisions
protected
bool ciOptics::m_enableUserDefinedKernel
protected
bool ciOptics::m_enableSeparableKernel
protected
bool ciOptics::m_userDefinedMTFenable
protected

flag indicating the use of user defined MTF data

char ciOptics::m_userDefinedMTFfilename[512]
protected

file name for user defined MTF data

char ciOptics::m_userDefinedRootKernelfilename[512]
protected

root file name for user defined kernel data

int ciOptics::m_sensorIndex
protected
clXMLNode* ciOptics::m_parentNode
protected

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


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