16 #if !defined(_ciOPTICS_H_)
22 #endif // _MSC_VER > 1000
25 #define JRM_PI 3.14159265358979323846264338327950288419716939937511
28 #define DEG2RAD (JRM_PI/180.0)
292 void setUseSeparableKernelEnable(
bool enable)
294 m_enableSeparableKernel =
enable;
303 bool getUseSeparableKernelEnable()
const
305 return m_enableSeparableKernel;
316 m_aberrationsEnable =
enable;
325 bool getAberrationsEnable()
const
327 return m_aberrationsEnable;
336 void setMeanWavelength(
const double wavelength)
338 m_wavelength = wavelength;
347 double getMeanWavelength()
const
358 void setAperturePercentageHorz(
const double aperSizeX)
360 m_horzAperturePercentage = aperSizeX;
369 double getAperturePercentageHorz()
const
371 return m_horzAperturePercentage;
380 void setAperturePercentageVert(
const double aperSizeY)
382 m_vertAperturePercentage = aperSizeY;
391 double getAperturePercentageVert()
const
393 return m_vertAperturePercentage;
402 void setDefocusCoefficient (
const double defocus)
413 double getDefocusCoefficient()
const
424 void setSphericalAberrationCoefficient (
const double sphericalAberration)
426 m_W040 = sphericalAberration;
435 double getSphericalAberrationCoefficient()
const
446 void setComaCoefficient (
const double coma)
457 double getComaCoefficient()
const
468 void setAstigmatismCoefficient (
const double astigmatism)
470 m_W222 = astigmatism;
479 double getAstigmatismCoefficient()
const
490 void setFieldCurvatureCoefficient (
const double fieldCurvature)
492 m_W220 = fieldCurvature;
501 double getFieldCurvatureCoefficient()
const
512 void setDistortionCoefficient (
const double distortion)
523 double getDistortionCoefficient()
const
534 void setFPASubDivisions(
int subdivisions)
536 m_FPASubDivisions = subdivisions;
545 int getFPASubDivisions()
const
547 return m_FPASubDivisions;
556 void setUserDefinedKernelEnable(
bool enable)
558 m_enableUserDefinedKernel =
enable;
567 bool getUserDefinedKernelEnable()
const
569 return m_enableUserDefinedKernel;
581 void setUserDefinedKernelRootFilename(
char* filename);
622 void setUserDefinedMTFfilename(
char* filename);
650 int getHaloType()
const
661 void setImageMaskRadius (
double radius)
663 m_ImageClipRadius = (radius > -1.0) ? radius : -1.0;
672 double getImageMaskRadius()
const
674 return m_ImageClipRadius;
683 void setImageMaskScaleHorizontal(
double scale)
685 m_ImageClipScaleHorz =
scale;
694 double getImageMaskScaleHorizontal()
const
696 return m_ImageClipScaleHorz;
705 void setImageMaskScaleVertical(
double scale)
707 m_ImageClipScaleVert =
scale;
716 double getImageMaskScaleVertical()
const
718 return m_ImageClipScaleVert;
745 bool archive(std::ofstream &outf,
int idx = 0);
756 int serialize(
char *filepath,
int idx);
778 bool parseXML(
clXML& xmlDocument);
788 bool loadXMLNode(
std::string tag,
char *nodeString);
824 bool loadXMLNode(
std::string tag,
double *nodeDouble);
834 void saveXML(
clXML* xmlDocument);
843 int serializeCheck(
char *filepath);
917 char m_userDefinedMTFfilename[512];
919 char m_userDefinedRootKernelfilename[512];
928 #endif // _ciOPTICS_H_