75 QString stime = (QString) inst [
"NativeStartTime"];
76 QString intTime = stime.split(
".").first();
77 stime = stime.split(
".").last();
91 QString sampMode = QString((QString)inst [
"SamplingMode"]).toUpper();
94 int sampOffset = inst [
"XOffset"];
95 int lineOffset = inst [
"ZOffset"];
102 if (sampMode ==
"NORMAL") {
109 else if (sampMode ==
"HI-RES") {
119 string msg =
"Unsupported SamplingMode [" +
IString(sampMode) +
"]";
124 if (sampMode ==
"NORMAL") {
130 else if (sampMode ==
"HI-RES") {
139 string msg =
"Unsupported SamplingMode [" +
IString(sampMode) +
"]";
145 for(
int line = 0; line < p_camera->
ParentLines(); line++) {
146 for(
int samp = 0; samp < p_camera->
ParentSamples(); samp++) {
147 p_raMap[line][samp] = Isis::NULL8;
162 for(
int line = 0; line < p_camera->
ParentLines(); line++) {
176 for(
int samp = 0; samp < p_camera->
ParentSamples(); samp++) {
184 p_camera->
SetImage((
double) samp + 1, (
double)line + 1);
221 if((imgLine < 0.5) || (imgLine > p_camera->
ParentLines() + 0.5) ||
222 (imgSamp < 0.5) || (imgSamp > p_camera->
ParentSamples() + 0.5)) {
242 SpiceDouble lookC[3];
245 SpiceDouble unitLookC[3];
246 vhat_c(lookC, unitLookC);
259 if(ra < p_minRa || ra >
p_maxRa ||
264 double minDist = 9999.;
268 for(
int line = 0; line < p_camera->
ParentLines(); line++) {
270 for(
int samp = 0; samp < p_camera->
ParentSamples(); samp++) {
271 double mapRa =
p_raMap[line][samp];
272 if(mapRa == Isis::NULL8)
continue;
273 double mapDec =
p_decMap[line][samp];
274 if(mapDec == Isis::NULL8)
continue;
278 if(abs(mapRa - ra) > 180) {
279 if((ra - mapRa) > 0) {
280 mapRa = 360. + mapRa;
282 else if((ra - mapRa) < 0) {
283 mapRa = mapRa - 360.;
286 double dist = ((ra - mapRa) * (ra - mapRa)) +
287 ((dec - mapDec) * (dec - mapDec));
301 if(minDist >= 9999.)
return false;
312 vector<double> known(2);
314 for(
int line = minLine - 1; line < minLine + 2; line++) {
315 if(line < 0 || line > p_camera->
ParentLines() - 1)
continue;
316 for(
int samp = minSamp - 1; samp < minSamp + 2; samp++) {
318 if(samp < 0 || samp > p_camera->
ParentSamples() - 1)
continue;
320 double mapRa =
p_raMap[line][samp];
321 double mapDec =
p_decMap[line][samp];
322 if((mapRa == Isis::NULL8) || (mapDec == Isis::NULL8))
continue;
327 if(abs(mapRa - ra) > 180) {
328 if((ra - mapRa) > 0) {
329 mapRa = 360. + mapRa;
331 else if((ra - mapRa) < 0) {
332 mapRa = mapRa - 360.;
342 if(sampLsq.
Knowns() < 3)
return false;
350 double inSamp = sampLsq.
Evaluate(known);
351 double inLine = lineLsq.
Evaluate(known);
354 inLine < 0 || inLine > p_camera->
ParentLines() + 0.5) {
361 p_focalPlaneX = inSamp;
362 p_focalPlaneY = inLine;
391 v[0] = sin(theta) * cos(phi);
393 v[2] = sin(theta) * sin(phi) / -1.;