21 bool ApolloPanoramicDetectorMap::SetDetector(
const double sample,
const double line) {
27 p_detectorLine = -line;
28 p_detectorSample = -sample;
31 double fidL = (p_camera->time().Et() - m_etMiddle)/m_lineRate;
35 p_intOri.image2Machine(p_detectorSample, fidL, &p_parentSample, &p_parentLine);
50 bool ApolloPanoramicDetectorMap::SetParent(
const double sample,
const double line) {
55 p_parentSample = sample;
59 p_intOri.machine2Image(sample,line,&p_detectorSample, &p_detectorLine);
63 iTime isisTime(m_etMiddle + p_detectorLine*m_lineRate);
64 p_camera->setTime(isisTime);
88 int ApolloPanoramicDetectorMap::initializeInteriorOrientation() {
93 Table tableFid(
"Fiducial Measurement", m_lab->fileName());
98 throw IException(IException::User,
"No FID_MEASURES table found in cube blobs.\n",
102 if( tableFid.Records() < 4) {
103 throw IException(IException::User,
"Less than four FID_MEASURES found in cube blobs.\n",
107 p_intOri.initialize();
110 p_intOri.fiducialObservation(tableFid[i][0], tableFid[i][1], tableFid[i][2]);
112 i = p_intOri.computeInteriorOrienation();
115 throw IException(IException::User,
"Insufficient Fiducial Observations for computation of " 116 "the interior orientation.\nAt least one vertical pair " 117 "must be measured, many more is recomented.\n",
int Records() const
Returns the number of records.
Parse and return pieces of a time string.
Namespace for the standard library.
#define _FILEINFO_
Macro for the filename and line number.
Class for storing Table blobs information.
Namespace for ISIS/Bullet specific routines.