VR-Vantage 3.0.3 API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ciDetector.h
Go to the documentation of this file.
1 
2 // Copyright JRM Enterprises, Inc. 2004
3 // All rights reserved.
4 //
5 // This code is the intellectual property of JRM Enterprises, Inc.
6 // It may not be used or released as source or compiled binary form
7 // without the prior written consent of JRM Enterprises, Inc.
8 //
9 // Original Author: Mike Ortalano
10 // Date: Nov 2004
11 //
12 //
13 //
15 
16 #if !defined(_ciDETECTOR_H_)
17 #define _ciDETECTOR_H_
18 
19 #if _MSC_VER > 1000
20 #pragma once
21 #endif // _MSC_VER > 1000
22 
26 #include "ciApi.h"
27 #include <stdio.h>
28 #include <string.h>
29 #include <fstream>
30 #include <iostream>
31 #include <assert.h>
32 #include <string.h>
33 #include "clXML.h"
34 #include "clXMLNode.h"
35 
37 {
39 public: // methods
40 
42  // getDwellTime
49  double getDwellTime() { return m_dwellTime; }
50 
52  // setDwellTime
60  void setDwellTime( double dwellTime ){ m_dwellTime = dwellTime; }
61 
63  // getNET
70  double getNET() { return m_NET; }
71 
73  // setNET
81  void setNET( double NET ) { m_NET = NET; }
82 
84  // getFixedPatternNoisePercentNEDT
91  double getFixedPatternNoisePercent( ) { return m_FixedNoisePercent; }
92 
94  // setFixedPatternNoisePercentNEDT
102  void setFixedPatternNoisePercent( double percentNoise ) {
103  m_FixedNoisePercent = percentNoise;
104  }
105 
107  // getNER
114  double getNER() { return m_NER; }
116  // setNER
123  void setNER(double NER) { m_NER = NER; }
124 
126  // getNoiseFreqKnee
133  double getNoiseFreqKnee( ) { return m_noiseFreqKnee; }
134 
136  // setNoiseFreqKnee
144  void setNoiseFreqKnee( double noiseFreqKnee ) { m_noiseFreqKnee = noiseFreqKnee; }
145 
147  // getNoiseFreqExp
154  double getNoiseFreqExp( ) { return m_noiseFreqExp; }
155 
157  // setNoiseFreqExp
165  void setNoiseFreqExp( double noiseFreqExp ) { m_noiseFreqExp = noiseFreqExp; }
166 
168  // getResolutionScale
175  double getResolutionScale() { return m_resolutionScale; }
176 
178  // setNumDetStaresV
186  void setResolutionScale( double resolutionScale ) {
187  if (resolutionScale == 0)
188  resolutionScale = .000001;
189  m_resolutionScale = resolutionScale; }
190 
192  // getPitchDetH
199  double getPitchDetH() { return m_pitchDetH; }
200 
202  // setPitchDetH
210  void setPitchDetH( double pitchDetH ) { m_pitchDetH = pitchDetH; }
211 
213  // getPitchDetV
220  double getPitchDetV() { return m_pitchDetV; }
221 
223  // setSizeDetV
231  void setPitchDetV( double pitchDetV ) { m_pitchDetV = pitchDetV; }
232 
234  // getBackTemp
241  double getBackTemp() { return m_backTemp; }
242 
243 
245  // setBackTemp
253  void setBackTemp( double backTemp ) { m_backTemp = backTemp; }
254 
255 
257  // getPercentPixelFill
264  double getPercentPixelFill() { return m_percentPixelFill; }
265 
266 
268  // setPercentPixelFill
276  void setPercentPixelFill( double pixelFill ) { m_percentPixelFill = pixelFill; }
277 
279  // getPercentDeadPixel
286  double getPercentDeadPixel() { return m_percentDeadPixel; }
287 
288 
290  // setPercentDeadPixel
298  void setPercentDeadPixel( double deadPixel ) { m_percentDeadPixel = deadPixel; }
299 
301  //getNumDetStaresH
306  long getNumDetStaresH() { return m_numDetStaresV; }
307 
309  //setNumDetStaresH
314  void setNumDetStaresH( long numDetStaresH ) { m_numDetStaresH = numDetStaresH; }
315 
317  // getNumDetStaresV
324  long getNumDetStaresV() { return m_numDetStaresV; }
325 
327  // setNumDetStaresV
335  void setNumDetStaresV( long numDetStaresV ) { m_numDetStaresV = numDetStaresV; }
336 
338  // getStartWavelength
345  double getStartWavelength() { return m_startWavelength; }
346 
348  // setStartWavelength
356  void setStartWavelength( double startWavelength ) { m_startWavelength = startWavelength; }
358  // getEndWavelength
365  double getEndWavelength() { return m_endWavelength; }
366 
368  // setEndWavelength
376  void setEndWavelength( double endWavelength ) { m_endWavelength = endWavelength; }
377 
379  //setPoissonNoisePercent
384  void setPoissonNoisePercent(double percent){m_percentPoisson = percent;}
385 
387  //getPoissonNoisePercent
392  double getPoissonNoisePercent(){return m_percentPoisson;}
393 
395  //setFInverseNoisePercent
400  void setFInverseNoisePercent(double percent){m_percentFInverse = percent;}
401 
403  //getFInverseNoisePercent
408  double getFInverseNoisePercent(){return m_percentFInverse;}
410  //setSensorIndex
415  void setSensorIndex(int sensorIndex){m_sensorIndex = sensorIndex;}
417  //getSensorIndex
422  int getSensorIndex(){return m_sensorIndex;}
423 
425  //setScanMaskMinGain
429  void setScanMaskMinGain(float minGain) { m_scanMaskMinGain = minGain; }
430 
432  //getScanMaskMinGain
436  float getScanMaskMinGain() { return m_scanMaskMinGain; }
437 
439  //setScanMaskMaxGain
443  void setScanMaskMaxGain(float maxGain) { m_scanMaskMaxGain = maxGain; }
444 
446  //getScanMaskMaxGain
450  float getScanMaskMaxGain() { return m_scanMaskMaxGain; }
451 
453  //setScanMaskMinLevel
457  void setScanMaskMinLevel(float minLevel) { m_scanMaskMinLevel = minLevel; }
458 
460  //getScanMaskMinLevel
464  float getScanMaskMinLevel() { return m_scanMaskMinLevel; }
465 
467  //setScanMaskMaxLevel
471  void setScanMaskMaxLevel(float maxLevel) { m_scanMaskMaxLevel = maxLevel; }
472 
474  //getScanMaskMaxLevel
478  float getScanMaskMaxLevel() { return m_scanMaskMaxLevel; }
479 
481  //setScanMaskLineSpacing
485  void setScanMaskLineSpacing(int lineSpacing) { m_scanMaskLineSpacing = lineSpacing; }
486 
488  //getScanMaskLineSpacing
492  int getScanMaskLineSpacing() { return m_scanMaskLineSpacing; }
493 
495  //setScanMaskEnable
499  void setScanMaskEnable(bool enable) { m_scanMaskEnable = enable; }
500 
502  //getScanMaskEnable
506  bool getScanMaskEnable() { return m_scanMaskEnable; }
507 
509  //setScanMaskGainFilename
513  void setScanMaskGainFilename(char* gainFilename);
514 
516  //getScanMaskGainFilename
520  char * getScanMaskGainFilename() { return m_scanMaskGainFilename; }
521 
523  //setScanMaskevelFilename
527  void setScanMaskLevelFilename(char* levelFilename);
528 
530  //getScanMaskLevelFilename
534  char * getScanMaskLevelFilename() { return m_scanMaskLevelFilename; }
535 
537  //setScanMaskDirection
541  void setScanMaskDirection(int direction) { m_scanMaskDirection = direction; }
542 
544  //getScanMaskDirection
548  int getScanMaskDirection() { return m_scanMaskDirection; }
549 
551  //setScanMaskUserDefined
555  void setScanMaskUserDefined(bool userDefined) { m_scanMaskUserDefined = userDefined; }
556 
558  //getScanMaskUserDefined
562  bool getScanMaskUserDefined() { return m_scanMaskUserDefined; }
563 
565  //setFullColorEnable
569  void setFullColorEnable(bool enable) { m_fullColorEnable = enable; }
570 
572  //getFullColorEnable
576  bool getFullColorEnable() { return m_fullColorEnable; }
577 
579  // archive
587  bool archive(std::ofstream &outf, int idx = 0);
588 
590  // serialize
598  int serialize(char *filepath, int idx);
599 
600  //
601  // loadXML
602  //
603  // \par Description:
604  // Loads attributes from an XML node
605  //
606  // \param clXMLNode* xmlParentNode
607  // \return bool
608  //
609  bool loadXML(clXMLNode* xmlParentNode);
610 
611  //
612  // parseXML
613  //
614  // \par Description:
615  // Parses an XML document for specific tags
616  //
617  // \param clXML xmlDocument
618  // \return bool
619  //
620  bool parseXML(clXML& xmlDocument);
621 
623  //loadXMLNode
630  bool loadXMLNode(std::string tag, char *nodeString);
632  //loadXMLNode
639  bool loadXMLNode(std::string tag, bool *nodeBool);
641  //loadXMLNode
648  bool loadXMLNode(std::string tag, int *nodeInt);
650  //loadXMLNode
657  bool loadXMLNode(std::string tag, long *nodeLong);
659  //loadXMLNode
666  bool loadXMLNode(std::string tag, double *nodeDouble);
667 
668  //
669  // saveXML
670  //
671  // \par Description:
672  // Saves XML nodes to an XML document
673  //
674  // \param clXML* xmlDocument
675  //
676  void saveXML(clXML* xmlDocument);
677 
679  //serializeCheck
685  int serializeCheck(char *filepath);
687  // operator =
695  ciDetector operator = (ciDetector &obj);
696 
697 protected: // methods
698 
699 public: // construction/destruction
700 
702  // ciDetector
707  ciDetector();
708 
710  // ciDetector
718 
719  virtual ~ciDetector();
720 
721 protected: // variables
722 
725  double m_dwellTime;
726  double m_NET;
728  double m_noiseFreqExp;
732  double m_pitchDetH;
733  double m_pitchDetV;
734  double m_backTemp;
735  double m_NER;
741 
742  bool m_scanMaskEnable; // set as scanning sensor and cause scanning streaks in image.
743  char m_scanMaskGainFilename[512]; // A single channel *.bmp for per channel gain
744  char m_scanMaskLevelFilename[512]; // A single channel *.bmp for per channel level
752 
753  bool m_fullColorEnable; // set for full color sensor with sensor effects.
754 
756 
757 
758 
760 
761 private: // variables
762 
763 };
764 
765 #endif // _ciDETECTOR_H_


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