diff --git a/isis/src/base/apps/photomet/main.cpp b/isis/src/base/apps/photomet/main.cpp index 089af643ee..faa889473d 100644 --- a/isis/src/base/apps/photomet/main.cpp +++ b/isis/src/base/apps/photomet/main.cpp @@ -1,22 +1,15 @@ #define GUIHELPERS - #include "Isis.h" -#include -#include -#include +#include "photomet.h" -#include "Angle.h" -#include "Camera.h" -#include "Cube.h" -#include "IException.h" -#include "Photometry.h" -#include "ProcessByLine.h" +#include "Application.h" #include "Pvl.h" #include "PvlGroup.h" -#include "SpecialPixel.h" -#include +#include +#include +#include using namespace std; using namespace Isis; @@ -31,27 +24,11 @@ map GuiHelpers() { return helper; } -// Global variables -Camera *cam; -Cube *icube; -Photometry *pho; -double maxema; -double maxinc; -bool usedem; -QString angleSource; -double centerPhase; -double centerIncidence; -double centerEmission; -bool useBackplane = false; -bool usePhasefile = false; -bool useIncidencefile = false; -bool useEmissionfile = false; -double phaseAngle; -double incidenceAngle; -double emissionAngle; - -void photometWithBackplane(std::vector &in, std::vector &out); -void photomet(Buffer &in, Buffer &out); +void IsisMain() { + UserInterface &ui = Application::GetUserInterface(); + Pvl appLog; + photomet(ui, &appLog); +} // Helper function to print the input pvl file to session log void PrintPvl() { @@ -82,1960 +59,531 @@ void LoadPvl() { QString phtVal; if (inPvl.hasObject("PhotometricModel")) { - PvlObject phtObj = inPvl.findObject("PhotometricModel"); - if (!phtObj.hasGroup("Algorithm")) { + PvlObject phtObj = inPvl.findObject("PhotometricModel"); + if (!phtObj.hasGroup("Algorithm")) { QString message = "The input PVL does not contain a valid photometric model so you must specify one "; message += "- the [Algorithm] group is missing in your [PhotometricModel]"; throw IException(IException::User, message, _FILEINFO_); - } - else { + } + else { PvlObject::PvlGroupIterator phtGrp = phtObj.beginGroup(); bool wasFound = false; if (phtGrp->hasKeyword("PHTNAME")) { - phtVal = (QString)phtGrp->findKeyword("PHTNAME"); + phtVal = (QString)phtGrp->findKeyword("PHTNAME"); } else if (phtGrp->hasKeyword("NAME")) { - phtVal = (QString)phtGrp->findKeyword("NAME"); + phtVal = (QString)phtGrp->findKeyword("NAME"); } else { - QString message = "The input PVL does not contain a valid photometric model so you must specify one "; - message += "- the [Phtname] keyword is missing in your [Algorithm] group"; - throw IException(IException::User, message, _FILEINFO_); + QString message = "The input PVL does not contain a valid photometric model so you must specify one "; + message += "- the [Phtname] keyword is missing in your [Algorithm] group"; + throw IException(IException::User, message, _FILEINFO_); } phtVal = phtVal.toUpper(); if (phtName == phtVal || phtName == "NONE" || phtName == "FROMPVL") { - wasFound = true; + wasFound = true; } if (!wasFound) { - while (phtGrp != phtObj.endGroup()) { + while (phtGrp != phtObj.endGroup()) { if (phtGrp->hasKeyword("PHTNAME") || phtGrp->hasKeyword("NAME")) { - if (phtGrp->hasKeyword("PHTNAME")) { + if (phtGrp->hasKeyword("PHTNAME")) { phtVal = (QString)phtGrp->findKeyword("PHTNAME"); - } else if (phtGrp->hasKeyword("NAME")) { + } else if (phtGrp->hasKeyword("NAME")) { phtVal = (QString)phtGrp->findKeyword("NAME"); - } else { + } else { QString message = "The input PVL does not contain a valid photometric model so you must specify one "; message += "- the [Phtname] keyword is missing in your [Algorithm] group"; throw IException(IException::User, message, _FILEINFO_); - } - phtVal = phtVal.toUpper(); - if (phtName == phtVal) { + } + phtVal = phtVal.toUpper(); + if (phtName == phtVal) { wasFound = true; break; - } + } } phtGrp++; - } + } } if (wasFound) { - ui.Clear("PHTNAME"); - ui.Clear("THETA"); - ui.Clear("WH"); - ui.Clear("HG1"); - ui.Clear("HG2"); - ui.Clear("HH"); - ui.Clear("B0"); - ui.Clear("ZEROB0STANDARD"); - ui.Clear("BH"); - ui.Clear("CH"); - ui.Clear("L"); - ui.Clear("K"); - ui.Clear("PHASELIST"); - ui.Clear("KLIST"); - ui.Clear("LLIST"); - ui.Clear("PHASECURVELIST"); - if (phtVal == "HAPKEHEN" || phtVal == "HAPKELEG") { + ui.Clear("PHTNAME"); + ui.Clear("THETA"); + ui.Clear("WH"); + ui.Clear("HG1"); + ui.Clear("HG2"); + ui.Clear("HH"); + ui.Clear("B0"); + ui.Clear("ZEROB0STANDARD"); + ui.Clear("BH"); + ui.Clear("CH"); + ui.Clear("L"); + ui.Clear("K"); + ui.Clear("PHASELIST"); + ui.Clear("KLIST"); + ui.Clear("LLIST"); + ui.Clear("PHASECURVELIST"); + if (phtVal == "HAPKEHEN" || phtVal == "HAPKELEG") { if (phtGrp->hasKeyword("THETA")) { - double theta = phtGrp->findKeyword("THETA"); - os.str(""); - os << theta; - ui.PutAsString("THETA", os.str().c_str()); + double theta = phtGrp->findKeyword("THETA"); + os.str(""); + os << theta; + ui.PutAsString("THETA", os.str().c_str()); } if (phtGrp->hasKeyword("WH")) { - double wh = phtGrp->findKeyword("WH"); - os.str(""); - os << wh; - ui.PutAsString("WH", os.str().c_str()); + double wh = phtGrp->findKeyword("WH"); + os.str(""); + os << wh; + ui.PutAsString("WH", os.str().c_str()); } if (phtGrp->hasKeyword("HH")) { - double hh = phtGrp->findKeyword("HH"); - os.str(""); - os << hh; - ui.PutAsString("HH", os.str().c_str()); + double hh = phtGrp->findKeyword("HH"); + os.str(""); + os << hh; + ui.PutAsString("HH", os.str().c_str()); } if (phtGrp->hasKeyword("B0")) { - double b0 = phtGrp->findKeyword("B0"); - os.str(""); - os << b0; - ui.PutAsString("B0", os.str().c_str()); + double b0 = phtGrp->findKeyword("B0"); + os.str(""); + os << b0; + ui.PutAsString("B0", os.str().c_str()); } if (phtGrp->hasKeyword("ZEROB0STANDARD")) { - QString zerob0 = (QString)phtGrp->findKeyword("ZEROB0STANDARD"); - QString izerob0 = zerob0; - izerob0 = izerob0.toUpper(); - if (izerob0 == "TRUE") { + QString zerob0 = (QString)phtGrp->findKeyword("ZEROB0STANDARD"); + QString izerob0 = zerob0; + izerob0 = izerob0.toUpper(); + if (izerob0 == "TRUE") { ui.PutString("ZEROB0STANDARD", "TRUE"); - } else if (izerob0 == "FALSE") { + } else if (izerob0 == "FALSE") { ui.PutString("ZEROB0STANDARD", "FALSE"); - } else { + } else { QString message = "The ZEROB0STANDARD value is invalid - must be set to TRUE or FALSE"; throw IException(IException::User, message, _FILEINFO_); - } + } } if (phtVal == "HAPKEHEN") { - if (phtGrp->hasKeyword("HG1")) { + if (phtGrp->hasKeyword("HG1")) { double hg1 = phtGrp->findKeyword("HG1"); os.str(""); os << hg1; ui.PutAsString("HG1", os.str().c_str()); - } - if (phtGrp->hasKeyword("HG2")) { + } + if (phtGrp->hasKeyword("HG2")) { double hg2 = phtGrp->findKeyword("HG2"); os.str(""); os << hg2; ui.PutAsString("HG2", os.str().c_str()); - } + } } if (phtVal == "HAPKELEG") { - if (phtGrp->hasKeyword("BH")) { + if (phtGrp->hasKeyword("BH")) { double bh = phtGrp->findKeyword("BH"); os.str(""); os << bh; ui.PutAsString("BH", os.str().c_str()); - } - if (phtGrp->hasKeyword("CH")) { + } + if (phtGrp->hasKeyword("CH")) { double ch = phtGrp->findKeyword("CH"); os.str(""); os << ch; ui.PutAsString("CH", os.str().c_str()); - } + } } - } else if (phtVal == "LUNARLAMBERTEMPIRICAL" || phtVal == "MINNAERTEMPIRICAL") { + } else if (phtVal == "LUNARLAMBERTEMPIRICAL" || phtVal == "MINNAERTEMPIRICAL") { if (phtGrp->hasKeyword("PHASELIST")) { - QString phaselist = (QString)phtGrp->findKeyword("PHASELIST"); - ui.PutAsString("PHASELIST", phaselist); + QString phaselist = (QString)phtGrp->findKeyword("PHASELIST"); + ui.PutAsString("PHASELIST", phaselist); } if (phtGrp->hasKeyword("PHASECURVELIST")) { - QString phasecurvelist = (QString)phtGrp->findKeyword("PHASECURVELIST"); - ui.PutAsString("PHASECURVELIST", phasecurvelist); + QString phasecurvelist = (QString)phtGrp->findKeyword("PHASECURVELIST"); + ui.PutAsString("PHASECURVELIST", phasecurvelist); } if (phtVal == "LUNARLAMBERTEMPIRICAL") { - if (phtGrp->hasKeyword("LLIST")) { + if (phtGrp->hasKeyword("LLIST")) { QString llist = (QString)phtGrp->findKeyword("LLIST"); ui.PutAsString("LLIST", llist); - } + } } if (phtVal == "MINNAERTEMPIRICAL") { - if (phtGrp->hasKeyword("KLIST")) { + if (phtGrp->hasKeyword("KLIST")) { QString klist = (QString)phtGrp->findKeyword("KLIST"); ui.PutAsString("KLIST", klist); - } + } } - } else if (phtVal == "LUNARLAMBERT") { + } else if (phtVal == "LUNARLAMBERT") { if (phtGrp->hasKeyword("L")) { - double l = phtGrp->findKeyword("L"); - os.str(""); - os << l; - ui.PutAsString("L", os.str().c_str()); + double l = phtGrp->findKeyword("L"); + os.str(""); + os << l; + ui.PutAsString("L", os.str().c_str()); } - } else if (phtVal == "MINNAERT") { + } else if (phtVal == "MINNAERT") { if (phtGrp->hasKeyword("K")) { - double k = phtGrp->findKeyword("K"); - os.str(""); - os << k; - ui.PutAsString("K", os.str().c_str()); + double k = phtGrp->findKeyword("K"); + os.str(""); + os << k; + ui.PutAsString("K", os.str().c_str()); } - } else if (phtVal != "LAMBERT" && phtVal != "LOMMELSEELIGER" && - phtVal != "LUNARLAMBERTMCEWEN") { + } else if (phtVal != "LAMBERT" && phtVal != "LOMMELSEELIGER" && + phtVal != "LUNARLAMBERTMCEWEN") { QString message = "Unsupported photometric model [" + phtVal + "]."; throw IException(IException::User, message, _FILEINFO_); - } - ui.PutAsString("PHTNAME", phtVal); + } + ui.PutAsString("PHTNAME", phtVal); + } } - } } QString nrmVal; if (inPvl.hasObject("NormalizationModel")) { - PvlObject nrmObj = inPvl.findObject("NormalizationModel"); - if (!nrmObj.hasGroup("Algorithm")) { + PvlObject nrmObj = inPvl.findObject("NormalizationModel"); + if (!nrmObj.hasGroup("Algorithm")) { QString message = "The input PVL does not contain a valid normalization model so you must specify one "; message += "- the [Algorithm] group is missing in your [NormalizationModel]"; throw IException(IException::User, message, _FILEINFO_); - } - else { + } + else { PvlObject::PvlGroupIterator nrmGrp = nrmObj.beginGroup(); bool wasFound = false; if (nrmGrp->hasKeyword("NORMNAME")) { - nrmVal = (QString)nrmGrp->findKeyword("NORMNAME"); + nrmVal = (QString)nrmGrp->findKeyword("NORMNAME"); } else if (nrmGrp->hasKeyword("NAME")) { - nrmVal = (QString)nrmGrp->findKeyword("NAME"); + nrmVal = (QString)nrmGrp->findKeyword("NAME"); } else { - QString message = "The input PVL does not contain a valid normalization model so you must specify one "; - message += "- the [Normname] keyword is missing in your [Algorithm] group"; - throw IException(IException::User, message, _FILEINFO_); + QString message = "The input PVL does not contain a valid normalization model so you must specify one "; + message += "- the [Normname] keyword is missing in your [Algorithm] group"; + throw IException(IException::User, message, _FILEINFO_); } nrmVal = nrmVal.toUpper(); if (nrmName == nrmVal || nrmName == "NONE" || nrmName == "FROMPVL") { - wasFound = true; + wasFound = true; } if (!wasFound) { - while (nrmGrp != nrmObj.endGroup()) { + while (nrmGrp != nrmObj.endGroup()) { if (nrmGrp->hasKeyword("NORMNAME") || nrmGrp->hasKeyword("NAME")) { - if (nrmGrp->hasKeyword("NORMNAME")) { + if (nrmGrp->hasKeyword("NORMNAME")) { nrmVal = (QString)nrmGrp->findKeyword("NORMNAME"); - } else if (nrmGrp->hasKeyword("NAME")) { + } else if (nrmGrp->hasKeyword("NAME")) { nrmVal = (QString)nrmGrp->findKeyword("NAME"); - } else { + } else { QString message = "The input PVL does not contain a valid normalization model so you must specify one "; message += "- the [Normname] keyword is missing in your [Algorithm] group"; throw IException(IException::User, message, _FILEINFO_); - } - nrmVal = nrmVal.toUpper(); - if (nrmName == nrmVal) { + } + nrmVal = nrmVal.toUpper(); + if (nrmName == nrmVal) { wasFound = true; break; - } + } } nrmGrp++; - } + } } if (wasFound) { - if (nrmVal != "ALBEDOATM" && nrmVal != "SHADEATM" && nrmVal != "TOPOATM") { + if (nrmVal != "ALBEDOATM" && nrmVal != "SHADEATM" && nrmVal != "TOPOATM") { ui.Clear("ATMNAME"); - } - ui.Clear("NORMNAME"); - ui.Clear("INCREF"); - ui.Clear("INCMAT"); - ui.Clear("THRESH"); - ui.Clear("ALBEDO"); - ui.Clear("D"); - ui.Clear("E"); - ui.Clear("F"); - ui.Clear("G2"); - ui.Clear("XMUL"); - ui.Clear("WL"); - ui.Clear("H"); - ui.Clear("BSH1"); - ui.Clear("XB1"); - ui.Clear("XB2"); - if (nrmVal != "MOONALBEDO") { + } + ui.Clear("NORMNAME"); + ui.Clear("INCREF"); + ui.Clear("INCMAT"); + ui.Clear("THRESH"); + ui.Clear("ALBEDO"); + ui.Clear("D"); + ui.Clear("E"); + ui.Clear("F"); + ui.Clear("G2"); + ui.Clear("XMUL"); + ui.Clear("WL"); + ui.Clear("H"); + ui.Clear("BSH1"); + ui.Clear("XB1"); + ui.Clear("XB2"); + if (nrmVal != "MOONALBEDO") { if (nrmVal == "ALBEDO" || nrmVal == "MIXED") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } - if (nrmGrp->hasKeyword("INCMAT") && nrmVal == "MIXED") { + } + if (nrmGrp->hasKeyword("INCMAT") && nrmVal == "MIXED") { double incmat = nrmGrp->findKeyword("INCMAT"); os.str(""); os << incmat; ui.PutAsString("INCMAT", os.str().c_str()); - } - if (nrmGrp->hasKeyword("THRESH")) { + } + if (nrmGrp->hasKeyword("THRESH")) { double thresh = nrmGrp->findKeyword("THRESH"); os.str(""); os << thresh; ui.PutAsString("THRESH", os.str().c_str()); - } - if (nrmGrp->hasKeyword("ALBEDO")) { + } + if (nrmGrp->hasKeyword("ALBEDO")) { double albedo = nrmGrp->findKeyword("ALBEDO"); os.str(""); os << albedo; ui.PutAsString("ALBEDO", os.str().c_str()); - } + } } else if (nrmVal == "SHADE") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } - if (nrmGrp->hasKeyword("ALBEDO")) { + } + if (nrmGrp->hasKeyword("ALBEDO")) { double albedo = nrmGrp->findKeyword("ALBEDO"); os.str(""); os << albedo; ui.PutAsString("ALBEDO", os.str().c_str()); - } + } } else if (nrmVal == "TOPO") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } - if (nrmGrp->hasKeyword("ALBEDO")) { + } + if (nrmGrp->hasKeyword("ALBEDO")) { double albedo = nrmGrp->findKeyword("ALBEDO"); os.str(""); os << albedo; ui.PutAsString("ALBEDO", os.str().c_str()); - } - if (nrmGrp->hasKeyword("THRESH")) { + } + if (nrmGrp->hasKeyword("THRESH")) { double thresh = nrmGrp->findKeyword("THRESH"); os.str(""); os << thresh; ui.PutAsString("THRESH", os.str().c_str()); - } + } } else if (nrmVal == "ALBEDOATM") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } + } } else if (nrmVal == "SHADEATM") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } - if (nrmGrp->hasKeyword("ALBEDO")) { + } + if (nrmGrp->hasKeyword("ALBEDO")) { double albedo = nrmGrp->findKeyword("ALBEDO"); os.str(""); os << albedo; ui.PutAsString("ALBEDO", os.str().c_str()); - } + } } else if (nrmVal == "TOPOATM") { - if (nrmGrp->hasKeyword("INCREF")) { + if (nrmGrp->hasKeyword("INCREF")) { double incref = nrmGrp->findKeyword("INCREF"); os.str(""); os << incref; ui.PutAsString("INCREF", os.str().c_str()); - } - if (nrmGrp->hasKeyword("ALBEDO")) { + } + if (nrmGrp->hasKeyword("ALBEDO")) { double albedo = nrmGrp->findKeyword("ALBEDO"); os.str(""); os << albedo; ui.PutAsString("ALBEDO", os.str().c_str()); - } + } } else { - QString message = "Unsupported normalization model [" + nrmVal + "]."; - throw IException(IException::User, message, _FILEINFO_); + QString message = "Unsupported normalization model [" + nrmVal + "]."; + throw IException(IException::User, message, _FILEINFO_); } - } else { + } else { if (nrmGrp->hasKeyword("D")) { - double d = nrmGrp->findKeyword("D"); - os.str(""); - os << d; - ui.PutAsString("D", os.str().c_str()); + double d = nrmGrp->findKeyword("D"); + os.str(""); + os << d; + ui.PutAsString("D", os.str().c_str()); } if (nrmGrp->hasKeyword("E")) { - double e = nrmGrp->findKeyword("E"); - os.str(""); - os << e; - ui.PutAsString("E", os.str().c_str()); + double e = nrmGrp->findKeyword("E"); + os.str(""); + os << e; + ui.PutAsString("E", os.str().c_str()); } if (nrmGrp->hasKeyword("F")) { - double f = nrmGrp->findKeyword("F"); - os.str(""); - os << f; - ui.PutAsString("F", os.str().c_str()); + double f = nrmGrp->findKeyword("F"); + os.str(""); + os << f; + ui.PutAsString("F", os.str().c_str()); } if (nrmGrp->hasKeyword("G2")) { - double g2 = nrmGrp->findKeyword("G2"); - os.str(""); - os << g2; - ui.PutAsString("G2", os.str().c_str()); + double g2 = nrmGrp->findKeyword("G2"); + os.str(""); + os << g2; + ui.PutAsString("G2", os.str().c_str()); } if (nrmGrp->hasKeyword("XMUL")) { - double xmul = nrmGrp->findKeyword("XMUL"); - os.str(""); - os << xmul; - ui.PutAsString("XMUL", os.str().c_str()); + double xmul = nrmGrp->findKeyword("XMUL"); + os.str(""); + os << xmul; + ui.PutAsString("XMUL", os.str().c_str()); } if (nrmGrp->hasKeyword("WL")) { - double wl = nrmGrp->findKeyword("WL"); - os.str(""); - os << wl; - ui.PutAsString("WL", os.str().c_str()); + double wl = nrmGrp->findKeyword("WL"); + os.str(""); + os << wl; + ui.PutAsString("WL", os.str().c_str()); } if (nrmGrp->hasKeyword("H")) { - double h = nrmGrp->findKeyword("H"); - os.str(""); - os << h; - ui.PutAsString("H", os.str().c_str()); + double h = nrmGrp->findKeyword("H"); + os.str(""); + os << h; + ui.PutAsString("H", os.str().c_str()); } if (nrmGrp->hasKeyword("BSH1")) { - double bsh1 = nrmGrp->findKeyword("BSH1"); - os.str(""); - os << bsh1; - ui.PutAsString("BSH1", os.str().c_str()); + double bsh1 = nrmGrp->findKeyword("BSH1"); + os.str(""); + os << bsh1; + ui.PutAsString("BSH1", os.str().c_str()); } if (nrmGrp->hasKeyword("XB1")) { - double xb1 = nrmGrp->findKeyword("XB1"); - os.str(""); - os << xb1; - ui.PutAsString("XB1", os.str().c_str()); + double xb1 = nrmGrp->findKeyword("XB1"); + os.str(""); + os << xb1; + ui.PutAsString("XB1", os.str().c_str()); } if (nrmGrp->hasKeyword("XB2")) { - double xb2 = nrmGrp->findKeyword("XB2"); - os.str(""); - os << xb2; - ui.PutAsString("XB2", os.str().c_str()); + double xb2 = nrmGrp->findKeyword("XB2"); + os.str(""); + os << xb2; + ui.PutAsString("XB2", os.str().c_str()); + } } - } - ui.PutAsString("NORMNAME", nrmVal); + ui.PutAsString("NORMNAME", nrmVal); + } } - } } if (nrmName == "NONE" || nrmName == "FROMPVL") { - if (nrmVal != "ALBEDOATM" && nrmVal != "SHADEATM" && nrmVal != "TOPOATM") { + if (nrmVal != "ALBEDOATM" && nrmVal != "SHADEATM" && nrmVal != "TOPOATM") { return; - } + } } else if (nrmName != "ALBEDOATM" && nrmName != "SHADEATM" && nrmName != "TOPOATM") { - return; + return; } QString atmVal; if (inPvl.hasObject("AtmosphericModel")) { - PvlObject atmObj = inPvl.findObject("AtmosphericModel"); - if (!atmObj.hasGroup("Algorithm")) { + PvlObject atmObj = inPvl.findObject("AtmosphericModel"); + if (!atmObj.hasGroup("Algorithm")) { QString message = "The input PVL does not contain a valid atmospheric model so you must specify one "; message += "- the [Algorithm] group is missing in your [AtmosphericModel]"; throw IException(IException::User, message, _FILEINFO_); - } - else { + } + else { PvlObject::PvlGroupIterator atmGrp = atmObj.beginGroup(); bool wasFound = false; if (atmGrp->hasKeyword("ATMNAME")) { - atmVal = (QString)atmGrp->findKeyword("ATMNAME"); + atmVal = (QString)atmGrp->findKeyword("ATMNAME"); } else if (atmGrp->hasKeyword("NAME")) { - atmVal = (QString)atmGrp->findKeyword("NAME"); + atmVal = (QString)atmGrp->findKeyword("NAME"); } else { - QString message = "The input PVL does not contain a valid atmospheric model so you must specify one "; - message += "- the [Atmname] keyword is missing in your [Algorithm] group"; - throw IException(IException::User, message, _FILEINFO_); + QString message = "The input PVL does not contain a valid atmospheric model so you must specify one "; + message += "- the [Atmname] keyword is missing in your [Algorithm] group"; + throw IException(IException::User, message, _FILEINFO_); } atmVal = atmVal.toUpper(); if (atmName == atmVal || atmName == "NONE" || atmName == "FROMPVL") { - wasFound = true; + wasFound = true; } if (!wasFound) { - while (atmGrp != atmObj.endGroup()) { + while (atmGrp != atmObj.endGroup()) { if (atmGrp->hasKeyword("ATMNAME") || atmGrp->hasKeyword("NAME")) { - if (atmGrp->hasKeyword("ATMNAME")) { + if (atmGrp->hasKeyword("ATMNAME")) { atmVal = (QString)atmGrp->findKeyword("ATMNAME"); - } else if (atmGrp->hasKeyword("NAME")) { + } else if (atmGrp->hasKeyword("NAME")) { atmVal = (QString)atmGrp->findKeyword("NAME"); - } else { + } else { QString message = "The input PVL does not contain a valid atmospheric model so you must specify one "; message += "- the [Atmname] keyword is missing in your [Algorithm] group"; throw IException(IException::User, message, _FILEINFO_); - } - atmVal = atmVal.toUpper(); - if (atmName == atmVal) { + } + atmVal = atmVal.toUpper(); + if (atmName == atmVal) { wasFound = true; break; - } + } } atmGrp++; - } + } } if (wasFound) { - ui.Clear("ATMNAME"); - ui.Clear("HNORM"); - ui.Clear("BHA"); - ui.Clear("TAU"); - ui.Clear("TAUREF"); - ui.Clear("WHA"); - ui.Clear("HGA"); - ui.Clear("NULNEG"); - if (atmVal == "ANISOTROPIC1" || atmVal == "ANISOTROPIC2" || - atmVal == "HAPKEATM1" || atmVal == "HAPKEATM2" || - atmVal == "ISOTROPIC1" || atmVal == "ISOTROPIC2") { + ui.Clear("ATMNAME"); + ui.Clear("HNORM"); + ui.Clear("BHA"); + ui.Clear("TAU"); + ui.Clear("TAUREF"); + ui.Clear("WHA"); + ui.Clear("HGA"); + ui.Clear("NULNEG"); + if (atmVal == "ANISOTROPIC1" || atmVal == "ANISOTROPIC2" || + atmVal == "HAPKEATM1" || atmVal == "HAPKEATM2" || + atmVal == "ISOTROPIC1" || atmVal == "ISOTROPIC2") { if (atmGrp->hasKeyword("HNORM")) { - double hnorm = atmGrp->findKeyword("HNORM"); - os.str(""); - os << hnorm; - ui.PutAsString("HNORM", os.str().c_str()); + double hnorm = atmGrp->findKeyword("HNORM"); + os.str(""); + os << hnorm; + ui.PutAsString("HNORM", os.str().c_str()); } if (atmGrp->hasKeyword("TAU")) { - double tau = atmGrp->findKeyword("TAU"); - os.str(""); - os << tau; - ui.PutAsString("TAU", os.str().c_str()); + double tau = atmGrp->findKeyword("TAU"); + os.str(""); + os << tau; + ui.PutAsString("TAU", os.str().c_str()); } if (atmGrp->hasKeyword("TAUREF")) { - double tauref = atmGrp->findKeyword("TAUREF"); - os.str(""); - os << tauref; - ui.PutAsString("TAUREF", os.str().c_str()); + double tauref = atmGrp->findKeyword("TAUREF"); + os.str(""); + os << tauref; + ui.PutAsString("TAUREF", os.str().c_str()); } if (atmGrp->hasKeyword("WHA")) { - double wha = atmGrp->findKeyword("WHA"); - os.str(""); - os << wha; - ui.PutAsString("WHA", os.str().c_str()); + double wha = atmGrp->findKeyword("WHA"); + os.str(""); + os << wha; + ui.PutAsString("WHA", os.str().c_str()); } if (atmGrp->hasKeyword("NULNEG")) { - QString nulneg = (QString)atmGrp->findKeyword("NULNEG"); - QString inulneg = nulneg; - inulneg = inulneg.toUpper(); - if (inulneg == "YES") { + QString nulneg = (QString)atmGrp->findKeyword("NULNEG"); + QString inulneg = nulneg; + inulneg = inulneg.toUpper(); + if (inulneg == "YES") { ui.PutString("NULNEG", "YES"); - } else if (inulneg == "NO") { + } else if (inulneg == "NO") { ui.PutString("NULNEG", "NO"); - } else { + } else { QString message = "The NULNEG value is invalid - must be set to YES or NO"; throw IException(IException::User, message, _FILEINFO_); - } - } - } - if (atmVal == "ANISOTROPIC1" || atmVal == "ANISOTROPIC2") { - if (atmGrp->hasKeyword("BHA")) { - double bha = atmGrp->findKeyword("BHA"); - os.str(""); - os << bha; - ui.PutAsString("BHA", os.str().c_str()); - } - } - if (atmVal == "HAPKEATM1" || atmVal == "HAPKEATM2") { - if (atmGrp->hasKeyword("HGA")) { - double hga = atmGrp->findKeyword("HGA"); - os.str(""); - os << hga; - ui.PutAsString("HGA", os.str().c_str()); - } - } - - if (atmVal != "ANISOTROPIC1" && atmVal != "ANISOTROPIC2" && - atmVal != "HAPKEATM1" && atmVal != "HAPKEATM2" && - atmVal != "ISOTROPIC1" && atmVal != "ISOTROPIC2") { - QString message = "Unsupported atmospheric model [" + atmVal + "]."; - throw IException(IException::User, message, _FILEINFO_); - } - ui.PutAsString("ATMNAME", atmVal); - } - } - } -} - -void IsisMain() { - // We will be processing by line - ProcessByLine p; - - // Set up the user interface - UserInterface &ui = Application::GetUserInterface(); - - // get QString of parameter changes to make - QString changePar = (QString)ui.GetString("CHNGPAR"); - changePar = changePar.toUpper(); - (void)changePar.simplified(); // cast to void to silence unused result warning - changePar.replace(" =","="); - changePar.replace("= ","="); - changePar.remove('"'); - bool useChangePar = true; - if (changePar == "NONE" || changePar == "") { - useChangePar = false; - } - QMap parMap; - if (useChangePar) { - QStringList parList = changePar.split(" "); - for (int i=0; ihasKeyword("NORMNAME")) { - normVal = (QString)fromNormGrp->findKeyword("NORMNAME"); - } else if (fromNormGrp->hasKeyword("NAME")) { - normVal = (QString)fromNormGrp->findKeyword("NAME"); - } else { - normVal = "NONE"; - } - normVal = normVal.toUpper(); - if (normName == normVal && normVal != "NONE") { - wasFound = true; - } - if ((normName == "NONE" || normName == "FROMPVL") && normVal != "NONE" && !wasFound) { - normName = normVal; - wasFound = true; - } - if (!wasFound) { - while (fromNormGrp != fromNormObj.endGroup()) { - if (fromNormGrp->hasKeyword("NORMNAME") || fromNormGrp->hasKeyword("NAME")) { - if (fromNormGrp->hasKeyword("NORMNAME")) { - normVal = (QString)fromNormGrp->findKeyword("NORMNAME"); - } else if (fromNormGrp->hasKeyword("NAME")) { - normVal = (QString)fromNormGrp->findKeyword("NAME"); - } else { - normVal = "NONE"; - } - normVal = normVal.toUpper(); - if (normName == normVal && normVal != "NONE") { - wasFound = true; - break; } - if ((normName == "NONE" || normName == "FROMPVL") && normVal != "NONE" && !wasFound) { - normName = normVal; - wasFound = true; - break; - } - } - fromNormGrp++; } - } - } - } - // Check to make sure that a normalization model was specified - if (normName == "NONE" || normName == "FROMPVL") { - QString message = "A Normalization model must be specified before running this program. "; - message += "You need to provide a Normalization model through an input PVL (FROMPVL) or "; - message += "you need to specify a Normalization model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - if (wasFound) { - toNormPvl.addObject(fromNormObj); - } else { - toNormPvl.addObject(PvlObject("NormalizationModel")); - toNormPvl.findObject("NormalizationModel").addGroup(PvlGroup("Algorithm")); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NORMNAME",normName),Pvl::Replace); - } - } else { - // Check to make sure that a normalization model was specified - if (normName == "NONE" || normName == "FROMPVL") { - QString message = "A Normalization model must be specified before running this program. "; - message += "You need to provide a Normalization model through an input PVL (FROMPVL) or "; - message += "you need to specify a Normalization model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - toNormPvl.addObject(PvlObject("NormalizationModel")); - toNormPvl.findObject("NormalizationModel").addGroup(PvlGroup("Algorithm")); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NORMNAME",normName),Pvl::Replace); - } - normLog += PvlKeyword("NORMNAME", normName); - - if (normName == "ALBEDO" || normName == "MIXED") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - if (normName == "MIXED") { - if (parMap.contains("INCMAT")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCMAT",toString(toDouble(parMap["INCMAT"]))),Pvl::Replace); - } else if (ui.WasEntered("INCMAT")) { - QString keyval = ui.GetString("INCMAT"); - double incmat = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCMAT",toString(incmat)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCMAT")) { - QString message = "The " + normName + " Normalization model requires a value for the INCMAT parameter."; - message += "The normal range for INCMAT is: 0 <= INCMAT < 90"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCMAT"); - } - if (parMap.contains("THRESH")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THRESH",toString(toDouble(parMap["THRESH"]))),Pvl::Replace); - } else if (ui.WasEntered("THRESH")) { - QString keyval = ui.GetString("THRESH"); - double thresh = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THRESH",toString(thresh)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("THRESH")) { - QString message = "The " + normName + " Normalization model requires a value for the THRESH parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("THRESH"); - if (parMap.contains("ALBEDO")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(toDouble(parMap["ALBEDO"]))),Pvl::Replace); - } else if (ui.WasEntered("ALBEDO")) { - QString keyval = ui.GetString("ALBEDO"); - double albedo = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(albedo)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("ALBEDO")) { - QString message = "The " + normName + " Normalization model requires a value for the ALBEDO parameter."; - message += "The ALBEDO parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("ALBEDO"); - } else if (normName == "MOONALBEDO") { - if (parMap.contains("D")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("D",toString(toDouble(parMap["D"]))),Pvl::Replace); - } else if (ui.WasEntered("D")) { - QString keyval = ui.GetString("D"); - double d = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("D",toString(d)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("D")) { - QString message = "The " + normName + " Normalization model requires a value for the D parameter."; - message += "The D parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("D"); - if (parMap.contains("E")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("E",toString(toDouble(parMap["E"]))),Pvl::Replace); - } else if (ui.WasEntered("E")) { - QString keyval = ui.GetString("E"); - double e = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("E",toString(e)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("E")) { - QString message = "The " + normName + " Normalization model requires a value for the E parameter."; - message += "The E parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("E"); - if (parMap.contains("F")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("F",toString(toDouble(parMap["F"]))),Pvl::Replace); - } else if (ui.WasEntered("F")) { - QString keyval = ui.GetString("F"); - double f = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("F",toString(f)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("F")) { - QString message = "The " + normName + " Normalization model requires a value for the F parameter."; - message += "The F parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("F"); - if (parMap.contains("G2")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("G2",toString(toDouble(parMap["G2"]))),Pvl::Replace); - } else if (ui.WasEntered("G2")) { - QString keyval = ui.GetString("G2"); - double g2 = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("G2",toString(g2)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("G2")) { - QString message = "The " + normName + " Normalization model requires a value for the G2 parameter."; - message += "The G2 parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("G2"); - if (parMap.contains("XMUL")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XMUL",toString(toDouble(parMap["XMUL"]))),Pvl::Replace); - } else if (ui.WasEntered("XMUL")) { - QString keyval = ui.GetString("XMUL"); - double xmul = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XMUL",toString(xmul)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("XMUL")) { - QString message = "The " + normName + " Normalization model requires a value for the XMUL parameter."; - message += "The XMUL parameter has no range limit"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("XMUL"); - if (parMap.contains("WL")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WL",toString(toDouble(parMap["WL"]))),Pvl::Replace); - } else if (ui.WasEntered("WL")) { - QString keyval = ui.GetString("WL"); - double wl = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WL",toString(wl)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("WL")) { - QString message = "The " + normName + " Normalization model requires a value for the WL parameter."; - message += "The WL parameter has no range limit"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("WL"); - if (parMap.contains("H")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("H",toString(toDouble(parMap["H"]))),Pvl::Replace); - } else if (ui.WasEntered("H")) { - QString keyval = ui.GetString("H"); - double h = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("H",toString(h)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("H")) { - QString message = "The " + normName + " Normalization model requires a value for the H parameter."; - message += "The H parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("H"); - if (parMap.contains("BSH1")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BSH1",toString(toDouble(parMap["BSH1"]))),Pvl::Replace); - } else if (ui.WasEntered("BSH1")) { - QString keyval = ui.GetString("BSH1"); - double bsh1 = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BSH1",toString(bsh1)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("BSH1")) { - QString message = "The " + normName + " Normalization model requires a value for the BSH1 parameter."; - message += "The normal range for BSH1 is: 0 <= BSH1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("BSH1"); - if (parMap.contains("XB1")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XB1",toString(toDouble(parMap["XB1"]))),Pvl::Replace); - } else if (ui.WasEntered("XB1")) { - QString keyval = ui.GetString("XB1"); - double xb1 = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XB1",toString(xb1)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("XB1")) { - QString message = "The " + normName + " Normalization model requires a value for the XB1 parameter."; - message += "The XB1 parameter has no range limit"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("XB1"); - if (parMap.contains("XB2")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XB2",toString(toDouble(parMap["XB2"]))),Pvl::Replace); - } else if (ui.WasEntered("XB2")) { - QString keyval = ui.GetString("XB2"); - double xb2 = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("XB2",toString(xb2)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("XB2")) { - QString message = "The " + normName + " Normalization model requires a value for the XB2 parameter."; - message += "The XB2 parameter has no range limit"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("XB2"); - } else if (normName == "SHADE") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - message += "The normal range for INCREF is: 0 <= INCREF < 90"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - if (parMap.contains("ALBEDO")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(toDouble(parMap["ALBEDO"]))),Pvl::Replace); - } else if (ui.WasEntered("ALBEDO")) { - QString keyval = ui.GetString("ALBEDO"); - double albedo = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(albedo)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("ALBEDO")) { - QString message = "The " + normName + " Normalization model requires a value for the ALBEDO parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("ALBEDO"); - } else if (normName == "TOPO") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - if (parMap.contains("THRESH")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THRESH",toString(toDouble(parMap["THRESH"]))),Pvl::Replace); - } else if (ui.WasEntered("THRESH")) { - QString keyval = ui.GetString("THRESH"); - double thresh = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THRESH",toString(thresh)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("THRESH")) { - QString message = "The " + normName + " Normalization model requires a value for the THRESH parameter."; - message += "The THRESH parameter has no range limit"; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("THRESH"); - if (parMap.contains("ALBEDO")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(toDouble(parMap["ALBEDO"]))),Pvl::Replace); - } else if (ui.WasEntered("ALBEDO")) { - QString keyval = ui.GetString("ALBEDO"); - double albedo = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(albedo)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("ALBEDO")) { - QString message = "The " + normName + " Normalization model requires a value for the ALBEDO parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("ALBEDO"); - } else if (normName == "ALBEDOATM") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - } else if (normName == "SHADEATM") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - if (parMap.contains("ALBEDO")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(toDouble(parMap["ALBEDO"]))),Pvl::Replace); - } else if (ui.WasEntered("ALBEDO")) { - QString keyval = ui.GetString("ALBEDO"); - double albedo = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(albedo)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("ALBEDO")) { - QString message = "The " + normName + " Normalization model requires a value for the ALBEDO parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("ALBEDO"); - } else if (normName == "TOPOATM") { - if (parMap.contains("INCREF")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(toDouble(parMap["INCREF"]))),Pvl::Replace); - } else if (ui.WasEntered("INCREF")) { - QString keyval = ui.GetString("INCREF"); - double incref = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("INCREF",toString(incref)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("INCREF")) { - QString message = "The " + normName + " Normalization model requires a value for the INCREF parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("INCREF"); - if (parMap.contains("ALBEDO")) { - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(toDouble(parMap["ALBEDO"]))),Pvl::Replace); - } else if (ui.WasEntered("ALBEDO")) { - QString keyval = ui.GetString("ALBEDO"); - double albedo = toDouble(keyval); - toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ALBEDO",toString(albedo)),Pvl::Replace); - } else { - if (!toNormPvl.findObject("NormalizationModel").findGroup("Algorithm"). - hasKeyword("ALBEDO")) { - QString message = "The " + normName + " Normalization model requires a value for the ALBEDO parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - normLog += toNormPvl.findObject("NormalizationModel").findGroup("Algorithm").findKeyword("ALBEDO"); - } - Application::Log(normLog); - - Pvl toAtmPvl; - PvlGroup atmLog("AtmosphericModelParametersUsed"); - QString atmName = ui.GetAsString("ATMNAME"); - atmName = atmName.toUpper(); - // Check to make sure that an atmospheric model was specified (if the - // normalization model requires it) - if (normName == "ALBEDOATM" || normName == "SHADEATM" || normName == "TOPOATM") { - wasFound = false; - if (ui.WasEntered("FROMPVL")) { - QString atmVal; - Pvl fromAtmPvl; - PvlObject fromAtmObj; - PvlGroup fromAtmGrp; - QString input = ui.GetFileName("FROMPVL"); - fromAtmPvl.read(input); - if (fromAtmPvl.hasObject("AtmosphericModel")) { - fromAtmObj = fromAtmPvl.findObject("AtmosphericModel"); - if (fromAtmObj.hasGroup("Algorithm")) { - PvlObject::PvlGroupIterator fromAtmGrp = fromAtmObj.beginGroup(); - if (fromAtmGrp->hasKeyword("ATMNAME")) { - atmVal = (QString)fromAtmGrp->findKeyword("ATMNAME"); - } else if (fromAtmGrp->hasKeyword("NAME")) { - atmVal = (QString)fromAtmGrp->findKeyword("NAME"); - } else { - atmVal = "NONE"; } - atmVal = atmVal.toUpper(); - if (atmName == atmVal && atmVal != "NONE") { - wasFound = true; + if (atmVal == "ANISOTROPIC1" || atmVal == "ANISOTROPIC2") { + if (atmGrp->hasKeyword("BHA")) { + double bha = atmGrp->findKeyword("BHA"); + os.str(""); + os << bha; + ui.PutAsString("BHA", os.str().c_str()); } - if ((atmName == "NONE" || atmName == "FROMPVL") && atmVal != "NONE" && !wasFound) { - atmName = atmVal; - wasFound = true; } - if (!wasFound) { - while (fromAtmGrp != fromAtmObj.endGroup()) { - if (fromAtmGrp->hasKeyword("ATMNAME") || fromAtmGrp->hasKeyword("NAME")) { - if (fromAtmGrp->hasKeyword("ATMNAME")) { - atmVal = (QString)fromAtmGrp->findKeyword("ATMNAME"); - } else if (fromAtmGrp->hasKeyword("NAME")) { - atmVal = (QString)fromAtmGrp->findKeyword("NAME"); - } else { - atmVal = "NONE"; - } - atmVal = atmVal.toUpper(); - if (atmName == atmVal && atmVal != "NONE") { - wasFound = true; - break; - } - if ((atmName == "NONE" || atmName == "FROMPVL") && atmVal != "NONE" && !wasFound) { - atmName = atmVal; - wasFound = true; - break; - } - } - fromAtmGrp++; - } + if (atmVal == "HAPKEATM1" || atmVal == "HAPKEATM2") { + if (atmGrp->hasKeyword("HGA")) { + double hga = atmGrp->findKeyword("HGA"); + os.str(""); + os << hga; + ui.PutAsString("HGA", os.str().c_str()); } - } - } - if (atmName == "NONE" || atmName == "FROMPVL") { - QString message = "An Atmospheric model must be specified when doing normalization with atmosphere."; - message += "You need to provide an Atmospheric model through an input PVL (FROMPVL) or "; - message += "you need to specify an Atmospheric model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - if (wasFound) { - toAtmPvl.addObject(fromAtmObj); - } else { - toAtmPvl.addObject(PvlObject("AtmosphericModel")); - toAtmPvl.findObject("AtmosphericModel").addGroup(PvlGroup("Algorithm")); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ATMNAME",atmName),Pvl::Replace); - } - } else { - if (atmName == "NONE" || atmName == "FROMPVL") { - QString message = "An Atmospheric model must be specified when doing normalization with atmosphere."; - message += "You need to provide an Atmospheric model through an input PVL (FROMPVL) or "; - message += "you need to specify an Atmospheric model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - toAtmPvl.addObject(PvlObject("AtmosphericModel")); - toAtmPvl.findObject("AtmosphericModel").addGroup(PvlGroup("Algorithm")); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ATMNAME",atmName),Pvl::Replace); - } - atmLog += PvlKeyword("ATMNAME", atmName); - - if (atmName == "ANISOTROPIC1" || atmName == "ANISOTROPIC2" || - atmName == "HAPKEATM1" || atmName == "HAPKEATM2" || - atmName == "ISOTROPIC1" || atmName == "ISOTROPIC2") { - if (parMap.contains("HNORM")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HNORM",toString(toDouble(parMap["HNORM"]))),Pvl::Replace); - } else if (ui.WasEntered("HNORM")) { - QString keyval = ui.GetString("HNORM"); - double hnorm = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HNORM",toString(hnorm)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("HNORM")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the HNORM parameter."; - message += "The normal range for HNORM is: 0 <= HNORM"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("HNORM"); - if (parMap.contains("TAU")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("TAU",toString(toDouble(parMap["TAU"]))),Pvl::Replace); - } else if (ui.WasEntered("TAU")) { - QString keyval = ui.GetString("TAU"); - double tau = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("TAU",toString(tau)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("TAU")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the TAU parameter."; - message += "The normal range for TAU is: 0 <= TAU"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("TAU"); - if (parMap.contains("TAUREF")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("TAUREF",toString(toDouble(parMap["TAUREF"]))),Pvl::Replace); - } else if (ui.WasEntered("TAUREF")) { - QString keyval = ui.GetString("TAUREF"); - double tauref = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("TAUREF",toString(tauref)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("TAUREF")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the TAUREF parameter."; - message += "The normal range for TAUREF is: 0 <= TAUREF"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("TAUREF"); - if (parMap.contains("WHA")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WHA",toString(toDouble(parMap["WHA"]))),Pvl::Replace); - } else if (ui.WasEntered("WHA")) { - QString keyval = ui.GetString("WHA"); - double wha = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WHA",toString(wha)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("WHA")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the WHA parameter."; - message += "The normal range for WHA is: 0 < WHA < 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("WHA"); - if (parMap.contains("NULNEG")) { - if (parMap["NULNEG"].toStdString() == "YES") { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NULNEG","YES"),Pvl::Replace); - } else if (parMap["NULNEG"].toStdString() == "NO") { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NULNEG","NO"),Pvl::Replace); - } else { - QString message = "The " + atmName + " Atmospheric model requires a value for the NULNEG parameter."; - message += "The valid values for NULNEG are: YES, NO"; - throw IException(IException::User, message, _FILEINFO_); - } - } else if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("NULNEG")) { - if (ui.GetString("NULNEG") == "YES") { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NULNEG","YES"),Pvl::Replace); - } else if (ui.GetString("NULNEG") == "NO") { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("NULNEG","NO"),Pvl::Replace); - } else { - QString message = "The " + atmName + " Atmospheric model requires a value for the NULNEG parameter."; - message += "The valid values for NULNEG are: YES, NO"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("NULNEG"); - } - - if (atmName == "ANISOTROPIC1" || atmName == "ANISOTROPIC2") { - if (parMap.contains("BHA")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BHA",toString(toDouble(parMap["BHA"]))),Pvl::Replace); - } else if (ui.WasEntered("BHA")) { - QString keyval = ui.GetString("BHA"); - double bha = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BHA",toString(bha)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("BHA")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the BHA parameter."; - message += "The normal range for BHA is: -1 <= BHA <= 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("BHA"); - } - if (atmName == "HAPKEATM1" || atmName == "HAPKEATM2") { - if (parMap.contains("HGA")) { - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HGA",toString(toDouble(parMap["HGA"]))),Pvl::Replace); - } else if (ui.WasEntered("HGA")) { - QString keyval = ui.GetString("HGA"); - double hga = toDouble(keyval); - toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HGA",toString(hga)),Pvl::Replace); - } else { - if (!toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm"). - hasKeyword("HGA")) { - QString message = "The " + atmName + " Atmospheric model requires a value for the HGA parameter."; - message += "The normal range for HGA is: -1 < HGA < 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - atmLog += toAtmPvl.findObject("AtmosphericModel").findGroup("Algorithm").findKeyword("HGA"); - } - } - Application::Log(atmLog); - - - Pvl toPhtPvl; - PvlGroup phtLog("PhotometricModelParametersUsed"); - QString phtName = ui.GetAsString("PHTNAME"); - phtName = phtName.toUpper(); - wasFound = false; - if (ui.WasEntered("FROMPVL")) { - QString phtVal; - Pvl fromPhtPvl; - PvlObject fromPhtObj; - PvlGroup fromPhtGrp; - QString input = ui.GetFileName("FROMPVL"); - fromPhtPvl.read(input); - if (fromPhtPvl.hasObject("PhotometricModel")) { - fromPhtObj = fromPhtPvl.findObject("PhotometricModel"); - if (fromPhtObj.hasGroup("Algorithm")) { - PvlObject::PvlGroupIterator fromPhtGrp = fromPhtObj.beginGroup(); - if (fromPhtGrp->hasKeyword("PHTNAME")) { - phtVal = (QString)fromPhtGrp->findKeyword("PHTNAME"); - } else if (fromPhtGrp->hasKeyword("NAME")) { - phtVal = (QString)fromPhtGrp->findKeyword("NAME"); - } else { - phtVal = "NONE"; - } - phtVal = phtVal.toUpper(); - if (phtName == phtVal && phtVal != "NONE") { - wasFound = true; - } - if ((phtName == "NONE" || phtName == "FROMPVL") && phtVal != "NONE" && !wasFound) { - phtName = phtVal; - wasFound = true; - } - if (!wasFound) { - while (fromPhtGrp != fromPhtObj.endGroup()) { - if (fromPhtGrp->hasKeyword("PHTNAME") || fromPhtGrp->hasKeyword("NAME")) { - if (fromPhtGrp->hasKeyword("PHTNAME")) { - phtVal = (QString)fromPhtGrp->findKeyword("PHTNAME"); - } else if (fromPhtGrp->hasKeyword("NAME")) { - phtVal = (QString)fromPhtGrp->findKeyword("NAME"); - } else { - phtVal = "NONE"; - } - phtVal = phtVal.toUpper(); - if (phtName == phtVal && phtVal != "NONE") { - wasFound = true; - break; - } - if ((phtName == "NONE" || phtName == "FROMPVL") && phtVal != "NONE" && !wasFound) { - phtName = phtVal; - wasFound = true; - break; - } - } - fromPhtGrp++; } - } - } - } - // Check to make sure that a photometric model was specified - if (phtName == "NONE" || phtName == "FROMPVL") { - QString message = "A Photometric model must be specified before running this program."; - message += "You need to provide a Photometric model through an input PVL (FROMPVL) or "; - message += "you need to specify a Photometric model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - if (wasFound) { - toPhtPvl.addObject(fromPhtObj); - } else { - toPhtPvl.addObject(PvlObject("PhotometricModel")); - toPhtPvl.findObject("PhotometricModel").addGroup(PvlGroup("Algorithm")); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHTNAME",phtName),Pvl::Replace); - } - } else { - // Check to make sure that a photometric model was specified - if (phtName == "NONE" || phtName == "FROMPVL") { - QString message = "A Photometric model must be specified before running this program."; - message += "You need to provide a Photometric model through an input PVL (FROMPVL) or "; - message += "you need to specify a Photometric model through the program interface."; - throw IException(IException::User, message, _FILEINFO_); - } - toPhtPvl.addObject(PvlObject("PhotometricModel")); - toPhtPvl.findObject("PhotometricModel").addGroup(PvlGroup("Algorithm")); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHTNAME",phtName),Pvl::Replace); - } - phtLog += PvlKeyword("PHTNAME", phtName); - if (phtName == "HAPKEHEN" || phtName == "HAPKELEG") { - if (parMap.contains("THETA")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THETA",toString(toDouble(parMap["THETA"]))),Pvl::Replace); - } else if (ui.WasEntered("THETA")) { - QString keyval = ui.GetString("THETA"); - double theta = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("THETA",toString(theta)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("THETA")) { - QString message = "The " + phtName + " Photometric model requires a value for the THETA parameter."; - message += "The normal range for THETA is: 0 <= THETA <= 90"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("THETA"); - if (parMap.contains("WH")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WH",toString(toDouble(parMap["WH"]))),Pvl::Replace); - } else if (ui.WasEntered("WH")) { - QString keyval = ui.GetString("WH"); - double wh = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("WH",toString(wh)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("WH")) { - QString message = "The " + phtName + " Photometric model requires a value for the WH parameter."; - message += "The normal range for WH is: 0 < WH <= 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("WH"); - if (parMap.contains("HH")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HH",toString(toDouble(parMap["HH"]))),Pvl::Replace); - } else if (ui.WasEntered("HH")) { - QString keyval = ui.GetString("HH"); - double hh = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HH",toString(hh)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("HH")) { - QString message = "The " + phtName + " Photometric model requires a value for the HH parameter."; - message += "The normal range for HH is: 0 <= HH"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("HH"); - if (parMap.contains("B0")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("B0",toString(toDouble(parMap["B0"]))),Pvl::Replace); - } else if (ui.WasEntered("B0")) { - QString keyval = ui.GetString("B0"); - double b0 = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("B0",toString(b0)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("B0")) { - QString message = "The " + phtName + " Photometric model requires a value for the B0 parameter."; - message += "The normal range for B0 is: 0 <= B0"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("B0"); - if (parMap.contains("ZEROB0STANDARD")) { - if (parMap["ZEROB0STANDARD"].toStdString() == "TRUE") { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ZEROB0STANDARD","TRUE"),Pvl::Replace); - } else if (parMap["ZEROB0STANDARD"].toStdString() == "FALSE") { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ZEROB0STANDARD","FALSE"),Pvl::Replace); - } else { - QString message = "The " + phtName + " Photometric model requires a value for the ZEROB0STANDARD parameter."; - message += "The valid values for ZEROB0STANDARD are: TRUE, FALSE"; - throw IException(IException::User, message, _FILEINFO_); - } - } else if (ui.GetString("ZEROB0STANDARD") != "READFROMPVL") { - if (ui.GetString("ZEROB0STANDARD") == "TRUE") { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ZEROB0STANDARD","TRUE"),Pvl::Replace); - } else if (ui.GetString("ZEROB0STANDARD") == "FALSE") { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ZEROB0STANDARD","FALSE"),Pvl::Replace); - } - } else if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("ZEROB0STANDARD")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("ZEROB0STANDARD","TRUE"),Pvl::Replace); - } - QString zerob0 = (QString)toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("ZEROB0STANDARD"); - QString izerob0 = zerob0; - izerob0 = izerob0.toUpper(); - if (izerob0 != "TRUE" && izerob0 != "FALSE") { - QString message = "The " + phtName + " Photometric model requires a value for the ZEROB0STANDARD parameter."; - message += "The valid values for ZEROB0STANDARD are: TRUE, FALSE"; - throw IException(IException::User, message, _FILEINFO_); - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("ZEROB0STANDARD"); - if (phtName == "HAPKEHEN") { - if (parMap.contains("HG1")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HG1",toString(toDouble(parMap["HG1"]))),Pvl::Replace); - } else if (ui.WasEntered("HG1")) { - QString keyval = ui.GetString("HG1"); - double hg1 = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HG1",toString(hg1)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("HG1")) { - QString message = "The " + phtName + " Photometric model requires a value for the HG1 parameter."; - message += "The normal range for HG1 is: -1 < HG1 < 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("HG1"); - if (parMap.contains("HG2")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HG2",toString(toDouble(parMap["HG2"]))),Pvl::Replace); - } else if (ui.WasEntered("HG2")) { - QString keyval = ui.GetString("HG2"); - double hg2 = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("HG2",toString(hg2)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("HG2")) { - QString message = "The " + phtName + " Photometric model requires a value for the HG2 parameter."; - message += "The normal range for HG2 is: 0 <= HG2 <= 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("HG2"); - } else { - if (parMap.contains("BH")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BH",toString(toDouble(parMap["BH"]))),Pvl::Replace); - } else if (ui.WasEntered("BH")) { - QString keyval = ui.GetString("BH"); - double bh = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("BH",toString(bh)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("BH")) { - QString message = "The " + phtName + " Photometric model requires a value for the BH parameter."; - message += "The normal range for BH is: -1 <= BH <= 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("BH"); - if (parMap.contains("CH")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("CH",toString(toDouble(parMap["CH"]))),Pvl::Replace); - } else if (ui.WasEntered("CH")) { - QString keyval = ui.GetString("CH"); - double ch = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("CH",toString(ch)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("CH")) { - QString message = "The " + phtName + " Photometric model requires a value for the CH parameter."; - message += "The normal range for CH is: -1 <= CH <= 1"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("CH"); - } - } else if (phtName == "LUNARLAMBERTEMPIRICAL" || phtName == "MINNAERTEMPIRICAL") { - if (parMap.contains("PHASELIST")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHASELIST",parMap["PHASELIST"]),Pvl::Replace); - } else if (ui.WasEntered("PHASELIST")) { - QString keyval = ui.GetString("PHASELIST"); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHASELIST",keyval),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("PHASELIST")) { - QString message = "The " + phtName + " Photometric model requires a value for the PHASELIST parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("PHASELIST"); - if (parMap.contains("PHASECURVELIST")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHASECURVELIST",parMap["PHASECURVELIST"]),Pvl::Replace); - } else if (ui.WasEntered("PHASECURVELIST")) { - QString keyval = ui.GetString("PHASECURVELIST"); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("PHASECURVELIST",keyval),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("PHASECURVELIST")) { - QString message = "The " + phtName + " Photometric model requires a value for the PHASECURVELIST parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("PHASECURVELIST"); - if (phtName == "LUNARLAMBERTEMPIRICAL") { - if (parMap.contains("LLIST")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("LLIST",parMap["LLIST"]),Pvl::Replace); - } else if (ui.WasEntered("LLIST")) { - QString keyval = ui.GetString("LLIST"); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("LLIST",keyval),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("LLIST")) { - QString message = "The " + phtName + " Photometric model requires a value for the LLIST parameter."; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("LLIST"); - } else { - if (parMap.contains("KLIST")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("KLIST",parMap["KLIST"]),Pvl::Replace); - } else if (ui.WasEntered("KLIST")) { - QString keyval = ui.GetString("KLIST"); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("KLIST",keyval),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("KLIST")) { - QString message = "The " + phtName + " Photometric model requires a value for the KLIST parameter."; + if (atmVal != "ANISOTROPIC1" && atmVal != "ANISOTROPIC2" && + atmVal != "HAPKEATM1" && atmVal != "HAPKEATM2" && + atmVal != "ISOTROPIC1" && atmVal != "ISOTROPIC2") { + QString message = "Unsupported atmospheric model [" + atmVal + "]."; throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("KLIST"); - } - } else if (phtName == "LUNARLAMBERT") { - if (parMap.contains("L")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("L",toString(toDouble(parMap["L"]))),Pvl::Replace); - } else if (ui.WasEntered("L")) { - QString keyval = ui.GetString("L"); - double l = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("L",toString(l)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("L")) { - QString message = "The " + phtName + " Photometric model requires a value for the L parameter."; - message += "The L parameter has no limited range"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("L"); - } else if (phtName == "MINNAERT") { - if (parMap.contains("K")) { - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("K",toString(toDouble(parMap["K"]))),Pvl::Replace); - } else if (ui.WasEntered("K")) { - QString keyval = ui.GetString("K"); - double k = toDouble(keyval); - toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - addKeyword(PvlKeyword("K",toString(k)),Pvl::Replace); - } else { - if (!toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm"). - hasKeyword("K")) { - QString message = "The " + phtName + " Photometric model requires a value for the K parameter."; - message += "The normal range for K is: 0 <= K"; - throw IException(IException::User, message, _FILEINFO_); - } - } - phtLog += toPhtPvl.findObject("PhotometricModel").findGroup("Algorithm").findKeyword("K"); - } - Application::Log(phtLog); - - PvlObject normObj = toNormPvl.findObject("NormalizationModel"); - PvlObject phtObj = toPhtPvl.findObject("PhotometricModel"); - PvlObject atmObj; - if (normName == "ALBEDOATM" || normName == "SHADEATM" || normName == "TOPOATM") { - atmObj = toAtmPvl.findObject("AtmosphericModel"); - } - - Pvl par; - par.addObject(normObj); - par.addObject(phtObj); - if (normName == "ALBEDOATM" || normName == "SHADEATM" || normName == "TOPOATM") { - par.addObject(atmObj); - } - - // Set value for maximum emission/incidence angles chosen by user - maxema = ui.GetDouble("MAXEMISSION"); - maxinc = ui.GetDouble("MAXINCIDENCE"); - usedem = ui.GetBoolean("USEDEM"); - - // determine how photometric angles should be calculated - angleSource = ui.GetString("ANGLESOURCE"); - - if ((normName == "TOPO" || normName == "MIXED") && angleSource == "DEM") { - QString message = "The " + normName + " Normalized model is not recommended for use with the " + angleSource + " Angle Source option"; - PvlGroup warning("Warnings"); - warning.addKeyword(PvlKeyword("Warning",message)); - Application::Log(warning); - } - // Get camera information if needed - if (angleSource == "ELLIPSOID" || angleSource == "DEM" || - angleSource == "CENTER_FROM_IMAGE") { - // Set up the input cube - icube = p.SetInputCube("FROM"); - cam = icube->camera(); - } - else { - p.SetInputCube("FROM"); - } - - // Create the output cube - p.SetOutputCube("TO"); - - Pvl inLabel; - inLabel.read(ui.GetCubeName("FROM")); - - // If the source of photometric angles is the center of the image, - // then get the angles at the center of the image. - if (angleSource == "CENTER_FROM_IMAGE") { - cam->SetImage(cam->Samples()/2, cam->Lines()/2); - centerPhase = cam->PhaseAngle(); - centerIncidence = cam->IncidenceAngle(); - centerEmission = cam->EmissionAngle(); - } - else if (angleSource == "CENTER_FROM_LABEL") { - centerPhase = inLabel.findKeyword("PhaseAngle", Pvl::Traverse); - centerIncidence = inLabel.findKeyword("IncidenceAngle", Pvl::Traverse); - centerEmission = inLabel.findKeyword("EmissionAngle", Pvl::Traverse); - } - else if (angleSource == "CENTER_FROM_USER") { - centerPhase = ui.GetDouble("PHASE_ANGLE"); - centerIncidence = ui.GetDouble("INCIDENCE_ANGLE"); - centerEmission = ui.GetDouble("EMISSION_ANGLE"); - } - else if (angleSource == "BACKPLANE") { - useBackplane = true; - CubeAttributeInput cai; - CubeAttributeInput phaseCai; - CubeAttributeInput incidenceCai; - CubeAttributeInput emissionCai; - if (ui.WasEntered("PHASE_ANGLE_FILE")) { - phaseCai = ui.GetInputAttribute("PHASE_ANGLE_FILE"); - p.SetInputCube(ui.GetCubeName("PHASE_ANGLE_FILE"), phaseCai); - usePhasefile = true; - } - else { - phaseAngle = ui.GetDouble("PHASE_ANGLE"); - } - if (ui.WasEntered("INCIDENCE_ANGLE_FILE")) { - incidenceCai = ui.GetInputAttribute("INCIDENCE_ANGLE_FILE"); - p.SetInputCube(ui.GetCubeName("INCIDENCE_ANGLE_FILE"), incidenceCai); - useIncidencefile = true; - } - else { - incidenceAngle = ui.GetDouble("INCIDENCE_ANGLE"); - } - if (ui.WasEntered("EMISSION_ANGLE_FILE")) { - emissionCai = ui.GetInputAttribute("EMISSION_ANGLE_FILE"); - p.SetInputCube(ui.GetCubeName("EMISSION_ANGLE_FILE"), emissionCai); - useEmissionfile = true; - } - else { - emissionAngle = ui.GetDouble("EMISSION_ANGLE"); - } - } - - // Get the BandBin Center from the image - PvlGroup pvlg = inLabel.findGroup("BandBin", Pvl::Traverse); - double wl; - if(pvlg.hasKeyword("Center")) { - PvlKeyword &wavelength = pvlg.findKeyword("Center"); - wl = toDouble(wavelength[0]); - } - else { - wl = 1.0; - } - - // Create the photometry object and set the wavelength - PvlGroup &algo = par.findObject("NormalizationModel").findGroup("Algorithm", Pvl::Traverse); - if(!algo.hasKeyword("Wl")) { - algo.addKeyword(Isis::PvlKeyword("Wl", toString(wl))); - } - pho = new Photometry(par); - pho->SetPhotomWl(wl); - - // Start the processing - if (useBackplane) { - p.StartProcess(photometWithBackplane); - } - else { - p.StartProcess(photomet); - } - p.EndProcess(); -} - -/** - * Perform photometric correction - * - * @param in Buffer containing input DN values - * @param out Buffer containing output DN values - * @author Janet Barrett - * @internal - * @history 2009-01-08 Jeannie Walldren - Modified to set off - * target pixels to null. Added check for new maxinc - * and maxema parameters. - */ -void photomet(Buffer &in, Buffer &out) { - - double deminc=0., demema=0., mult=0., base=0.; - double ellipsoidpha=0., ellipsoidinc=0., ellipsoidema=0.; - - for (int i = 0; i < in.size(); i++) { - - // if special pixel, copy to output - if(!IsValidPixel(in[i])) { - out[i] = in[i]; - } - - // if off the target, set to null - else if((angleSource == "ELLIPSOID" || angleSource == "DEM" || - angleSource == "CENTER_FROM_IMAGE") && - (!cam->SetImage(in.Sample(i), in.Line(i)))) { - out[i] = NULL8; - } - - // otherwise, compute angle values - else { - bool success = true; - if (angleSource == "CENTER_FROM_IMAGE" || - angleSource == "CENTER_FROM_LABEL" || - angleSource == "CENTER_FROM_USER") { - ellipsoidpha = centerPhase; - ellipsoidinc = centerIncidence; - ellipsoidema = centerEmission; - deminc = centerIncidence; - demema = centerEmission; - } else { - // calculate photometric angles - ellipsoidpha = cam->PhaseAngle(); - ellipsoidinc = cam->IncidenceAngle(); - ellipsoidema = cam->EmissionAngle(); - if (angleSource == "DEM") { - Angle phase, incidence, emission; - cam->LocalPhotometricAngles(phase, incidence, emission, success); - if (success) { - deminc = incidence.degrees(); - demema = emission.degrees(); } - } else if (angleSource == "ELLIPSOID") { - deminc = ellipsoidinc; - demema = ellipsoidema; - } - } - - // if invalid angles, set to null - if(!success) { - out[i] = NULL8; + ui.PutAsString("ATMNAME", atmVal); } - // otherwise, do photometric correction - else { - pho->Compute(ellipsoidpha, ellipsoidinc, ellipsoidema, deminc, demema, in[i], out[i], mult, base); } - } - } - // Trim - if (!usedem) { - cam->IgnoreElevationModel(true); } - double trimInc = 0, trimEma = 0; - //bool success = true; - for (int i = 0; i < in.size(); i++) { - // if off the target, set to null - if(!cam->SetImage(in.Sample(i), in.Line(i))) { - out[i] = NULL8; - //success = false; - } - else { - trimInc = cam->IncidenceAngle(); - trimEma = cam->EmissionAngle(); - } - - if(trimInc > maxinc || trimEma > maxema) { - out[i] = NULL8; - } - } - cam->IgnoreElevationModel(false); -} - -/** - * Perform photometric correction with backplanes - * - * @param in Buffer containing input DN values and backplanes containing - * the associated photometric angles - * @param out Buffer containing output DN values - * @author Janet Barrett - * @internal - * @history 2009-01-08 Jeannie Walldren - Modified to set off - * target pixels to null. Added check for new maxinc - * and maxema parameters. - */ -void photometWithBackplane(std::vector &in, std::vector &out) { - - Buffer &image = *in[0]; - int index = 1; - Buffer &phasebp = *in[1]; - if (usePhasefile) { - index = index + 1; - } - Buffer &incidencebp = *in[index]; - if (useIncidencefile) { - index = index + 1; - } - Buffer &emissionbp = *in[index]; - - Buffer &outimage = *out[0]; - - double deminc=0., demema=0., mult=0., base=0.; - double ellipsoidpha=0., ellipsoidinc=0., ellipsoidema=0.; - - for (int i = 0; i < image.size(); i++) { - - // if special pixel, copy to output - if(!IsValidPixel(image[i])) { - outimage[i] = image[i]; - } - - // if off the target, set to null - else if((angleSource == "ELLIPSOID" || angleSource == "DEM" || - angleSource == "CENTER_FROM_IMAGE") && - (!cam->SetImage(image.Sample(i), image.Line(i)))) { - outimage[i] = NULL8; - } - - // otherwise, compute angle values - else { - if (usePhasefile) { - ellipsoidpha = phasebp[i]; - } - else { - ellipsoidpha = phaseAngle; - } - if (useIncidencefile) { - ellipsoidinc = incidencebp[i]; - } - else { - ellipsoidinc = incidenceAngle; - } - if (useEmissionfile) { - ellipsoidema = emissionbp[i]; - } - else { - ellipsoidema = emissionAngle; - } - deminc = ellipsoidinc; - demema = ellipsoidema; - - // if invalid angles, set to null - if(!IsValidPixel(ellipsoidpha) || !IsValidPixel(ellipsoidinc) || !IsValidPixel(ellipsoidema)) { - outimage[i] = NULL8; - } - else if(deminc >= 90.0 || demema >= 90.0) { - outimage[i] = NULL8; - } - // if angles greater than max allowed by user, set to null - else if(deminc > maxinc || demema > maxema) { - outimage[i] = NULL8; - } - // otherwise, do photometric correction - else { - pho->Compute(ellipsoidpha, ellipsoidinc, ellipsoidema, deminc, demema, image[i], outimage[i], mult, base); - } - } - } -} +} \ No newline at end of file diff --git a/isis/src/base/apps/photomet/photomet.cpp b/isis/src/base/apps/photomet/photomet.cpp new file mode 100644 index 0000000000..1ed4726416 --- /dev/null +++ b/isis/src/base/apps/photomet/photomet.cpp @@ -0,0 +1,1893 @@ +/** This is free and unencumbered software released into the public domain. + +The authors of ISIS do not claim copyright on the contents of this file. +For more details about the LICENSE terms and the AUTHORS, you will +find files of those names at the top level of this repository. **/ + +/* SPDX-License-Identifier: CC0-1.0 */ +#include "photomet.h" + +#include +#include +#include +#include + +#include "Angle.h" +#include "Camera.h" +#include "Cube.h" +#include "IException.h" +#include "Photometry.h" +#include "ProcessByLine.h" +#include "Pvl.h" +#include "PvlGroup.h" +#include "SpecialPixel.h" + +using namespace std; + +namespace Isis { + +void photomet(UserInterface &ui, Pvl *appLog) { + Cube icube; + icube.open(ui.GetCubeName("FROM")); + photomet(&icube, ui, appLog); +} + +void photomet(Cube *icube, UserInterface &ui, Pvl *appLog) { + Camera *cam; + Photometry *pho; + QString angleSource; + bool useBackplane = false; + double maxema; + double maxinc; + bool usedem; + double centerPhase; + double centerIncidence; + double centerEmission; + bool usePhasefile = false; + bool useIncidencefile = false; + bool useEmissionfile = false; + double phaseAngle; + double incidenceAngle; + double emissionAngle; + + // We will be processing by line + ProcessByLine p; + + // get QString of parameter changes to make + QString changePar = (QString)ui.GetString("CHNGPAR"); + changePar = changePar.toUpper(); + (void) + changePar.simplified(); // cast to void to silence unused result warning + changePar.replace(" =", "="); + changePar.replace("= ", "="); + changePar.remove('"'); + bool useChangePar = true; + if (changePar == "NONE" || changePar == "") { + useChangePar = false; + } + QMap parMap; + if (useChangePar) { + QStringList parList = changePar.split(" "); + for (int i = 0; i < parList.size(); i++) { + QString parPair = parList.at(i); + parPair = parPair.toUpper(); + QStringList parvalList = parPair.split("="); + if (parvalList.size() != 2) { + QString message = + "The value you entered for CHNGPAR is invalid. You must enter " + "pairs of "; + message += + "data that are formatted as parname=value and each pair is " + "separated by spaces."; + throw IException(IException::User, message, _FILEINFO_); + } + parMap[parvalList.at(0)] = parvalList.at(1); + } + } + + Pvl toNormPvl; + PvlGroup normLog("NormalizationModelParametersUsed"); + QString normName = ui.GetAsString("NORMNAME"); + normName = normName.toUpper(); + bool wasFound = false; + if (ui.WasEntered("FROMPVL")) { + QString normVal; + Pvl fromNormPvl; + PvlObject fromNormObj; + PvlGroup fromNormGrp; + QString input = ui.GetFileName("FROMPVL"); + fromNormPvl.read(input); + if (fromNormPvl.hasObject("NormalizationModel")) { + fromNormObj = fromNormPvl.findObject("NormalizationModel"); + if (fromNormObj.hasGroup("Algorithm")) { + PvlObject::PvlGroupIterator fromNormGrp = fromNormObj.beginGroup(); + if (fromNormGrp->hasKeyword("NORMNAME")) { + normVal = (QString)fromNormGrp->findKeyword("NORMNAME"); + } else if (fromNormGrp->hasKeyword("NAME")) { + normVal = (QString)fromNormGrp->findKeyword("NAME"); + } else { + normVal = "NONE"; + } + normVal = normVal.toUpper(); + if (normName == normVal && normVal != "NONE") { + wasFound = true; + } + if ((normName == "NONE" || normName == "FROMPVL") && + normVal != "NONE" && !wasFound) { + normName = normVal; + wasFound = true; + } + if (!wasFound) { + while (fromNormGrp != fromNormObj.endGroup()) { + if (fromNormGrp->hasKeyword("NORMNAME") || + fromNormGrp->hasKeyword("NAME")) { + if (fromNormGrp->hasKeyword("NORMNAME")) { + normVal = (QString)fromNormGrp->findKeyword("NORMNAME"); + } else if (fromNormGrp->hasKeyword("NAME")) { + normVal = (QString)fromNormGrp->findKeyword("NAME"); + } else { + normVal = "NONE"; + } + normVal = normVal.toUpper(); + if (normName == normVal && normVal != "NONE") { + wasFound = true; + break; + } + if ((normName == "NONE" || normName == "FROMPVL") && + normVal != "NONE" && !wasFound) { + normName = normVal; + wasFound = true; + break; + } + } + fromNormGrp++; + } + } + } + } + // Check to make sure that a normalization model was specified + if (normName == "NONE" || normName == "FROMPVL") { + QString message = + "A Normalization model must be specified before running this " + "program. "; + message += + "You need to provide a Normalization model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify a Normalization model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + if (wasFound) { + toNormPvl.addObject(fromNormObj); + } else { + toNormPvl.addObject(PvlObject("NormalizationModel")); + toNormPvl.findObject("NormalizationModel") + .addGroup(PvlGroup("Algorithm")); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NORMNAME", normName), Pvl::Replace); + } + } else { + // Check to make sure that a normalization model was specified + if (normName == "NONE" || normName == "FROMPVL") { + QString message = + "A Normalization model must be specified before running this " + "program. "; + message += + "You need to provide a Normalization model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify a Normalization model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + toNormPvl.addObject(PvlObject("NormalizationModel")); + toNormPvl.findObject("NormalizationModel").addGroup(PvlGroup("Algorithm")); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NORMNAME", normName), Pvl::Replace); + } + normLog += PvlKeyword("NORMNAME", normName); + + if (normName == "ALBEDO" || normName == "MIXED") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + if (normName == "MIXED") { + if (parMap.contains("INCMAT")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCMAT", toString(toDouble(parMap["INCMAT"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCMAT")) { + QString keyval = ui.GetString("INCMAT"); + double incmat = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCMAT", toString(incmat)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCMAT")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCMAT parameter."; + message += "The normal range for INCMAT is: 0 <= INCMAT < 90"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCMAT"); + } + if (parMap.contains("THRESH")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("THRESH", toString(toDouble(parMap["THRESH"]))), + Pvl::Replace); + } else if (ui.WasEntered("THRESH")) { + QString keyval = ui.GetString("THRESH"); + double thresh = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("THRESH", toString(thresh)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("THRESH")) { + QString message = + "The " + normName + + " Normalization model requires a value for the THRESH parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("THRESH"); + if (parMap.contains("ALBEDO")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("ALBEDO", toString(toDouble(parMap["ALBEDO"]))), + Pvl::Replace); + } else if (ui.WasEntered("ALBEDO")) { + QString keyval = ui.GetString("ALBEDO"); + double albedo = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ALBEDO", toString(albedo)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("ALBEDO")) { + QString message = + "The " + normName + + " Normalization model requires a value for the ALBEDO parameter."; + message += "The ALBEDO parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("ALBEDO"); + } else if (normName == "MOONALBEDO") { + if (parMap.contains("D")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("D", toString(toDouble(parMap["D"]))), + Pvl::Replace); + } else if (ui.WasEntered("D")) { + QString keyval = ui.GetString("D"); + double d = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("D", toString(d)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("D")) { + QString message = + "The " + normName + + " Normalization model requires a value for the D parameter."; + message += "The D parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("D"); + if (parMap.contains("E")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("E", toString(toDouble(parMap["E"]))), + Pvl::Replace); + } else if (ui.WasEntered("E")) { + QString keyval = ui.GetString("E"); + double e = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("E", toString(e)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("E")) { + QString message = + "The " + normName + + " Normalization model requires a value for the E parameter."; + message += "The E parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("E"); + if (parMap.contains("F")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("F", toString(toDouble(parMap["F"]))), + Pvl::Replace); + } else if (ui.WasEntered("F")) { + QString keyval = ui.GetString("F"); + double f = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("F", toString(f)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("F")) { + QString message = + "The " + normName + + " Normalization model requires a value for the F parameter."; + message += "The F parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("F"); + if (parMap.contains("G2")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("G2", toString(toDouble(parMap["G2"]))), + Pvl::Replace); + } else if (ui.WasEntered("G2")) { + QString keyval = ui.GetString("G2"); + double g2 = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("G2", toString(g2)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("G2")) { + QString message = + "The " + normName + + " Normalization model requires a value for the G2 parameter."; + message += "The G2 parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("G2"); + if (parMap.contains("XMUL")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XMUL", toString(toDouble(parMap["XMUL"]))), + Pvl::Replace); + } else if (ui.WasEntered("XMUL")) { + QString keyval = ui.GetString("XMUL"); + double xmul = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XMUL", toString(xmul)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("XMUL")) { + QString message = + "The " + normName + + " Normalization model requires a value for the XMUL parameter."; + message += "The XMUL parameter has no range limit"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("XMUL"); + if (parMap.contains("WL")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WL", toString(toDouble(parMap["WL"]))), + Pvl::Replace); + } else if (ui.WasEntered("WL")) { + QString keyval = ui.GetString("WL"); + double wl = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WL", toString(wl)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("WL")) { + QString message = + "The " + normName + + " Normalization model requires a value for the WL parameter."; + message += "The WL parameter has no range limit"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("WL"); + if (parMap.contains("H")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("H", toString(toDouble(parMap["H"]))), + Pvl::Replace); + } else if (ui.WasEntered("H")) { + QString keyval = ui.GetString("H"); + double h = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("H", toString(h)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("H")) { + QString message = + "The " + normName + + " Normalization model requires a value for the H parameter."; + message += "The H parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("H"); + if (parMap.contains("BSH1")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BSH1", toString(toDouble(parMap["BSH1"]))), + Pvl::Replace); + } else if (ui.WasEntered("BSH1")) { + QString keyval = ui.GetString("BSH1"); + double bsh1 = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BSH1", toString(bsh1)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("BSH1")) { + QString message = + "The " + normName + + " Normalization model requires a value for the BSH1 parameter."; + message += "The normal range for BSH1 is: 0 <= BSH1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("BSH1"); + if (parMap.contains("XB1")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XB1", toString(toDouble(parMap["XB1"]))), + Pvl::Replace); + } else if (ui.WasEntered("XB1")) { + QString keyval = ui.GetString("XB1"); + double xb1 = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XB1", toString(xb1)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("XB1")) { + QString message = + "The " + normName + + " Normalization model requires a value for the XB1 parameter."; + message += "The XB1 parameter has no range limit"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("XB1"); + if (parMap.contains("XB2")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XB2", toString(toDouble(parMap["XB2"]))), + Pvl::Replace); + } else if (ui.WasEntered("XB2")) { + QString keyval = ui.GetString("XB2"); + double xb2 = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("XB2", toString(xb2)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("XB2")) { + QString message = + "The " + normName + + " Normalization model requires a value for the XB2 parameter."; + message += "The XB2 parameter has no range limit"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("XB2"); + } else if (normName == "SHADE") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + message += "The normal range for INCREF is: 0 <= INCREF < 90"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + if (parMap.contains("ALBEDO")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("ALBEDO", toString(toDouble(parMap["ALBEDO"]))), + Pvl::Replace); + } else if (ui.WasEntered("ALBEDO")) { + QString keyval = ui.GetString("ALBEDO"); + double albedo = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ALBEDO", toString(albedo)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("ALBEDO")) { + QString message = + "The " + normName + + " Normalization model requires a value for the ALBEDO parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("ALBEDO"); + } else if (normName == "TOPO") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + if (parMap.contains("THRESH")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("THRESH", toString(toDouble(parMap["THRESH"]))), + Pvl::Replace); + } else if (ui.WasEntered("THRESH")) { + QString keyval = ui.GetString("THRESH"); + double thresh = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("THRESH", toString(thresh)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("THRESH")) { + QString message = + "The " + normName + + " Normalization model requires a value for the THRESH parameter."; + message += "The THRESH parameter has no range limit"; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("THRESH"); + if (parMap.contains("ALBEDO")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("ALBEDO", toString(toDouble(parMap["ALBEDO"]))), + Pvl::Replace); + } else if (ui.WasEntered("ALBEDO")) { + QString keyval = ui.GetString("ALBEDO"); + double albedo = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ALBEDO", toString(albedo)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("ALBEDO")) { + QString message = + "The " + normName + + " Normalization model requires a value for the ALBEDO parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("ALBEDO"); + } else if (normName == "ALBEDOATM") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + } else if (normName == "SHADEATM") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + if (parMap.contains("ALBEDO")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("ALBEDO", toString(toDouble(parMap["ALBEDO"]))), + Pvl::Replace); + } else if (ui.WasEntered("ALBEDO")) { + QString keyval = ui.GetString("ALBEDO"); + double albedo = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ALBEDO", toString(albedo)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("ALBEDO")) { + QString message = + "The " + normName + + " Normalization model requires a value for the ALBEDO parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("ALBEDO"); + } else if (normName == "TOPOATM") { + if (parMap.contains("INCREF")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("INCREF", toString(toDouble(parMap["INCREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("INCREF")) { + QString keyval = ui.GetString("INCREF"); + double incref = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("INCREF", toString(incref)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("INCREF")) { + QString message = + "The " + normName + + " Normalization model requires a value for the INCREF parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("INCREF"); + if (parMap.contains("ALBEDO")) { + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("ALBEDO", toString(toDouble(parMap["ALBEDO"]))), + Pvl::Replace); + } else if (ui.WasEntered("ALBEDO")) { + QString keyval = ui.GetString("ALBEDO"); + double albedo = toDouble(keyval); + toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ALBEDO", toString(albedo)), Pvl::Replace); + } else { + if (!toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .hasKeyword("ALBEDO")) { + QString message = + "The " + normName + + " Normalization model requires a value for the ALBEDO parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + normLog += toNormPvl.findObject("NormalizationModel") + .findGroup("Algorithm") + .findKeyword("ALBEDO"); + } + appLog->addLogGroup(normLog); + + Pvl toAtmPvl; + PvlGroup atmLog("AtmosphericModelParametersUsed"); + QString atmName = ui.GetAsString("ATMNAME"); + atmName = atmName.toUpper(); + // Check to make sure that an atmospheric model was specified (if the + // normalization model requires it) + if (normName == "ALBEDOATM" || normName == "SHADEATM" || + normName == "TOPOATM") { + wasFound = false; + if (ui.WasEntered("FROMPVL")) { + QString atmVal; + Pvl fromAtmPvl; + PvlObject fromAtmObj; + PvlGroup fromAtmGrp; + QString input = ui.GetFileName("FROMPVL"); + fromAtmPvl.read(input); + if (fromAtmPvl.hasObject("AtmosphericModel")) { + fromAtmObj = fromAtmPvl.findObject("AtmosphericModel"); + if (fromAtmObj.hasGroup("Algorithm")) { + PvlObject::PvlGroupIterator fromAtmGrp = fromAtmObj.beginGroup(); + if (fromAtmGrp->hasKeyword("ATMNAME")) { + atmVal = (QString)fromAtmGrp->findKeyword("ATMNAME"); + } else if (fromAtmGrp->hasKeyword("NAME")) { + atmVal = (QString)fromAtmGrp->findKeyword("NAME"); + } else { + atmVal = "NONE"; + } + atmVal = atmVal.toUpper(); + if (atmName == atmVal && atmVal != "NONE") { + wasFound = true; + } + if ((atmName == "NONE" || atmName == "FROMPVL") && atmVal != "NONE" && + !wasFound) { + atmName = atmVal; + wasFound = true; + } + if (!wasFound) { + while (fromAtmGrp != fromAtmObj.endGroup()) { + if (fromAtmGrp->hasKeyword("ATMNAME") || + fromAtmGrp->hasKeyword("NAME")) { + if (fromAtmGrp->hasKeyword("ATMNAME")) { + atmVal = (QString)fromAtmGrp->findKeyword("ATMNAME"); + } else if (fromAtmGrp->hasKeyword("NAME")) { + atmVal = (QString)fromAtmGrp->findKeyword("NAME"); + } else { + atmVal = "NONE"; + } + atmVal = atmVal.toUpper(); + if (atmName == atmVal && atmVal != "NONE") { + wasFound = true; + break; + } + if ((atmName == "NONE" || atmName == "FROMPVL") && + atmVal != "NONE" && !wasFound) { + atmName = atmVal; + wasFound = true; + break; + } + } + fromAtmGrp++; + } + } + } + } + if (atmName == "NONE" || atmName == "FROMPVL") { + QString message = + "An Atmospheric model must be specified when doing normalization " + "with atmosphere."; + message += + "You need to provide an Atmospheric model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify an Atmospheric model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + if (wasFound) { + toAtmPvl.addObject(fromAtmObj); + } else { + toAtmPvl.addObject(PvlObject("AtmosphericModel")); + toAtmPvl.findObject("AtmosphericModel").addGroup(PvlGroup("Algorithm")); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ATMNAME", atmName), Pvl::Replace); + } + } else { + if (atmName == "NONE" || atmName == "FROMPVL") { + QString message = + "An Atmospheric model must be specified when doing normalization " + "with atmosphere."; + message += + "You need to provide an Atmospheric model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify an Atmospheric model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + toAtmPvl.addObject(PvlObject("AtmosphericModel")); + toAtmPvl.findObject("AtmosphericModel").addGroup(PvlGroup("Algorithm")); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ATMNAME", atmName), Pvl::Replace); + } + atmLog += PvlKeyword("ATMNAME", atmName); + + if (atmName == "ANISOTROPIC1" || atmName == "ANISOTROPIC2" || + atmName == "HAPKEATM1" || atmName == "HAPKEATM2" || + atmName == "ISOTROPIC1" || atmName == "ISOTROPIC2") { + if (parMap.contains("HNORM")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("HNORM", toString(toDouble(parMap["HNORM"]))), + Pvl::Replace); + } else if (ui.WasEntered("HNORM")) { + QString keyval = ui.GetString("HNORM"); + double hnorm = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HNORM", toString(hnorm)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("HNORM")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the HNORM parameter."; + message += "The normal range for HNORM is: 0 <= HNORM"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("HNORM"); + if (parMap.contains("TAU")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("TAU", toString(toDouble(parMap["TAU"]))), + Pvl::Replace); + } else if (ui.WasEntered("TAU")) { + QString keyval = ui.GetString("TAU"); + double tau = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("TAU", toString(tau)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("TAU")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the TAU parameter."; + message += "The normal range for TAU is: 0 <= TAU"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("TAU"); + if (parMap.contains("TAUREF")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword( + PvlKeyword("TAUREF", toString(toDouble(parMap["TAUREF"]))), + Pvl::Replace); + } else if (ui.WasEntered("TAUREF")) { + QString keyval = ui.GetString("TAUREF"); + double tauref = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("TAUREF", toString(tauref)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("TAUREF")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the TAUREF parameter."; + message += "The normal range for TAUREF is: 0 <= TAUREF"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("TAUREF"); + if (parMap.contains("WHA")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WHA", toString(toDouble(parMap["WHA"]))), + Pvl::Replace); + } else if (ui.WasEntered("WHA")) { + QString keyval = ui.GetString("WHA"); + double wha = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WHA", toString(wha)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("WHA")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the WHA parameter."; + message += "The normal range for WHA is: 0 < WHA < 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("WHA"); + if (parMap.contains("NULNEG")) { + if (parMap["NULNEG"].toStdString() == "YES") { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NULNEG", "YES"), Pvl::Replace); + } else if (parMap["NULNEG"].toStdString() == "NO") { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NULNEG", "NO"), Pvl::Replace); + } else { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the NULNEG parameter."; + message += "The valid values for NULNEG are: YES, NO"; + throw IException(IException::User, message, _FILEINFO_); + } + } else if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("NULNEG")) { + if (ui.GetString("NULNEG") == "YES") { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NULNEG", "YES"), Pvl::Replace); + } else if (ui.GetString("NULNEG") == "NO") { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("NULNEG", "NO"), Pvl::Replace); + } else { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the NULNEG parameter."; + message += "The valid values for NULNEG are: YES, NO"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("NULNEG"); + } + + if (atmName == "ANISOTROPIC1" || atmName == "ANISOTROPIC2") { + if (parMap.contains("BHA")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BHA", toString(toDouble(parMap["BHA"]))), + Pvl::Replace); + } else if (ui.WasEntered("BHA")) { + QString keyval = ui.GetString("BHA"); + double bha = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BHA", toString(bha)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("BHA")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the BHA parameter."; + message += "The normal range for BHA is: -1 <= BHA <= 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("BHA"); + } + if (atmName == "HAPKEATM1" || atmName == "HAPKEATM2") { + if (parMap.contains("HGA")) { + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HGA", toString(toDouble(parMap["HGA"]))), + Pvl::Replace); + } else if (ui.WasEntered("HGA")) { + QString keyval = ui.GetString("HGA"); + double hga = toDouble(keyval); + toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HGA", toString(hga)), Pvl::Replace); + } else { + if (!toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .hasKeyword("HGA")) { + QString message = + "The " + atmName + + " Atmospheric model requires a value for the HGA parameter."; + message += "The normal range for HGA is: -1 < HGA < 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + atmLog += toAtmPvl.findObject("AtmosphericModel") + .findGroup("Algorithm") + .findKeyword("HGA"); + } + } + appLog->addLogGroup(atmLog); + + Pvl toPhtPvl; + PvlGroup phtLog("PhotometricModelParametersUsed"); + QString phtName = ui.GetAsString("PHTNAME"); + phtName = phtName.toUpper(); + wasFound = false; + if (ui.WasEntered("FROMPVL")) { + QString phtVal; + Pvl fromPhtPvl; + PvlObject fromPhtObj; + PvlGroup fromPhtGrp; + QString input = ui.GetFileName("FROMPVL"); + fromPhtPvl.read(input); + if (fromPhtPvl.hasObject("PhotometricModel")) { + fromPhtObj = fromPhtPvl.findObject("PhotometricModel"); + if (fromPhtObj.hasGroup("Algorithm")) { + PvlObject::PvlGroupIterator fromPhtGrp = fromPhtObj.beginGroup(); + if (fromPhtGrp->hasKeyword("PHTNAME")) { + phtVal = (QString)fromPhtGrp->findKeyword("PHTNAME"); + } else if (fromPhtGrp->hasKeyword("NAME")) { + phtVal = (QString)fromPhtGrp->findKeyword("NAME"); + } else { + phtVal = "NONE"; + } + phtVal = phtVal.toUpper(); + if (phtName == phtVal && phtVal != "NONE") { + wasFound = true; + } + if ((phtName == "NONE" || phtName == "FROMPVL") && phtVal != "NONE" && + !wasFound) { + phtName = phtVal; + wasFound = true; + } + if (!wasFound) { + while (fromPhtGrp != fromPhtObj.endGroup()) { + if (fromPhtGrp->hasKeyword("PHTNAME") || + fromPhtGrp->hasKeyword("NAME")) { + if (fromPhtGrp->hasKeyword("PHTNAME")) { + phtVal = (QString)fromPhtGrp->findKeyword("PHTNAME"); + } else if (fromPhtGrp->hasKeyword("NAME")) { + phtVal = (QString)fromPhtGrp->findKeyword("NAME"); + } else { + phtVal = "NONE"; + } + phtVal = phtVal.toUpper(); + if (phtName == phtVal && phtVal != "NONE") { + wasFound = true; + break; + } + if ((phtName == "NONE" || phtName == "FROMPVL") && + phtVal != "NONE" && !wasFound) { + phtName = phtVal; + wasFound = true; + break; + } + } + fromPhtGrp++; + } + } + } + } + // Check to make sure that a photometric model was specified + if (phtName == "NONE" || phtName == "FROMPVL") { + QString message = + "A Photometric model must be specified before running this program."; + message += + "You need to provide a Photometric model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify a Photometric model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + if (wasFound) { + toPhtPvl.addObject(fromPhtObj); + } else { + toPhtPvl.addObject(PvlObject("PhotometricModel")); + toPhtPvl.findObject("PhotometricModel").addGroup(PvlGroup("Algorithm")); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHTNAME", phtName), Pvl::Replace); + } + } else { + // Check to make sure that a photometric model was specified + if (phtName == "NONE" || phtName == "FROMPVL") { + QString message = + "A Photometric model must be specified before running this program."; + message += + "You need to provide a Photometric model through an input PVL " + "(FROMPVL) or "; + message += + "you need to specify a Photometric model through the program " + "interface."; + throw IException(IException::User, message, _FILEINFO_); + } + toPhtPvl.addObject(PvlObject("PhotometricModel")); + toPhtPvl.findObject("PhotometricModel").addGroup(PvlGroup("Algorithm")); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHTNAME", phtName), Pvl::Replace); + } + phtLog += PvlKeyword("PHTNAME", phtName); + + if (phtName == "HAPKEHEN" || phtName == "HAPKELEG") { + if (parMap.contains("THETA")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("THETA", toString(toDouble(parMap["THETA"]))), + Pvl::Replace); + } else if (ui.WasEntered("THETA")) { + QString keyval = ui.GetString("THETA"); + double theta = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("THETA", toString(theta)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("THETA")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the THETA parameter."; + message += "The normal range for THETA is: 0 <= THETA <= 90"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("THETA"); + if (parMap.contains("WH")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WH", toString(toDouble(parMap["WH"]))), + Pvl::Replace); + } else if (ui.WasEntered("WH")) { + QString keyval = ui.GetString("WH"); + double wh = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("WH", toString(wh)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("WH")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the WH parameter."; + message += "The normal range for WH is: 0 < WH <= 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("WH"); + if (parMap.contains("HH")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HH", toString(toDouble(parMap["HH"]))), + Pvl::Replace); + } else if (ui.WasEntered("HH")) { + QString keyval = ui.GetString("HH"); + double hh = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HH", toString(hh)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("HH")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the HH parameter."; + message += "The normal range for HH is: 0 <= HH"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("HH"); + if (parMap.contains("B0")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("B0", toString(toDouble(parMap["B0"]))), + Pvl::Replace); + } else if (ui.WasEntered("B0")) { + QString keyval = ui.GetString("B0"); + double b0 = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("B0", toString(b0)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("B0")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the B0 parameter."; + message += "The normal range for B0 is: 0 <= B0"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("B0"); + if (parMap.contains("ZEROB0STANDARD")) { + if (parMap["ZEROB0STANDARD"].toStdString() == "TRUE") { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ZEROB0STANDARD", "TRUE"), Pvl::Replace); + } else if (parMap["ZEROB0STANDARD"].toStdString() == "FALSE") { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ZEROB0STANDARD", "FALSE"), Pvl::Replace); + } else { + QString message = "The " + phtName + + " Photometric model requires a value for the " + "ZEROB0STANDARD parameter."; + message += "The valid values for ZEROB0STANDARD are: TRUE, FALSE"; + throw IException(IException::User, message, _FILEINFO_); + } + } else if (ui.GetString("ZEROB0STANDARD") != "READFROMPVL") { + if (ui.GetString("ZEROB0STANDARD") == "TRUE") { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ZEROB0STANDARD", "TRUE"), Pvl::Replace); + } else if (ui.GetString("ZEROB0STANDARD") == "FALSE") { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ZEROB0STANDARD", "FALSE"), Pvl::Replace); + } + } else if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("ZEROB0STANDARD")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("ZEROB0STANDARD", "TRUE"), Pvl::Replace); + } + QString zerob0 = (QString)toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("ZEROB0STANDARD"); + QString izerob0 = zerob0; + izerob0 = izerob0.toUpper(); + if (izerob0 != "TRUE" && izerob0 != "FALSE") { + QString message = "The " + phtName + + " Photometric model requires a value for the " + "ZEROB0STANDARD parameter."; + message += "The valid values for ZEROB0STANDARD are: TRUE, FALSE"; + throw IException(IException::User, message, _FILEINFO_); + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("ZEROB0STANDARD"); + if (phtName == "HAPKEHEN") { + if (parMap.contains("HG1")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HG1", toString(toDouble(parMap["HG1"]))), + Pvl::Replace); + } else if (ui.WasEntered("HG1")) { + QString keyval = ui.GetString("HG1"); + double hg1 = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HG1", toString(hg1)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("HG1")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the HG1 parameter."; + message += "The normal range for HG1 is: -1 < HG1 < 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("HG1"); + if (parMap.contains("HG2")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HG2", toString(toDouble(parMap["HG2"]))), + Pvl::Replace); + } else if (ui.WasEntered("HG2")) { + QString keyval = ui.GetString("HG2"); + double hg2 = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("HG2", toString(hg2)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("HG2")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the HG2 parameter."; + message += "The normal range for HG2 is: 0 <= HG2 <= 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("HG2"); + } else { + if (parMap.contains("BH")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BH", toString(toDouble(parMap["BH"]))), + Pvl::Replace); + } else if (ui.WasEntered("BH")) { + QString keyval = ui.GetString("BH"); + double bh = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("BH", toString(bh)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("BH")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the BH parameter."; + message += "The normal range for BH is: -1 <= BH <= 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("BH"); + if (parMap.contains("CH")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("CH", toString(toDouble(parMap["CH"]))), + Pvl::Replace); + } else if (ui.WasEntered("CH")) { + QString keyval = ui.GetString("CH"); + double ch = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("CH", toString(ch)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("CH")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the CH parameter."; + message += "The normal range for CH is: -1 <= CH <= 1"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("CH"); + } + } else if (phtName == "LUNARLAMBERTEMPIRICAL" || + phtName == "MINNAERTEMPIRICAL") { + if (parMap.contains("PHASELIST")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHASELIST", parMap["PHASELIST"]), + Pvl::Replace); + } else if (ui.WasEntered("PHASELIST")) { + QString keyval = ui.GetString("PHASELIST"); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHASELIST", keyval), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("PHASELIST")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the PHASELIST parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("PHASELIST"); + if (parMap.contains("PHASECURVELIST")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHASECURVELIST", parMap["PHASECURVELIST"]), + Pvl::Replace); + } else if (ui.WasEntered("PHASECURVELIST")) { + QString keyval = ui.GetString("PHASECURVELIST"); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("PHASECURVELIST", keyval), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("PHASECURVELIST")) { + QString message = "The " + phtName + + " Photometric model requires a value for the " + "PHASECURVELIST parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("PHASECURVELIST"); + if (phtName == "LUNARLAMBERTEMPIRICAL") { + if (parMap.contains("LLIST")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("LLIST", parMap["LLIST"]), Pvl::Replace); + } else if (ui.WasEntered("LLIST")) { + QString keyval = ui.GetString("LLIST"); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("LLIST", keyval), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("LLIST")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the LLIST parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("LLIST"); + } else { + if (parMap.contains("KLIST")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("KLIST", parMap["KLIST"]), Pvl::Replace); + } else if (ui.WasEntered("KLIST")) { + QString keyval = ui.GetString("KLIST"); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("KLIST", keyval), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("KLIST")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the KLIST parameter."; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("KLIST"); + } + } else if (phtName == "LUNARLAMBERT") { + if (parMap.contains("L")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("L", toString(toDouble(parMap["L"]))), + Pvl::Replace); + } else if (ui.WasEntered("L")) { + QString keyval = ui.GetString("L"); + double l = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("L", toString(l)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("L")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the L parameter."; + message += "The L parameter has no limited range"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("L"); + } else if (phtName == "MINNAERT") { + if (parMap.contains("K")) { + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("K", toString(toDouble(parMap["K"]))), + Pvl::Replace); + } else if (ui.WasEntered("K")) { + QString keyval = ui.GetString("K"); + double k = toDouble(keyval); + toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .addKeyword(PvlKeyword("K", toString(k)), Pvl::Replace); + } else { + if (!toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .hasKeyword("K")) { + QString message = + "The " + phtName + + " Photometric model requires a value for the K parameter."; + message += "The normal range for K is: 0 <= K"; + throw IException(IException::User, message, _FILEINFO_); + } + } + phtLog += toPhtPvl.findObject("PhotometricModel") + .findGroup("Algorithm") + .findKeyword("K"); + } + appLog->addLogGroup(phtLog); + + PvlObject normObj = toNormPvl.findObject("NormalizationModel"); + PvlObject phtObj = toPhtPvl.findObject("PhotometricModel"); + PvlObject atmObj; + if (normName == "ALBEDOATM" || normName == "SHADEATM" || + normName == "TOPOATM") { + atmObj = toAtmPvl.findObject("AtmosphericModel"); + } + + Pvl par; + par.addObject(normObj); + par.addObject(phtObj); + if (normName == "ALBEDOATM" || normName == "SHADEATM" || + normName == "TOPOATM") { + par.addObject(atmObj); + } + + // Set value for maximum emission/incidence angles chosen by user + maxema = ui.GetDouble("MAXEMISSION"); + maxinc = ui.GetDouble("MAXINCIDENCE"); + usedem = ui.GetBoolean("USEDEM"); + + // determine how photometric angles should be calculated + angleSource = ui.GetString("ANGLESOURCE"); + + if ((normName == "TOPO" || normName == "MIXED") && angleSource == "DEM") { + QString message = "The " + normName + + " Normalized model is not recommended for use with the " + + angleSource + " Angle Source option"; + PvlGroup warning("Warnings"); + warning.addKeyword(PvlKeyword("Warning", message)); + appLog->addLogGroup(warning); + } + // Get camera information if needed + if (angleSource == "ELLIPSOID" || angleSource == "DEM" || + angleSource == "CENTER_FROM_IMAGE") { + // Set up the input cube + p.SetInputCube(icube); + cam = icube->camera(); + } else { + p.SetInputCube(icube); + } + + // Create the output cube + CubeAttributeOutput &att = ui.GetOutputAttribute("TO"); + p.SetOutputCube(ui.GetCubeName("TO"), att); + + Pvl inLabel; + inLabel.read(ui.GetCubeName("FROM")); + + // If the source of photometric angles is the center of the image, + // then get the angles at the center of the image. + if (angleSource == "CENTER_FROM_IMAGE") { + cam->SetImage(cam->Samples() / 2, cam->Lines() / 2); + centerPhase = cam->PhaseAngle(); + centerIncidence = cam->IncidenceAngle(); + centerEmission = cam->EmissionAngle(); + } else if (angleSource == "CENTER_FROM_LABEL") { + centerPhase = inLabel.findKeyword("PhaseAngle", Pvl::Traverse); + centerIncidence = inLabel.findKeyword("IncidenceAngle", Pvl::Traverse); + centerEmission = inLabel.findKeyword("EmissionAngle", Pvl::Traverse); + } else if (angleSource == "CENTER_FROM_USER") { + centerPhase = ui.GetDouble("PHASE_ANGLE"); + centerIncidence = ui.GetDouble("INCIDENCE_ANGLE"); + centerEmission = ui.GetDouble("EMISSION_ANGLE"); + } else if (angleSource == "BACKPLANE") { + useBackplane = true; + CubeAttributeInput cai; + CubeAttributeInput phaseCai; + CubeAttributeInput incidenceCai; + CubeAttributeInput emissionCai; + if (ui.WasEntered("PHASE_ANGLE_FILE")) { + phaseCai = ui.GetInputAttribute("PHASE_ANGLE_FILE"); + p.SetInputCube(ui.GetCubeName("PHASE_ANGLE_FILE"), phaseCai); + usePhasefile = true; + } else { + phaseAngle = ui.GetDouble("PHASE_ANGLE"); + } + if (ui.WasEntered("INCIDENCE_ANGLE_FILE")) { + incidenceCai = ui.GetInputAttribute("INCIDENCE_ANGLE_FILE"); + p.SetInputCube(ui.GetCubeName("INCIDENCE_ANGLE_FILE"), incidenceCai); + useIncidencefile = true; + } else { + incidenceAngle = ui.GetDouble("INCIDENCE_ANGLE"); + } + if (ui.WasEntered("EMISSION_ANGLE_FILE")) { + emissionCai = ui.GetInputAttribute("EMISSION_ANGLE_FILE"); + p.SetInputCube(ui.GetCubeName("EMISSION_ANGLE_FILE"), emissionCai); + useEmissionfile = true; + } else { + emissionAngle = ui.GetDouble("EMISSION_ANGLE"); + } + } + + // Get the BandBin Center from the image + PvlGroup pvlg = inLabel.findGroup("BandBin", Pvl::Traverse); + double wl; + if (pvlg.hasKeyword("Center")) { + PvlKeyword &wavelength = pvlg.findKeyword("Center"); + wl = toDouble(wavelength[0]); + } else { + wl = 1.0; + } + + // Create the photometry object and set the wavelength + PvlGroup &algo = par.findObject("NormalizationModel") + .findGroup("Algorithm", Pvl::Traverse); + if (!algo.hasKeyword("Wl")) { + algo.addKeyword(Isis::PvlKeyword("Wl", toString(wl))); + } + pho = new Photometry(par); + pho->SetPhotomWl(wl); + + auto photometWithBackplane = [&](std::vector &in, + std::vector &out) -> void { + Buffer &image = *in[0]; + int index = 1; + Buffer &phasebp = *in[1]; + if (usePhasefile) { + index = index + 1; + } + Buffer &incidencebp = *in[index]; + if (useIncidencefile) { + index = index + 1; + } + Buffer &emissionbp = *in[index]; + + Buffer &outimage = *out[0]; + + double deminc = 0., demema = 0., mult = 0., base = 0.; + double ellipsoidpha = 0., ellipsoidinc = 0., ellipsoidema = 0.; + + for (int i = 0; i < image.size(); i++) { + // if special pixel, copy to output + if (!IsValidPixel(image[i])) { + outimage[i] = image[i]; + } + + // if off the target, set to null + else if ((angleSource == "ELLIPSOID" || angleSource == "DEM" || + angleSource == "CENTER_FROM_IMAGE") && + (!cam->SetImage(image.Sample(i), image.Line(i)))) { + outimage[i] = NULL8; + } + + // otherwise, compute angle values + else { + if (usePhasefile) { + ellipsoidpha = phasebp[i]; + } else { + ellipsoidpha = phaseAngle; + } + if (useIncidencefile) { + ellipsoidinc = incidencebp[i]; + } else { + ellipsoidinc = incidenceAngle; + } + if (useEmissionfile) { + ellipsoidema = emissionbp[i]; + } else { + ellipsoidema = emissionAngle; + } + deminc = ellipsoidinc; + demema = ellipsoidema; + + // if invalid angles, set to null + if (!IsValidPixel(ellipsoidpha) || !IsValidPixel(ellipsoidinc) || + !IsValidPixel(ellipsoidema)) { + outimage[i] = NULL8; + } else if (deminc >= 90.0 || demema >= 90.0) { + outimage[i] = NULL8; + } + // if angles greater than max allowed by user, set to null + else if (deminc > maxinc || demema > maxema) { + outimage[i] = NULL8; + } + // otherwise, do photometric correction + else { + pho->Compute(ellipsoidpha, ellipsoidinc, ellipsoidema, deminc, demema, + image[i], outimage[i], mult, base); + } + } + } + }; + + auto photomet = [&](Buffer &in, Buffer &out) -> void { + double deminc = 0., demema = 0., mult = 0., base = 0.; + double ellipsoidpha = 0., ellipsoidinc = 0., ellipsoidema = 0.; + + for (int i = 0; i < in.size(); i++) { + // if special pixel, copy to output + if (!IsValidPixel(in[i])) { + out[i] = in[i]; + } + + // if off the target, set to null + else if ((angleSource == "ELLIPSOID" || angleSource == "DEM" || + angleSource == "CENTER_FROM_IMAGE") && + (!cam->SetImage(in.Sample(i), in.Line(i)))) { + out[i] = NULL8; + } + + // otherwise, compute angle values + else { + bool success = true; + if (angleSource == "CENTER_FROM_IMAGE" || + angleSource == "CENTER_FROM_LABEL" || + angleSource == "CENTER_FROM_USER") { + ellipsoidpha = centerPhase; + ellipsoidinc = centerIncidence; + ellipsoidema = centerEmission; + deminc = centerIncidence; + demema = centerEmission; + } else { + // calculate photometric angles + ellipsoidpha = cam->PhaseAngle(); + ellipsoidinc = cam->IncidenceAngle(); + ellipsoidema = cam->EmissionAngle(); + if (angleSource == "DEM") { + Angle phase, incidence, emission; + cam->LocalPhotometricAngles(phase, incidence, emission, success); + if (success) { + deminc = incidence.degrees(); + demema = emission.degrees(); + } + } else if (angleSource == "ELLIPSOID") { + deminc = ellipsoidinc; + demema = ellipsoidema; + } + } + + // if invalid angles, set to null + if (!success) { + out[i] = NULL8; + } + // otherwise, do photometric correction + else { + pho->Compute(ellipsoidpha, ellipsoidinc, ellipsoidema, deminc, demema, + in[i], out[i], mult, base); + } + } + } + // Trim + if (!usedem) { + cam->IgnoreElevationModel(true); + } + double trimInc = 0, trimEma = 0; + // bool success = true; + for (int i = 0; i < in.size(); i++) { + // if off the target, set to null + if (!cam->SetImage(in.Sample(i), in.Line(i))) { + out[i] = NULL8; + // success = false; + } else { + trimInc = cam->IncidenceAngle(); + trimEma = cam->EmissionAngle(); + } + + if (trimInc > maxinc || trimEma > maxema) { + out[i] = NULL8; + } + } + cam->IgnoreElevationModel(false); + }; + + // Start the processing + if (useBackplane) { + p.ProcessCubes(photometWithBackplane, false); + } else { + p.ProcessCube(photomet, false); + } + p.EndProcess(); +} +} // namespace Isis \ No newline at end of file diff --git a/isis/src/base/apps/photomet/photomet.h b/isis/src/base/apps/photomet/photomet.h new file mode 100644 index 0000000000..0eb35015e7 --- /dev/null +++ b/isis/src/base/apps/photomet/photomet.h @@ -0,0 +1,20 @@ +/** This is free and unencumbered software released into the public domain. + +The authors of ISIS do not claim copyright on the contents of this file. +For more details about the LICENSE terms and the AUTHORS, you will +find files of those names at the top level of this repository. **/ + +/* SPDX-License-Identifier: CC0-1.0 */ + +#ifndef photomet_h +#define photomet_h + +#include "Cube.h" +#include "UserInterface.h" + +namespace Isis { + extern void photomet(Cube *icube, UserInterface &ui, Pvl *appLog); + extern void photomet(UserInterface &ui, Pvl *appLog); +} + +#endif \ No newline at end of file diff --git a/isis/src/base/apps/photomet/tsts/Makefile b/isis/src/base/apps/photomet/tsts/Makefile deleted file mode 100644 index 46d84c74c2..0000000000 --- a/isis/src/base/apps/photomet/tsts/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -BLANKS = "%-6s" -LENGTH = "%-40s" - -include $(ISISROOT)/make/isismake.tststree diff --git a/isis/src/base/apps/photomet/tsts/clemMaxemiMaxinc/Makefile b/isis/src/base/apps/photomet/tsts/clemMaxemiMaxinc/Makefile deleted file mode 100644 index 6e57cf5095..0000000000 --- a/isis/src/base/apps/photomet/tsts/clemMaxemiMaxinc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/lub2303j.191.lev1.cub \ - to=$(OUTPUT)/lub2303j.191.lev1.phot.cub \ - frompvl=$(INPUT)/clem.pvl \ - maxe=4.0 maxi=5.0 normname=moonalbedo \ - phtname=lunarlambertmcewen xmul=1.0 wl=1.0 \ - xb1=-.0817 xb2=.0081 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/clemMaxemission/Makefile b/isis/src/base/apps/photomet/tsts/clemMaxemission/Makefile deleted file mode 100644 index 96953cec46..0000000000 --- a/isis/src/base/apps/photomet/tsts/clemMaxemission/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/lub2303j.191.lev1.cub \ - to=$(OUTPUT)/lub2303j.191.lev1.phot.cub \ - frompvl=$(INPUT)/clem.pvl maxemission=4.0 \ - normname=moonalbedo phtname=lunarlambertmcewen \ - xmul=1.0 wl=1.0 xb1=-.0817 xb2=.0081 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/clemMaxincidence/Makefile b/isis/src/base/apps/photomet/tsts/clemMaxincidence/Makefile deleted file mode 100644 index ace78d5146..0000000000 --- a/isis/src/base/apps/photomet/tsts/clemMaxincidence/Makefile +++ /dev/null @@ -1,10 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/lub2303j.191.lev1.cub \ - to=$(OUTPUT)/lub2303j.191.lev1.phot.cub \ - frompvl=$(INPUT)/clem.pvl maxincidence=5.0 \ - normname=moonalbedo phtname=lunarlambertmcewen \ - xmul=1.0 wl=1.0 xb1=-.0817 xb2=.0081 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/clementine/Makefile b/isis/src/base/apps/photomet/tsts/clementine/Makefile deleted file mode 100644 index 1d34e76053..0000000000 --- a/isis/src/base/apps/photomet/tsts/clementine/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/lub2303j.191.lev1.cub \ - to=$(OUTPUT)/lub2303j.191.lev1.phot.cub \ - frompvl=$(INPUT)/clem.pvl normname=moonalbedo \ - phtname=lunarlambertmcewen > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/messMaxemiMaxinc/Makefile b/isis/src/base/apps/photomet/tsts/messMaxemiMaxinc/Makefile deleted file mode 100644 index f12abc9f63..0000000000 --- a/isis/src/base/apps/photomet/tsts/messMaxemiMaxinc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/EN0031257484M.iof.cub \ - to=$(OUTPUT)/EN0031257484M.phot.cub \ - frompvl=$(INPUT)/pvlfile.txt maxe=75.0 \ - maxi=75.0 normname=albedo phtname=hapkehen \ - incref=0.0 incmat=0.0 thresh=30.0 albedo=1.0 wh=0.5 \ - hh=0.0 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/messMaxemission/Makefile b/isis/src/base/apps/photomet/tsts/messMaxemission/Makefile deleted file mode 100644 index bb47d6e1d2..0000000000 --- a/isis/src/base/apps/photomet/tsts/messMaxemission/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/EN0031257484M.iof.cub \ - to=$(OUTPUT)/EN0031257484M.phot.cub \ - frompvl=$(INPUT)/pvlfile.txt maxemission=75 \ - normname=albedo phtname=hapkehen incref=0.0 \ - incmat=0.0 thresh=30.0 albedo=1.0 wh=0.5 \ - hh=0.0 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/messMaxincidence/Makefile b/isis/src/base/apps/photomet/tsts/messMaxincidence/Makefile deleted file mode 100644 index 312cabb9bf..0000000000 --- a/isis/src/base/apps/photomet/tsts/messMaxincidence/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/EN0031257484M.iof.cub \ - to=$(OUTPUT)/EN0031257484M.phot.cub \ - frompvl=$(INPUT)/pvlfile.txt maxincidence=75 \ - normname=albedo phtname=hapkehen incref=0.0 \ - incmat=0.0 thresh=30.0 albedo=1.0 wh=0.5 \ - hh=0.0 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/messcmdline/Makefile b/isis/src/base/apps/photomet/tsts/messcmdline/Makefile deleted file mode 100644 index aaa4caf9bd..0000000000 --- a/isis/src/base/apps/photomet/tsts/messcmdline/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/EN0213240738M.lev1.cub \ - to=$(OUTPUT)/EN0213240738M.lev1_phot.cub \ - maxemission=85.0 maxincidence=89.0 phtname=hapkehen \ - theta=6.021327012 wh=0.283104821 hg1=0.246493283 \ - hg2=0.559208947 hh=0.075 b0=2.3 zerob0standard=false \ - normname=albedo incref=30.0 incmat=0.0 thresh=10e30 albedo=1.0 \ - > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/messenger/Makefile b/isis/src/base/apps/photomet/tsts/messenger/Makefile deleted file mode 100644 index 05cffbb313..0000000000 --- a/isis/src/base/apps/photomet/tsts/messenger/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/EN0031257484M.iof.cub \ - to=$(OUTPUT)/EN0031257484M.phot.cub \ - frompvl=$(INPUT)/pvlfile.txt \ - normname=albedo phtname=hapkehen incref=0.0 \ - incmat=0.0 thresh=30.0 albedo=1.0 wh=0.5 \ - hh=0.0 > /dev/null; diff --git a/isis/src/base/apps/photomet/tsts/testDemWarning/Makefile b/isis/src/base/apps/photomet/tsts/testDemWarning/Makefile deleted file mode 100644 index b3001e48bd..0000000000 --- a/isis/src/base/apps/photomet/tsts/testDemWarning/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -APPNAME = photomet - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceDemUsedemFalse.cub \ - maxemission=87.0 \ - anglesource=dem \ - phtname=minnaert \ - k=0.5 \ - normname=mixed \ - incref=0 \ - incmat=80 \ - thresh=30 \ - albedo=1.0 > $(OUTPUT)/test_mix_DEM.pvl; - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceDemUsedemFalse.cub \ - maxemission=87.0 \ - anglesource=dem \ - phtname=minnaert \ - k=0.5 \ - normname=topo \ - incref=0 \ - thresh=30 \ - albedo=1.0 > $(OUTPUT)/test_topo_DEM.pvl; - - $(RM) $(OUTPUT)/angleSourceDemUsedemFalse.cub ; diff --git a/isis/src/base/apps/photomet/tsts/useDem/Makefile b/isis/src/base/apps/photomet/tsts/useDem/Makefile deleted file mode 100644 index 9b71434235..0000000000 --- a/isis/src/base/apps/photomet/tsts/useDem/Makefile +++ /dev/null @@ -1,53 +0,0 @@ -APPNAME = photomet - -angleSourceDemUsedemFalse.cub.TOLERANCE = 0.001 -angleSourceDemUsedemTrue.cub.TOLERANCE = 0.001 - -include $(ISISROOT)/make/isismake.tsts - -commands: - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceDemUsedemFalse.cub \ - maxemission=87.0 \ - anglesource=dem \ - phtname=minnaert \ - k=0.5 \ - normname=albedo \ - incref=0 \ - incmat=80 \ - thresh=30 \ - albedo=1.0 > /dev/null; - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceEllipsoidUsedemFalse.cub \ - maxemission=87.0 \ - phtname=minnaert \ - k=0.5 \ - normname=albedo \ - incref=0 \ - incmat=80 \ - thresh=30 \ - albedo=1.0 > /dev/null; - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceEllipsoidUsedemTrue.cub \ - maxemission=87.0 \ - usedem=yes \ - phtname=minnaert \ - k=0.5 \ - normname=albedo \ - incref=0 \ - incmat=80 \ - thresh=30 \ - albedo=1.0 > /dev/null; - $(APPNAME) from=$(INPUT)/cropped.cub \ - to=$(OUTPUT)/angleSourceDemUsedemTrue.cub \ - maxemission=87.0 \ - anglesource=dem \ - usedem=yes \ - phtname=minnaert \ - k=0.5 \ - normname=albedo \ - incref=0 \ - incmat=80 \ - thresh=30 \ - albedo=1.0 > /dev/null; - diff --git a/isis/tests/FunctionalTestsPhotomet.cpp b/isis/tests/FunctionalTestsPhotomet.cpp new file mode 100644 index 0000000000..075b46a03e --- /dev/null +++ b/isis/tests/FunctionalTestsPhotomet.cpp @@ -0,0 +1,316 @@ +#include "photomet.h" + +#include + +#include "Histogram.h" +#include "PvlGroup.h" +#include "TestUtilities.h" + +#include "gmock/gmock.h" + +using namespace Isis; + +static QString APP_XML = FileName("$ISISROOT/bin/xml/photomet.xml").expanded(); + +TEST(Photomet, FunctionalTestPhotometClementine) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/lub2303j.191.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/clem.pvl", "normname=moonalbedo", + "phtname=lunarlambertmcewen"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 57.865063346038504, .000001); + EXPECT_NEAR(hist->Sum(), 6399413.0855650902, .000001); + EXPECT_EQ(hist->ValidPixels(), 110592); + EXPECT_NEAR(hist->StandardDeviation(), 5.0229621098463886, .000001); +} + +TEST(Photomet, FunctionalTestPhotometClemMaxemiMaxinc) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/lub2303j.191.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/clem.pvl", "maxe=4.0", "maxi=5.0", "normname=moonalbedo", + "phtname=lunarlambertmcewen", "xmul=1.0", "wl=1.0", "xb1=-.0817", "xb2=.0081"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 55.491706688909559, .000001); + EXPECT_NEAR(hist->Sum(), 2439415.4260444641, .000001); + EXPECT_EQ(hist->ValidPixels(), 43960); + EXPECT_NEAR(hist->StandardDeviation(), 4.0919312912337835, .000001); +} + +TEST(Photomet, FunctionalTestPhotometClemMaxemission) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/lub2303j.191.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/clem.pvl", "maxemission=4.0", + "normname=moonalbedo", "phtname=lunarlambertmcewen", "xmul=1.0", + "wl=1.0", "xb1=-.0817", "xb2=.0081"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 58.134963167604397, .000001); + EXPECT_NEAR(hist->Sum(), 6094695.1336021423, .000001); + EXPECT_EQ(hist->ValidPixels(), 104837); + EXPECT_NEAR(hist->StandardDeviation(), 4.7295549270234245, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessCmdline) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "maxemission=85.0", "maxincidence=89.0", "phtname=hapkehen", + "theta=6.021327012", "wh=0.283104821", "hg1=0.246493283", + "hg2=0.559208947", "hh=0.075", "b0=2.3", "zerob0standard=false", + "normname=albedo", "incref=30.0", "incmat=0.0", "thresh=10e30", "albedo=1.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 0.05943594115596508, .000001); + EXPECT_NEAR(hist->Sum(), 15489.481752773747, .000001); + EXPECT_EQ(hist->ValidPixels(), 260608); + EXPECT_NEAR(hist->StandardDeviation(), 0.026528112345021105, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessenger) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/pvlfile.txt", "normname=albedo", "phtname=hapkehen", "incref=0.0", + "incmat=0.0", "thresh=30.0", "albedo=1.0", "wh=0.5", "hh=0.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 0.12118244647528577, .000001); + EXPECT_NEAR(hist->Sum(), 31581.115011031274, .000001); + EXPECT_EQ(hist->ValidPixels(), 260608); + EXPECT_NEAR(hist->StandardDeviation(), 0.054088426877270515, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessMaxemiMaxinc) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/pvlfile.txt", "maxe=75.0", "maxi=75.0", "normname=albedo", + "phtname=hapkehen", "incref=0.0", "incmat=0.0", "thresh=30.0", + "albedo=1.0", "wh=0.5", "hh=0.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), -1.7976931348623149e+308, .000001); + EXPECT_EQ(hist->Sum(), 0); + EXPECT_EQ(hist->ValidPixels(), 0); + EXPECT_NEAR(hist->StandardDeviation(), -1.7976931348623149e+308, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessMaxemission) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/pvlfile.txt", "maxe=75.0", "normname=albedo", + "phtname=hapkehen", "incref=0.0", "incmat=0.0", "thresh=30.0", + "albedo=1.0", "wh=0.5", "hh=0.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 0.12118244647528577, .000001); + EXPECT_NEAR(hist->Sum(), 31581.115011031274, .000001); + EXPECT_EQ(hist->ValidPixels(), 260608); + EXPECT_NEAR(hist->StandardDeviation(), 0.054088426877270515, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessMaxincidence) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "frompvl=data/photomet/pvlfile.txt", "maxincidence=75", "normname=albedo", + "phtname=hapkehen", "incref=0.0", "incmat=0.0", "thresh=30.0", + "albedo=1.0", "wh=0.5", "hh=0.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), -1.7976931348623149e+308, .000001); + EXPECT_EQ(hist->Sum(), 0); + EXPECT_EQ(hist->ValidPixels(), 0); + EXPECT_NEAR(hist->StandardDeviation(), -1.7976931348623149e+308, .000001); +} + +TEST(Photomet, FunctionalTestPhotometMessBackplane) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/EN0213240738M.lev1.cub", "to=" + cubeFileName, + "phase_angle_file=data/photomet/EN0213240738M.lev1.cub", + "incidence_angle_file=data/photomet/EN0213240738M.lev1.cub", + "emission_angle_file=data/photomet/EN0213240738M.lev1.cub", + "anglesource=backplane", "normname=albedo", "phtname=hapkehen", "incref=0.0", + "incmat=0.0", "thresh=30.0", "albedo=1.0", "wh=0.5", "hh=0.0", "theta=90", + "B0=0", "hg1=0.235185185", "hg2=0.221193416", "hh=0.378600823"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), -1.7976931348623149e+308, .000001); + EXPECT_EQ(hist->Sum(), 0); + EXPECT_EQ(hist->ValidPixels(), 0); + EXPECT_NEAR(hist->StandardDeviation(), -1.7976931348623149e+308, .000001); +} + +TEST(Photomet, FunctionalTestPhotometTestDemWarningMixed) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "anglesource=dem", + "phtname=minnaert", "k=0.5", "normname=mixed", "incref=0", + "incmat=80", "thresh=30", "albedo=1.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + PvlGroup warning = log.findGroup("Warnings"); + EXPECT_PRED_FORMAT2(AssertQStringsEqual, warning["Warning"], "The MIXED Normalized model is not recommended for use with the DEM Angle Source option"); +} + +TEST(Photomet, FunctionalTestPhotometTestDemWarningTopo) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "anglesource=dem", + "phtname=minnaert", "k=0.5", "normname=topo", "incref=0", + "thresh=30", "albedo=1.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + PvlGroup warning = log.findGroup("Warnings"); + EXPECT_PRED_FORMAT2(AssertQStringsEqual, warning["Warning"], "The TOPO Normalized model is not recommended for use with the DEM Angle Source option"); +} + +TEST(Photomet, FunctionalTestPhotometTestAngleSourceDemUseDemFalse) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "anglesource=dem", + "phtname=minnaert", "k=0.5", "normname=albedo", "incref=0", + "thresh=30","incmat=80", "albedo=1.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 14792.765466992187, .000001); + EXPECT_NEAR(hist->Sum(), 147927654.66992188, .000001); + EXPECT_EQ(hist->ValidPixels(), 10000); + EXPECT_NEAR(hist->StandardDeviation(), 658.03792272969724, .000001); +} + +TEST(Photomet, FunctionalTestPhotometTestAngleSourceEllipsoidUseDemFalse) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "phtname=minnaert", "k=0.5", "normname=albedo", "incref=0", + "thresh=30","incmat=80", "albedo=1.0"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 14749.07615234375, .000001); + EXPECT_NEAR(hist->Sum(), 147490761.5234375, .000001); + EXPECT_EQ(hist->ValidPixels(), 10000); + EXPECT_NEAR(hist->StandardDeviation(), 563.58172889222919, .000001); +} + +TEST(Photomet, FunctionalTestPhotometTestAngleSourceEllipsoidUseDemTrue) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "phtname=minnaert", "k=0.5", "normname=albedo", "incref=0", + "thresh=30","incmat=80", "albedo=1.0", "usedem=yes"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 14749.07615234375, .000001); + EXPECT_NEAR(hist->Sum(), 147490761.5234375, .000001); + EXPECT_EQ(hist->ValidPixels(), 10000); + EXPECT_NEAR(hist->StandardDeviation(), 563.58172889222919, .000001); +} + +TEST(Photomet, FunctionalTestPhotometTestAngleSourceDemUseDemTrue) { + QTemporaryDir prefix; + Pvl log; + QString cubeFileName = prefix.path() + "/photometTEMP.cub"; + QVector args = {"from=data/photomet/cropped.cub", "to=" + cubeFileName, + "maxemission=87.0", "phtname=minnaert", "anglesource=dem", "k=0.5", "normname=albedo", "incref=0", + "thresh=30","incmat=80", "albedo=1.0", "usedem=yes"}; + UserInterface options(APP_XML, args); + + photomet(options, &log); + + Cube cube(cubeFileName); + + std::unique_ptr hist (cube.histogram(0)); + EXPECT_NEAR(hist->Average(), 14792.765466992187, .000001); + EXPECT_NEAR(hist->Sum(), 147927654.66992188, .000001); + EXPECT_EQ(hist->ValidPixels(), 10000); + EXPECT_NEAR(hist->StandardDeviation(), 658.03792272969724, .000001); +} \ No newline at end of file diff --git a/isis/tests/data/photomet/EN0213240738M.lev1.cub b/isis/tests/data/photomet/EN0213240738M.lev1.cub new file mode 100644 index 0000000000..ea31353acc --- /dev/null +++ b/isis/tests/data/photomet/EN0213240738M.lev1.cub @@ -0,0 +1,4487 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 512 + TileLines = 512 + + Group = Dimensions + Samples = 512 + Lines = 512 + Bands = 1 + End_Group + + Group = Pixels + Type = Real + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = Messenger + InstrumentName = "MERCURY DUAL IMAGING SYSTEM NARROW ANGLE CAMERA" + InstrumentId = MDIS-NAC + TargetName = Mercury + OriginalTargetName = MERCURY + StartTime = 2011-05-07T07:27:50.677711 + StopTime = 2011-05-07T07:27:50.701711 + SpacecraftClockCount = 1/0213240738:966000 + MissionPhaseName = "MERCURY ORBIT" + ExposureDuration = 24 + ExposureType = AUTO + DetectorTemperature = -40.63 + FocalPlaneTemperature = -28.76 + FilterTemperature = N/A + OpticsTemperature = -29.10 + AttitudeQuality = Ok + FilterWheelPosition = 50088 + PivotPosition = -2421 + FpuBinningMode = 1 + PixelBinningMode = 0 + SubFrameMode = 0 + JailBars = 0 + DpuId = DPU-A + PivotAngle = -6.6494750976562 + Unlutted = 1 + LutInversionTable = $messenger/calibration/LUT_INVERT/MDISLUTINV_0.TAB + End_Group + + Group = Archive + DataSetId = MESS-E/V/H-MDIS-2-EDR-RAWDATA-V1.0 + DataQualityId = 0000000000000000 + ProducerId = "APPLIED COHERENT TECHNOLOGY CORPORATION" + EdrSourceProductId = 0213240738_IM5WV + ProductId = CN0213240738M_IF_4 + SequenceName = N/A + ObservationId = 222840 + ObservationType = Monochrome + SiteId = N/A + MissionElapsedTime = 213240738 + EdrProductCreationTime = 2011-05-25T21:56:28 + ObservationStartTime = 2011-05-07T07:27:50.677711 + SpacecraftClockStartCount = 1/0213240738:966000 + SpacecraftClockStopCount = 1/0213240738:990000 + Exposure = 24 + CCDTemperature = 1033 + OriginalFilterNumber = 0 + OrbitNumber = 100 + YearDoy = 2011127 + SourceProductId = (EN0213240738M, MDISLUTINV_0, + MDISNAC_BINNED_DARKMODEL_0, + MDISNAC_BINNED_FLAT_2, MDISNAC_BINNED_RESP_3, + MDISNAC_SOLAR_0) + End_Group + + Group = BandBin + Name = "748 BP 53" + Number = 2 + Center = 747.7 + Width = 52.6 + End_Group + + Group = Kernels + NaifIkCode = -236820 + LeapSecond = $base/kernels/lsk/naif0010.tls + TargetAttitudeShape = $messenger/kernels/pck/pck00010_MSGR_v10.tpc + TargetPosition = (Table, $messenger/kernels/tspk/de423s.bsp) + InstrumentPointing = (Table, $messenger/kernels/ck/msgr20110504.bc, + $messenger/kernels/ck/msgr20110505.bc, + $messenger/kernels/ck/msgr20110506.bc, + $messenger/kernels/ck/msgr20110507.bc, + $messenger/kernels/ck/msgr20110508.bc, + $messenger/kernels/ck/0261918444_0851_mdis_at- + thist.bc, + $messenger/kernels/ck/0261773330_157346_mdis_- + pivot_pvtres.bc, + $messenger/kernels/fk/msgr_v220.tf) + Instrument = $messenger/kernels/ik/msgr_mdis_v131.ti + SpacecraftClock = $messenger/kernels/sclk/messenger_1678.tsc + InstrumentPosition = (Table, + $messenger/kernels/spk/msgr_20040803_20140822- + _od295sc_0.bsp) + InstrumentAddendum = $messenger/kernels/iak/mdisAddendum008.ti + ShapeModel = Null + InstrumentPositionQuality = Reconstructed + InstrumentPointingQuality = Reconstructed + CameraVersion = 2 + End_Group + + Group = RadiometricCalibration + SoftwareName = mdiscal + SoftwareVersion = 1.4 + ProcessDate = 2012-11-28T10:23:15 + DarkCurrentModel = MODEL + DarkCurrentFile = $messenger/calibration/DARK_MODEL/MDISNAC_BINN- + ED_DARKMODEL_0.TAB + BinnedImage = 1 + FilterNumber = 2 + FlatFieldFile = $messenger/calibration/FLAT/MDISNAC_BINNED_FLA- + T_2.cub + CalibrationFile = $messenger/calibration/mdisCalibration0003.trn + ResponsivityFile = $messenger/calibration/RESPONSIVITY/MDISNAC_BI- + NNED_RESP_3.TAB + SmearCompFile = $messenger/calibration/smear/MDISNAC_FRAME_TRA- + NSFER_01.TAB + Response = (590.6, 1.2488, -2.346e-04, 0.0) + SmearComponent = 3.4 + Units = "I over F" + SolarDistance = 0.4578594614949 + SolarIrrFile = $messenger/calibration/SOLAR/MDISNAC_SOLAR_0.T- + AB + FilterIrradianceFactor = 1278.85 + IOFFactor = 5.14985084990429e-04 + ContaminationEventFile = N/A + ContaminationEventDate = N/A + ContaminationEventFactor = 1.0 + DarkStripColumns = 2 + ValidDarkColumns = 1 + DarkStripMean = -3.40306510583192e-04 + LeftSamplesNulled = 3 + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = Table + Name = InstrumentPointing + StartByte = 1114113 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (-236890, -236880, -236000, 1) + ConstantFrames = (-236820, -236800, -236890) + ConstantRotation = (0.0018350410472421, 0.9999616381548, + 0.0085647441946012, 5.59960832301229e-04, + -0.0085657847873755, 0.99996315620869, + 0.99999815953242, -0.0018301775160851, + -5.7565791785714e-04) + CkTableStartTime = 358025336.87511 + CkTableEndTime = 358025336.87511 + CkTableOriginalSize = 1 + Description = "Created by spiceinit" + Kernels = ($messenger/kernels/ck/msgr20110504.bc, + $messenger/kernels/ck/msgr20110505.bc, + $messenger/kernels/ck/msgr20110506.bc, + $messenger/kernels/ck/msgr20110507.bc, + $messenger/kernels/ck/msgr20110508.bc, + $messenger/kernels/ck/0261918444_0851_mdis_atthist.bc, + $messenger/kernels/ck/0261773330_157346_mdis_pivot_pv- + tres.bc, $messenger/kernels/fk/msgr_v220.tf) + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = InstrumentPosition + StartByte = 1114177 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = 358025336.87511 + SpkTableEndTime = 358025336.87511 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $messenger/kernels/spk/msgr_20040803_20140822_od295s- + c_0.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = BodyRotation + StartByte = 1114233 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (10011, 1) + CkTableStartTime = 358025336.87511 + CkTableEndTime = 358025336.87511 + CkTableOriginalSize = 1 + Description = "Created by spiceinit" + Kernels = ($messenger/kernels/tspk/de423s.bsp, + $messenger/kernels/pck/pck00010_MSGR_v10.tpc) + SolarLongitude = 252.54534478281 + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = SunPosition + StartByte = 1114297 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = 358025336.87511 + SpkTableEndTime = 358025336.87511 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $messenger/kernels/tspk/de423s.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = CameraStatistics + StartByte = 1123893 + Bytes = 624 + Records = 12 + ByteOrder = Lsb + + Group = Field + Name = Name + Type = Text + Size = 20 + End_Group + + Group = Field + Name = Minimum + Type = Double + Size = 1 + End_Group + + Group = Field + Name = Maximum + Type = Double + Size = 1 + End_Group + + Group = Field + Name = Average + Type = Double + Size = 1 + End_Group + + Group = Field + Name = StandardDeviation + Type = Double + Size = 1 + End_Group +End_Object + +Object = History + Name = IsisCube + StartByte = 1135563 + Bytes = 3071 +End_Object + +Object = NaifKeywords + BODY199_RADII = (2440.0, 2440.0, 2440.0) + BODY_FRAME_CODE = 10011 + INS-236820_SWAP_OBSERVER_TARGET = TRUE + INS-236820_LIGHTTIME_CORRECTION = LT+S + INS-236820_LT_SURFACE_CORRECT = TRUE + INS-236820_REFERENCE_FRAME = MSGR_SPACECRAFT + INS-236820_FRAME = MSGR_MDIS_NAC + INS-236820_FOCAL_LENGTH = 549.11781953727 + INS-236820_FL_TEMP_COEFFS = (549.11781953727, 0.0, 0.0, + 0.0, 0.0, 0.0) + TempDependentFocalLength = 549.11781953727 + INS-236820_PIXEL_PITCH = 0.014 + CLOCK_ET_-236_1/0213240738:966000_COMPUTED = baf4dc780857b541 + INS-236820_TRANSX = (0.0, 0.014, 0.0) + INS-236820_TRANSY = (0.0, 0.0, 0.014) + INS-236820_ITRANSS = (0.0, 71.42857143, 0.0) + INS-236820_ITRANSL = (0.0, 0.0, 71.42857143) + INS-236820_BORESIGHT_SAMPLE = 512.5 + INS-236820_BORESIGHT_LINE = 512.5 + INS-236820_OD_T_X = (0.0, 1.0020558791381, 0.0, + 0.0, -5.44874222271292e-04, + 0.0, 6.59749881186269e-06, 0.0, + 6.68312905601468e-06, 0.0) + INS-236820_OD_T_Y = (-1.365797535954e-05, 0.0, 1.0, + 8.85544334965699e-04, 0.0, + 3.33893913833148e-04, 0.0, + 7.74756721313425e-06, 0.0, + 7.79484564042716e-06) +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 1114353 + Bytes = 7903 +End_Object + +Object = Polygon + Name = Footprint + StartByte = 1126768 + Bytes = 8795 +End_Object +End +B<>J<,'F<Ծ;<&<< 6 +<@JJ<>h< a<&; Q<~"9<;( <6 E<\<(Q<N*<\<;h)< O<-<17<~B<#I<A<,<&d1<4/<]{.<%@n< +h<+k<+ym(<"<<äz<\;;<<7<%h;<><@O<#<<;h;F;5;<<<[;;;;/< +L<)w<{< 0<%|<|_<65<7<7<8<:<7<8<{3<5;_;X;_;Fe <<ħ<6<]K,<Շ+<$<%<<<<9F <@ <s< <1<T1<£8<:<=<;]g;!_;^;~q<* +< v<;\<;iY;s{<<<<<ψ*<A<@B<`b7<3<<2i<;A<%<,;`t;;d<۔;;<9B:$]<04; m;pф;;;a£;w{;a4;Q;;;ø;z<(<\<|~<\?<є;_;ރ;;V;,<\w<;AD;p;0*<< &<%<<::e!:1:H;B;QT<﹥<&<_[;ʃ*;H:*:篲:'':+:!:v ;M;j?;Mw;;;/<o< M<ӛ<<;v?;o; <"M<,s< l< k<=<;;;)A<13<:<E<&P<_<Q<I<@L<u<6u<)<;};;Q ;x ; _;ҧ;J)<)/s<<<[.q;Ĥ;6<: <<;5;f;~; +GW;1<ߜ<㞔-<Ã#<)<[)<݇!<IP;+;&4;$:mI;hI;Y;'<0<'<<3*<2E<|P;Mi<1n>;uo;Uk;R<<<9<;FE;Uذ;hX<<=<<<<< C/<;(<+<<]< <_ <;;;&;%;A;OY<<[ <j<<<%<<0<%<}LA<:< =<%P<7<3<;< H<EE<<&!<(<]2^< S<*D1<|*<#q$<Ҷ)<+;^;ŧ;e)<ԅ<֚< a< w;;ny;;נ;: < @<"<" <-<R)<<G<`=P<L<4j< Id<_<;<b;<{P<dVW< \_7_<< _A<'<+<< +<5<V$<'<v*<A<$2M>G6<}<<o;Y<\3<'P<;;;;Z*; ;rƹ;ꂰ;;i,(<<<] < <4<DH<|h5<83<%a?<;<} +<<ףY<3<<<%, +<#<ύ;Qx;E`;N1;; <4=U<<_Z#J; ;<)V}H<WL<"EB<0;;8,;+;(<4T<Q<%\@<79<:\=<*<q;v; +*;g<^7<6f<[8<\=!<̨>< <|<.As2;6;&8w;;ۮ; W;H +<<4<$))<<#C</<-@] < '<:2;ʌ;B;s<\L<=;;g<IEC;;vy;G; +< <,;<=<,7; =/<9Z"< b<#<$=<2<[;]; ;K;z<0L<<_A<=<+FD5<ϸ<&W<3<1<6<5@<I<<;d;<2'A<:<T;?^;s < < :<}wI]<Z<@M^{< ;4\<~(;;: <@<Xl;FwB;'q%;&;45;;G;(';`W;;/ <<<9E<<<V:<3@2><1;N# <<"E<8<$<E<D<%m<T<]=<0<< < <1;' K<C<4A<(2<,;;U;; !<;;V;G;,<8,<қ!<h%</<.<<>< _<{"P<==<0L< +VCBO<{<{;0;7 +;;/;jݑ;q;. <6F<8&P<2tJ<;<]!<<&<o.<98<~P< T<_W<=b <2:<;8< ?<7<:8< +<@<<<<<$0<;g<~{<˙a<N4<1<:k<<=<<,<A<=:<&<<w< *<;<{;;դ;'M<x{$W;%e;~k5<תb<-#<><g;<P<<|'<2<:%<.2<<;Am;3=;;NQ;=;}k<<5</<¨5<;8!<`3'<Ѓ-<X'H[<Ek-D<^"<>"<<<;T;";%;T_;F( <<%(+!<$<7<7!<:5<ł<< +<4<44<&< K<3<"A<>"<)+3<;;;2;;?;u;;;>4<<;r;ra;5`<@6>D@"@<5J<[:<74<`E<+;<)<<"V#<= <;;;2;M;$;2<<<<)(<</< < ;Xi: +;=;;|d<#<+ <.5H;;|<(@<<<<<< 5;~;;#< V<-Mn< <9.;I;ѵ;{KU; +;~;9;~<%<<,h-<4B<(><3֎<< <;;;4g<..

<*<˳!<{34< Y@<ڧ<y<;T; Rt;8<-L[q,<*_A<{A<D<<;=<f< <0<:E<|7E<<<Ǹ<<;IO;<; <<<3N<1r<6<<-34<-< ;<[TM;t;.;:0:c ;i;e;޷;;0c;Z;FH;ޤ;::;覸;}h<<<~<gm<”F<><><?s4<}Y<<5<퓋<>}<\k<7 <}<(}5<8<r<#e;pY<< <.o<;|-E;;G:):~[:/;!2P;<2;RF;6;;<X:<`1< =<-:<$;T;_;z <_E<9h<3G7<;><A<@9<<b;O.x;z;;{g;I;/< I= < << < <<}8<@1<#8-<&<1<>< F;q;;;/ ;8;,<ȼV<+%P<+;;<<ڽ<g<7 <0 <<(b<#%<[8<Z;5;T;;<6<<%;ɚ;p;;.g'<" < <o$<$<&7<p;%L<1<.<1<8<24< +5<08<5kC<=19<1?<3R-m;[J;xȋ;;^<<*}%<+.%<+<#<ߕ <^?9<6^<҈޶;<<::w5 ;;4=O<]<<><:NF!<.YE<"c?r<^z<Ђ<f<j0<<><=<-<%;Ŧ;@m;?<<, <<<{<L <@<ʨY<3.<)< <; <8;= <@ <><0<*<#<; ;ס;J'<1<5<ץ?T<WQZK<>W<<,<<5,<G< +O<**<;g:u:P:-.:%V:R3!;/;I&< J<1<.<.f1,0_:<><0</<<;}A<*6<:3<6< /<r8<.Z;<B+<*]2<(EP<7V<tO<G+<$ <0 <<͘3<,-<3_%i<;\;o;Î< ~7<(<t<%<9P}<%U<Q <0<:<:N<խY<i<R<<6B;2<;<<*hB<"<;<,<<[<އ:S:8j::[:F ;Ҡ@;wk;ui3<)v"<|<<5p9<$<#Xy<<#0<ۢ<< <9 <;Hf;;VA<~<H0;=&B<=7<9B<[3<B<8L<`J<Q8<];Ʃ;n1;2;t%< <;< C<7<7<9<6<~6:Ƴ:-:U:);';3<#<1<)<<í<#3<,< ,<]/<0<}7<;:g>:i:ش7;;&A< :<;";,+;Z; ;Bo;ε;G<<,P<*;; +<|<.<2<5*< N-< =?<%4<0I<Ʀi<r<<~;5;i;<<;5<$<;p;Jl;r<}!AU<$q;%;o;N<1<ӗ<;;<|<~<8#<_?<Oj<$V<}#<<ٳ<'?<7F<F<>N< T<e<-]"<$M#< ; ;O<72<_H<&?W<3f<3,<"<+< ;;* <9g<<9<-< #<5;<< <<<4#<7<;<]B< C<ݻ<;<<3<@><7<`7< +D<6<ޞ+<(/<T<1<<h; <#YN<'?<7.<D<}CG6<&(<ٕ<,<_<<;";ӝ;r;8<?'n<hk<<6+<<8L;<(4<1<"1<8<4<38;;h<{7D<,/_<59M;;jW;<6'B<:vT,<<<# <$<|G<)t<<$< !<<-< <.*&<,4<<<f<Y<0<=41< +B<ɩ7<5<ɰ'<?<0<<ɡ;V;{;; ;;T;;;M;;rl;=&<N< +M<3Q<5*r$1<d<>$<2<`r"<2.<5<0<0<4<><F<`?<;<'<6<r<x<;|;n;;];;O;|;; ;;Pg;[3<< N<=<UI<^6O +<$YX<<*<<|?<@d;!;C<:<;<2<&g*<@ .< iX<"<8-\.65<*<;%<%<;?);;n<<#<) + +;;_ ;; +<bL<5)K<7<3<-<.<+< +)<,<7<J<ֵM< U<(F<><0%<<4Q<H <2 < <9 <Յ56<:D<[Y<5X<`<>U<h"M<><;X+<`v;<+<#< <= '<0<<.C<&2<[(<#DG<<,<:<=< =:T:it:'Y; ;<<.;%;V<;t;P;6<©<2< <@< <<<<ȧ<<y*<2#<8(>:::f:uBR;3;k<<<<۲7L< rEA<;X<3<(<[K"n<<<M;+I;\; (+#;g;jx;p;Yp;;=;$5;ײ;3<*)<,-8<$ AVY;;̊];_;0|;c;T2;z T<ިL<L< d9<+i<6J<"I<-P<W=</<={;';ٻ;<.V<<@<<&<~#<rD-<, <$<<^<*< E<$0<-"<;< <4?<6(.<.< @1<<9 <<&<3<=<Q<0D<ۋ><$9<C:\<)T<ĵQ<`<*#:<[=< @<ITI<~L\@IO<c<<<~J2<"'<#<<5<& < <3@!<-<$8<|<,$<;Ey;<+DC<.S<J@E;F <#<6_<f<07<.8<;<7BL<O<;Ǚ;g <5 <9<\!< <;O٫;;;<1!<#<-<<_'<;<9+<;~%;<ڞ<6<<90;?;o <-K;h;z5<$<)<ٱ<<<+o<<R<9<6<6<}I<5ML<B<'*<#V<<(#<<;i<"!2<[z <5<.0<48.=<&: <5?<^,<'#<ɽ0<Q-<$X< <и4{T<'LEZ<\W;: c;;1d;1-6<"2< +6<_+0&<0<7<5<@.<53<09#M= <3x;$ <U#<.M<x<| <<;;<+6f;G3;-;b;&<<-(<+<7C<[9'*<( ;;ڠ;tn< < &X;N;;j;;ډ`<`<E<<<1Y<<#<"<<,$<"<*<1<)+/<)1<5*<-+<'< ( <5x,<\-<**'2^+he<wX:@:K:]9:: S::V ;;a;Jix<&<' +<c<<{,Xr0<ǛP<I<.;L;>@< G;i;SYF<<<<ѯ<9 +==; #= =4i< +J<\4<1) <<0<J<<C<ڬL<2L<7@QW<7%<#<3:;bx;; ;#;<8>< d)<#"PV@;;;/;Na?;{;_);y;* +58<#')<0:i:<ٲ: a:ݱ::D;ٱ;/Ab<5[S::(:)m:; ;;т;R<{<Ǹ3< +-<.6<E<˧/<9-<%<Q<:<)<\*<H<&@<V<l<<#q< <,2A<Q<4<< ^<H<(;<֙7OXpG_<3p<[@;-;f;.;bp <";<:$;; ;ٟ;L<̞}<u<(Q<@;~do;iU;}O;{P;s3;P;`<<(<><Ց:<1=<=<)<U<;;7c< &C#B'<#,<4<=<&<;~;˖;g;JE<;n<,;)&<<[<%@<`9< X<M<'<];=;,; +Н;b3<+<T<7R<=JO6<B<(.<+_<᳇<b<.J<0;YK&<;[w;[V;3;!X<A< ;R!<3<,<%;;::d˩:f +:f:;bH;];bP<+<{vP<1T<\< 4;?;;;h<]<"z1;^<1Q<O<D<J <|@1 E<K<<$y<j<^N< d=<$<%;;; :qW;D!<8%< 0<;;<>H<uS<6M.<s< 0<׈<7Tx.<>L<,eI<%< 73<:<B<5GD<{G*<@8NJ<@<̻.<#<&< ';C;Ȗf;W;;'<87< ]\;6 +;UN;0;%;<L(< <;i;0<< <6<@!<<;!<-;GR;ٸn<<ٞ<@z<`B<J<`iF<{kF<7K<-CRE<[k`< jl<7><^i<]<;m;D;+;Dʕ;;;I^ +;U;6;Q<%<{<~y<nr +*<%<33<6`<^6<:@];;[f;;R]<0<$AC<[KK"A<;;i;<<o<7<;<: Q[<6<GO<bJ<K<˓F<eP<Y< U<<6`|;Y:%;#;e:;;<~<^}</<~k;8;i;77;b;{;/V;kG;<(<5g<V<J<2a]<<ݨ&W<"--<,< +<`;;;2;;X_;]ZE;:::ʜ::v:Sf;&;;?3\;;;j;f@<\)(<%<<_1<*/<@ <)D<[5<@< O< 4,<&<<?<ϒ:@<,<<1:<0!<@,<;<|7<_=<)<%<"<<3R3<{25<ؼF<';<"<ԛ&<{;u<uj<*Z<͈<{<;`u;(;A,;r:R::pM;c;}:^:ʛ:}:(=;>-;E?<"[< N<)9;!;|;;)_;;%<@<4;N;h<`M< ?; <>$<~):*:;8e;N<)fq<%A< <)<5<RF<(34d-<><M<ޝ$<:<U<+3<`I<)QG:u&;V7;zQ;ա};;q[R<|<4ɨ<|E<+<l<\<pO< U;G!_<W< BZ<@ +,;UL;%<9-<5H<[<[hp<>;B;?_;M;Y80;;t::S:H;͜;H<-<:<:V<]<A<0<3<><4B<M<I<=L:I:!;Y; <q<]a;T;<&<<0I<[<֨s<'\<7<<[b<(pS<=A4< +<&<M:c:֝:.:}:_: ;@;Km<ϿG<2<8;;;#<,=8<Ɂ< <:MG?<F<W<`F}<2><G<%;&;9; Z;;F;;_;o:U::q:$8:˸:?G:.% ;{V;qX<:<\<[<2n<Ȫ!W<~V<"GF<>5< ?<_=<ȡ(<);3H<=<-< ;u;y<"<8<{H<]<<'D:<:<[%<<;ζ;ʊ;;;3k;N;C;;9;b;Y+; ;:̃%;l;';<AJT<{,6<(<ν!<0c<<<6;Fu;R; <= < <ۗ2Gfs<og<]<*< <ռ <|*<</.<=;;<<=<33<+<'];;<'A2;<&0<"<@<>=;s;0yJ1;<<[<4U<#;&m;$$;dQ;E<U4<.- <) W<Ѥ;½; 1;I:;:䵾::v::I:a4; ;T<`/<?9;@ /;0;C;@<%6<"X <<<F<R< B`<=? +<Ø;X;R;k;J+< Q<:ii<Y;`@A<8D<#E&_<n<c<a<<+\<in<'Q<V< #c<)Y<iY<l<.;Ia;;[;[;<; <<,<><+l<9m<};s,;,;RzI<&::+<<І <8<`<6%<)<<*< ;#;ْ;N; ;A;y;f;%;mP< +;;K;f3;_;):f:;5;; L!<m<{<><<<|.X<3;l;j;; ;<*<=<;<[ +<ֺ;p<><#BB< +Bv< +i<U[<X,<>/<`5<1<4<1Q<k< V<G<(QO<^Z<[<0?<},<_4<3?<:3<ҘM<7<<0<)J<5;2m;>?;V;$M;oX;Ц;W;:<(<6<5<;s6<-<0x0< &<;<'Z<5QR<-K<Px<f<^<>S^<Ā&<%Ri<3<Ѥ<6<ƾ<3;63;j;wf;Y<UF<=< 6<07<V?<6?<"x16<P<z<R;Bg::^:::! +;88;J<6<<;ё;aD:;2:=:^;{ z;<W<^;;v;^;n;q;|;|;wV<)r<,U< <Q<,<;*;b:(:Ԟ:~|::N ;40;Hm-<8"<#<4a<3c;SZ<;;;s;ߖ;;8<7<A8]<&Z<]<@XU<3U<^U<^<;<<<{=><fB<J<^E<,N<5F<8RM)< <Ѝ<<<@u<<;^;]J; Ȯ;;$<0<]h;^b;>; <<<<h<<#B<I<F<U<(2< <$<xa1E<":<}<%;"j ;2;<\<#<m <$+<<<帣<8<4^4<'2<.<プ<:<<<<8T<<;;RA;<-L:<=.<6H;i6<#)<;<4><+1><*A !p5<8<42<6<><(G;C;=*d;; `\ <1%<<ߞN<7b<{/<ޘ<;t<_<</;u8;%t;;x;4v;21;;&;Wy;o; <':A]:H:i::j:d:':F;;B6;Ҝ;u$;R;;9L;J=;f3;`;;U<'Y<;<{8<ʔ:<A<< +1<#*< &<(CA<ְi;Q=;K;PTo;;;/;R,<% <<1i%<C|<{e<-<]< +<@[<=<1A <2'<^j;#;;&<`=@<>;;.q</X::`ϯ::U::o:a:t:: +B';Mf;t#<<5=N=K=B:= <';[n;N:;::;=;L;3;];;p;;;t<G;|F;h:<.;=@I;|;O;<^<.M< G;emG;s!;J ;p^:<=:;D;<3<*4<N;p;<8=vR=M=J=w<<4d;R;:S::;.;_5;`;{>;' <.-<;G~;S;;:>;;ϪN=A<7@?<<4d=<62<0<(,<8 +<4: :::!:i:MI: .:1::T!::T: :# +;4;\;ؒ<+="S=P="R=<] : +:ҋ:;|;>W<<;)>F <=<1L<}c$EL<6bP"<&<#&<)<^#5;;;G9;};W:x:]:;;6k<*6<<U <2<$zt< \<-%@<*<<{A<$9< =<07;Zݘ;!8;9;;3;;;Y;ę; ;F<(<(=<91<'<$<)< 8<96<><F<J<]Pi1<.5<0#>< =< A<>;M:t5:]:X:I;;m~<"<p<ޝ<Ù><ۦD<\b<3[n<Ɗm<\<O<8F<>< +><0<!<N<2P<9<=<@D<:ӽ:::Cɮ:<::v:#E::Ob ;+^;y<9<"><6=< @< FLD<(<M<<<@`<Χb<*; ; ;;SM<߹h<$<^9<9.;d;%;tԎ;t;;N;%; ;;`)3;|n;z;B];P;R;;<,8XU}'<".<~ M@<JA<5><-A<+A<]cE<2M<%<<(;;;$;q;:;f;@<P<$IO :&:]::Q:T;:Sv:ݮ::::::::Z`;;y<7=)8=LV=xJ=V=A29<;3D;e;|6:\:;O3V;B;<]f';7;;< +&\<<><A<[X@<}H<@o+<=<4 v<:<9F<, B=<:=;;:M:t::m:/:5 ;_3;;<]2+<;v;ts:aD:3:N;t^;;3$<$<h+<Y.<&5<2h<)7<7<N<-<ݓ<-<'<&<?< E< KzG<R#;1:ҹ:dݸ:Xw:j;D];v;.<+<.FF<PX<&hD<6z -<^E7<<$^#<-<ܕ<4M;P;TG<<M<6K<]_<:5< .<#<$ h<}<]jW2<\C><F<|T<6,<<sXu<. <0<=$< <`;/<q<*C<:i<;;f<=o<G<' S:;=U;;9U;d;"3<*<*2><99a;!N;:;^T<5<=<$/:%:ɂ:NY;cc;p;uӹ;JR; +<2<4(<#<;l:B;o;Xm;~0<*<*12K;H2;b+;p52; e;;",]<+I<7?<j:<0 =i!<d<+G<]1<(5<#<<@5<2<6<\H+< +)<=< d<) +;<67<R<1<~\*<"@<{Z5<-2.<O<2<$8<<<2><@n<Ճ<`<3cV<3R<RV +5<4)<<.E<&}u< $5<*<Ճ#<ʋ$<&<><*<A$#;~i;;;^;;;pT;$;>;e;=y;2C; +;;~;L;b;3W;;;;|I< O<5%<·,< <<^<c +<< <&;S<JN<.L<<'<;M2<`\<P<= :,<;x;<<<-<6<2</<.<'<5;Q;q, < <"<<D; I +<p< < <w ;;L0 <<;<8)<9<-A<)$<Ӌ4<~ 08<$<<==<E<5V<-O<K<<.$; |GJ<˨7<,<G)<;c7#<@;9;; <_<<<*<@< ;L;;<8;`L;tm;;=D;[;;5<&<z<84 +<<<_r++8<X<9<<1<'.<#<1J\<7<BV;::d:Z5:i:"@`;5S;HW;L;V <#;#d[;";;;^<_+&OZ<4F<>2?<<<{,<-H;<4<>*<;};< FA<U*[;<%?<]V<_Z<=<7:<8<3<R<41J<,I<J3<$<)/<;L<'< <ו#i<`<9c<[<ܧ<[N<D;&;Fg;h<< %<6"<R;<;~i;A;L;X;-<n;+;;:;;A;;ժ<#(< 4<]}'<:d<'<<0S<:<,<2D>><+<;;;fg>}< Q<&;ͽ;<;P;;<ɥ<5;2<{bx<<{<;<=2< <^<U<4NU:<;o; +< (<'<=R<<_< +;m;;G!< +P%2<<ap;;;i +<-<_4<1;-<&<-,<7J<&D<@@<8V;;L;;.Q;rp;B;T;W;J;<7<<#< zR<'%<'<>1<-<6/< ;<?< fb<5+<<$<$<<\;6 %<#<$e<<< 3<:1<7<)G< +8<ϖK<m^<_L:G:`::E:b2; i; A< 4<(<}%<<;2YF;-u;,(<)`8;%; ;;;`;r;u;8E;q;.;:W<::U;:|<|&<9O<<8<43<8<;<\7<];<4C<$NB<*0<D< P#<(<\$<5<I$*N~< <&<(`<$<;;u!/<#0W;(:1::n(;CK#;x;8G<<"!;<]jG<|<:<> ;S1;2;BI|<Ѽ<@;E$< <!+<:G<78<2L<5< %<'<$2<F<<:=;jJ;B<>=C<%g?<:-< =\V;,;Y::']:ן3;Y*;><{<ǫ<2<<<7/<'<;7< IN<S:< 1<5<6<:?;;;v<<2< <0N&;l.<[2<+<`P`<1 <A*<uY<9<<;e< @<.<8<ɼ&<3$<2<;;Z; Ӳ;`<3<~8<q;<&C<8<4<)+.<E<8*<~11n;;b;@o;ó;Y;}o;U;X;;=; ;?:e:N:ԅ!;Ax;e< <˴< +;<2H<-@[_<7;6;` V

<K< G_<5?<~;<<<D<&O<5&<#)V<M<{7<.<$m(<#=<< .1;X;'<+nM<3-<8<+R<Ys<_w<<6<,)1<;<1< -<$<< f&< -<7< +-<&<3V<?<<[;,;xU8;7);CQ;;N'<<:<?<><D<G<5<< P<9+<< ;#<*<<43< *&<\7<+#<;F< <0=ݏ=T=F=Z^=. =0$=;'= /=.=d3=_%=Y=2<^r<$%;6;$R;62;Ɩ(;Z&;o9; +OQ;;;~);;;;ľ;O; +;;A;KK <<<.<5<ЋE<y6<6+<15<,<g;<><[F;';I;;u6/5<3O +;E;*$;{;$;(A;Q;h;c;;"<~-zV<ߴL<ܹ,<;'';h;,;a; < 3<(< /g;ť;ݗ;+;/f:ݤ::B:k:s:fo0;M;Y<5J<><= <;<13<~7< <';;;I;c<{p<Bx.<=<~*<x7<>=VC=L=B=.?=As=2Ӱ<}<熖;Hv;FJ;qdY;t;-;q;3b;ڿ;t;&;';fi;|;i;,;Z\;K;y];W; <d"<+F<.<<>UE< 7<> <5] <*p<ڗ<{%<-K<_OE;}:ǽ::ۋ:M͛::[:pU!;;Z t<| +< =7 =N<~<\;,;H\;;T{; :\):n:o: :-:{j@;;.; @;;2;R;i; ;V;T3;y;,;K{;Z;s;؁;;K;GT;F<Ʌ <<`1<B<;<<$<;<<[<q<0<Y<_U=<B<7-=<@<;<;; ;ch:ձ:::H:J:&:H;3;y;;R(<4l"<<<2J:x}:#[:l:-J:T:<:#;;u<<=q<1<J<+<+BC`ə::F:ؔ:|ĩ:^:;;EA<Ώ<;J;J;;hb;G<8;S;izf;U;!H;#<8<ְ<<)<}?B7<)4<3:<G<0Z`<\;6R:m)::: :2:d:::L::c:ܮx;,A<t<;J<| )< H < s=<6<<$=<@C<ɆG<[8<4<65<6<=<2<_0<:1<W2a<b|:Ʃ:+k:::m;ym;] <}qS<[<<^[QI.< *<9.<#<}-<H7<Q3<#[< +< ;;C<D/<"$<$<;F;!;CH<ۮ/Q=RY=f=m=\%}=u~=6^=(=<;;Y;L9;0;lQ;J;;D;*gN;*~;;{;>;*; ;d;];C;~;;; ;\b; @<рl<|)<-<08< 8<><[<N<*`<M*<{ <Ջ< &<3<_1<1:s:w:z;ݥ;L<<<䔫<޺;@3;$::K:;.&<#< &8<BR<~aU<#6; ; <ߎ<9< =8<(S<?<.0<1g<:^b<_?2< 6<,<HV<F*7<}<;<6<"<-<{<$;<X3<1<3<)><5<2<]C<;+<2JS<<>ƍ`<0 B<#ZV< M<;@I<ߙ$<~<ƃ;*;w;R;;=B; :<3<=<;a޲<0*<5L<ݠD<3<3<;:;LH5;7<|<ڰ<:;;t <6S<30<0_'B<<<\;<{@<4<0`&<1<+<)<F<&<:];<Ze;5g;ǭ;XX;fE7<<<(<#:<:t^; E;;k= R=W=**`=Zc=Ml=,p=#x=Z7=b<_<;L~;)c;s;fɆ;\;3K;B;;?;Э;٦;˭;˔;B;;;j;;;_;% ;?;;2;<ö<;;ki;<;;;Z<' ;e8;K<;; +<<< <<%G<<[|*<"2<^9<0 <2/8<F<9<}0<<<<3<5,<1L<5<#"R +</;;"h; T;;C&<1E<~m<;<*!<<<{4g<|w<5}y<,<sx;;.<Y<-w<,<:<8Y;%;ڝ;#)b<<<,e|<&<5<2<= <)<7ek;w);Z<J<9<@<< ("<< M<"<D<0O<#e<,w{::h׍:+:: ;P;zE<<<~q<5<1<3<#":<.<&==ie<2;b;;; ;B;A;B;$Y;fR;z;ϻ;;;枦;IK;_;$;;U<>Q< n4<V<<|B;#;ӕ:p:8:::\@;;:;1$<7D;2;;;s<<<~<<%<:<<7=N#=<<<<`CD2<i<_;R;B <5C<,<d<R<<;2;;C<48~<<<, <#<;ɺ<`|<;w;ԨZ;;H;9~;u<7g<69%<80<7<8<:<"<q<_d<i_< ++<H%< ,<2<*KR<@J<=/<+6<0<:.<<:6:):i&:,~:'P: :9:Tw:+:Sxq;z<*q<&<G<,<<="<ހa߃<<-v<*l<j+<; @;u<3 <<<;<@b<9<ϺA<ɤMB<.I<>TY<N2<h1<>q"<&<$3<;2;q; K;; 2;\;; 7::kh:\!; [];);p;_;LE<6<#2<-"<<P::::o;<^=;Q<.*<<~+(<&${;/\7<"oD< C-;ĶE;[E;g;Ҫ;F;wN/<[=<˙a<0F<&6<;/<$)<*<4[<צD<\N:A:3: <::m ;q:;{;W=<3>gN<w=/E=.E=aK= A=#9=<!P<<<;";K;k;;14<,;f;붋;;;;7<B< 6<=<;<(<<Y<<̹-<X<"<< ?7<(<~2<+<;z;V;",?;;<;u;E;_; <-e'<, <%<G<<%<;<#;3<^<;Z;6;; ;;:tp::::װ;1;9v;8;'<<f<><~NC<6<2;.<8;C;I; +A<&2nA<=<F,4&S +<ױ#;FzE;r;U;5M>7<3<,7<4<;<8`=<\7<Bȼ;A;;+A;W';0K;C;g; ::!::U: +;<;;;;(N;'<,QR<-<uE<Ͱ<< =<{SnB<9);<͚:<`R<KC<<;<-c#<1<&'=˯ =b~<; v;];Y;p;[;m;ڥ;&b;XY;١;;=;;;C;+;1;;;<|c:<9)<%C<>(<><'G;;S><׶k<=W<<ˇ<PG<0<"<.<3;;nk]< _< +{M<K<]a/< + QT<'A$ < <: <_G<%4<<_W7<3C<O<@f<oF;x; +:I:}W ;o9;;d;y%;۬;;;<;;<'#B<I<=_<Z<$m"<2*< 9<4<5<[A<(<90B=j7=`==6=K=FT=N=(=<)<*V<6L <3/<<<&::e: ;;%<{<P=~?=@.==¬%=֟>=)P="S=TH==s;_*I;/"\;Iy;TC;;\;;<> <;l;z <$W<$<<4 <_%<`N(<<m;ػ<!<'C<@j<ﱉ<{z; </< 6<=<2<<'<0;_;ʆ;y,;;C ;15;}v;F1;*; );eS;F%&;`׋;<&*;^n;<#S<< +AZ<4S <<!<.E<250< <;L;4=<'<3;<`X<<*}<t<) o;<<<.<;<Ĕ<<<so<+sS<- 8<4|=V= %=~:"=O"=*x"=$=$=)=B= K=P=EX=+=ڬ<3< =<3<}/><<;7::z:$:0f:;;yE<^£<<<"i<1< <<@8<'<:<=;<¸'<1<=A;1<_ MCA<ҹ\<9" ;;V.<4<~l;M5;KP:`: :xe::XTO;U2<ܡ<@,;;;ϥ;;*;F9::!?:2:؟:: :}:0:7:A/:%:?Q;;f<g<<=V<:F<A< B<.<*J<<<_<#<<<,<7R<V<1^%<\1<&<<<;yC;)C<ч; ; <_;;p;Z;"6<V<^<L< );X;::;p;< +<<$<4+<6s;#< 8<(K S<,S<8"<9;H;4;:;#;)[;U4:<<<)0G<`@(<<-lJ< GL<2\S<>p<%I<1R<2_^<ژN<1B<2<&< <ֳ;;ɩ;7;<" NO;p&;Ȗs;dI;n;::T:RV:7::Ef; <);3<OU<+<_ <2<;>;c#;]v;+B<9/<+<.m/<1<|8<\;<E<;t;+;5< v<蒁<>w<եB0=:=0#=#=$=$=a&={)=!c1= +;=D=H=}K=R0=/ =<[<4<m;Ȩ;v;;;g;#O;4;tp;> ;s::YB*;^1;6;{:';;έJ;(;;O.-;-;bt ;B;;qp<'f;;\;~];b;+q;(&M;D;oB;:k;c;/R;[n;@K;K;X;};C>7D<|5<%<(<3%1<?<C<ս/<_<:?<ГF$<%<~~';ޘu;a;p;;݉ <8 <2;;Ϭ<<;/<[<ʻ6<)1'<-<;<5[<@Q'<8e<;(<1vC<.B<$-<##<<8~+ <;q;;Ā;`;9;B;X1<Ľ<#};t;(8;9;};; <4<_X<;8;~;:):3v:0:@;E:;;{B!<;8p;;<:HG::e;;k?;u;w; ;W;ΣQ<<<8*0<<< <;;V@;;É;K ;::|";l:p:a:::k$;g;6==@=B=FE=l0=1o<<4 < ;;;;Z;#; < <\S<<–;Mu;.;y#<vd<\$<<9<\E$q<<"-<37<6:< +,<:<.-<-<;<$G<7G<4 <<<< +< ;<1)"<z(;J!;@<b_L::Z::<:/: :o:1^0;ׂ;<kY<yf.T<*L<0A<9;y +.!<}WF<3<|(<)T<|h<`<"E;] q*6<(Z

<JG<<*<ü; 7<;M<:<)<~!<5'<<1;$J <0<řV<3<<<5 '<(8<J<7qg<`~<8e<";HX<O8<.;d3;-::ٰ:l:Cä:R^:T:dɽ::^&;;_}<<[<<ŵ<;<{<$<<0<8j<;qFv;vW;;w;;ѫ;\;(;;+H;)G;w(;;P;ɫ;|;k>;;* <^<<%=<7< 3%<~<< +m<<Q<4<]R<'<Յ +< ;$;;O,=NW(< ';;r::#Q:E:Vh:ַ::y::w ;;J<<7V@<)4<$21<_ <;䃙;B>;BU <.;; <4^(=F&= O=:<F(<+<A;<^D\4<<Z3=1=}="<(k<<[ ;;;gw;vf;j#U;;;Gʠ;X=;`;;ī<~bLǐ<ᢅ<<;>%<; :; ;. ;{Az;;%;;[;zɣ;(o;}L;{;9<\N2<9C<><6<_3<}*3(<[f)<=#o5<,<.F<5Q`<ل<.h<][<3s<<<<\<\B<<9<<6;6 ;8D; \;Ln1;:;߬:ՠ::<Sa;;{;q;H;#$;;s;/ <<`<< <7U<<1b<,< < < ;<;9~;v::Xȩ:K::7:::^:}:&;ǡ;>|T<ҙ<><2R<;<c< +<`;8|;8;< z<;i;h;; -<!<z<[/;!|;%<48<56<[<6+<<-G< L'< a<{ 7<'(/M<5X<pS<H<6<;^o<b<<7<9<; ;m:g:x<<;n<;;;U2s<Γ%<*j#<I2V<@<㗿;;=)<g<GI;+_;;J ;;7;lL;Ƕ;;q;";U;,;;*;?2 <=<jA<(<<<|5(:cU;;,~m<<}<;Z6<^C<(X<<%'w;;ȶ;;9;v;;sK;;=;<U<YI<1L;;-z;E;ܗ;\;U <: <2pMH<<76< m<< ;<'%"<<;<1<5'<%<;+<̞<8<-<+<R<<<0<B<qD<3J<):VZ<:<19<1<(<[<6%<;<g<#<;;Gl;;`;p{;c;R;;;;P;Ծ<<#<@< ;F;(;7;{;x;;u<A< +6+<]<-Ak(<@+<ݏP]2<;(R:Ae:w= +; 4S; <,<2)<;<!<@+< <<x<1<_Y6<K<<4$<(_<;[4;(w;m;;9#<N<Ո<櫔<J<~o?<9<@]5<'5^<<T<83<5< +<*x<ԲF<<\<8:]:Ѵ:n:o$;Ull;]L<β] <\Y<c<{#<7<3<U<|]$;5;#u;5a;i;;1;9; E;;@;;;;}_o; 5;J +</W<[uD<5<=>< (<o<< <<pDV;_;*i<4<<Ȟ< 3<gB<@%<%<'<<<2<-(==&t< ;^~;^;p;o;'o;;< +<;9;<=<; ;~;M;1;b"<)<5<G<0<P"<.<:<` F<=,.::7O::1:g^::$::KW:::+z:$:R:-:l:n::c:ݘ:f:O:):$:::*::::;v;a"< <<<` <<Ĩ < <<0<^?< 3<1B<ϊ>;`;Æ;;9<һ<<0<@;<##RbL<'\.< ?<<(<6<5)#<b`<)]Ö;;y;;;;l;v;*L<0<<><׹;(#;:ĥ:◤:Ǽ:;*; ;5/<`L<ܘ<(ł<ψ<x;e{;T;+d;2*Z'<SU<9r<]<e<0<=46<><8<@&F<:<6<9!<+<>IT</.<)O<"V<|<<4"<<\):#:v::::::Nh:|^:::`:::::U::I::::!::K?:Y::#U::: ; R4;A;3<< <}<<4<*.<;l; ; Q;p ;9:):0: +:;G;mU; +:<)2<(6<9<:n<;A;F ;50;$[;s\<A<=E<1N;<-<:<;;.;=$<%Q<\.g<:`< O<R< +8;D;_:_::::V;g;. <ˉ~<ہ<<^L"<<<:!<J7<]0<^;U;l;e,<ȁ@<i2<<.;V<<P:,:骊:v:-: :D:E:F: :1-:W::>:6:Ső::: ::x:b:b:*:?: ::`:m:S:;L+;;R~=ѝ<<Ռ;re;;]T;n);_;h\;!S;q&u;9;;;A;ݠ;B;<;;;X<~<<0<5;;8U<7<贏jG<$5<5'<2<-<0<&<[1<%<<#< + < 4<.B< _<|3<8<,*C<6<~<%<7=<=;;:"E:-:X::/:2:?:lI:t͚:t:G::'::M:#:ˑ:L:¥:,::VY::>:*:ô:ʸ:߱:j::ww::ca:):b:V:&;I3;Ʈ;}<<=U&=ѱ=S='=(=*=q/=m#=X`="<%\O<|p-&K;P;B5;QtF;i;ծ; 1<[<:h<|:̈:Ī:b:D::::*:ش:P:N:;:bm;TL;dO;#<E<"9<<<<*<(<;(;C\;'I;9::-::W::~1;^IF;;+<< <<<%<<$<;<;(;˩;P;ce:<7b{<=<҃; ;;~;J<&<< <926<B:y::+':.0:֑:t:¥:c:U/:;(׈;;l"<]M<郥<<< +$H<`=8=R=d +=l7!=&='(=F,=y.(=y%=<-,;x- <#*<5<<0< 2<-6.<8<J<9<A<}9^<;{<;$:F:-Ӓ:f::\:;a:;);O;2j;b';<^<&;l;E;vN;mS;=;tC<^ h<.3<ݯ;0:;x;<%RQ<w'8<8@߮$<]<;}<=-2]<<,<ֈ<7< <'wK<߾k;y;;;S;<<v<4<9:$":.:Mq;W9;;7<7<:(h<'<;z;Q<\U<1<8<&<V<<2<6;]s;_^;; :A::V:!:6;;;<,P<c!<51(<</ +;[ ;0<@<%t:;4v3;;b::9:}:vv:#:_:]:?:C::P: +:kS:r:C:R:|:: :wY:K: :7:#;e;$Gk;j;;>;<;<|c<%<1<3\)< /<.<-<;a%<"&<>4<1;X΍;3;H;AMv;";Ts;,;<"<^0<<1;=#< <> *<;jL;*;;j<]h<[`<5 `: :^:+x::UČ:b:?:V;p;A'<0K<E[<y=<}E<B<,<^<Ɯ< ;}dL;=:ܨ::-:y:ӧ:Q2:/:V:::-::|3:q:%:Ӝ: a::b:jȒ::-:f:hs;<; <a<;< !&<%S<L;X5;;n<_<;<A<0<& <.Z<]v~<<>OF<^9<x< j<`<t<@,< ;;iN;8;(.;չ;{;L;V;!;d\;;L<^8<;2;_!<!<9&<\'<*<|72<><2T<!<;e<<` <1A<<<4<'.Z<+g<=<g(<*E<<<1<,<hl<]<,<z;;;6;<<;^;Kۭ;;x;tQ;ks; 4<%<7<<G <6<~$<~"<<@<"<}<*J<<<#<-<<{<52< <*< +<=<~ <^Ћ;UZ;Q<<{<<< +<&<\c!<|%<><,K<=<`;/;ʅ*<H+<)Pv<+__<ٿ3!<;;< N<4]<@QY:R:!:G:U:4D::Y:@:)::B:c:r;g;t<8<|<<<Ɵ$<?O<1G< <oI<̝><[:<<9;F<<<:<$<_<̏<K<NJ;Q::::PZ:[ͧ:P::׼:w:K:7f: ̒:Ԕ::b:&:⡠:(η:7n:)E;;u<]*<)O8<a0;Z;; ";;;w#nR:&M:Ɲ:^:M:RL::ɩ:Ў::|::x9;kt;< n<"*<I<|D<j,<4Ύ<<5-;m;; +;<6/<]<ķ<^@<H<.Q=< ;Jf;Zh';_:,;H;;Y;e>< ?<<;ž<6<5<3<9<9<&;(;;<<8.<}E:y::cٛ:m:$#:3::@5;c; yg<<<<<$<2A;#;q:%1;r1;;N< i*Rێ<]&<8<9<1ui< CM@<8]5<7<#F<[<;;'< ^<<9E;ђ<-U?;.;;48<><<'<^;7;;;89;Wr5:ң:z:`:H::?:U@;;M<ҧj<}1g+a,<%<%<6t.<&< <(<,v;L;H;;*;;;M";A;;e;rW<Һ]<5t< +w~(;F:;42;Q;<<:<[4<"<G<.<+<{*<+*<,.$<5^;ʥ:w;>;;s<N<Z<>L;d;I8& <۝ <2;m;Y<4:9<\}2<O<>@N<j^<~`<ٔ;~;$F<C< O;N;:E':}:IK:QW:;nR;Ř; ;?Y< ><?_<@q<};; ;l<j<'<78}C<8,<D"<<<W&<9<<#'<<;n<'#<&,<}q<y2<8 + +<;<<%<*<4!*<"&<)<`E<[<)Z},<ϧ%

<5HK<*/<1#<q0<$<s<Ɇ)<*q<1F<_B<# 9<|F<U$<_;FI;O;*;e<3+<>+`<]Y<8J<ρ;<%=D<ٟC<<H<]1<'&E<;+< <$<63.<P{<}"I<#I~<<<7l<>;;;^<@;p; <<91<%x1<<<)DC/<$CI<[5<<:F<Nf<|D<΀/<]J\=<6D<0<3!<qK<1m<`< F<97<#<^81<8{;@;<@.<,<ŅJ;M; ;t);x;. 2<.R<<줒Q<ZE<.]<1J<H<tO<%<<9<;J<=<#*< CK-/< (<%<ʨ<"<7M;"ջ;<"<Խ<")<\~<NTi&#;o;;P;M:o: +::q::2;o<)J<3<+g<ߓ6< m<~<`R<;w ;;S;<ӭ(<.<(<=$<<{k;!<vI<Ҙ=6<7:K5<B<[@ +<;;(V;*;p?;[*;<;l;;~<":<,?<<ᴜ<;M; +;9:. ;(;[;H-FR<'<7;p;$<83<s;0r;ڑ;%;P4<0%<٣v+<Hj<0<"<0<+ZI<&;c;5(;";F;<~R<8<*H!<^!9<<2$<< +<3 +<;;n <[><: <v!< <";<<;s;|C;>f;$;;%<?<+<@<}y*<4$<>;4;:;;{;ƪ;T +;V;(;tE<?<'<:c/dU<ҕ;*;MN;A9;y; <F+<f>h<&A=<7M<P)<|~E<.<<!<˓6<-5<}<3,<Ae;;u< ;<r<D<C<',8(<(<.^j; ʸ;D;q;+N;֩;;@<3?<^<:<ی<"Q<@Z;B;<&Rg<1w<|a<1`V<][<3MN<)jr<<.q<<6(<ɶ%<\<:<˒<4<+@<;acE;;<<"<,# +< <ێ;+<@#ij<(#A< ^A&<;"m;ma;<]}<'<\< -<v< ]<83<2< -/<:3V< <~<_<"<<-<Ȫ3<9<\S3<2N\<'CC<,<(<9<-C<8B<":<1< *<|0*<+<<<$/<;&; ;@::M?;E6;[;|g;T;; 0ˁD!<c<ב<5<7;;C;W;6;6;.C;;a<<9+;Y;<;&; U;0 <(;^:I:l;5Q;<66<-;j:E,::O*;>7;;<"<}; <;7;;9@: :.;*E;j; <8r+8<8xT<.;;7#;"D; ;#;D<ə < +;<*<)#҇<ӓg<-w<N<21<ӚG<ZX;$;#<,><-3;T;<3<=Y*< <<፰;Qi;-h;Z;Mr;x;^<<۾=<} G<\Q; <<5 <$X<<]<<&< "<)K2<]͕<@<^2<@0<_)<9%<N <&<+<&1<#9:<-C<*<1"4<$<1/[<ij^%<;<&V<B<ɽ6;7:`;y<;(;x"Q;u<"A<a<8'3<q><2<'<U<5<9z<*;</~<9;@;d;WLI-<;;0w;p{<ߨ)<2<G<;(;T;<4 :'::/:;c;<`< <ӽ2"D2< ;“;Y,<[<,<#<,< 6<B.<8]<9(|;{;稆;{;.<0/< <2Up <}{,;;Bp;*;U1<%< h<3<\<+z<+<02<21<7!<^<9R2<HC<;<^<0]<14<4:!:;sE4;;Ä<<<<<3p<^><-1<<;$;Q<`.< C1< 8<@<֟-<&'<Э:pJ:7::y:Ե:bL;;!W;jU;Y<<* <<ǩ%<@<ٌ<<,h+<<H<,J<4'< ;; ;`;;S;N2&<<,< @<;U<].&<2;N ;: : :j:f;w;WB|T:t: +::ԇ:!o2;{;;;=<2B<}PI<4`d<d<yX^;< }<+<(<<$5<<3Q(*;{2<[u<216.<ީ<5:wP;c;P<_q <"<Y@<<<̎;l ;8;0<1<5$^</<Ԋ<6 <-<<"j!<~J0<<3<-D<үP<7%<ӊ<8<{%<%<|@b<(X:S::3:r2;w;!G<-=<7<(]<6<F<<%< <2<<b;b"<;;<,+:by:AW:<:)g3;Co;j<1<л<<+1<><6_3<{Q<=<9q:]C%,<<&<E<Û;mM<E<%3<5_<=<G <<"<\H<¼'<c<<↋<v\<6<@<<<<nF<_{V<67<<#<8<8p<t<\_<]Y<ǝW<G$iA<&<*<9<010<И!n;$<*<-<?C~6<2=<M<5K<$ <2;T;!::QD::<] ;PM;t,;Q<ߘ<<%ڲ<4<u<=I<[Gy8 <$s@<$<<"E:@<G <(<;;; !<<\)< +1<;<9<:<;f<'vf<#B;: ;D ;UW;;;)n<M<ϓ<<Ͽ<]< 1< <!<<,$ <$<_+<|<=}1<}*<r;M!<3<2D< < + <FE}<q<"7<Q< qS< {C<[;;+;{;;W;\ <- ;d;͓;<$<5<55L<&E<2<=&/<>9<(<5 <#)<.__<ܺfOp<,<)<8)<d**<4}:D;?b;ܰ<#<"F<[P+<l<3h<EM0<)Z<% <<&N-<*<A*<0<;<C<B=.< <$<"!}<I <)E;<><}<~G; @;@;;BJ<<>i1<4< e;;rhKj<)D<:uE<|O<&4<7<]?<<7(<5<5"$8<<}'< +C<Ȟ2<)V<`K$<[:<9L<&c<2/i<ѹ6<< < +-<=<W;<`<[C<<4<%C@.<+<; C<%<":^<0#<J9]<ռ<-+<3<2_2*<.<&<{2<:<><JA< C<2eG<]`<4<G'd<?8F<*<=<10n<:=<<,1<><<= ;2;&v;2<&H;Ѱ;`;<$^<]< +Ə<\#<-<;};&;< dN<587<4O<-<'<.,+<<d<0<4<;;< <;<;`v;`;;;;Y;[;+-; -;Т;$; +;Q<;;|;;w;p< < <5;<9;|;<;:8;u=;6<F%><+'J<'<]A<#><[G<Y<< <Ԥ><I<u<*n<[</< <;+7<*m<׌<7"h<<=<2<`><7<\< <;W5;Uz;@<;׹.; ;k.;7<7<:<֡/<2<</<^`/<5 :3<6<^$:<-< << O<\R2<::::;0B;; A<q< |#< + ><'< |"<(X<5T<'\9C< -<[0< 9<<-C<ZK<?< +2<$<5<ܘ<-<-A<>S1<)<Q<&6<|2<Șs<f< D<+lL<Y<]<%6<<%J<׻9<@<A<-<E#<8<4 J<<6o&;m<=S"< <#<7<9u;F;};; + ;ǝ;$i<@t<:K< <+<];r5-<ӎ$<2<*nFiB<67 ;J;::B};;G> ; ; +;r>;N;u<_<.<;<7<-<̎!<<+<@<\.C<'F<R<Ŕ;I[_;};&>;}J[BO<%< <&><,<_<<2J><\E<6<19<4#A< .<<1<0H<<<<<X;B;y;9t;V;}A;5;;M<<ۋ<B<D<5< *<\<<#<[k&< E<4M< ;2<`=<&=;[&;;l;`;6<U<<ʁ<}<k,<2AO<};<<7;;!<{9/#< *<$/<$<-2;7<2?<+<<-<<<=<<&<);/^;m:q;;i<] <<7N]<6J; +;v< W<]w< x<I?<"< D<;;<+;$i;d;t U<G<\'<<;?<<;A<v<q<%IY<>< *K;;JXBL,<.< <|E<-<*&<xEM<<ih<[<:<?K=<<Ƒ<,)3ZN<.<{-<l!<BV>;uAV-<<{ 6<$Y<!<+F 8<7<ƌ7<IO@<~o;S;U;;w%<ǝ.<]J(<;ę0<^:<*G<(uV< +Q< MK6<#+<'V&<=<.3'<<<';);K::6:=:N;ȡ;4<--2<{?]T<;w<X<0<@ <\)<+G-<-<,4<|@<<_"<}"<_<;\;3&<+a;%c;{<4<.T<{m<g;;9;s; +e<;uH;P;Pf;|;<<*1<>2i;;< + <%<7G<l@<E<9<54<~"< <=;Gm;<;WX< 6/< < u;;;;;>;<;`;P;K;Qc;;| <=m<׿;%><6=<'<H;Y[;S|;VT<Ne<7#0<0<[;;;};7;#ۇ;w;u{;><<<.$<>0<;;<;j8<`]<+<6 +<f'<]<<w<\,<8/z<P_< <ו;<0+<7<8<5C<1BR<;<(<ۜ<- <}($<J@<+7<\^A<8/NF<#G;9]<{< <"<< <]<=7<7<^D<%4.<> <'<n<<0<1< D<<.;;N&;;; <~E<ƅ:<7<0+<0% <Ӳ;1;FK<| և<Є<"}<Hw<*p<_d<ԕ]<.G*<,@`?338<ΑK=<:<~=< 5<8A<<<D<K<,!Q<60< (<ې)< )<)<1<30<_1<<< D<=7<#<-L;<͑;Y;D<7<4<+j5U;.s;%f;<7AX<[<{LNO;V<%<$<(<-<,<,<~,<g.<=z9'<;,<$,<=E!<(<%<%^-<"<1 +<` !<8@<:< ($<}-G<|uՂ<=<7<6<v7e;s;%;k;<<05<W<~<30J<,< fPQ4<7B<"Q< B<]R< +h!.<'22;;[B;#;s;Pb;;H<<92<5A+C<a@<.<[F<><$N<^G<0<:<;Y;u;P ;;;D ;8< c<<^ <'>B< +N*<>9;;w;;& <)<|&<&<]+<2<14<6<:$<S*<ˎ7<< '< '<,/;;[;J;1I;;N <(K;i;;K!6*< <,<޸,<,<љCj<=H;¡;k;@;;;;^;I;2;l>;<>3I;G<><4<^ c<l<&q<"[<><#<*1<(<><;0;8;y;6;Ԓ;1;B E<)7< <[<!<+4$<M<$G= %;Z;;;*<;c;p);*<&;Y#;v;Ɯ;-;{;Z;}<7< < n<[p<3,<;< 1<"<H<7g< e</<]"<~1<<<.<!<-<<#<;&+<!<0&<`<8(<%<%<{R,<< <<*<><;y<>q<+<y<$M<_Q<} [d +<< LF<2W<5|G<1;F+D<.,L< H^)<.<҅I<:80<]/<}r<*.<;;];jz<< b<yM< +3W51<ܱ; ;&;SM;T;G;X;zs;r;6+;;-y;;ƙ;;_;j;cc;@; <_<<)!<<*<<<<Í<nrv;`};];<"<0$o< <$<3<4U$<2:e:8:'?;;<F<9<_;/l;ǯ;;?;<>j<@<0;AZ;:;\;i>;V<,U<[#';\X;;7;<;f*;&;e<.]<ш;D0;;;;z<'#<[<,<i +<%<ԧ"<"<<5<<;<<6<<< <<Ō.<#<\:<̩B< N6;<}BM/<;0;.;W::_:XÀ;<[X<\<)ס<:<~;JN;MG;r[;;7<<;k;b;;#<9;W;;;;v;s;3;:::k +;1;E;Dm;3;I;<<<+ <<<<О8;C; <;s;^B::);;2UXS<ǿs<; <<+<<~<݌v<7g<{V]<<);A ;dD;0;;B;m; ;k;v^<6\<<;f[;;";;J<<*<=><2<{;"$;W<~<$"<<<<0<<<;1;?;aP;o—;q;8];f; <#<6V:<4#;%: W;9;;=6 <BP+n;x؜;;0;v%<]N}%<2E<0/E<9L;ު<S<D\<)l<[uW<6<`-7<=<̚.<Ә#<'<{<@<\FI<+<<Օ<#;#=;;f; <"<3<K<, +<-;:;U;, <89<#0<#;$bS;);=M;;|{$<<<-<72C<6H<{R<4C<.J<*<@!5< l9<<<~/K<]<;&;;F;h;;s;D D<@<%z?<A<%Q^;;;k<bN<"V<& @&Į;o;h{;dm;<;28;;A;-;;I<R6< +9<1<9;< 2<1<[;;:5@!;;$N< <`<1<<0<6<7,<>N;:0:;;|!;;Ao<+L><;<'*<9<J@<<<˭'; +u;/e;U*'<,!<_ <,<2<#<0<I}<%;?;/w;;;;;; <7<.<< Z<6/< x'<,!<5< << <#<&TW<T<Β<i<<<^<; <+Cg;?;f/<i_<.<3<[a;Jp;c;2;;60;3 k;ܣ;;c;];<'*<.y<5Ri<';%T<*<4_<# <[x<5<|< [;<;lm&;90;X;||;;;b;޷;Hu ;';5;;;mq;;.;|;;;;~;;; <)H<;;8 ;ݟ<=<ȘG<5Y<1o<M>;2!p<<_]<9K<@<ʴ<@ <9)<;-<ޝEN;(Bg<<;;P<<,I<'%<[<4N};E˗;˨;Z;';;Bɾ;;ۖ;;<[<'%<-<<+ <-<c

z<>:<[o"<):,:::b:❤:x:AԌ:P:b:V~:: +u:{z:\g:/p:]n::f:m:v\o::BZ:q:rم:a3::^ج:@::PJ;z;.<x<<>a<W;);+ ;$<<>;;;;V;;f <;9<<#<C<6< .<6:ѕ::F:]::8?q::Bb:3`:?Zi:a:kb: y:Ia:]:J:`:]_:c:H:<:::|+a:1R:)Z:Z:gd:F:R:m::S:1:L8:Z:;p.S;jd;M,<Le=:y9:b:ˆS:eZ: Z:%Nc:N[:yp:O:: :::A:߭:;7;nN;F<6];;<<;fE;8 ; :fQ:, :1H;ȇ;J;k;K;W;~Q;;-;a;N;<'<<)i;|;;<=d<@!n;I;;C/<> <<*<<<; o;;;\#<<l&<4<<٭;;;;Ya;Ȅ;;4=:焌:}f:][:AqZ:&q:/!f:n:n:9b:.z:!:2:+:Š:=::$::r:2:L#;; +;L0`<1< < +<|<%<\(:7$;;)<&J<'O<Е;M;: : ԡ::tR:Fȡ:Lx: ;;;^;c;~;;;o;;Q; <1Jh::w:@k:X::U:A::y:`:{:e^:_:^:}xc:Hf:}-p:lZ:hj`:)g:<:Lxo:6b:my:ဗ:+ :q<:tD:?:c:Y:A:`:pa: +:eZ:e;aZ;U;hX;;>N<,<bgP<6< <9;C;;;?;;;2<{6WH<1%<7;H6;Ѣ;%;0C%v;Ŋ;t{ +<<ޟ<^ <6;% +< j%<+(7<+xFW<-s;<13<-;$mc;-#;]:_: 8:jf:D:(:?::6:-:j:::_::͌::>: :K:>:^:^`:L:N;&;L;;;q;)<Ȉ3<:[<+3<,<>+<(<*]:%w:pe:Vo:b +X:`:iP:icl:!Y:a:yZ:^p:uk:h|:QPu:ă:uv:t:a:h:Gj:'&: :ҹ::d]:3C;O;I=<=< < <<<ļ<+;jj <{%]<>;ɉ;<;,2<,g<.t<ր+<&<C!<:D);;7;/;]<"<~+<:<%R<@C,<4ݢ<3I,<e+<2/<.<Έ<<:<#<.sf:}`:$y|:[f:^ƒ: d:iX:I:Z:oI:^:q:q:ygz:o:W:K:EO: ql:FX:aa:xY:o:j:k{:pu:4?y:u:ö:::i:d8:::D: :7:(7);I;!<<@ǽ< <T<<<ڞ<\J<Y̖:T͢::!;a;\J;s1;S;L;`";;};T:<2?<:?.<;1(;";ܞ;;;;;j;]<?)xWAur,?U"ݠQϿ]`?Ȧ)g~>&&S^ݨD>)xWAg6̆e,X-Av8Aw=)"Cߪ}~%ɀ[)xWAPDS_VERSION_ID = PDS3 + +/* ** FILE FORMAT ** */ +RECORD_TYPE = FIXED_LENGTH +RECORD_BYTES = 512 +FILE_RECORDS = 0526 +LABEL_RECORDS = 0014 + +/* ** POINTERS TO START BYTE OFFSET OF OBJECTS IN IMAGE FILE ** */ +^IMAGE = 0015 + +/* ** GENERAL DATA DESCRIPTION PARAMETERS ** */ +MISSION_NAME = MESSENGER +INSTRUMENT_HOST_NAME = MESSENGER +DATA_SET_ID = MESS-E/V/H-MDIS-2-EDR-RAWDATA-V1.0 +DATA_QUALITY_ID = 0000000000000000 +PRODUCT_ID = EN0213240738M +PRODUCT_VERSION_ID = 3 +SOURCE_PRODUCT_ID = 0213240738_IM5WV +PRODUCER_INSTITUTION_NAME = "APPLIED COHERENT TECHNOLOGY CORPORATION" +SOFTWARE_NAME = MDIS2EDR +SOFTWARE_VERSION_ID = 1.0 +MISSION_PHASE_NAME = "MERCURY ORBIT" +TARGET_NAME = MERCURY +SEQUENCE_NAME = N/A +OBSERVATION_ID = 222840 +OBSERVATION_TYPE = Monochrome +SITE_ID = N/A + +/* ** TIME PARAMETERS ** */ +START_TIME = 2011-05-07T07:27:50.677711 +STOP_TIME = 2011-05-07T07:27:50.701711 +SPACECRAFT_CLOCK_START_COUNT = 1/0213240738:966000 +SPACECRAFT_CLOCK_STOP_COUNT = 1/0213240738:990000 +ORBIT_NUMBER = 100 +PRODUCT_CREATION_TIME = 2011-05-25T21:56:28 + +/* ** INSTRUMENT ENGINEERING PARAMETERS ** */ +INSTRUMENT_NAME = "MERCURY DUAL IMAGING SYSTEM NARROW ANGLE + CAMERA" +INSTRUMENT_ID = MDIS-NAC +FILTER_NAME = "748 BP 53" +FILTER_NUMBER = N/A +CENTER_FILTER_WAVELENGTH = 747.7 +BANDWIDTH = 52.6 +EXPOSURE_DURATION = 24 +EXPOSURE_TYPE = AUTO +DETECTOR_TEMPERATURE = -40.63 +FOCAL_PLANE_TEMPERATURE = -28.76 +FILTER_TEMPERATURE = N/A +OPTICS_TEMPERATURE = -29.10 + +/* ** INSTRUMENT RAW PARAMETERS ** */ +MESS:MET_EXP = 213240738 +MESS:IMG_ID_LSB = 26232 +MESS:IMG_ID_MSB = 3 +MESS:ATT_CLOCK_COUNT = 213240736 +MESS:ATT_Q1 = 0.76892138 +MESS:ATT_Q2 = 0.17873096 +MESS:ATT_Q3 = -0.58086079 +MESS:ATT_Q4 = -0.19853424 +MESS:ATT_FLAG = 7 +MESS:PIV_POS_MOTOR = 23159 +MESS:PIV_GOAL = N/A +MESS:PIV_POS = -2421 +MESS:PIV_READ = 40064 +MESS:PIV_CAL = -26758 +MESS:FW_GOAL = 50148 +MESS:FW_POS = 50088 +MESS:FW_READ = 50088 +MESS:CCD_TEMP = 1033 +MESS:CAM_T1 = 468 +MESS:CAM_T2 = 495 +MESS:EXPOSURE = 24 +MESS:DPU_ID = 0 +MESS:IMAGER = 1 +MESS:SOURCE = 0 +MESS:FPU_BIN = 1 +MESS:COMP12_8 = 1 +MESS:COMP_ALG = 1 +MESS:COMP_FST = 1 +MESS:TIME_PLS = 2 +MESS:LATCH_UP = 0 +MESS:EXP_MODE = 1 +MESS:PIV_STAT = 3 +MESS:PIV_MPEN = 0 +MESS:PIV_PV = 1 +MESS:PIV_RV = 1 +MESS:FW_PV = 1 +MESS:FW_RV = 1 +MESS:AEX_STAT = 512 +MESS:AEX_STHR = 5 +MESS:AEX_TGTB = 1830 +MESS:AEX_BACB = 240 +MESS:AEX_MAXE = 30 +MESS:AEX_MINE = 1 +MESS:DLNKPRIO = 5 +MESS:WVLRATIO = 4 +MESS:PIXELBIN = 0 +MESS:SUBFRAME = 0 +MESS:SUBF_X1 = 0 +MESS:SUBF_Y1 = 0 +MESS:SUBF_DX1 = 0 +MESS:SUBF_DY1 = 0 +MESS:SUBF_X2 = 0 +MESS:SUBF_Y2 = 0 +MESS:SUBF_DX2 = 0 +MESS:SUBF_DY2 = 0 +MESS:SUBF_X3 = 0 +MESS:SUBF_Y3 = 0 +MESS:SUBF_DX3 = 0 +MESS:SUBF_DY3 = 0 +MESS:SUBF_X4 = 0 +MESS:SUBF_Y4 = 0 +MESS:SUBF_DX4 = 0 +MESS:SUBF_DY4 = 0 +MESS:SUBF_X5 = 0 +MESS:SUBF_Y5 = 0 +MESS:SUBF_DX5 = 0 +MESS:SUBF_DY5 = 0 +MESS:CRITOPNV = 0 +MESS:JAILBARS = 0 +MESS:JB_X0 = 0 +MESS:JB_X1 = 0 +MESS:JB_SPACE = 0 + +/* ** GEOMETRY INFORMATION ** */ +RIGHT_ASCENSION = 162.62845 +DECLINATION = -7.07316 +TWIST_ANGLE = 326.31005 +RA_DEC_REF_PIXEL = (256.00000, 256.00000) +RETICLE_POINT_RA = (161.58808, 162.83309, 162.41673, + 163.66958) +RETICLE_POINT_DECLINATION = (-7.28718, -8.10971, -6.04328, -6.87001) + +/* ** TARGET PARAMETERS ** */ +SC_TARGET_POSITION_VECTOR = (5090.06452, -517.03722, 1305.09135) +TARGET_CENTER_DISTANCE = 5280.08975 + +/* ** TARGET WITHIN SENSOR FOV ** */ +SLANT_DISTANCE = 3027.52559 +CENTER_LATITUDE = 20.21668 +CENTER_LONGITUDE = 163.74761 +HORIZONTAL_PIXEL_SCALE = 154.37619 +VERTICAL_PIXEL_SCALE = 154.37619 +SMEAR_MAGNITUDE = 0.29291 +SMEAR_AZIMUTH = 259.98659 +NORTH_AZIMUTH = 86.47660 +RETICLE_POINT_LATITUDE = (19.19882, 19.36551, 21.05815, 21.19981) +RETICLE_POINT_LONGITUDE = (164.82000, 162.56814, 164.98361, + 162.68523) + +/* ** SPACECRAFT POSITION WITH RESPECT TO CENTRAL BODY ** */ +SUB_SPACECRAFT_LATITUDE = 20.55421 +SUB_SPACECRAFT_LONGITUDE = 145.81928 +SPACECRAFT_ALTITUDE = 2840.08975 +SUB_SPACECRAFT_AZIMUTH = 0.18716 + +/* ** SPACECRAFT LOCATION ** */ +SPACECRAFT_SOLAR_DISTANCE = 68494595.74766 +SC_SUN_POSITION_VECTOR = (11291203.76459, -59096003.86747, + -32736534.50013) +SC_SUN_VELOCITY_VECTOR = (-36.43240, -10.21107, -3.18223) + +/* ** VIEWING AND LIGHTING GEOMETRY (SUN ON TARGET) ** */ +SOLAR_DISTANCE = 68493934.52907 +SUB_SOLAR_AZIMUTH = 179.40459 +SUB_SOLAR_LATITUDE = -0.03341 +SUB_SOLAR_LONGITUDE = 243.49021 +INCIDENCE_ANGLE = 80.39447 +PHASE_ANGLE = 110.66351 +EMISSION_ANGLE = 30.27116 +LOCAL_HOUR_ANGLE = 100.25740 + +Object = IMAGE + LINES = 512 + LINE_SAMPLES = 512 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + UNIT = N/A + DARK_STRIP_MEAN = 29.635 + + /* ** IMAGE STATISTICS OF ** */ + /* ** THE EXPOSED CCD AREA ** */ + MINIMUM = 28.000 + MAXIMUM = 229.000 + MEAN = 109.717 + STANDARD_DEVIATION = 21.807 + + /* ** PIXEL COUNTS ** */ + SATURATED_PIXEL_COUNT = 0 + MISSING_PIXELS = 0 +End_Object + +/* ** GEOMETRY FOR EACH SUBFRAME ** */ +Group = SUBFRAME1_PARAMETERS + RETICLE_POINT_LATITUDE = (N/A, N/A, N/A, N/A) + RETICLE_POINT_LONGITUDE = (N/A, N/A, N/A, N/A) +End_Group + +Group = SUBFRAME2_PARAMETERS + RETICLE_POINT_LATITUDE = (N/A, N/A, N/A, N/A) + RETICLE_POINT_LONGITUDE = (N/A, N/A, N/A, N/A) +End_Group + +Group = SUBFRAME3_PARAMETERS + RETICLE_POINT_LATITUDE = (N/A, N/A, N/A, N/A) + RETICLE_POINT_LONGITUDE = (N/A, N/A, N/A, N/A) +End_Group + +Group = SUBFRAME4_PARAMETERS + RETICLE_POINT_LATITUDE = (N/A, N/A, N/A, N/A) + RETICLE_POINT_LONGITUDE = (N/A, N/A, N/A, N/A) +End_Group + +Group = SUBFRAME5_PARAMETERS + RETICLE_POINT_LATITUDE = (N/A, N/A, N/A, N/A) + RETICLE_POINT_LONGITUDE = (N/A, N/A, N/A, N/A) +End_Group +End +Object = spiceinit + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-07-06 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:14 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.- + cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = mdiscal + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-10-24 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:15 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Calibrates MESSENGER/MIDS EDR/RDR products" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.c- + ub + TO = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev1.c- + ub + DARKCURRENT = MODEL + KEEPDARK = false + FLATFIELD = True + RADIOMETRIC = True + IOF = True + End_Group +End_Object +LatitudeB:>23@<&35@p@D;4@hY>?Longitude6.Rd@yd@Ew}wd@郃k?SampleResolutionl,'c@Mtc@n :Lc@/De?LineResolutionl,'c@Mtc@n :Lc@/De?Resolutionl,'c@Mtc@n :Lc@/De?AspectRatio???PhaseAnglePݢ!^z[@9Kk[@l_[@"-TQ|?EmissionAngle8xBw<@X\ro@@($jB>@yR2X?IncidenceAngleXS@X]T@R1$T@sPv?LocalSolarTimeDk@"L@6Q@$a??LocalRadiusBABABANorthAzimuth"bU@}& U@I̞U@ϯR?Object = spiceinit + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-07-06 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:14 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.- + cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = mdiscal + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-10-24 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:15 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Calibrates MESSENGER/MIDS EDR/RDR products" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.c- + ub + TO = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev1.c- + ub + DARKCURRENT = MODEL + KEEPDARK = false + FLATFIELD = True + RADIOMETRIC = True + IOF = True + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-11-20 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:15 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev1.cub + ATTACH = true + FORMAT = PVL + APPEND = FALSE + LINC = 10 + SINC = 10 + End_Group +End_Object +MULTIPOLYGON (((164.8202002252043030 19.1969561125234875, 164.7747445046520625 19.2010462918639817, 164.7296692919521206 19.2050733375613980, 164.6846360434768428 19.2090678631735514, 164.6396447534231129 19.2130299122527006, 164.5946954163463829 19.2169595285531614, 164.5497880271544773 19.2208567560324539, 164.5049225811008569 19.2247216388523654, 164.4600990737780819 19.2285542213800049, 164.4153175011113603 19.2323545481887699, 164.3705778593520961 19.2361226640593941, 164.3258801450714088 19.2398586139808572, 164.2812243551536255 19.2435624431512977, 164.2366104867902550 19.2472341969788694, 164.1920385374732803 19.2508739210826185, 164.1475085049890765 19.2544816612933403, 164.1030203874120730 19.2580574636542288, 164.0585741830985000 19.2616013744217298, 164.0141698906802503 19.2651134400662229, 163.9698075090586542 19.2685937072727036, 163.9254870373983124 19.2720422229414261, 163.8812084751210705 19.2754590341885041, 163.8369718218999651 19.2788441883465147, 163.7927770776530565 19.2821977329650700, 163.7486242425374598 19.2855197158112759, 163.7045133169436042 19.2888101848702469, 163.6604443014888659 19.2920691883456179, 163.6164171970120833 19.2952967746598354, 163.5724320045674176 19.2984929924546869, 163.5284887254186685 19.3016578905915601, 163.4845873610334479 19.3047915181518093, 163.4407279130771826 19.3078939244370957, 163.3969103834077714 19.3109651589695552, 163.3531347740695878 19.3140052714921282, 163.3094010872879096 19.3170143119686806, 163.2657093254633764 19.3199923305842489, 163.2220594911661919 19.3229393777451364, 163.1784515871307519 19.3258555040790370, 163.1348856162499885 19.3287407604351422, 163.0913615815698847 19.3315951978841447, 163.0478794862841596 19.3344188677183162, 163.0044393337287261 19.3372118214514082, 162.9610411273761486 19.3399741108187513, 162.9176848708306409 19.3427057877770849, 162.8743705678225240 19.3454069045044719, 162.8310982222028542 19.3480775134002165, 162.7878678379384780 19.3507176670846590, 162.7446794191064328 19.3533274183990436, 162.7015329698891719 19.3559068204052629, 162.6584284945690797 19.3584559263856626, 162.6153659975235541 19.3609747898427251, 162.5723454832198911 19.3634634644988175, 162.5659821254785697 19.3654576663776936, 162.5679127539133049 19.4017127659221948, 162.5698485430425251 19.4377815632657303, 162.5717990632873580 19.4738443695779466, 162.5737643166750956 19.5099011078521443, 162.5757443051368796 19.5459517011940846, 162.5777390305080701 19.5819960728252909, 162.5797484945284737 19.6180341460864369, 162.5817726988423431 19.6540658444406695, 162.5838116449987751 19.6900910914768943, 162.5858653344518245 19.7261098109131829, 162.5879337685608164 19.7621219265999457, 162.5900169485903746 19.7981273625232994, 162.5921148757110188 19.8341260428083039, 162.5942275509989940 19.8701178917222236, 162.5963549754368103 19.9061028336777532, 162.5984971499134986 19.9420807932362543, 162.6006540752246394 19.9780516951109881, 162.6028257520730165 20.0140154641702104, 162.6050121810684743 20.0499720254404785, 162.6072133627286007 20.0859213041097497, 162.6094292974788118 20.1218632255304790, 162.6116599856526364 20.1577977152228556, 162.6139054274921705 20.1937246988778121, 162.6161656231483903 20.2296441023601545, 162.6184405726812088 20.2655558517116745, 162.6207302760603000 20.3014598731541334, 162.6230347331650137 20.3373560930923780, 162.6253539437848588 20.3732444381172932, 162.6276879076200430 20.4091248350088392, 162.6300366242814732 20.4449972107390465, 162.6324000932915510 20.4808614924749470, 162.6347783140842580 20.5167176075815796, 162.6371712860056107 20.5525654836247860, 162.6395790083140866 20.5884050483742627, 162.6420014801810225 20.6242362298063853, 162.6444387006910404 20.6600589561070400, 162.6468906688423885 20.6958731556744979, 162.6493573835474535 20.7316787571222712, 162.6518388436331009 20.7674756892818451, 162.6543350478411867 20.8032638812055133, 162.6568459948290126 20.8390432621690813, 162.6593716831696099 20.8748137616747051, 162.6619121113524216 20.9105753094534457, 162.6644672777836149 20.9463278354681535, 162.6670371807866218 20.9820712699159593, 162.6696218186024510 21.0178055432310451, 162.6722211893904273 21.0535305860871986, 162.6748352912285895 21.0892463294004457, 162.6774641221139177 21.1249527043316654, 162.6801076799632995 21.1606496422890196, 162.6827659626135869 21.1963370749306357, 162.6851406720523130 21.2016020038017210, 162.7292649272521317 21.1996342548025787, 162.7732127554807562 21.1976445939378024, 162.8172035646360314 21.1956232548566916, 162.8612373465283838 21.1935701823002631, 162.9053140930568304 21.1914853212694361, 162.9494337962144641 21.1893686170254298, 162.9935964480935979 21.1872200150901726, 163.0378020408913642 21.1850394612466708, 163.0820505669151430 21.1828269015393182, 163.1263420185878772 21.1805822822743046, 163.1706763884538134 21.1783055500197186, 163.2150536691840159 21.1759966516060345, 163.2594738535818522 21.1736555341261088, 163.3039369345887053 21.1712821449354998, 163.3484429052896019 21.1688764316526097, 163.3929917589189245 21.1664383421587345, 163.4375834888662951 21.1639678245982523, 163.4822180886820036 21.1614648273786266, 163.5268955520831469 21.1589292991704667, 163.5716158729594554 21.1563611889074856, 163.6163790453788920 21.1537604457865385, 163.6611850635938481 21.1511270192674452, 163.7060339220470269 21.1484608590729906, 163.7509256153773833 21.1457619151887855, 163.7958601384260930 21.1430301378630254, 163.8408374862428047 21.1402654776063450, 163.8858576540915521 21.1374678851916080, 163.9309206374569783 21.1346373116535915, 163.9760264320504177 21.1317737082887227, 164.0211750338161494 21.1288770266547736, 164.0663664389376777 21.1259472185703814, 164.1116006438438433 21.1229842361147959, 164.1568776452153031 21.1199880316273401, 164.2021974399906981 21.1169585577069974, 164.2475600253731898 21.1138957672119254, 164.2929653988367136 21.1107996132588269, 164.3384135581324870 21.1076700492224880, 164.3839045012955182 21.1045070287351386, 164.4294382266510013 21.1013105056857455, 164.4750147328209096 21.0980804342194581, 164.5206340187306751 21.0948167687368056, 164.5662960836156117 21.0915194638929862, 164.6120009270276228 21.0881884745971071, 164.6577485488419939 21.0848237560113105, 164.7035389492638444 21.0814252635500097, 164.7493721288351480 21.0779929528789367, 164.7952480884413262 21.0745267799142368, 164.8411668293180981 21.0710267008215446, 164.8871283530583298 21.0674926720149180, 164.9331326616189131 21.0639246501559150, 164.9791797573276710 21.0603225921524420, 164.9859289031936669 21.0581517668780691, 164.9823276221522406 21.0217973885820939, 164.9787594375031858 20.9856141785183468, 164.9752063988081545 20.9494213619912308, 164.9716685102448253 20.9132190078072711, 164.9681457759378134 20.8770071850206307, 164.9646381999582445 20.8407859629304575, 164.9611457863230157 20.8045554110783080, 164.9576685389943691 20.7683155992454154, 164.9542064618790960 20.7320665974501246, 164.9507595588280537 20.6958084759450500, 164.9473278336355975 20.6595413052144927, 164.9439112900390398 20.6232651559715876, 164.9405099317179690 20.5869800991555643, 164.9371237622937088 20.5506862059290185, 164.9337527853288634 20.5143835476749885, 164.9303970043266361 20.4780721959941943, 164.9270564227302884 20.4417522227021955, 164.9237310439226576 20.4054236998264180, 164.9204208712256161 20.3690866996033790, 164.9171259078994467 20.3327412944756674, 164.9138461571423306 20.2963875570890657, 164.9105816220899499 20.2600255602895416, 164.9073323058148333 20.2236553771202949, 164.9040982113258167 20.1872770808187703, 164.9008793415676450 20.1508907448136085, 164.8976756994203470 20.1144964427215953, 164.8944872876989223 20.0780942483446587, 164.8913141091526029 20.0416842356667182, 164.8881561664645119 20.0052664788506469, 164.8850134622512371 19.9688410522351312, 164.8818859990621490 19.9324080303315334, 164.8787737793791734 19.8959674878207480, 164.8756768056161661 19.8595194995500428, 164.8725950801184013 19.8230641405298762, 164.8695286051623441 19.7866014859306425, 164.8664773829550825 19.7501316110795315, 164.8634414156337016 19.7136545914572459, 164.8604207052652271 19.6771705026947430, 164.8574152538458861 19.6406794205700201, 164.8544250633008232 19.6041814210047498, 164.8514501354836170 19.5676765800610823, 164.8484904721760245 19.5311649739382354, 164.8455460750873272 19.4946466789692430, 164.8426169458541608 19.4581217716175523, 164.8397030860400321 19.4215903284737408, 164.8368044971348922 19.3850524262520771, 164.8339211805549382 19.3485081417871925, 164.8310531376419590 19.3119575520306341, 164.8282003696632216 19.2754007340475297, 164.8253628778109885 19.2388377650131162, 164.8225406632023180 19.2022687222092934, 164.8202002252043030 19.1969561125234875)))Object = spiceinit + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-07-06 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:14 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.- + cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = mdiscal + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-10-24 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:15 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Calibrates MESSENGER/MIDS EDR/RDR products" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev0.c- + ub + TO = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev1.c- + ub + DARKCURRENT = MODEL + KEEPDARK = false + FLATFIELD = True + RADIOMETRIC = True + IOF = True + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-11-20 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:15 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.lev1.cub + ATTACH = true + FORMAT = PVL + APPEND = FALSE + LINC = 10 + SINC = 10 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.2.4885 beta | 2012-08-28" + ProgramVersion = 2012-05-14 + ProgramPath = /usgs/pkgs/isis3production2012-11-27/isis/bin + ExecutionDateTime = 2012-11-28T10:23:16 + HostName = cn1.ib.astrohpc + UserName = lweller + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /work/projects/messenger/Lev1/2011_127/EN0213240738M.- + lev1.cub + INCREASEPRECISION = true + INCTYPE = LINCSINC + LINC = 10 + SINC = 10 + MAXEMISSION = 89 + MAXINCIDENCE = 89 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object diff --git a/isis/tests/data/photomet/clem.pvl b/isis/tests/data/photomet/clem.pvl new file mode 100644 index 0000000000..192bd33436 --- /dev/null +++ b/isis/tests/data/photomet/clem.pvl @@ -0,0 +1,20 @@ +Object = PhotometricModel + Group = Algorithm + Name = LunarLambertMcEwen + EndGroup +EndObject +Object = NormalizationModel + Group = Algorithm + Name = MoonAlbedo + D = 0.0 + E = -0.218 + F = 0.5 + G2 = 0.4 + H = 0.054 + Bsh1 = 1.6 + Wl = 1.0 + Xmul = 1.0 + Xb1 = -.0817 + Xb2 = .0081 + EndGroup +EndObject diff --git a/isis/tests/data/photomet/cropped.cub b/isis/tests/data/photomet/cropped.cub new file mode 100644 index 0000000000..aa36593746 --- /dev/null +++ b/isis/tests/data/photomet/cropped.cub @@ -0,0 +1,8162 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 100 + TileLines = 100 + + Group = Dimensions + Samples = 100 + Lines = 100 + Bands = 1 + End_Group + + Group = Pixels + Type = Real + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = "APOLLO 15" + InstrumentId = METRIC + TargetName = MOON + StartTime = 1971-08-01T15:20:21.786 + ObservationType = "Oblique North" + RevolutionNumber = 35 + End_Group + + Group = BandBin + FilterName = CLEAR + FilterId = 1 + End_Group + + Group = Kernels + NaifFrameCode = -915240 + LeapSecond = $base/kernels/lsk/naif0011.tls + TargetAttitudeShape = ($base/kernels/pck/pck00009.tpc, + $apollo15/kernels/pck/moon_080317.tf, + $apollo15/kernels/pck/moon_assoc_me.tf) + TargetPosition = (Table, + $apollo15/kernels/tspk/moon_pa_de421_1900-205- + 0.bpc, $apollo15/kernels/tspk/de421.bsp) + InstrumentPointing = (Table, + $apollo15/kernels/ck/AS15_M_REV35_SMITHED_V01- + .bc, $apollo15/kernels/fk/apollo15_v2.0002.tf) + Instrument = $apollo15/kernels/ik/apollo15_metric_v2.0001.- + ti + SpacecraftClock = $apollo15/kernels/sclk/apollo15.0001.tsc + InstrumentPosition = (Table, + $apollo15/kernels/spk/AS15_M_REV35_SMITHED_V0- + 1.bsp) + InstrumentAddendum = $apollo15/kernels/iak/apollo15MetricAddendum0- + 02.ti + ShapeModel = $ISISTESTDATA/isis/src/base/unitTestData/dem.- + cub + InstrumentPositionQuality = Smithed + InstrumentPointingQuality = Smithed + CameraVersion = 2 + End_Group + + Group = AlphaCube + AlphaSamples = 22900 + AlphaLines = 22900 + AlphaStartingSample = 7996.5 + AlphaStartingLine = 7996.5 + AlphaEndingSample = 8396.5 + AlphaEndingLine = 8396.5 + BetaSamples = 100 + BetaLines = 100 + End_Group + + Group = Reseaus + Sample = (1422.62, 1422.62, 1422.62, 1422.62, 1422.62, 1422.62, 1422.62, + 1422.62, 1422.62, 1422.62, 1422.62, 3428.38, 3428.38, 3428.38, + 3428.38, 3428.38, 3428.38, 3428.38, 3428.38, 3428.38, 3428.38, + 3428.38, 5434.2, 5434.2, 5434.2, 5434.2, 5434.2, 5434.2, + 5434.2, 5434.2, 5434.2, 5434.2, 5434.2, 7439.68, 7439.68, + 7439.68, 7439.68, 7439.68, 7439.68, 7439.68, 7439.68, 7439.68, + 7439.68, 7439.68, 9444.78, 9444.78, 9444.78, 9444.78, 9444.78, + 9444.78, 9444.78, 9444.78, 9444.78, 9444.78, 9444.78, 11450.0, + 11450.0, 11450.0, 11450.0, 11450.0, 11450.0, 11450.0, 11450.0, + 11450.0, 11450.0, 11450.0, 13455.3, 13455.3, 13455.3, 13455.3, + 13455.3, 13455.3, 13455.3, 13455.3, 13455.3, 13455.3, 13455.3, + 15460.7, 15460.7, 15460.7, 15460.7, 15460.7, 15460.7, 15460.7, + 15460.7, 15460.7, 15460.7, 15460.7, 17466.1, 17466.1, 17466.1, + 17466.1, 17466.1, 17466.1, 17466.1, 17466.1, 17466.1, 17466.1, + 17466.1, 19472.1, 19472.1, 19472.1, 19472.1, 19472.1, 19472.1, + 19472.1, 19472.1, 19472.1, 19472.1, 19472.1, 21477.7, 21477.7, + 21477.7, 21477.7, 21477.7, 21477.7, 21477.7, 21477.7, 21477.7, + 21477.7, 21477.7) + Line = (21476.5, 19466.3, 17466.0, 15460.7, 13455.4, 11450.0, 9444.32, + 7438.86, 5433.14, 3427.88, 1422.52, 21476.5, 19466.3, 17466.0, + 15460.7, 13455.4, 11450.0, 9444.32, 7438.86, 5433.14, 3427.88, + 1422.52, 21476.5, 19466.3, 17466.0, 15460.7, 13455.4, 11450.0, + 9444.32, 7438.86, 5433.14, 3427.88, 1422.52, 21476.5, 19466.3, + 17466.0, 15460.7, 13455.4, 11450.0, 9444.32, 7438.86, 5433.14, + 3427.88, 1422.52, 21476.5, 19466.3, 17466.0, 15460.7, 13455.4, + 11450.0, 9444.32, 7438.86, 5433.14, 3427.88, 1422.52, 21476.5, + 19466.3, 17466.0, 15460.7, 13455.4, 11450.0, 9444.32, 7438.86, + 5433.14, 3427.88, 1422.52, 21476.5, 19466.3, 17466.0, 15460.7, + 13455.4, 11450.0, 9444.32, 7438.86, 5433.14, 3427.88, 1422.52, + 21476.5, 19466.3, 17466.0, 15460.7, 13455.4, 11450.0, 9444.32, + 7438.86, 5433.14, 3427.88, 1422.52, 21476.5, 19466.3, 17466.0, + 15460.7, 13455.4, 11450.0, 9444.32, 7438.86, 5433.14, 3427.88, + 1422.52, 21476.5, 19466.3, 17466.0, 15460.7, 13455.4, 11450.0, + 9444.32, 7438.86, 5433.14, 3427.88, 1422.52, 21476.5, 19466.3, + 17466.0, 15460.7, 13455.4, 11450.0, 9444.32, 7438.86, 5433.14, + 3427.88, 1422.52) + Type = (5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5) + Valid = (1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, + 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, + 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, + 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0) + Template = $apollo15/reseaus/METRIC_TEMPLATE.cub + Master = $apollo15/reseaus/METRIC_MASTER.pvl + Status = Removed + End_Group + + Group = Code + StartTime = 1971-08-01T15:20:26.73 + SpacecraftAltitude = 0 + ExposureDuration = 0.0 + ForwardMotionCompensation = False + Column1 = (1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, + 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, + 0, 1) + Column2 = (1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, + 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, + 0, 1) + Column3 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0) + Column4 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0) + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +# Jigged = 2015-12-26T11:27:04 +Object = Table + Name = InstrumentPointing + StartByte = 236925 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (-915240, 1) + CkTableStartTime = -896819937.03074 + CkTableEndTime = -896819937.03074 + CkTableOriginalSize = 1 + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +# Jigged = 2015-12-26T11:27:04 +Object = Table + Name = InstrumentPosition + StartByte = 236989 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -896819937.03074 + SpkTableEndTime = -896819937.03074 + SpkTableOriginalSize = 1.0 + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = BodyRotation + StartByte = 237045 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (31006, 1) + ConstantFrames = (31001, 31007, 31006) + ConstantRotation = (0.99999987325471, -3.29285422375571e-04, + 3.80869618671387e-04, 3.29286000210947e-04, + 0.99999994578431, -1.45444093783627e-06, + -3.80869119096078e-04, 1.57985578682691e-06, + 0.99999992746811) + CkTableStartTime = -896819937.03074 + CkTableEndTime = -896819937.03074 + CkTableOriginalSize = 1 + Description = "Created by spiceinit" + Kernels = ($apollo15/kernels/tspk/moon_pa_de421_1900-2050.bpc, + $apollo15/kernels/tspk/de421.bsp, + $base/kernels/pck/pck00009.tpc, + $apollo15/kernels/pck/moon_080317.tf, + $apollo15/kernels/pck/moon_assoc_me.tf) + SolarLongitude = 172.74232344924 + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = SunPosition + StartByte = 237109 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -896819937.03074 + SpkTableEndTime = -896819937.03074 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = ($apollo15/kernels/tspk/moon_pa_de421_1900-2050.bpc, + $apollo15/kernels/tspk/de421.bsp) + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = History + Name = IsisCube + StartByte = 237166 + Bytes = 131891 +End_Object + +Object = NaifKeywords + BODY301_RADII = (1737.4, 1737.4, 1737.4) + BODY_FRAME_CODE = 31001 + INS-915240_FOCAL_LENGTH = 76.054 + INS-915240_PIXEL_PITCH = 0.005 + INS-915240_TRANSX = (0.0, -0.005, 0.0) + INS-915240_TRANSY = (0.0, 0.0, 0.005) + INS-915240_ITRANSS = (0.0, -200.0, 0.0) + INS-915240_ITRANSL = (0.0, 0.0, 200.0) + INS-915240_PP = (-0.006, -0.002) + INS-915240_OD_K = (-1.3361854e-06, 5.2261757e-10, -5.0728336e-14) + INS-915240_DECENTER = (-5.4958195e-07, -4.608942e-11, 2.965907) +End_Object +End +FF F-FFۚFvFҙFuۙFFFLFFAF֝FT4FFoUFTFFXF}FA’FFGFےFsFYFF{FјFDFF鵞FQFFmFϜFFiFV*F=\F٠F)[FɘF+FbFFfFڪF2FÝFdޝF 1F͘FFFcFF~F[FMF FF;FF浟FE5F6ԘFFIcF̀FiFnFIFFF2WFqFn۟F^NFXFm:F>FFFoFEĐF+wF#FL~FXFܓFFxFV]FF2FF@F4F}FFN FʗFLFF=ېFFnFF.FBFuCF@ϙF--Fi3FdFFĔF}ZFFFF_ΛF%+FF0FÝF-FɚFԈFF6FA՜FFF`FwF)FF.FFEFF>FNF`FF^FPF%ϠFl*F뀠FɠFF(F+F3FٝFAFFnUF FFLF+GFF"FFF@FӘFF;F:F_ңFmFF]VFwFřFeF3F F[FퟞFFFk>F@UFFHvFFүFظF*FFWFΓFF?)F.{F+FF$ݕFՒFFɖF +F4FFJ]FITFFҜF=FFwĘFLFFbFЙFjmFF2FFkF"F]/FEFF}FFd6F FFJ^FFgF'Fi$FzFfF—FFיFXFrxF/F"F`FjFFKlFFSFgxF~FIaFF~.F JFIF iF.gFF:FmF:CF{FF^FzFFFeŢFc6Ft8FFnȖFoF֕FÓFFF{FF$F8FNܗF#FFCF YF쮛FeFF0FzQFbF F徛FTכF8FݓF^FїFœFF؟FF\FMFDFqFF=F7FFF JF}DFWFF]3FRzFFƐFzF2ɞFzƛFm0FF+FFFFpF&FF +FPMFFF^QFn-FQFAFg,FhFߕF +FF F0FkiF.FR^F(F<͙FwПFЂFUF°FF)FbF+F%FòFFlFޱFyģF_F^ F FnF-FoF6˝FϜFSFFFF䣖Fk%FFm?FїF,|FpRFFYF3FK8FeFIFܑFPFŒFϖF 3F^FlJFҔFwF`2FBFFyFFpFXFdFHFM5FFӵFFJPFFFeF^FFFFLpF7FY@Fj8FXFFFOF@FF"FBF 0FſFFͥFFIǛFƬF[pFF쩜FF\FKMFEBF2F,F FUFCFқF.FFFrFFDFȚFFF-uF? F}YFãFFz^FGF窣FFFF/ҠFݠF`/FFFFOFFIzF3FFFΛF5FFFR}FF;FFTsFFF&FjFBFFxFFFF+œF`eFuFFF*QF3F"FQFiFF AFYyFFFtFFpFͳF4̟FF!F?FFn]F;FF"ҘFFzF?FFF2FWFFF FKFbFF FF dF+FFഝFFL=F\DFs՞FFWF +yF{4FBF_2Fq|FwޘFFZԞFFSFF{F|FiF#F[-Fv+FʛFFZF)FF1FmFMPFF٣FFǠFFf=FFIF0ړFFFFGFSFV֕FLF;FWF4qF-FF%JF}0FϞFsFxF=FWFU)FDF&1FyF^Fi}FLFdFF{ԠF+wF<FF†F8FcF!}FGFFFhFAF|TFF FߚF,F1vFGvF\FѣF?FnFFx0FhpFFF;F,hFF֤F FFÞFF FF%OFUmFFFJFFwF$F4eFFמFFFJFFRFGFʜFِF'hF!FEF!FGܗF7FFFFXFs٪FFtFFFFGFTF SFwFGFiFIFFFFFnFeFɣFҞF:FۦFѠFRFFFhFF"FFFAFFPF¼FǜFOF>FFFFFhFFsKFxFˠFFߚFDRF啜FFfFoF*FFؘF]F|5Fx؜F!F +FyJFvFᇙFPFWFxFۖF햑FkFjF'FLƟF0FeF!ŚF٢Fq9F F@FFdFmF>FFF F?FaFFF6F%FF,FվFQF bF5FF+FFFɗFF.èFF BF"F9FDF"F3ޞFF"FܢFHFFFFޘFcFDޡFFnFFuF FFZFZ0F7FuF/(F>F,FYFȚF0GF0FKħFoFAF0F@F(FgFEKFFFԚFFOFFF0FfvFZ F-FVF1F5F`'FF0FFZF`ۗFDsFߘFWFFFFFtFoFFcFF?FMF`FFߞFbFmFFFLƛF +FIϞFF FFtfF}FHFFFbFF=F[FJėF'NFͦFMFkFFFMpFF@Fa}FqFF`FxF4FǜFVF.F罠FtܨFKF FFۡFܩFFdF˿F FߢFײFFלF +FuFfF$F#;FղFbyF/F_FşFېFF!gF|FFDFnF"F8FkMFFϠF8FF2FYFFΝF42F_FʛFF F&%F)F6FF@F`ާFPFѮF?FFJ^FF썠F]FFF FhFƢF.FFnFFF֡FQiFUWFFKF˚FAFgFPF`FFFFFF髝FI8F^FoɘFrFڏFFFFYFcF+FFFۛFڵFtFʟFFFwfF:FF"F+ԘFXߘFFFFۙF"FUF WFdFFFFFFFޝFOFFF!FƣFFݪF^F1Ft FTFyFFuF{F>7F<=Fn֝F:ۘFD$FF̙FFf0Fr]FΚF-FDF[F FĄFl^FFУF[Fv_FF秤FpFTFEFF_F_SFiFFQFiFxFFҟF(FWFXeFjIF<FCƧFFѥF"8FQ[FZFF.FFR`FʘFFDFAF’F1F(F^FF5FSGFBFFLFFפFF% vFŻF.jF6F%šFإF F|oFF[bFWFFF1F`F`ʘFBFFF~FyFlFM +F,FrF寞FNLFٛFkFWFF6ҝFF͛F +FF䖟FoFAFFF$FvFfF%FFF7HFlޛFFlFFURF~FC&FFhFbkF HF(FNFFFFF؞FF֜FFTFZyF"FmFG+F6ƟFNFtFF×FŔFyטF\XFaFנF/F0FeF&FFKFvF̑F!FF{F ْF%F\2FHFFFFNFFCFFbFF'FJF]9F:F`F1$F|F.FF.BFT}FF`FЎF;F F5F֢FؤF\F̟F,FF\F>F8DFFHFYFxF^F䳚FHF=xFFFFFoF|Fu1FCF(F̢FrFjFnFoFLFFFikF'9FFaFLF5F0Fo/F]F_F2FFΥFPF_hFFF^;FLFߛFZFѤF[FacFӞFeӞF{FFҞFWFRFC FϝFFF=FF$FFFWFMTFaF FhFkFŹFKFwFlFdF5FdFt.FFUFFƹF/2FťFYF(/FHFޟFoF6FڕFF F=FF4F~YFFFģF慠F!FgFnFGFFFUbFѥFFY1FKF2vFFRKF%FFPF{gF46F:FFFƚFF6F}KF) F6FWFeF'F0FF~F3FF-ΠFlF_FFۤF/FBJFqޞFAF\FF$F̥F: F!F FߛF!ʜFPFZFHFcF9FÝF2lFFFvFtãFEKFi7F[*F LF7QFF2wFJF0F«FĘF'FcmFFwFF@FFFRFߗF,FdFFgFFTFrRF3F1F"FLFVFFtFF F|FKϟFtF͙FFR}FF?F;FhHF[FޟF F`FFhpFFFF}FFڣFWF<˜FF?՜F&FNFjF FFF"ܗFFPFjFtF`FꃞF$ݒFڟFFFFjFxFXFFZF~ۛFQFkFWF0F⍙FN^F˒FF?FFFMFKF֠F"FF9FFFǕFF)IF/Fk$FFFFFFFFFjF5 FRFFF_FaXFFmFF^ΡFLȥFF6FrF^F2FF=|FFF[!FFF}YFEFNŸFFF+FmFF&FFJFFיFļFsF F[FFFbFT-FFF+F|vFGFFy9F6F͛F^FߝFFSFϝFhF-FNF}FPFFӗFCF1їF5FFcFlFK0FwGF,lF4F΀F>FXF٧FlFNFⳖFϡF>qFFF?F\FIFFQFF櫖F"FJFӘFaF QFDFxۣFF3F0ޛFz0FFOsFFFޜFF FKF=RFOFgFnF7F-FFΌFǣF꣡FFkFUFFFd)FFaFD^FIFbFF F^FF/FRSF F:ĚFFqF|̜F.FΒFFF͈F"FnFlFZFD7F FFF?FFFFIF&F F˞FAFÛFP F FmFٺFѕFIFF.8FzFĒFFߤF翝FvF2F XFZFpFطFFTF_FF,FFFF!F:*FKF!`FsDF(F5HF4F͟F_FpuF:8FtFFfF4F9FFF=F)BF:F1FAFF˙FVF6F]FIF\6FjFFFF_F"|FoFɔFDđFRFFF0ЕFFF^FVFFF`F%=FFNFWFQ;FF$BFoF4FˠFo1F5eFkFCӝF?Fg3FśF$F>FF1|FF}՜FpFjϜF#F.F@FiF6F'WF\FFVF F1FJF/;F|,FiF,FUFAF;F/FFD F%F FF.=F(Fd8FlFPFFNFJJFHF]F}FdFyFfF1FTFFKFVFF~FNFҚF(םFȢF[FFFdFF$XFqzFF?ŹFLF飧FFzFfFFJF_FOmFFFxF\FFFnF ԎFFFYFFcFƱFRȝF&FF\ FTiFoF F(FFF̚F\FF:FBFF`yF-˗FFsFFeF@F-FQXFBF,FMFUFVFڦFF#KFQFOyFcFFzFF,͕FF7F~FF FFZF^FFPF!FFFF^HFfFz{FF4FWF FΠFF̘FʕFgFWFgF{;F]F5F67F'F䜝F>F 7F苩FFFnwFF͎FF2FFF؝F*Fy FBDF5}FFͲFEFd[F3FHF9FFP^FM{FFFؔF$̜F1FF{FF)F@Fv%FCF/~FިFg٬FFFFΑFpF,FgFJF9;FYDF:FFEFFVFEFwFFF jFkЛFzF1*FzFFFΚFnF/FFF}oFqFFݖF!FFFT1F}FFFuFSFuFАFgF`GFOF1FFFF7͔FFFMFDFXFF + +F%iFFF;FfFRF4F'Fx~FFgÝFFF^{FZFF6F7FƧFJF<"F4)F[Fk|FFwFךF/F +FeF˟F.FF/FoFFXF1FFeFWFozFQFF9F]rFCFbFFTFNF:FFWFFFoFF6FFѰFFF],FjFF:FF(F#`FTFT"FoFwFFF FFrFxΎF*FF=F:F$FtF\FF]5FgF(4FF=F#FF/XFofFF;F{FϊFeȟFN+F1FΤFUFaFcFyF FwؠF+FFFSFPFk%FӤFFFF1F|`FF +?FMF"FLFIvFx?F,FF~FVFeF7FFF F|٧FFoF_FJ3FF~FFd~FFF2,FleFuFFmFuF˚FFq/FF8LFGFk0FF FQFߘFF1VF FbF F0FÓFFFKFNJFFDuFߞF1F.F׈Fr'FjӑFrFFFrFFnȗFYyFoF策FW/FkF=FF&FFwrFdF}FơFF:FHţFnLF|F+VF`FơF FF`F]JFFDFhkF~NFcFi#F*FƜFv1FmFLF\FOVFmF>%FF|FF̡FlFh-F>bFۜF2{FĢFF+KFF۟FݞF;CF+FУF?FF'FUFLF쪛FwؙFFTFIFFeFFtFFF~FyF;FFAFFmPFzFFVFȷF-F[Fn.F.FR8FF؛FuqF+FFFAFFF"FFw}F`tFyFᏖFFCFFBHF[FF@F?FbFǠFğFOF=FjڡFDF>F%F)ГFaaFTFagF"FFF\F}۞F FFFEF^FFFo2FB%FFڕF3F+FྖF =F๔F-FݛFژFVޗFHFFB1FFQF=)F4FnޜFFRFyF˧FFBF[hFqܡFHF FᱚF8F*F戙FuF(FsFFF;F-FFFolF FFݚF|FF&FF FMFhFFiӦFU=F?FܥFQF FӹFF)F|bFT_FFFF +F"FF*FFsFFu+FHFoFb`F&F FܟFF FFFFF㮡FFzFNNF瞚FHFnF +!F/FFFFҩFdFF3FؚFF/F FLFe,F"F KF#F:F&Fc6FmF㗘FkzFFFeFFбFpFzcFo FF~F͙FϑFÑFFF +F<֫FQnFFoFF F)0F߫FmFTFh1FӊFF龦FvF53FkȡF;FFUFFFfFFO؝FԜFF/FFdAFHF61FFIFǥF4áF@oFFęF\LFXdF}FHF3FrFoFCKFyFFéFjHF#F|9FF騣FFcF\FF{F FܨF FpFOjFLF`FkدF*F,jFDFF0\FbFFF7F3 FFOF8FߙF˗FvHFTFFy +FUFF絡FFwFJ FFF̓F] FFFF)`FF@hF~FAF%F$KFWF5ПFoF=zFFVFFn0F{FwFu£FBFJFaF׌FըFFFm/F F}FNFFF4FtVFFXFbF|F攣FEF~QFDF?FFӚFFF;FF%FwڡF\sFdF5F FF :F F8FFkF^F FFGFFdFF"pFfFd|F?FpiFFFFFӜFtFF῜F1BFFF +F.FF;FBFѿF'VFFBF vFX4FFFAF|F>\F膜FҨFF>F-FFF(F FR՞F&FOF FGF8FҡFFĦFFɪFF;FϓFNF[9FͤFʥFǛFkF&NFFĭF2FʝF3F9F^FgF@FdFFHF,FbF F㸓F>FؕF7FFۙF4FPYFFbFFF'FI}F˗F?FZڜFáFhF`FV¤FvFFʒF;2F|կFFȗFFFYFyFEIFR>FfF}F%oF F$FRFFFBFyFIFF FYF}ɤFYbFFšFBڙFFޡFΚFBFdơFi,FFHFzFFWFޣFDFF٥FF3FF2FFÜFuRF˜FZFF0F~RFFGF +՚F +FF F4FkFzF0FFFNFF_FF0FːFFFF-FXFFnF%FVFTF'+F-ġFf7FYFⷞFpݣF(FiF"FFءF)F@FFLFjOFhFYF=FFrvF^YF'FFP]F?F0FuϟF9F`FݛFFoFVFࣗFP9F_FzFFF+FC%FQF_FFsFԘF,QFOF;ɛFиFHʜFF5F;FF FFy٦F>FvFFFơFƟFFؠFz[F=FFYFFFF)F+ǘFFYFFF^FHFFs`FڨF/F`F F֛FI{FyF`eFF3FFΞFfFUFi+FųFѮF/FDFIF!FwġF'ZFFKFFQFFzϪFFMjF}F6EF + FFSdFFFcfF̄FtiFAFHFtF*\F὞F +SFtF FX_F\0F?F-F^F~F/FFF!F +IF4FOFFFFSFFxFGFFZF!FF:F +ѵFeF FƣF[2FF͠FeFjF&xFFFFFFFEFҘFF_FXF͓F:hFژFF߳FF5FFϟFFFzTFRΛFFnFfF F FzFbFAF,iF7IFFdFإFOF^F϶FiF F͞F-F3FFFF[FwFBF¢FÞFѩF6ݮFɰF#F)FYFF˪FF9FFgFF]FJFFSFDFFFɆFFwFTFבFFFlFFFۛFwF⌘F̝FYFwF{[FFĻF!NFlFEFӧFɜFF~qFFFF5FFFۙFߟF:FʕFF.FBFμFrFF+ɝFζFFwF{xFNFF_ FMF*?FFqFe.F㹤F뉫FyFFFpF9FyBF>FFz^FZFF0VFMFH FFܮFɢF(߬FF FFiѪFF%FrF=ٮFHԮFԟFF:>F`FFF认FˤF'FgF,,FFTFFI:FϕFEFRF+F(F߬FFvFNFqFFyFFܖFPcFF#F2FF~TFhHFުFtFFFTF8F*F)FFcGF1FEuFdɟFFF(F|$F8FeݘF˵FFFF|F|"FOFiiF#ĝFYFFLFiFF]F˜FFRF5FϨFÇFFF3FFFFFܔFMUFFB*FF~FFFFFy՛F$FF(FF0rF(FvFXFr=F?FF&FDMF F>F%jF6FF,F^5FFטFF~AFHF^F;F.FʢFFF›FF}FtFF7aF1FF6FmFFFcF|lFIFF#FzؖF@`FuF"F[FFNFIFӖFc8F^FJNFF FqF¤F˦FFݕFFF?F%FF\FɟFF:FF]FFE FϊF|kF` F9[F}F^OFʑFGFFėFj[FIF>FF F FFFvPF'FjrF6FFFٚFFmѓF+F6FFFFvFF(FF̚F FeF$cFFTF賣F6FnFmPF}F8VFǙFFFFFFFFFFݢFFSF1FɰFhFnFF0FF8FNFFF5FU•FF=ښFFFTFUxF`FT FFF^Fk +FQF%FoFcF qF]uF7F1FFטFFtF1FF= F}FkF豜FqFQšFwFZF;F:FFFFF=ÖFgFOF8F]F3FF"oF̕F'F4pF#FQFFעFbFGFFFFXFڈFDFlF=FFFLFF5F9F!FFFX1FF(FEgFvFFF=FFJ|FF0|F#FXFRF]FDYFwFeF2FF.QF[jFNF.FFF>bF˟F +0F-FSF\F~F)HF¡FFFFqF0FFFvF~FF"FϡFFNFFϚFRFFF(FFTF_FϗFF7F%FFtF`tF]4FLГFFpF͙FPʕF*F0FFrFȗF=FRFFnFOFd +FsFH*F82FXqF,F'FF\FӤFg9FlhF^FBJFrFǚFQFFF3F}:F9FݠF FF٫FFUFCFaԝF`F'F~FEFNFFqFzF/FF6FFF#ʜFAFSFFt՝FŜFF{5Fy2FFОFѠFDF= F&FBFߴF/FU^F FFKFeF<FP9FWFlFFE/FGFЖF߰FTFFW5F/FVFkFv̛FvFvFKF,FFF,bFF٢FyF+kF%FFFsF$FFFFFΈF%FFZFFΤFFFA$F&FBFFFťFMFFFϝFFlFtEFFϡFμFbFFlFFFF F\њF֝FIF7F+FF:FFßFlqFkFFF3LF0FFn8FF FҶF>F/DFFrF6FNFF\FFF#F`FF%FFFZFZFFhgFFhFbaF4FUFF +F_FxFsFrCFꇘFpFr|F*FŗFlFbӜFFyFF0FjFjϣFoFǕFF FҒF]oF1ƔFF74FꛚF:ؖFmFF/FFFc΢FF Fe[F{FTFYFhtFu>FFYF`FsՠF՟F‚FQFHF)F:nFFF诛FoF FkeFJ*FF!"FoF﬜F]F&˞F4FF`kF%FҩFFYQF/4FF FaF3FӡFF;~FjnF^FnFҢFFբFBFΝFjFÜFiěFFm F$FknFF2F'FVFFtFvF0נFg-FF F5FFQFF1FF>CFeFF[SF.F(FyEFFF F$QFCFu6F_FFʘFFFFYF FFmFHFTgF:FF"FLF3F7FFFFF Fn\F5F^F]FFF2F+ĘFVFTF/ FFQF@FCSF'F^F*FFxFśF"FvFJwFoFm{FΜFqFNvFF3BFF=4Fn6FȢFF8FFӡFFҒFA#FF…FF:oF2oFEFF +FFF]gFަFUFwF۝FϡFfF +FCFQF!FϋF7)FFRǕFJF:aFFFŗF($FF%F+F>Ft,F~gFFFF9F ΢FƨFIFF1Ff٤Fn_FFHFFUFhFJ}FXQFzFV'F#FFF=FiF9FFԱFFFFaEFFHF̝FFjFFpYFVXFi!F8FFٛF)FEF)FFHFF3F #FF/FpFFFܻF8FgFݟFFŚF_F:F'FAF郙FnFTF3FAsFbF1FyFFvFFbF͜FFXF7FݛF6ZFF$F\FaqF FFdFmF=FgFsFNFFhFΞFϖFSFyPF FF˞F'FRNFHiFRmF|F.XF`ΡFFFeF?F3FʚFcۢFNmFF< +F~ F>FpFF F FFʢF&FW˞FFvFʧFBԡFUFYqFFF]FbؘF]FFdFͿFʍF gF8FhFlFѤF%FFNFwF_FCF +FF9F'FܽFpF +FԘFFsF F7F/FcFC`FlFF*ܛF"͜FF@ F\FF FFQ5F\ƛF FFFdF޵F;F}FFCۘFBRFoFvF$FL(F,FFOF:FF FF+ĢFHFFpFAF3>FʼFlFiF嚞F FUeFsnF| +FYFFkFF"FA$FF9F=kF۠FXYFğFV$FyF_F@ǝFOF-F;FTFF5ʘFkF͑F-FǒF(FF]F)FbFgFFpFQFXFwF*F`FFҗFnyFL2FFX)F.F0FFʡFIFyF$F%FnFўFtF֢FRQFrFzFFFܰF|iF[ΩFE5FFF,{FFiFF@ŢFFTFʟF"F`lFRFFƥFcF.ޠFGFgFFuF?FF{F FqF F3FFňF\FF}F날FHFKNF +FNFفF=F8FF{FYFQzF>*F#FFgF-FΠF̍F0FۘFMFVFhfF F#FFiFΛFFٛFFYFF̢FFâFRɤFߛFFFvFޢFҙFF욣FvF)FM.F-FkF{F|vFvˣF̣FśF F FUFqFFF$ϠFFFFZFZȞFsFA]F9FL^FݞFF"ԝFFܞF:FFKFF8HF&Fj,F]FFFFnFFF2FBF$.FFF "FȝFFF +?FXFFFFsF ϟFF1UFF:FQFa(FWFFwOFcԞF-F FpF;fF"FFIF%F@FF,F=FFP)Fl}FɜFFF F~FF첖F +FʛF:ݛF'oFqQFAF=6FF +բFdF>FaƤFCFFNFFvFFUvFa8FxoFF{FXFlF}Fp;FtF&ߙFIF͝Fh2FYFLF"nFFF_FF FFFfF iFqF<F켨F^FIF@FpF@FKFkF?FF3FFFFFx:FFU;FڦFFyFtFc[F"FUFAFңFHFt=FnF`F`%FFSnFwF;CFFc9FKIF$ښF'F1=F^FOFkwF9FFFFd1FFYF %FΧFFXFxFFjF$!FXF4FF4FzF6&FFʢFLFOfFFȩFxF1tFQhF'FzUFwFaFFwҟFtF{FFStFB~FDСFFF@F|F!FLFDFFUFgFfFĤFÞF̙F)FFF*\F#FfF +FFLF2Fy͡FFjbFYFeFXSFmFFOFFեF`#FFMF[LFFFFG`F6F}͗FFpFF8FHFfHFDFFFF6ߩFcF:AFFFFYFFZF|FߣFXFiFGFʠFFzFE۠FǞFZ^FpFMlF0F2FIFߞF=FKFΥFFCFFF_FNFyF/FʀFFZFFUFܡFUF$FؘFeРFRFE|F##FbF FFaF-F%FF7FģFcFFmFFiFDFMFdF}wF/FF[FtjF`dFFIFÜFF)RFF2FXFF$FFdFF|F~PFFEFFҢFkFq6FF-FCFFF/$FΙFFDFwF*F՚FQFbXF"F4PF`FFLF1FgF4FFPFbFFFF͙FˢFSqFFLPFGFioF{FF}ОFFJΟFYFFQpF"F[FIsF$FuF7FAFLƚF_FR*F͢FHFF7FF[FFFtFwF>FFF F/FEF]FtϕFy6F3FʢFPFaםFBF1ӟF}ԡFsFrF:FFСFsFWFiFAFjF8FwїFFڞF bFwF*F2FFaFrFFFF0FoF6 FWjFBF%FQ3FFFfFEFȜFfF̱FDΫF~2FޠFFFFzFF"FLFF!GFݺF^FFPF:FFáFFGכF`FwFsFFwFFHFٚFqĘFFwFjAF 8FRF0FiFQF'F/FFFFSFFFPF$F:FCFF˛FZFeFFFFqFFetFFMFxFJ*F1FFRFF0F:F +F'FpF{FΘF FɷFF|SFKF FFFFXF&F F .FFFDQF̪FAF/FL_FwF,FVF1FDF|FrFלFFFFcF_DF FF.ОFd>Ft$F#FwF[FyF.qFWF1F9+FF #FIFzFk FF_FlFܿFeFUFwFFFXFFJFS6FsFyFvFF!F̡Fk FFFF,FcFHFFs#FFʥFFM[F,@F쿞FvFFdқFF^F9FF̛F F氝FīF`FyFF;FyiFZFc F FFFFFFlFFFYF]>FDYF^F$FFdFGFF.FiFIF\FCFqFFFVgFGFpF"{FݘF`~FhȒFٔFFcFaF7FFFΔF ͙FFeF7ZF8F)FF[FرFОF^FJFFFFiFȘFZtFN,FnLF6 FɡF8FFFF=F FTFFFF?F[CF|F6WFߑF"TF_oFm]FAFBFF;FFF$FgOF.˖F,F]SFޑFF?FFЛFۘFJF`mF?FQFFP#F˥F.FFFtFF5F!F F(FFFUFFYFŖF̝F_FFF2F@FhF'mF7FFF6HF1הF|FhFFǖFhFLFmFۖF+7F2FFFFFFDbFVOFyFF МFFƓF]FU,FrFF +FaFFʞFFhFFkF:FaFИF4F7F?@FSF?F[FHFFEF9FWFIãFJFmF#FLFFFFFmmF>FeFoF-FØF|ћF'FꑡF˚F+FFFvFDF FcTFeɜFGF-FOFBF6FRF 9FVTFĦFD}FF{FͩFnFYFF| FIF:F&MFkF[FX,FWF&ĕF[FEF۔FFFFF$!FqFE$F-F3FFamF>#FUFF.FSFD4FFFaۙF FFFCԛFF9FЪFKFFK*FrFFUFaF3PFF FFFrFΣFUFHdFޙFMF?ӣF[F1Ft.FyFPFF!FFbF֟FrFdFF FUFɂFSFFkFƪFyѥFߞFrF9FRF\sFXFFzF~FFFFFFGFaFɤF~)FlF+"FWҕFFo̝FzFFFQFMrFF#yFFFMFFԒF?F;F"IFF\F FFFCF|FSFF}pF;FQFFFnuF8FzF[FzFp(FFɔFFFFFoF×F;̙F4FzF&TFoF[FF0FQFIFF FnFC֔FJF7FœFa=F8F FFFFzFFQ'FFtFFO˛FGFDFF5FHFdFDF9FFFдF6;F_ΜF!FYFLF>FFnFHF[FFRF F cFPFuNFӗFDFFcF9F`FSFxF ڙFyEF1џF FT?F`FFF|ĞFFFF1(FýFFBFFekF[!FFtFF&FFF9F@-FF4FsF>FFFF F|7F|EFyFFGF-FCFF>FJF;FzFK`F5lF6ǢFYFHFnFvFFFbΠF1rFȟF FF:"FGFIFo-FFFQFsFЛFF>FɤFFFFͩFuFFIFlF5ʟF;"FF|F(FיFŽFFFGF#F*=F1F-DFFFFFQF FFyrFÃF/,FTFQhF?FIFvFXFF)FFשFFFXFИFFK|FF}FFMF FFħFTFdFFFeuFFwFF)FFݝF*ԘFFZF2}F@F +Fz/FBFמF FF +F%FFIFyFHF~F4F(FFYFΞFڡFZF\FF1ßFF"FpFg;FcFFvFFǧFoF FZFF<&FrFעFiF7FDF{FFQ8FjFǟFF9FKF,FF-FFFOFFĘF;FyFdFFݘFFn[Fy=FZF&F*F1F!F=FʡF9FiFСF7F0FȋFAFFdFQ_FF/8FC}FF(FFF,FFGFFFIFƤF\FIkFa}F~FMFFؘFFc!FH3FNpFFEeFǠF:F@ژFD)F FFNmFAF~FəFgJFFϞF=vFFϦFqFFFUF<ՔFgFsF^F;FbF]FFfF{FFF 0F>FHFFlFaFFFF:FťF"F"dF*FFe2FFs(FF>Fy٘FF$dFΞFF!FוFFFjFFbF4uF$yFK F(ߡFvF1VF9FF(F{FxFsFF1FXF F +F!PF3FFءFFƧFNF6FGFF,(F FF'F:FfFKlF'XFKFڜFF6F#FFF`FF.FcFFC#FFOFF?FZ͟F;Fo7FFԢFڞFFF,FIFCF%F֣FPFxFqF5nF FؕFF FߠFFMFG͛FF芘FFF%DFWFKFƟF0F5]F"FFFIfFFFF絜FF&=FlFFF(RFF8F锠F빛F,F\FYFIF F3FDFFWF4FF F=F{FFiF@FF~F FFȢF5F%F \FUF FF +F ӟFKFɥFHFFqF!oFҜFL(FFڞFwF3F} +FFFFFqFFHoFh'FF΁F9FY!FObject = apollo2isis + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2006-11-15 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T09:42:04 + HostName = zarquon + UserName = apollo + Description = "Import Apollo Image" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/raw/AS15-M-1499.tif + TO = /ser/estore/apollo/work/metric/AS15/cube/AS15-M-1499.cub + TIME = 1971-08-01T15:20:21.786 + End_Group +End_Object + +Object = apollowarp + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2007-01-30 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T10:00:47 + HostName = random + UserName = apollo + Description = "Warp an image to another using control points" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/cube/AS15-M-1499.cub + TO = /ser/estore/apollo/work/metric/AS15/warped/AS15-M-1499.cub + DEGREE = 3 + WEIGHTED = true + INTERPOLATION = cubicconvolution + End_Group +End_Object + +Object = apollocal + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2007-05-09 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T22:49:12 + HostName = zarquon + UserName = apollo + Description = "Radiometric correction of Apollo Planetary images" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/warped/AS15-M-1499.cub + TO = /ser/estore/apollo/work/metric/AS15/calibrated/AS15-M-1499.cub + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2008-06-17 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-05-27T17:08:47 + HostName = Unknown + UserName = Unknown + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/calibrated/AS15-M-1499.cub + ATTACH = false + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T19:55:57 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = modkey + GRPNAME = Instrument + KEYWORD = StartTime + VALUE = 1971-08-01T15:20:21.786 + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T19:57:31 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = addkey + GRPNAME = Instrument + KEYWORD = ObservationType + VALUE = "Oblique North" + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T20:06:18 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = addkey + GRPNAME = Instrument + KEYWORD = RevolutionNumber + VALUE = 35 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-23T13:27:29 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-24T10:19:16 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2012-05-14 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-29T12:13:11 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + MAXEMISSION = 88.0 + MAXINCIDENCE = 85.0 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2013-02-25 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T10:41:24 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + ATTACH = true + TO = AS15_APriori_CamStats_REV04-72.csv + FORMAT = flat + APPEND = true + LINC = 100 + SINC = 100 + End_Group +End_Object + +Object = apolloremrx + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2007-01-18 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T16:09:06 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Removes Reseaus from an Apollo image" + + Group = UserParameters + FROM = /archive/missions/apollo/metric/AS15/REV35/AS15-M-1499.cub + TO = AS15-M-1499_remrx.cub + WIDTH = 5 + ACTION = null + RESVALID = FALSE + End_Group +End_Object + +Object = lowpass + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2006-06-19 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T16:09:36 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Apply lowpass or blurring filter to a cube" + + Group = UserParameters + FROM = AS15-M-1499_remrx.cub + TO = AS15-M-1499_rxfill.cub + SAMPLES = 11 + LINES = 11 + MINOPT = COUNT + MINIMUM = 1 + REPLACEMENT = CENTER + FILTER = outside + NULL = TRUE + HRS = TRUE + HIS = TRUE + LRS = TRUE + LIS = TRUE + End_Group +End_Object + +Object = reduce + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2013-01-16 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T21:48:15 + HostName = cn2.ib.astrohpc + UserName = tbecker + Description = "Reduce the pixel dimensions of an image" + + Group = UserParameters + FROM = /work/projects/ApolloMetric/METRIC/Calibrated/AS15/FY13/Re- + mRX/REV35/AS15-M-1499_rxfill.cub + TO = /scratch/tbecker/ApolloMetric/Reduce/REV35/AS15-M-1499_sub- + 4.cub + ALGORITHM = AVERAGE + MODE = SCALE + SSCALE = 4.0 + LSCALE = 4.0 + VALIDPER = 50 + VPER_REPLACE = NULL + End_Group +End_Object + +Object = mask + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2010-10-13 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-06-04T15:20:06 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Set pixels to NULL using a mask cube" + + Group = UserParameters + FROM = ../../Sub4/REV35/AS15-M-1499_sub4.cub + MASK = AS15_REV35_flat_edit_mask.cub + TO = AS15-M-1499_msk.cub + PRESERVE = INSIDE + SPIXELS = NULL + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.6.5819 stable | 2014-04-29" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3.4.6/isis/bin + ExecutionDateTime = 2014-08-25T16:31:12 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = true + CKRECON = false + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = true + SPKRECON = false + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:37 + HostName = cn8.ib.astrohpc + UserName = tbecker + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-149- + 9_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2013-02-25 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:38 + HostName = cn4.ib.astrohpc + UserName = tbecker + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-1499_msk.- + cub + ATTACH = true + FORMAT = PVL + APPEND = FALSE + LINC = 100 + SINC = 100 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:38 + HostName = cn4.ib.astrohpc + UserName = tbecker + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-- + M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-17T18:30:01 + HostName = cn5.ib.astrohpc + UserName = tbecker + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-149- + 9_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = true + CKRECON = false + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = true + SPKRECON = false + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.9.6127 stable | 2015-03-26" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-05-07T14:00:34 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 1000 + SINC = 1000 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-05-14T16:07:05 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-20T16:38:28 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 2.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v2_R500-PFree-A1_Con500-500-100 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-21T13:46:23 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 3-canrejectentirepoints.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v3_R500-PFree-A1_Con500-500-100-can-reject-entire-- + points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-21T16:27:11 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 3-canrejectentirepoints.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-6 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v3_R500-PFree-A1_Con500-500-100-can-reject-entire-- + points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6257 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-16/isis/bin + ExecutionDateTime = 2015-06-27T14:24:11 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-01T07:20:28 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-01T08:49:13 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult3-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-01T10:51:15 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-01T11:10:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult3-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-02T08:26:26 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-02T09:28:47 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult10-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-05T14:45:00 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-05T14:46:16 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/AS15-DenseNadir_OblREV35_OblREV71.- + lis + CNET = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/AS15-DenseNadir_OblREV35_OblREV71_- + fin.net + ONET = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 5.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = rejtest + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-06T15:46:48 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-06T16:03:25 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = rejmult-10_converge-E02 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-07T09:13:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-07T10:02:17 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = rejmult-10_converge-E03-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-07T10:32:36 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-07T12:35:20 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-4 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = rejmult-10_converge-E04-noangles-spk-250-v4 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-08T06:43:20 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T12:22:59 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + FILE_PREFIX = rejtest2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-08T15:07:26 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T15:12:07 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + FILE_PREFIX = zzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:26:49 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = zzzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-04-27 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:40:18 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:45:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 5.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = zzzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-04-27 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-09T12:00:56 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-10T08:31:12 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 1000 + SINC = 1000 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-10T09:33:39 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-17T13:24:07 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-19T12:25:56 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-19T16:51:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T08:17:48 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T09:07:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T11:01:42 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T11:09:17 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T13:00:27 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T14:24:02 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T14:29:36 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-21T11:54:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-21T11:54:53 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-21T14:41:47 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-21T14:46:29 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T07:55:09 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T07:51:07 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T10:28:48 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T13:07:13 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T14:08:17 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T14:09:57 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T14:52:22 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-02-13 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T15:02:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = REV35.lis + CNET = REV35-Extracted-no-fixed.net + ONET = fred.net + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = YES + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CKDEGREE = 2 + CKSOLVEDEGREE = 2 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPKDEGREE = 2 + SPKSOLVEDEGREE = 2 + SPSOLVE = POSITION + OVERHERMITE = No + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-23T15:41:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-25T14:13:30 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 25.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 250 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-26T11:38:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.10.6384 stable | 2015-07-23" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.10/isis/bin + ExecutionDateTime = 2015-10-26T16:33:06 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = yes + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-26T16:58:07 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = yes + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-27T15:29:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-27T16:21:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = no-fixed-points.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = no-fixed-points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-28T06:40:11 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-28T08:24:45 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = no-fixed-points-with-twist.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = no-fixed-points-with-twist + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-28T10:46:51 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-28T11:16:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = NadirPlusREV35-nosingles-noFixedPoints-spk-only.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = NadirPlusREV35-nosingles-noFixedPoints-spk-only + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-02T16:31:43 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-03T08:29:03 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-03T10:09:55 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-03T17:32:20 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = oblique-distribution + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-04T10:27:22 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = oblique-distribution-v2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-04T12:31:58 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6414 stable | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.11/isis/bin + ExecutionDateTime = 2015-11-09T15:45:53 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-09T17:02:19 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-NoIgnores.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-10T14:00:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-10T16:36:09 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-nofixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = POSITIONS + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-11T08:37:03 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-11T10:20:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-nofixed-obliqueco- + ntrol-fixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-20 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-v3 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-11T14:46:16 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-11T15:03:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-ken.net + ONET = tammy-2015-11-11-nadir-50-50-100-oblique-500-- + 500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-20 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-50-50-100-oblique-500-- + 500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-12T12:26:12 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-12T12:45:25 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-Nadir-2- + 5-25-50-Oblique-500-500-1000.net + ONET = tammy-2015-11-11-nadir-25-25-100-oblique-500-- + 500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-25-25-100-oblique-500-- + 500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-12T14:17:30 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-12T14:25:21 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-Nadir-1- + 00-100-250-Oblique-500-500-1000.net + ONET = tammy-2015-11-11-nadir-100-100-250-oblique-50- + 0-500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-100-100-250-oblique-50- + 0-500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T09:24:28 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T09:34:00 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-ConstrainedInNadirFixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-11-15_Nadir-100-100-250-Oblique-500-500-1000-- + ConstrainedInNadirFixed + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T12:04:26 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T12:08:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = test.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = test + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T14:50:35 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T15:01:39 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = test.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = test + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-16T13:12:00 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-16T13:28:56 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015-Nadir-100-100-250-Oblique-50- + 0-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015-Nadir-100-100-250-Oblique-50- + 0-500-1000-jigout-2015-11-16.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 2500 + SPACECRAFT_VELOCITY_SIGMA = 1 + SPACECRAFT_ACCELERATION_SIGMA = .1 + CAMERA_ANGLES_SIGMA = 2 + CAMERA_ANGULAR_VELOCITY_SIGMA = 1 + CAMERA_ANGULAR_ACCELERATION_SIGMA = .1 + FILE_PREFIX = 2015-11-16_ExtractedREV35_Plus_NadirR- + ef_PntReg-QN-ConstrainedRecovered-cl-- + REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6431 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-11-24/isis/bin + ExecutionDateTime = 2015-12-07T09:09:35 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-07T09:26:55 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000-jigout.net + USEPVL = false + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = POSITIONS + OVERHERMITE = No + FILE_PREFIX = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6451 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-12-08/isis/bin + ExecutionDateTime = 2015-12-24T11:48:01 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-24T12:04:28 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout-2015-12-24.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-12-24_ExtractedREV35_Plus_NadirRef_PntReg-QN-- + ConstrainedRecovered-cl-REV35only-11Nov2015-Nadir-- + 100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6451 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-12-08/isis/bin + ExecutionDateTime = 2015-12-26T11:19:26 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-26T11:26:39 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout-2015-12-26.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-12-26_ExtractedREV35_Plus_NadirRef_PntReg-QN-- + ConstrainedRecovered-cl-REV35only-11Nov2015-Nadir-- + 100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = crop + IsisVersion = "3.4.13.7091 stable | 2016-08-10" + ProgramVersion = 2015-01-15 + ProgramPath = /usgs/pkgs/isis3.4.13/isis/bin + ExecutionDateTime = 2016-11-30T16:30:55 + HostName = pepper.wr.usgs.gov + UserName = mhahn + Description = "Extracts a sub-area from a cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + TO = AS15-M-1499_msk_crop.cub + SAMPLE = 2000 + NSAMPLES = 100 + SINC = 1 + LINE = 2000 + NLINES = 100 + LINC = 1 + PROPSPICE = true + End_Group +End_Object + ? ? P=?+`?X>F3OA?0 IJp1GQ}?{5mܰ@.Fh@uzY?CKčQ?z`?Jp1ZZ ?7ſ=&E?JPr(k>$hU/t.>op11䲠v̖WYיA1mAO`7˴0A=op1 +Object = apollo2isis + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2006-11-15 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T09:42:04 + HostName = zarquon + UserName = apollo + Description = "Import Apollo Image" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/raw/AS15-M-1499.tif + TO = /ser/estore/apollo/work/metric/AS15/cube/AS15-M-1499.cub + TIME = 1971-08-01T15:20:21.786 + End_Group +End_Object + +Object = apollowarp + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2007-01-30 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T10:00:47 + HostName = random + UserName = apollo + Description = "Warp an image to another using control points" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/cube/AS15-M-1499.cub + TO = /ser/estore/apollo/work/metric/AS15/warped/AS15-M-1499.cub + DEGREE = 3 + WEIGHTED = true + INTERPOLATION = cubicconvolution + End_Group +End_Object + +Object = apollocal + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2007-05-09 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-03-12T22:49:12 + HostName = zarquon + UserName = apollo + Description = "Radiometric correction of Apollo Planetary images" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/warped/AS15-M-1499.cub + TO = /ser/estore/apollo/work/metric/AS15/calibrated/AS15-M-1499.cub + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.1.16 | 2008-06-26" + ProgramVersion = 2008-06-17 + ProgramPath = /ser/software/isis-3.1.16/isis/bin + ExecutionDateTime = 2009-05-27T17:08:47 + HostName = Unknown + UserName = Unknown + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = /ser/estore/apollo/work/metric/AS15/calibrated/AS15-M-1499.cub + ATTACH = false + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T19:55:57 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = modkey + GRPNAME = Instrument + KEYWORD = StartTime + VALUE = 1971-08-01T15:20:21.786 + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T19:57:31 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = addkey + GRPNAME = Instrument + KEYWORD = ObservationType + VALUE = "Oblique North" + End_Group +End_Object + +Object = editlab + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2012-12-20 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-21T20:06:18 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Modifies cube labels" + + Group = UserParameters + FROM = ../AS15-M-1499.cub + OPTIONS = addkey + GRPNAME = Instrument + KEYWORD = RevolutionNumber + VALUE = 35 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-23T13:27:29 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.4.5152 beta | 2013-03-19" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3production2013-05-07/isis/bin + ExecutionDateTime = 2013-05-24T10:19:16 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2012-05-14 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-29T12:13:11 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + MAXEMISSION = 88.0 + MAXINCIDENCE = 85.0 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2013-02-25 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T10:41:24 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = REV35/AS15-M-1499.cub + ATTACH = true + TO = AS15_APriori_CamStats_REV04-72.csv + FORMAT = flat + APPEND = true + LINC = 100 + SINC = 100 + End_Group +End_Object + +Object = apolloremrx + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2007-01-18 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T16:09:06 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Removes Reseaus from an Apollo image" + + Group = UserParameters + FROM = /archive/missions/apollo/metric/AS15/REV35/AS15-M-1499.cub + TO = AS15-M-1499_remrx.cub + WIDTH = 5 + ACTION = null + RESVALID = FALSE + End_Group +End_Object + +Object = lowpass + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2006-06-19 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T16:09:36 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Apply lowpass or blurring filter to a cube" + + Group = UserParameters + FROM = AS15-M-1499_remrx.cub + TO = AS15-M-1499_rxfill.cub + SAMPLES = 11 + LINES = 11 + MINOPT = COUNT + MINIMUM = 1 + REPLACEMENT = CENTER + FILTER = outside + NULL = TRUE + HRS = TRUE + HIS = TRUE + LRS = TRUE + LIS = TRUE + End_Group +End_Object + +Object = reduce + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2013-01-16 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-05-30T21:48:15 + HostName = cn2.ib.astrohpc + UserName = tbecker + Description = "Reduce the pixel dimensions of an image" + + Group = UserParameters + FROM = /work/projects/ApolloMetric/METRIC/Calibrated/AS15/FY13/Re- + mRX/REV35/AS15-M-1499_rxfill.cub + TO = /scratch/tbecker/ApolloMetric/Reduce/REV35/AS15-M-1499_sub- + 4.cub + ALGORITHM = AVERAGE + MODE = SCALE + SSCALE = 4.0 + LSCALE = 4.0 + VALIDPER = 50 + VPER_REPLACE = NULL + End_Group +End_Object + +Object = mask + IsisVersion = "3.4.4.5168 beta | 2013-03-19" + ProgramVersion = 2010-10-13 + ProgramPath = /usgs/pkgs/isis3production2013-05-28/isis/bin + ExecutionDateTime = 2013-06-04T15:20:06 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Set pixels to NULL using a mask cube" + + Group = UserParameters + FROM = ../../Sub4/REV35/AS15-M-1499_sub4.cub + MASK = AS15_REV35_flat_edit_mask.cub + TO = AS15-M-1499_msk.cub + PRESERVE = INSIDE + SPIXELS = NULL + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.6.5819 stable | 2014-04-29" + ProgramVersion = 2013-02-26 + ProgramPath = /usgs/pkgs/isis3.4.6/isis/bin + ExecutionDateTime = 2014-08-25T16:31:12 + HostName = astrovm1.wr.usgs.gov + UserName = tbecker + Description = "Determine SPICE kernels for a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = true + CKRECON = false + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = true + SPKRECON = false + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:37 + HostName = cn8.ib.astrohpc + UserName = tbecker + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-149- + 9_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = camstats + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2013-02-25 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:38 + HostName = cn4.ib.astrohpc + UserName = tbecker + Description = "Generates and outputs camera statistics for a cube in + raw camera geometry" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-1499_msk.- + cub + ATTACH = true + FORMAT = PVL + APPEND = FALSE + LINC = 100 + SINC = 100 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-12T21:47:38 + HostName = cn4.ib.astrohpc + UserName = tbecker + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-- + M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.5965 stable | 2014-08-27" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.7/isis/bin + ExecutionDateTime = 2014-11-17T18:30:01 + HostName = cn5.ib.astrohpc + UserName = tbecker + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/tbecker/ApolloMetric/Sub4_Masked/REV35/AS15-M-149- + 9_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = true + CKRECON = false + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = true + SPKRECON = false + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.9.6127 stable | 2015-03-26" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-05-07T14:00:34 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 1000 + SINC = 1000 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-05-14T16:07:05 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-20T16:38:28 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 2.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v2_R500-PFree-A1_Con500-500-100 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-21T13:46:23 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 3-canrejectentirepoints.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v3_R500-PFree-A1_Con500-500-100-can-reject-entire-- + points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-05-21T16:27:11 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin_500-500-100.- + net + ONET = AS15-DenseNadir_OblREV35_OblREV71_fin-jigout-ken-v- + 3-canrejectentirepoints.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-6 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + CAMERA_ANGLES_SIGMA = 1 + FILE_PREFIX = v3_R500-PFree-A1_Con500-500-100-can-reject-entire-- + points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6257 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-16/isis/bin + ExecutionDateTime = 2015-06-27T14:24:11 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-01T07:20:28 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-01T08:49:13 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult3-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-01T10:51:15 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-01T11:10:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult3-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.10.6265 beta | 2015-07-23" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-06-30/isis/bin + ExecutionDateTime = 2015-07-02T08:26:26 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-02T09:28:47 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 100 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = nadir-REV35-REV71-rejmult10-convergeE-2-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-05T14:45:00 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-05T14:46:16 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/AS15-DenseNadir_OblREV35_OblREV71.- + lis + CNET = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/AS15-DenseNadir_OblREV35_OblREV71_- + fin.net + ONET = /work/projects/progteam/kedmundson/jigsaw_tests/Ap- + ollo/AS15-only-NADIR-SCRATCH-NOREV72/2015-07-01-Na- + dir-REV35-REV71/fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 5.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 300 + FILE_PREFIX = rejtest + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-06T15:46:48 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-06T16:03:25 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = rejmult-10_converge-E02 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-07T09:13:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-07T10:02:17 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = rejmult-10_converge-E03-v1 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-07T10:32:36 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-07T12:35:20 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-4 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = rejmult-10_converge-E04-noangles-spk-250-v4 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-08T06:43:20 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T12:22:59 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = AS15-DenseNadir_OblREV35_OblREV71.lis + CNET = AS15-DenseNadir_OblREV35_OblREV71_fin.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + FILE_PREFIX = rejtest2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-08T15:07:26 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T15:12:07 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + FILE_PREFIX = zzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:26:49 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-3 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = zzzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-04-27 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:40:18 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-08T16:45:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35.lis + CNET = fred_edited.net + ONET = fred1.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 5.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + FILE_PREFIX = zzzz + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-04-27 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-07-09T12:00:56 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-10T08:31:12 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = FALSE + INCTYPE = LINCSINC + LINC = 1000 + SINC = 1000 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.9.6185 stable | 2015-03-26" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.9/isis/bin + ExecutionDateTime = 2015-07-10T09:33:39 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /archive/projects/TOPO/LOLA_MAR2014/LRO_LOLA_Global_LDEM_1- + 18m_mar2014_radius.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-17T13:24:07 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-19T12:25:56 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-19T16:51:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T08:17:48 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T09:07:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T11:01:42 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T11:09:17 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T13:00:27 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-20T14:24:02 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-20T14:29:36 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-21T11:54:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-21T11:54:53 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-21T14:41:47 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-21T14:46:29 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T07:55:09 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T07:51:07 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-allcontrolfixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T10:28:48 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T13:07:13 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T14:08:17 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-22T14:09:57 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T14:52:22 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-02-13 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-22T15:02:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = REV35.lis + CNET = REV35-Extracted-no-fixed.net + ONET = fred.net + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = YES + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CKDEGREE = 2 + CKSOLVEDEGREE = 2 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPKDEGREE = 2 + SPKSOLVEDEGREE = 2 + SPSOLVE = POSITION + OVERHERMITE = No + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-23T15:41:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-25T14:13:30 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 25.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 250 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-26T11:38:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.10.6384 stable | 2015-07-23" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3.4.10/isis/bin + ExecutionDateTime = 2015-10-26T16:33:06 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = yes + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = footprintinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-08-22 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-26T16:58:07 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Creates a lat/lon polygon and writes it to the image" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS- + 15-M-1499_msk.cub + INCREASEPRECISION = yes + INCTYPE = LINCSINC + LINC = 100 + SINC = 100 + LIMBTEST = ELLIPSOID + TESTXY = FALSE + MAP = $base/templates/maps/sinusoidal.map + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-27T15:29:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-27T16:21:18 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = no-fixed-points.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = no-fixed-points + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-28T06:40:11 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-28T08:24:45 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = no-fixed-points-with-twist.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = no-fixed-points-with-twist + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-10-28T10:46:51 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-10-28T11:16:33 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = NadirPlusREV35-nosingles-noFixedPoints-spk-only.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 50 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-2 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = NONE + POINT_RADIUS_SIGMA = 500 + FILE_PREFIX = NadirPlusREV35-nosingles-noFixedPoints-spk-only + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-02T16:31:43 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-03T08:29:03 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-03T10:09:55 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-03T17:32:20 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = oblique-distribution + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-04T10:27:22 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = NadirPlusREV35-scratch.lis + CNET = NadirPlusREV35-nosingles-noFixedPoints.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = oblique-distribution-v2 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-04T12:31:58 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6414 stable | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3.4.11/isis/bin + ExecutionDateTime = 2015-11-09T15:45:53 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-09T17:02:19 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-NoIgnores.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = yes + REJECTION_MULTIPLIER = 10.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-5 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-10T14:00:01 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-10T16:36:09 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-nofixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = POSITIONS + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-11T08:37:03 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-11T10:20:51 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-nofixed-obliqueco- + ntrol-fixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-20 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-v3 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-11T14:46:16 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-11T15:03:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-ken.net + ONET = tammy-2015-11-11-nadir-50-50-100-oblique-500-- + 500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-20 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-50-50-100-oblique-500-- + 500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-12T12:26:12 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-12T12:45:25 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-Nadir-2- + 5-25-50-Oblique-500-500-1000.net + ONET = tammy-2015-11-11-nadir-25-25-100-oblique-500-- + 500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-25-25-100-oblique-500-- + 500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-12T14:17:30 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-12T14:25:21 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constr- + ainedRecovered-cl-REV35only-11Nov2015-Nadir-1- + 00-100-250-Oblique-500-500-1000.net + ONET = tammy-2015-11-11-nadir-100-100-250-oblique-50- + 0-500-1000 + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 200 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 250 + CAMERA_ANGLES_SIGMA = 2 + FILE_PREFIX = tammy-2015-11-11-nadir-100-100-250-oblique-50- + 0-500-1000 + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T09:24:28 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T09:34:00 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-ConstrainedInNadirFixed.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-11-15_Nadir-100-100-250-Oblique-500-500-1000-- + ConstrainedInNadirFixed + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T12:04:26 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T12:08:04 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = test.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = test + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-15T14:50:35 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-15T15:01:39 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = test.net + ONET = fred.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = test + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.11.6395 beta | 2015-10-28" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-10-13/isis/bin + ExecutionDateTime = 2015-11-16T13:12:00 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-11-16T13:28:56 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015-Nadir-100-100-250-Oblique-50- + 0-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-Q- + N-ConstrainedRecovered-cl-REV35only-1- + 1Nov2015-Nadir-100-100-250-Oblique-50- + 0-500-1000-jigout-2015-11-16.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + SPACECRAFT_POSITION_SIGMA = 2500 + SPACECRAFT_VELOCITY_SIGMA = 1 + SPACECRAFT_ACCELERATION_SIGMA = .1 + CAMERA_ANGLES_SIGMA = 2 + CAMERA_ANGULAR_VELOCITY_SIGMA = 1 + CAMERA_ANGULAR_ACCELERATION_SIGMA = .1 + FILE_PREFIX = 2015-11-16_ExtractedREV35_Plus_NadirR- + ef_PntReg-QN-ConstrainedRecovered-cl-- + REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6431 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-11-24/isis/bin + ExecutionDateTime = 2015-12-07T09:09:35 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = /scratch/kedmundson/ApolloMetric/Sub4_Masked/REV35/AS15-M-- + 1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-07T09:26:55 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000-jigout.net + USEPVL = false + OBSERVATIONS = No + RADIUS = YES + UPDATE = YES + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = POSITIONS + OVERHERMITE = No + FILE_PREFIX = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-WAC-50-50-100-Nad- + ir-100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6451 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-12-08/isis/bin + ExecutionDateTime = 2015-12-24T11:48:01 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-24T12:04:28 + HostName = astrovm2.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout-2015-12-24.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = No + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-12-24_ExtractedREV35_Plus_NadirRef_PntReg-QN-- + ConstrainedRecovered-cl-REV35only-11Nov2015-Nadir-- + 100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.4.12.6451 beta | 2016-02-24" + ProgramVersion = 2014-04-27 + ProgramPath = /usgs/pkgs/isis3production2015-12-08/isis/bin + ExecutionDateTime = 2015-12-26T11:19:26 + HostName = astrovm3.wr.usgs.gov + UserName = kedmundson + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + WEB = false + ATTACH = TRUE + CKSMITHED = yes + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = yes + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = user + MODEL = /work/projects/Apollo/DEM/LRO_LOLA-KaguyaLPF3-mrg_Global_5- + 12ppd_radius-demprep.cub + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = http://services.isis.astrogeology.usgs.gov/cgi-bin/spicein- + it.cgi + PORT = 80 + End_Group +End_Object + +Object = jigsaw + IsisVersion = "3.4.7.0 alpha | 2014-04-29" + ProgramVersion = 2014-07-14 + ProgramPath = /work/projects/progteam/kedmundson/isis3/branches/ipce_- + 2014-09-26/isis/bin + ExecutionDateTime = 2015-12-26T11:26:39 + HostName = astrovm1.wr.usgs.gov + UserName = kedmundson + Description = "Improves camera pointing and a whole lot more!" + + Group = UserParameters + FROMLIST = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015.lis + CNET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000.net + ONET = ExtractedREV35_Plus_NadirRef_PntReg-QN-Constrained- + Recovered-cl-REV35only-11Nov2015-Nadir-100-100-250- + -Oblique-500-500-1000-jigout-2015-12-26.net + USEPVL = false + OBSERVATIONS = No + RADIUS = yes + UPDATE = yes + METHOD = SPARSE + OUTLIER_REJECTION = No + REJECTION_MULTIPLIER = 3.0 + ERRORPROPAGATION = yes + MODEL1 = NONE + SIGMA0 = 1.0e-10 + MAXITS = 50 + CAMSOLVE = ANGLES + TWIST = Yes + OVEREXISTING = No + SPSOLVE = positions + OVERHERMITE = No + POINT_RADIUS_SIGMA = 100 + FILE_PREFIX = 2015-12-26_ExtractedREV35_Plus_NadirRef_PntReg-QN-- + ConstrainedRecovered-cl-REV35only-11Nov2015-Nadir-- + 100-100-250-Oblique-500-500-1000-jigout + BUNDLEOUT_TXT = yes + OUTPUT_CSV = yes + RESIDUALS_CSV = yes + End_Group +End_Object + +Object = crop + IsisVersion = "3.4.13.7091 stable | 2016-08-10" + ProgramVersion = 2015-01-15 + ProgramPath = /usgs/pkgs/isis3.4.13/isis/bin + ExecutionDateTime = 2016-11-30T16:30:55 + HostName = pepper.wr.usgs.gov + UserName = mhahn + Description = "Extracts a sub-area from a cube" + + Group = UserParameters + FROM = AS15-M-1499_msk.cub + TO = AS15-M-1499_msk_crop.cub + SAMPLE = 2000 + NSAMPLES = 100 + SINC = 1 + LINE = 2000 + NLINES = 100 + LINC = 1 + PROPSPICE = true + End_Group +End_Object + +Object = editlab + IsisVersion = "4.4.0 | 2021-02-19" + ProgramVersion = 2015-04-24 + ProgramPath = /Users/ssides/repos/dev/build/bin + ExecutionDateTime = 2021-02-19T12:31:56 + HostName = Unknown + UserName = ssides + Description = "Modifies cube labels" + + Group = UserParameters + FROM = cropped.cub + OPTIONS = MODKEY + GRPNAME = kernels + KEYWORD = ShapeModel + VALUE = $ISISTESTDATA/isis/src/base/unitTestData/dem.cub + End_Group +End_Object diff --git a/isis/tests/data/photomet/lub2303j.191.lev1.cub b/isis/tests/data/photomet/lub2303j.191.lev1.cub new file mode 100644 index 0000000000..65091213e0 --- /dev/null +++ b/isis/tests/data/photomet/lub2303j.191.lev1.cub @@ -0,0 +1,561 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 384 + TileLines = 288 + + Group = Dimensions + Samples = 384 + Lines = 288 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = "CLEMENTINE 1" + InstrumentId = UVVIS + TargetName = MOON + StartTime = 1994-03-31T23:17:10.691 + OrbitNumber = 191 + FocalPlaneTemperature = 272.654 + ExposureDuration = 8.3072 + OffsetModeID = 6 + GainModeID = 1 + CryocoolerDuration = N/A + EncodingCompressionRatio = 8.37 + EncodingFormat = CLEM-JPEG-1 + End_Group + + Group = Archive + ProductID = LUB2303J.191 + MissionPhase = "LUNAR MAPPING" + End_Group + + Group = BandBin + FilterName = B + Center = 0.75 + Width = 0.01 + End_Group + + Group = Kernels + NaifFrameCode = -40022 + LeapSecond = $base/kernels/lsk/naif0012.tls + TargetAttitudeShape = ($base/kernels/pck/pck00009.tpc, + $base/kernels/pck/lunar_de403_1950-2199_pa.bp- + c, $base/kernels/fk/lunarMeanEarth001.tf) + TargetPosition = (Table, $base/kernels/spk/de405.bsp) + InstrumentPointing = (Table, $Clementine1/kernels/ck/clem_2mn.bck, + $Clementine1/kernels/ck/clem_5sc.bck, + $clementine1/kernels/fk/clem_v12.tf) + Instrument = $Clementine1/kernels/ik/clem_uvvis_beta_ik_v0- + 4.ti + SpacecraftClock = $Clementine1/kernels/sclk/dspse002.tsc + InstrumentPosition = (Table, + $Clementine1/kernels/spk/SPKMERGE_940219_9405- + 04_CLEMV001b.bsp) + InstrumentAddendum = $Clementine1/kernels/iak/uvvisAddendum004.ti + ShapeModel = $base/dems/ldem_128ppd_Mar2011_clon180_radius- + _pad.cub + InstrumentPositionQuality = Reconstructed + InstrumentPointingQuality = Reconstructed + CameraVersion = 1 + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = Table + Name = InstrumentPointing + StartByte = 181956 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (-40000, 1) + ConstantFrames = (-40022, -40002, -40000) + ConstantRotation = (-0.0061086110412591, -0.99996607260776, + -0.0055261654481643, 0.99998079393998, + -0.0061027272118316, -0.0010809587141711, + 0.0010471973598032, -0.0055326624686356, + 0.99998414638618) + CkTableStartTime = -181572109.11919 + CkTableEndTime = -181572109.11919 + CkTableOriginalSize = 1 + FrameTypeCode = 3 + Description = "Created by spiceinit" + Kernels = ($Clementine1/kernels/ck/clem_2mn.bck, + $Clementine1/kernels/ck/clem_5sc.bck, + $clementine1/kernels/fk/clem_v12.tf) + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = InstrumentPosition + StartByte = 182020 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -181572109.11919 + SpkTableEndTime = -181572109.11919 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $Clementine1/kernels/spk/SPKMERGE_940219_940504_CLEM- + V001b.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = BodyRotation + StartByte = 182076 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (310002, 1) + ConstantFrames = (310001, 310003, 310000, 310002) + ConstantRotation = (0.99999987852709, -3.09789127116553e-04, + 3.83375135592436e-04, 3.09789421617701e-04, + 0.999999952015, -7.08797549693787e-07, + -3.83374897618408e-04, 8.27563025111877e-07, + 0.9999999265115) + CkTableStartTime = -181572109.11919 + CkTableEndTime = -181572109.11919 + CkTableOriginalSize = 1 + FrameTypeCode = 6 + Description = "Created by spiceinit" + Kernels = ($base/kernels/spk/de405.bsp, + $base/kernels/pck/pck00009.tpc, + $base/kernels/pck/lunar_de403_1950-2199_pa.bpc, + $base/kernels/fk/lunarMeanEarth001.tf) + SolarLongitude = 139.83170614076 + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = SunPosition + StartByte = 182140 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -181572109.11919 + SpkTableEndTime = -181572109.11919 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $base/kernels/spk/de405.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = History + Name = IsisCube + StartByte = 182196 + Bytes = 1330 +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 176562 + Bytes = 5394 +End_Object + +Object = NaifKeywords + BODY301_RADII = (1737.4, 1737.4, 1737.4) + BODY_FRAME_CODE = 310001 + INS-40022_SWAP_OBSERVER_TARGET = TRUE + INS-40022_LIGHTTIME_CORRECTION = NONE + INS-40022_LT_SURFACE_CORRECT = TRUE + INS-40022_FOCAL_LENGTH = 89.979236 + INS-40022_PIXEL_PITCH = 0.023 + INS-40022_TRANSX = (0.0, 0.023, 0.0) + INS-40022_TRANSY = (0.0, 0.0, 0.023) + INS-40022_ITRANSS = (0.0, 43.47826087, 0.0) + INS-40022_ITRANSL = (0.0, 0.0, 43.47826087) + INS-40022_BORESIGHT_LINE = 144.5 + INS-40022_BORESIGHT_SAMPLE = 192.5 + INS-40022_PP = (0.0, 0.0) + INS-40022_OD_K = (0.0, -3.820233e-05, 0.0) + INS-40022_DECENTER = (3.203789e-07, 3.706078e-07) +End_Object +End +'NQTTRPQQQRUVUSR]_^XQNMMNOPQQQRSQSTUVVWXXYZYWUTTVWVVVVVVVWXWXXXWVWXYZ[ZYYYYXWWXYZ[]]\[ZZYYZ[[[[[]^___][ZZ[]_^\ZZ^___]ZYXWXXYYYZ[adiotx{}|voga]YYYYXXXXZZYYZ\[ZWY[\]^\[^^^^^^]\[\\\[[\\\\]]\\[[ZZZZYYZZ\\\\[[[\\[ZZ[\\\^][[]]\Z^^]]\\]^\\\\[[\][[[[[[[[\]]\\\]^\\]]\\[[]]]]]\]]]]\\]]^_]]]]]]]]\[ZZZZ[\^^]\\\]]\]]]]]\\\^_``aaa`aaa`___aaaa`_^^]]\\]^________``aaabcefgegiknswyvrmjhgffdeeeddb+.VY\[YWWWWY\]][[efd^XUTUUUVVVWXYYZ\]^^__]_``_\[Z___^^___]^_^^__^^^_`bdcbaaaa``abaacccbba___`aaa`cdfgfecbdfjnmifefffedbaa`aaaaabcfimrw{~|wpkfcaa```___aaaabccb`aceghfdgggfeedceeeedddddeeeeddcccccbbcccddccbcceeddeeffgfdehjhfggffeeffddddccefddddddddeffedefgefghfdcceeffeefgfeeeefggggggggggdcbccbcdeeddddeehhhhhgffegijjjjijjkkjiiihhgggfffddddeefggggghhiijjjjlmooqsux}|wtrqqpqppnnl50X[]]ZWWYY[^abaaffc]YWWWVVVVVWYZZ\^`````]^```^\[````````^````aa``aacfjjiccccccddbbcdddcbcbbcdedcdeghhgfeehnssmgefffdcbbbbcccbbcccfilpsvxyxupkhecccbbbaaabbbbcddcbdfilmkikmmkigffggghhgfefghhhgfeefffeeeffffeeddefeedeefghgfgkonkiiihgghhgggfffghggggggggghhgghiihjmmkhffffgghhiihggggghigggggggggffffeefgffffgghjjjiihgghjklllkkjjjjiiiiihhhhhhhgfffgghihhiijjkkllllmnoprsuyyussrrsrqool6/X[]\YUTWXZ^adeecb_ZWWVWUUUTUVXYYZ\^__^]Z[\]^]\Z\\]]]]\\\^__abcb``bdjoqpcbaaaaabbaabbbbacbabdeddbbdeffeeegmrrmgegffdccbb`aaa`_```acdfhklnnmjfdcabbaaaa``aaaabcbaacfilmlknpomigfeddefgfedefghhgeddeeeddddeeeeddddeeddddfghgginrqohhgffefghhggfffgeeeeeeeeeeeeefghhjmmkhgfdeeeeffgfeedeeffgggggggggffffeefggfffghhiiiihgffghiihhhhhhhhhgggggfeffghfffffgghffghhiiiiijjklmmooqu|~wtrqqqssqnmk53\^`^ZVUVWY\`ceea_\YXXXXWWWVVWYZXZ\]^^]\ZZ[\]]\[[[\]]\[[\^_`bdeebbdhnvywgecbbabccbbbccccba`acccbbbcdeffgegjnnkgegffffeedaaaa`_``bbccdegiijigfddccbbbbaaabbaabccbbcfillllrsrokhgfeefghhgfhijkjigefghgffeefggffefffffeeegijihjnrrohhhgffghkjihggggeeeeeeeefffffhiihjlljihhffgffffgffeeeeffgggggggggffgggggjiihhhiiiiiihggfgghggfggihhhgggghhffffhhhggggghigghijjjiiijkklmmmmnry|vsqpoprsqnmk56_`a_[WUTTUWZ]^_\[ZXXXXXWWXWWXYYXYZ\]]\[ZYYZ[\\\\\\]]\\\[\^`acdd`adgnvzxjgedcbbcccbbcdefecbbbcbaabbcdefgdeghigedcccdeedcabbaa``abcccdefgefgeddddbbbbaaaaaaabcddccdegiiijpqpmjhgfffghijiiklllljhghijjihggfgggggghhhgfefhjjihilnmjhhhhghhikjihgggfffffffffgggghjjjghhihhhhghhhggghhgfffffgffffffffeeefgfffjihhgghhhhhhggfeffgggffghhgffgffihgfffghhhgggghhijklllkjiijklmmmllmot|~xtrpnnopqpnml64\^^\YUTSSSSTWWWWWWXYYXWVWWWVWWXXYYZ\\[ZXYYZ[[[Z[[\]]\[[[[\^^___^_adjqtrigeedcbbdccccefgfedcbbbaabcdefffdefgggecbbcddddc``a``_```aaaabcdbcdcbcccbbaaaa````abegggfedefeefkkkihgedffghhiiiijjjjihhhijjihgffgghghhijjjhghkmnljjlljhffgffghijihggggfffffffffffffhijjffffgggfffggggghggfeeeefggggggggdcdeedddgffeeeffjjiihgffdeefeeefihggggggggfffghhhhggggghjklllkjjghikllmmnnnpty~}yurqonnopqqopn82Z[\ZXUTUUTSTUVUVWXZ[[YYWXXXWWXY[[[\]^]\ZZ[\]]\\\\]__]\\]]]^^]]]^_achnpnhfeffdbbgffeefhjfedcbbbbcdfhiihhbcdfffcabbbbccba``a`````aabbabbcbcdccccccccccbbbabcehklljhfefeeehiihhgfeghhhhiijghhiiiiiijkkjigghijjjjkljjjhghkmqnlkkkhffffffgijjihhiiiiggggggggggfghjkjggfghhhgefgggghiggfeeeefffeeeeefeeeffeddfeeeefggjjiihfedeeeeeefghgfeffffhhghhikkjiihhiiilmmnmlkjghiklmmmoooptx||xurponnmnnopoqo74YXYXWUTTTSSSTTTVWZ\\[ZXYXWWWXZ[\\\\\]]^[[[[\]]\Z\]^`_]]\\]^^]\[[\^`dghgddeeddddjihikkjhccbbbbbbbdglsuogeefggfedccccbbbbaabbbbaaaaaaabbbccbbbbaabbbbbcdecbacglqskgdceffffedeeeeddeffffghghiijiiiiiihghiiklmmnonlijkjihhjlllkjihgghhghhhhjihghhhghhhhhggffffefghjfghhiiiihhggggggggffeeeefggghhggeeeeefffdeeeeefghggffeeeeeeeefffeeeeeeffgggghjlnjjjjjjjjlmmmmlkjhhhiklnorqpqtwxwtuusqpppnnnoopn83YXXXWUTTTSSSTTUVXY[[ZYXXWVVWXYZ\\\\]^__\\[[\]][Z\]^_^]\[\]]]]\[\]^_befeddeedddeiggjnpmicccbbbbbdegnuxsleeffffedcccbbaaaaabbbbaaaaabbbbbccbbbbaacbbbcdefecbcgknpjgddefghfeddeeedeeffffgghhhiiiiiiihhhhijkllmprrpjjjjihhjkkkkjiihghhhhiiijihghhhhiiiihhgfgggggghigghiiiiihhhggggghhggffeefggghgggeeeeefffeeffeefgggffedddeeeeefffeeeeeeefgggghjklkjjjjjjjllmmllkjiiiiklnoqqpqsuvvtuusqpoponnnnon82XXXWVTUTTSSTTUVXXYZZYXXWVVVVXYY\\]]^__`]]\\\]\ZZ\]^^]\\[\\]]\\[]]]^`bcbccddddefgeejqupjddcbaabbddfltwsmdddeeddddccbbaa`aabbbaaa``abccccccbbbaaaccccdegggfddfhklhgeeefgigfdddeedefffffffhhhiiiihhhghhiijkklmrwywkjiiihijjjjjjiiighiiiijkjihhhhhhjjjiihgfhhiiihhighhiijjjhhhhhgggkjiihgffggggggffeeeeffffffgffffgfffedddceeeefffffffeeeeegffghjjjkkjjjjkkllllllkkiijjklmnpppqrtuttuuspoopponnmnm81XXWVUTUTTSTTUVVYYYYYYXXWWVVWXYY[\]^^^^^]]\[[\[Z[\]]]\[[[\\\\\\[]]\]^```bbbbccdefdchpsoiedcaaabbcbchnqniddccccddeddcbaa`abbbbaa`_`acddddccbbbaaacccdefhiiheddfggfffffghjhfedddddffffffffhhhhhhhhggghijjjijklry}|mjiiiiijjjjjiiihhijiiijkjjihhhhhkkkjihggijkkjihhgghhiijjhhhhhhiimmljigffgggggffeeeeffffffgggffghfffeedddeeeffffffgffffffffgghiiikkkjjkkkllllllkkjjjkklmmopqqrstttuusqoopqpnnlll70WWVUTTUTTTTUUVW[ZZYYYYYXWVWXYZY[[\\\\[[[[\[ZZ[[[[\\\\[Z[[\\\\[[]\\\^_```aaaabcdeccfkmjfedcaaabbdbbeijgdccbbbbcceeddcbaabbbbba````abcdddcbbbbaaacccdefhhkifdcddddfggfghihfedddddfgggfffghhhhhhhhggghijjighijovzzmjiiiijjjjjiiihhhijiiijjjjiihhiikkkjiiggjklljihgggghhiijhhhhiijjoomkihfffggggfeeeeffffggffgggghhggffeeddeeffffggggggghhgggghhhhijjjjjjjjkklmmllkjjkkllllnopqrtuuuvvtqpoppponlkk60VUUUTTUTTTUUVWXZZYYXXYYXWWWYZZYZZZZZYYYY[[ZZZ[[ZZ[[\\[Z[[[[[[[[\\\]^````````abbdcbcfgfcddcbaabbedcdefcabbaaaabbeedccbbbbbbbba``aaabbcddccbbbaaaccccdeggjhedccbbdfgffghhgfedddddfghhgghhhhhggggggghhiiiifghikpttmkijjjjjjjiihhiiiiiijjkjjjjihhiikkkjjihgikkkjhgfgggghhijhhiiijjjonmkihffffffffeefffffgggefgggghigggffeeefffffgggghihhjjihhhhhhhijjjjjjjjjklmmmlkjjkllmmmnoprtvwvvwwvspooopoolkj50UTTTUTUTTUUVWXYYYXXWXXXWWVWYZYXYYXXXXXYY[[[ZZ[[YYZ[[[[[[[[[[[[[\\]^_aa```aa``aacbbbdedbccbbbbbbedccddb`aa````aacccbbbaabbbbba`_baaaabcdccbbbaaabbbbcdefigecccbbdefffgggfeddeeedghhhhhijihggggggghiiiihhghiijlnnlkjjjjjjkjihhhhhiiiikmmljjjihhijjjjjiihhijjjigffhggghijjjjjjiiiimmlkihggeefffffeffffggggffggggghggffeeddffffgggghiiijklkjihhhhiiiiiiiiiiijlnnmlkjjklmmmmmopsvyzywxxxtqopopoolkj50UTTTUTTTUUUVWYYXWWWWWWWWVUWXYYWXXWWWXXYZ[\[Z[[[XYZ[[[[[[[[[[[[[\]^^`bb``aaaa```baabdfebbbbbbbbbbaaabb`_````````bbbaaaaabccbba`_bb```abcccbbbaaabbbbbcddhfdccbbbcefgggfefeddeeedghhiiijjihggffggghiiihhhijkjjklklkkkkjjjlkjhgggghhhiloomjkjihhijiijjiihhiiiihgffhhhhhijkkkjjiiihkkkjiihhdeefffffffffggggffggffggfffeeddcffffgggghijjkmmlkjhhhhijiiiiiiiihjlnomljijklmmmmmnpsx{{zwxyxvrppooonkjj50UUTSTTTVVVVVVWXXWWVVVVWVVVVWWWWXXXXXXXXYZZZZ[[ZXXYZZ[\\[[\\]]\\\\]^_``_abbbaabccbabcdddcccdeeddbcccba`__`bcbbaa`abaaaabcccba``a`aa``acddddcbbbccddedcdfeedccdeedcehkigeeeddddfgijjihijjiiihhhiijihhhhgfhjlmlkkkkklljiikonlifeddhijkmopqkjjjiiiiiiihhhggghiihggggghhhijjjkkjihghgggggggggffeeeffefghhhgfhgggffghgfeedeeeeeeefgggghhijkllhhhhhiiijjjjiiiihjmoomkjiklllllkjkmquwxwrsttsrqpoonmlmk41VUUSTTTWWVVVVWXYXWVVVVVVVVVVWWWXXXXXXXXYZZZ[\]\YYYZZ[\\\\]]]]]\]]]_`a``abbbaabcccbcddddddeeedddbccdcb`_`acccba`abbbaaabcdcba``a`aaabceffedcbbbbcdfgfddeeeddddeedcehkjgfeedddfghkkkjhhhhiiihhijkkjihhhhghjlmlkkkkkllkjlntsokhgggiijklmnokkjjiihhiiiihhggghiihggggghhhiijjjjjiihhgggggggggffeefffefghhhgfhgggffghgffeeeeeeeefgggggghhijkkhhhhhhiikjjjiiiiijmnonlkjkkklllkklmpstutrrrrrqponnnnmml52WVUSTUTWWVVVVWWZYXWVUUUVVVVVWWWXWWXXYYYYYZZ[]^_ZZZZ[[[\^^^^^^]]^]^_`aa`bbbaabcdddcdeeedefffdcccbcdddba_abccbaa`cccbbbbbddcba`aaaabcdeghhfdcbbbbcehjifddeeddddeeddehjjhfeeeefhijllkjihggiiiiijkmlkjiiiiiijllkkkklllllmoqzxsomllkkkjjjklmkkjjihhgiiiiihhhghiiihhhghhhhiijjiijjjihgggggggggffeeffgefghhhgfggggffghggggffeeddefgggffggghijigggghhhhkkjjiiiiijlnnnmljkkkklllllmnoqqqqqqpponnmnnonnl53XWUTTUUVVUUUVVVYYXWVVUVVVVVVWWWWWWWXXYYYZZZ[]^^ZZ[[[[\\_____^^]^]]^`aaabbaaabdeddddeeedfghgdbbccccccba`abbbaaabeddcbbbccccbaabbbcddeghhgfdcbbbadehkjgdceeedeeeeeefgjkigeefgijkkkkkkjihgjjjjjklmmljiiijjjkkkkjkknmmnnnpr|yurpppomljiiijkkkjjihhhiijjjjiiiiiijjiighhhhiiiiiijjjiigggggggggffffffgefghhhgggggggffhggggggfecdegggffffgfghhhfggggghhjjjjjjiijjklmmllkkllmmlllllmmnooqqponnnnlnoooom64XWUTUUUUUTTUVWWXXWVVVVVVVVVVWWWWWWWWXXXYZZ[[\\\[[[[\\\\_____^^]]]]]_```bbaabcdeccddefedfghgdbbbccbbaa``aaaa`bcefedccbbcbbbbbbcdeeeffgggfeccccbbdegihfdceeeeeeeeeefgijigefhjlmllkkkkjihhjkllkkkkmlkjiijjkkkkjjkknnnooooqxvsrrsrqmljiiiijjjjjiihhhijkkkkkkjjjkkjihhhhhiiiiiiijjiiggggggggggffffggffhhihhgggghgffggghhggffcdfggggffffffgggffffggggiijjjjjjjjkkkkkkklnoonmllllllmnoqqponnoomnopopm63XWVTUUUUUTUUVWWWVVUUVVWVVVVVWWWWXYXWWXXYZ[[[[[Z[[[\\]]]]^^^^^]]\\\\^_`_baaabdeeccdefgfefggfdcbbccbaa``aaaaaaceggfdcbbbbbbbbbcdfffffgffedccbbbbbddefedddeeeffeeefeefhjigfgjlnnmmkkkkkjihjklllkkkmmlkjijkkkkkkjjkmmnoonnnsrppqrqpkkjiijjkjjjiiiiihijklmmmnlklmmkjhhhhiiihhiiiihhhggggggggggffffggfghiiihgffghgffgggggggffddefgggffggfffffeeffffggiiijjklllkjjjjjkkmprrpnmllllllmnqpooooopnoppopn72WVVTUUUUUUUUUVWVUUUUUVVVVVVVWWWYZ[ZXWXYZ[[ZZ[[Z[[[\]]^^\\]]]]]\\\[\]___baabcdeebcdfghgfeeeedccbccbbaaaa``aabdfhhgdcbbbbbbbbbcefffffffedcbbbaabcdccddcddeeffffeefedegiiggilnoonmkkkllkihjklllkkkmmmlkjklkkkkkkjjllmnnmllnnmmnoomiiijjklmkjjjiihhhiijlnoppnmmonljihhhiihhhiiihggggggggggghggffgghfghiiihgffghhffghgggffffddeffggggggffffeeeeeffffijjklmnnnmkiiijjkmpssqnlkkllklmnooooooppppppopn71VVVUUUUUUUTTTUVUUTTTUVVVUVVVWWWZ\][YWXZ[[[ZZ[[[[[[\]^^_[[\\]]\\]\[\]_``aaabdeeebcdghihgddddddcbccccbbaa_`abbdegigdcbbbacbbbbcefeeefffdcbbba`abcdcbcccdeeeffffeefedegiighjmnoonnkjkllkihijklllllnnnmlkklkkkkkkjjkkkmmlkkmllklmlkhhijklmnkkjjihhhiihiknqsrpnnpomjihhhiihhhiiihgffgggggggghggffgghfghiiihhffghhffghggffffgeeeffgggghgffffeeeeeffffijklnooppnljiijjjlorrpmkjjkkkklmnnnnooopqqqpoon72XXXWVTUTSSRRSSTUUUUTUVWUUUUVVVV]^_^\ZYZXYZZ[[ZZYZ[\[\]^_^^^^^]][[\^`bcdccccccbbdcccdfghdcceggecbehjigca`````abdffecdeecaabbbbbcbccccceghhgfdcaabccbbcdehhhgffedefffghhhghiklmmmmmmlkjjjhhijklllmmmlmnnnkjiijkkjlklllmnppnllllklkklnnnnmlkihgghhjjiiiknqqpopppmkjihhhhhhiiiiihgggggghijjihhhhhgfhhhhhhiifghhhgggefggffffffgfgghghhgggfffeeeeefggllnooonnlljihhhhjlmmllkjjjjjjkkkmnnoooooqqqpnpp:2XXXVUSTTTSSSSTTUUUUUUWXVVVVVVVVZ\]\[YYZYYZZ[[[[Z[\[[[]^___^^]]]\]^`bdefccccccbbbbccdeffdccegigdcehkkidaaaaaaabceeddfihebbbbbcccbcdddegjmmlkifcabccbbdeeiiihffedefffghiihhijkllmmmmkjiiihhijkkklmmllmoonjiijkllklllmnnopqnllllmmmlmnonmmkjihghhijjiiiknpqppqqqnljihhhhhiiiiiiihhhhghhijkihggghgfgggghhhhghhhhgghgghgggggffgggggghhgggffffeeeffghkkmnnnnmkkjihhiijkllkkjijjjjjkkkmnnoooooqqqqopq:2XWVUTSTUTTSSTTTUUUUUVWXVVVVVVVVXY[ZZYZ[YYZ[[[[[[\\[[[]^___^^]]]]]_abdfgcccccbaaaacdeeddccbdhkifcdgjljeabbcddbbcddcdjnmhccbccccccdddegknqpoonjebcccccdefiiihfeeefffffhiiiiiiijkklllkihhhhhijkkkknmllmoonjjklmmmmmmnooopqqnlklmopponoponmkjihhhijjjiiikmorqqqrqomkjihhijjjjjjiiihihhhhijjhhggggffgggghhhhihhhhhhhiiihhhhiggggggghhhgggggfgffffghijklmmmmlkkjiiiiijklkjjiijjjjkkkkmnnoooooqqrqoqq;2XWUTSSTTTTSSTUUUUUUUVWWWWVVVVUUWXYYYZ[\YZZ[[[\\\\\[Z[]^^^]]]]]]]]^`abcdbbbbbaa``aceedcbcbbdhlkhbcehkieacceggdbbdcbdjpniccbcccccddddeimqomnpqngccddddeffhhhgfeeehhgffhiijiihhhiikkkjihhhhhijkkkknnmlmoonlmmnnnnnonopqpqqqnkkloqttqpqqpnnkjjiijkkiiiijkmnqppqrqonkjiiijlmllkjiihhiihhhiijhhhgggggghhhhhiijihghiiijjjihhijggggggghggggggggggggghiijjklmmmlkkjjiiiijklkjjjijjjkkkkkmnnoooonqqrrpqq;2YWUSSSTTTSSTUUVVUUUUVVWWWWVVVVVXXYYZ\]\ZZZZ[[[[\\[ZZ[]^\\\\\\]]]]^^_```aabbba```acddcb`bbcdgjjhccdfhhebcdgihecbdcachmliccbbcccbcccceioskjlpsphccdddefhhggggggggjihgghhhiiihhhhiijjjihhiiijkkkkkoonmmnnmnoooooppqppqqqqrpnkkmpsuusqrrpoolkkkkklliihijklmooopppnmjjiiikoqonmkihhhiihhghhhiiiihhhhhhhiiiiikihghijjjkjihhijhgghhgghggggghhhgghhihhhjkkllmmmkkkjjjiiklllkkkjjjkkkkllmnnoooooqqrrpqq:3ZXUSSSSTTTTUVWXXWVVVVVVWWWWVVVVYXYZ^``^[[[ZZZZZ[[ZZZ[\]Z[[[\\\]]]^^^^^^``aaaaa``abbba`_bbcdfhhgdcdfggebcdfhgdbbdcabfiifccccccbbbbbcdiosllnrtphccdeefgijgggikljijjihghihhhiiiiiihiiiiijjjjklllllnoonnonmoooqsvvutsqqqqqqpnllnprtsqqqqponmmnnnmlljiiijkkllmnnnnmljjjijmqtrpnkihhhiihgggghijjihhhihhhiiiiijihhhiijkkkjihiihhhhhgggggghhhhhghiiiihhjjkkllmmjjjkkkjjjlllkkllkkkkklllmnnooooopqrrpqp:4[YVTTSSTTUUWXZ[ZYXWWWVVWWWWWWWWXXY\chgd\\[ZYYYYYYYZZ[\\[[[[\\\\^^^^^^^^__`aaaaaaaa`````bbbcdefeeddfhgdabbdedbbbcbabdfecddddccccbbbbdiosqqsvuohccdeefhjkggimppmjiiihhijiiiiiiiiihiijijkkkklmmmllmnnooponnoqv~wtrqqppqpomnopqqooopponmnopppomljihijkkkkllmmmlkkkjjjmrvsqnkihhijjihggggiijihhhhggghhhhijiihhhijkklkjiiiiihhhhgggghhhhiighiiiihgjjjjkkllijkkkkkjijkkkkllkkkkllllmnnoooonoprrpqp94ZYWUUTTUUUVXZ[\\[YXXWWVVVVWWWWXWWY^gnnj]\[YXXXXXXYYZ[\\[[[\\\\\]^^^^^__^^_`aaaacba`__`abbbbcdddedefhgd`aabaa`abbbabddcadeedccccbbbbdiosvvxzvogceffffhijggjotsmihiiiijkjjjjjiihhhiijjjklllmmmmmmllmopqpnnos{xvrqppppqpnooooolmmnnnmlopqrqomlihhijkkkjklmmlkkllkjjmrvsqnkiiijkjihhhhhhiiiggghffggggghiiihghijklllkjiiiiihhhggggghhhiihhhiihhhiiiijkkkjjkkkkjjhijjjkllkkkkllllmnnoooooopqrpqp81WYXXXYXTTUWYZ[\a`]YVVVTUUUVVWWWZYZ`jrrna_\YWWWWXXY[\]]]]]\\\\\]_aba_^^^____`aaabbaba``b``aaabcccdeffecabbaaa```aabfklieefhgedcccdeefimpsssqlhedfghhhhgfegkoqpliiiiijjlmlkkkjiihjjjkkklmlnoppprsqonqsspmnnq~zwsqqppppooooponkkkmoooompsutqnmllkkkkkkmmlllkkklllmmnnnnnmkjiijjkkjiiiihhhhggghhhhgghhijjjihhhijklmlljikkjiihgghhhiiiiihiiihhhikkkkkkkkiijkkkjjjjjjjkkkjjklllkkllllmmmmpopqppo82XZXYYZYUUVWXZ[\aa^ZWWVUUUUVVWWXZYZ_gllia_\YWVWWXXYZ[\]]]]]]]]]]_aba`_^^___`abbabaaaaa`a`aaabcccbcdeedcbcbbaa```aabglmjefghgfeefeefffhjkllmligfgjjihhhhgegjnonjhiiiijklmlkjiiiiilkkkklmmmnooprtvspoqsrpmnor{yvsrqqrsrqpoprqpnmmnoooonqtutronllkkkkllmmlllkkkmllmnnnnmmlkiiijkkkjjiiiiihgggghiihhhhhhiiihhhhikllllkjikjjihhgghhhiiiijiiiihhiilllkkkkkijjkkkkjjjjjjjjkjkkllllklllmnnnnpopqpqo83XYXYZZYVVVWXY[[a`]ZXWVUUUVVWWWXZZZ]aedb`^[YWWWXXXYYZ[\]\]]^^^^^_abb`_^^___`abbbbaaaaa```aabbcddbccdddddcccbaa``bbcgklieefffffhihhggffffeefggghjmljhggggegikljgfhiijklmmlkjiiijkmllllmmnmmmnpruwsqpqrronnoqvwusrqruwvtrqruusqonnooopoqsttrpommlkklmmmmllllllmllnoonmkkkjiiijkkjjjjjjjiiggghikjihhhhhihhhghhillmmlkjiiiihhggghhiiiijjiijiiiijnmmllkjjjjjkkkkkkkkkjjjjkkkllllllmmmnnooppprppo83XXWYYZXVVVVWXZ[^][YWWVVUUVVWWXXYYZ[]__^]\ZYXXXXXXXYY[\\\\]^__```aba`__^___abbbbcbaaaa```aabcdeeccdcccdeddccbaaacbdfijgdefffgikmlkihgfeeccdeffhjmmkiggfeffgiihfehhijllmmkkjjjjklnmllllmmkklmprttrqpqqponnopptyzwutsqqsvyyvsrtxyxtrpopopppqrsrqponmllllmnmmllllmmllmnppomijjiiiijkjjjjjjjjjihgghikkjiiiiihhhgghiiklmmmkjihhhhhhggiiiiijjjjjjjjijjnnmlkkjjjjkkkklllllkkjjjkklllmmmmnnooopppppqppo82WXWXXYXVVUUUVXXZZYXWWWWVVVWWXXXYYZ[]^_^[[YXXXXYXXXXYZ[[[[\]^`ab`aaaa```a``abcccbbaabbaaaabbcdeeeeedccdedddccbbbbcegiheceefghknpomkjihhhdddeefghklmkhgfeggghhffgiijjjkklkjjjjjkklllllllmkkkmoqqqppppponmmopnmprrvvtrprvyyurruz}}vtqqppppppqqqponnmllllmnnmmllmnnmmmnppnlhiiiiiijjiiijjjikkjihhhhkkjjijjkiihhhhiijklmlljigghhhhhhiiiijjjjjkkkjjkknmmlkkjjkkkkllllmmllkkjjllllmmmmoppppppqpopqpon73WXWXXYYWVUUTUUVXXXWWXXXVVVWWXXXZZZ\^`_^[ZYXXXYYWWWXXYZZYZZ[]_`aa````aabcccccccccbbbbccbbbcbcdddeeecbbceddddddddbdgjjhecdefhjlnponmlllkkfffffgggikmlihhghggggghjmmljiiijjkkkkkjijkllkkllkklmoppoopqponnmnoomlnqryxvsqqtvvsqqv|xusqqppppppppponnmmllmmnnnmmmmoonnnnnnmkhijjiiiiiiiijjjjkkkjihhhjjjjjklmkjihhiihjjkllkjjggghhiiiiiijjjjjklllkkklmmmlkkjjllllllmmnmmllkkkmmmmmmnnqrrqpopqqpqrppn73XYXXXZZWWVUUUUUWWWXXXXXVVWWXXXYZYY[^`_]YYXXXXYYWWWXYYYYXYZ[\]__a`__`acdhiiigdcccbbbdeecbccbbccccccbaacdddddeeeeceillieccdfhjkllllllmmllhihgghhghikjiijjihghhhkntspmkiiiklmnnljhikmmlklmklmnopoopqqpnnnnppnllpsszzwsqqrssqoqv}zvsqpppqpppqqponmmmllmmmnnmmmnopponmmlkkijjkjiiiiijjjjjkllkjihhiiijjkmnolkjiiiihjjkkkjihgghhiijjiijjjjkkllmllllmnnmmlkkklllllmmnnmmmlllkmmmmmnnosttsqppqrrrsqqo83XYXXXZZWWVVUUUUWWWWXXXXVVWWXXYYZXWY]_]ZXXXXYYZZVWWXYYYYXXZ[\\]]a`^_`adfkmonkgedcbbbdgfdbccbbccbabba``bddddeeeffegjmliecbcegiiiiijjkllkkjkjhghhgghhhgiklihhhiilp{xsoljiikmpqqnkhhjmnlklmjkmnopooqsrpmmnnrqolmrtuzywsppqrrpopu|zvrpppqrpppqqqonmmllllmmonmmmnoqoonmllkjijkkjiiiijjjjjklmmkjhhiiiiijlnppnlkjiihhijkkkjhggghiijkkiijjjjkkllmmlllmoonmllkkmllllmnnnmmmllllnmmmmnoottusqopqssstrrp95YYWWVWWVVUUUUVVXXXXXWVVUUVVWXXYZYYYZZZZWWXXXWWWVVVWXYXWWXYYZ[\]``__`abblqurlgedba`adedcaa``_`aa```abbcccccekpniilmmjgddcdefghhhiijkkkjjmqrnkiihhihgghijjihhhiloyxtolkkkkmpssqlhjjklnoonlmnonnnnprqonnopusommprutuusqpruqqqqsvxytrooopqqpqqqqqpommmnnopqppnmmoppmmlllkkkijjjjjiiijkkkklmkkjijkjijkklllllklllllkkjkllkjihhhhhiijjkkkkkkjiijkklmmlllkllmlkkllmmmmmpponnmmmmmmmnnnoutsrqqqqtuvwvsq75YYWWVWWVVUUUUVVXWWWWVVVVVVWWXXXZYYZZ[[[XXXXXWWWWWWXYYXWXXYYZ[[\__^^_`aajnpnjfdcba`acdcbaa````aabbbbbbccdddflqojjmnnlhdccdefghhhjjjjjjiimqroljjihiihhhjjjihhhhkmssqomkkkkmpstrnkkkklnpponnooonnnoqpnmmnosqommoruvyyvrpqsrrrqrtuurponoqrrqrrrrqpnmmnooopqpomlmnoommlllkkkjjjjjjiijjkjjkmnmlkjjkkjjjjkkkkkkklllkkkkkllkjihhhhiijjjkkkkkjjijklllmmlmllllllllllmmmmmpooooonnmmmnnnnntsrrqrrruwz}|xu:5YYWWVWWVVUUUUUVWVVVUUUUWWWWWWXXYYZZ[[\\YYXXXWWWXXXXYYXWYYYYZ[[[^^]^^_``fhihfedccaabddcbaa`````acccbabdefffhmpnjjmoomhdbcdefgghhkkkjjihhlpqnlkkjhiiihijjiihhhhiklmnnnllllmprsromlllmnpqqoooonmmmnoonmmmoqpommoruy~{uqprstsrrrrrponnopqrsssttrpooooppopqonlllmnmmmllllkkkkkjjiiikkjjjloqomkjkkkkiiijjjjijjkkkkjjjkkllkiihhhiijjjjklkjiijllmmmnmmmmmmlllmmmmmmmnnoppqqqpommmmmnnnsrqqqrrsvz}x=5YYWWVWWVUUUUUUVVUUTTUUUVVVVWWWWXYZ[[[\^[ZXXXXWWXXXXYYXXYYYYZ[[[]]]^^__`ccdddeeddccdffdba```````cccbbcfhhiijklifhkopnjebcdefggghkkjjihhgilmlllkjijjiijkkhhhhijijjkmoonnoopqrrqonmlllnoqronnnmlllmnmmllmnqqponoqt{wrpqssssrrqponnooppqttuuusqpppqqqppqonmlmnnmmmmlllllmlkjjjjjkkjjloruqomkkkkkiijjjjiiijjjjjjijjklllkjhhhiijjkjklkiiijmmmmmmmmmnnmmmnoonmmmnoopqrssrppnnmmmmnnrrqqrsssvzy=5YYWWVWWVUUUUUUVUTTTTTUUUUUVVVVWWXZZZ[\][ZXXXXWWWWWXYZYXXYYYZZ[[]]^^____a``acefeccceggec````````bbbbbcfiklmljgebfinpokfcddefggggiiiiihgggiijkmljijjjjjkkhhijlmkjjkmopqrsssrqpnmlllllmnpronmmlllkmmlllllnrssqppqsy~wqoppqrrrrqpnnooppppsttutsrqrrssrppppponnoonmmmmllllmmlkjjjjkkkkmptwrpmkkjkkjjjkkjjiiijjjjiijjklllkjhhiijjkkjkkjihijmmmlmmmmmnnnmnoqponmmnopqsuutrqpoonmmmnorrrrrrstux~}x<5YYWWVWWVUUUUUUVTTTTTTUUUUUUUVVVWXXYYZZ[YYXXXWWWWWWXYYYXXYYZZZ[[\]]^_____^^_adedcbcdffdb```aa```aaaaacfhlopmifcadgknmjfcddefgggggghhhhgfeghikmljhjkjjjkjiikmppnlllnopruwutromkkkkkkllmprponmmlllllllllmnrsssrqqquz|ytpnonoppqqqpmnpqqppprrrssssstttusqppqqqpoooonmmmllllmmllkkkkkkllnpsvqnljjjjkkkkkkkjjiijjjjiikklllljihiiijjkkjjjjhhijkkklmnopnnnnnoqrqponnopprtvvtrqqpponnnoossssssuvux|~}zw<5YYWWVWWVVUUUUUVSTTTUUUUUUUUUVVVWWWWXXXXXXXXXWWWWWWXYYXWYYYZZZZ[[\]^^^^^^]]^_acdcbabcdba``aaaa``a```acefloqnjfdbcehjjifddeefggggffgggffeeghiklljhijjjjjjjkmpstqnnmmmnqtvtspmkjjkkklllmoqrqonmmmlllkllmmnqrsssqppsuvurononoooppppnoqrqpppqqqsuvusuuvvtqppqrrqoooonmmmmllllllllllkkklmmoqrnljijjkkkkkkkkjjjjjkkjjiklmmlkjiiiijjkkkjjjihhiiijlmortuoonnopqrrqpooopprtvvtsrrqqpoooppsssstuvwy{||{yv;5YYWWVWWVVUUUUUVSSTUUUUUWVVVVVUUWVVVWWWWVWXXWWWWWWWWXXWVZZYZZZZZZ[\]]]]]^^^]_acedb``bba```aaaa`_`___`bdejnpnjgfdddfhhhgedeefggggffffffeeeghijkkjgijjjjjjkmoruvsonnmlmostrqoljikmkklmmmorsrpnnmlklllllmmnpqrrsrporssrqpoooppopppooprsrpooppqtxywsvvvvtrppprsqonoonmmmmmmllllmmllljkllmmnokjhhijklkkkkkjjijjjkkjjjklmmlkjiiiijjkkkkjihhiiiiklnrvyzqonnoqrrrqqpoppprsuvtssssrpooopqsrssuwxx|~~|zxv;2YYXVVUUVVVVUUUUSTUUUVVUUUUUUUUVUTTTUWYZXYZYVUVXXXWXYZYXWY[[[Z[[]\[\]^\[]]]^`acdeedca_^^``abccb`aa`abcccfhiihggfefffghhhdfghhhhhfggggghhikkjjjjjjjkllmmlkllmprqnkmonnonmjjkkjjjkklllmnqt}zvqnmmlkkllmmnnopppqqqppqqqpppppqrqqqrrpstsrpqqrqquy{xtrqqqqqpoqrrqonooooonmmmlmmmmmllkkklllllmkkkkkkkkllkkjjjjijkkkklmlmoponkjijkkllllhiiijjkkkmnoswxwqpppqqppopppoopqqsttttvwrrqqqqrrssrty||z||xwu<3YYXVVUUUUUUUUUUTUUUUVVUVUUUUVVVVUUTUWXYY[[ZWVWXXXWXYYYXWZ\\\\]^^][[\]\[]]^^_abcdddca_^^aaabbbbabaaabccdfghhhhgfeffffgggdfghhhhhgghgggghjklkklmmlllmnnmlkllmnonljmnnnnnlkkkkkjklmmmmmnps|yuqonmmllllmmnnopppqrqpppppooppopqqqrsspstsrqqrsrrtwxvsqqqqqqpopqqponooooonnmmlmmmmmmllkllllllmkkkkkkkklkkjjjjjijjjjklllmnoomljjjjkkkkkiijjkkklklmnptuuqppppqppppqqqppqrrsttuvvrrrrrstttsruy||z{}~{xwv<4ZYXVVVVTTTTUUUUUVVVVVVUVVVVVVVVWVUUUWXY[]^]YWWXXXWXXYYYY[]^]]_`_^[[[\\\]]^^_`abccccb`__bbbbaaaabbaabccdeffghhgfeffeefffdfghhggggghhgfggjlmlmoqqonmnppomlmmllkjijlnnnmmlkkklkklnooonnnoqxvspoonmmmmmmmmmnoopqrqpoooonnopnpqqrrssrstttssrsrrsttsqqqqqqppppppoooooonnmmlllmnnnmmllkllllllmlllllllllkjjijjkiijjjkkllmnnnmlkjjjjjjjjjjjkklllllllnpqqppoopppoqqqrrrqprrrstuuurrrstttttsrtwzyxxz{yxyw>3YXWUUVVUTTTTTTTUVVUVVVVVVVVVUUUXWVUUWYZ]`b`]YXXXXWWXXYYZ\^^]]_a`^\[[\\\]]^^__``abcccba`bbbb``abbbbaabcdeeefggfeefeeeeeeefgggggggggggffgjlmmnprspnmoqqpomnnlkihgklmmmllllllmnnnnqqponmnosrpoooonmmmlllllmnnopqqpnnnnmnopnoqqrttttuuuutsssrrqqqqqpqqqpppqqpooopponnnmmlllnnnnnmmlkklllmmmlllllllllkjiijkkjjjjkkkkllmmmmlljjjkjjiijjjkklllllkklmooooooooooqqqrsrqorqqrstttrrsssttttsrsuvutuvxwxzx>1WWVTUVVUTTTTTTTUUUUUVWWUUUUVVVVXWVUVWZ[^add`[YXXXXXXXYZ[]^^\\^__^\[[[[[]]]^^___`abcdcbabbba``abbbbbbbcdeeeeeeddefeeeeeeefggfffgggggfefgjlmnnopqpmlnqrqpoppmkihhklmmmlllllmoqsrpqrponmlmpponnnnmmmmlllkklmnnoppomnnnmnopnpqruwxxxwwvtssrssrqpopqqqrqqpqrsrpppqqpoonnmmllnnoonnmmllllmmmmlllllllllkjjjkllkkkkkklklllmmllljjjkjjihiijjkkllmllkklnonooonnooppqrrrpoqqqrrssssssssssstsrrstsrstuuxzy>0VVVTUVVTTTTUUUUTUUUUVWWUUVVVWWWYXVUVXZ\^bed`\YXWXXXXXYZ[]^]\\\]^]\\\\\[\\]^^^^^_`acddccbbba`aabbcddcbcdeeeedccdeffeefffefffffffgghggfggklmmmmmmnlkmpsrqpqpnlkjjkmnnnllkklmptvusqrqonmlloooonmmlmmmmllllmnoonoonmnnnnnopoprty~{wtrrqrtsrqoopqqrrrqqrtutrqqrrrooonnmmmooooonnmmlllmmmmllllklllllkkklmmlllkllllkkllmlllkkkkjjiiiiijjkkkmmmlllmnnnnnnnnnoopqqqqpqqqrrrrsssrrrrrsutssttsrrrttwzx=0VWVUUVVUUUUUUUUUUUTTUVVVVWWXXYYZYWVVXZ\]`cb^ZXWWXYYXXYY[\]]]\\\]]\\\\\\[[\]^^^^^_acefecbaaaabbbaceecbccdddddccdeffffgggefffeeffghhhhhhiklllkkkkmlkmpssroponmmlmlmoonmlkklmptwvsqrqoonmmopqpnmllnnnnmmmmnopponnnnnnmmnprpqrwxsqqrrssrqppqrrsssrrtuxwusssssppoonnmmooppoonnmmlmmnmmkkkkkkkklllllmnnmmllmmmljkllmmllkkkkkjjjiiijjkkkmnnmlllmmnnnmmnnnoopqqrrrrrsrssssrqpprstvuttutssqrstvyw<1WWWUVUUVVVUUUUUUUUTTUUUVWWXYZ[[[ZWVVXZ[]_b`]YWWVXYYXXXYZ[\]]]]\]]\\\\\]Z[\]^^^^]^acffedba`abbbbaceecbbbccccccddeffffghhffffeeefhiiiiijjkkkkjjkkmlklpssroonnnnmnmnoonmlllllosutrqrqpponmoqrqommloooonnnnoqrqonoonnnmmoqrqqsxyspqrssssrqrstrstsrrtvzyvutsstqppoonnnopppponnmlllnnnnkkkkkkkklmmmmnnnnmmmnnmmjjllmmlljkkllkkjiiijjkklmnnmlkklmnnnmmmnnooppqrsssssssttsrqpqrtvxvuuutssqrssuxw;.SSUTUUVVVWWVVUUTTTSSSTTUTUWZ\[ZXXWWWXXXYYZYXWVVUWYYZ[^`^]\\[\\\[\\[\\]\\\\^^^^^_`abddeeccccba```aaaaaaaaaacfijhgilligffgfeddfghkkllkkkknooooppolkjiknpplllllmnpnnmmmmlklmmnnnoprrrrrsqomopqonnnopooooonopppppqqnnnmmry~ytwxtuuuuoppqrtvxusrrrsvy}yussuusrpnnnnnppponmmnlmnoponnmmmlkkmntttssqpoooooonmlkkllmmlllmmnmlkjjjjkmnnnllmmmmlllmmmmmmnnprsssstssttuuttrrrrsuy{ywvuuusqqqrstut<.SSTSTUVVVVVVUUTTSSSRSSTUTUWY[[ZWWWWXXXXYYYYXWVVUWXYZ\_a^]\\[[[\[\\\\]]\]\\^^]^^_`abcccdccccba`aaaaaaabbbbbdgjkjhknnkhgghgfefhhikkkkkkklopqrrrrqlkjijlmmkkkkklmnonmlmmllmmnnnnopqrrrrsqomnpponmmoppooonmnnnnnnoonnmmot|}wv}}vuvwvvpppqqsvxusrrrsuy~|xuttuvtsqooopoppponmmnmnoppoonmmmlllmnuvvvusqonnnnmllkkkkllllllmmnmlkkjjkmooonllllllllllllmmmmoqrsssssssttttttsssstvz|ywutuusqrqrstut<.SRSSTUVUUVVUUTTSSRRRRSSUTTVXZZYVVVWWXXXYYXXXWWVVWXYZ]_a]]\[[[[[\\\\\]]]^]]]]]]^_``abbbbcdefebaaaaaabbccbbbdgjkjjmppmihhihgghjkjkjjjjkllmprtttrqmljiiiiijjkjjklmonlllmmmmmnnnnnoppqqrrqpnoooonmlopqpnnnnmlllmmnnnnnmpu}~wuw{~{wstuvvuqqqqqsvwtsrsrruw{ywuttuvutrpopqqqppponnnnoopppoomnnmmnopuwxyxuqpmmnmkkkkjkklllkkllmmmlkjijlopponlllkkllllllllmmmpqsssrrrrsssttttsssstvy{wutsttrqrqsstts;.SRSRTUVUUUUUTTSSRQQRRRRTTTVWXXXVVVWWWWWXXWXXWWVWWXYZ[]^\\[ZZZ[[\\]\]]^]^^]]]]]^__````aabeikiebaaaabccccbbbdfhihjmppmjiiihghjlmlkjjjjkkkjmqstsqonmljiiihjkkjjklmonlllmnnmmmnnnnpoooopqqpoppponmmnpqpnnnnmllmnnnnoonnpsx|~yussuuutrqrtttsrrqqrsuvssrrrrsuwvuuuttttsrpooqrrqpponnnooppppoonnnoooppsuwxxuqolmnmkjjkjkkllkkkkklllkjjijloqqonllkkkkllklllllmmpqrsrrrrrrrssssssssrrtuwusrrssrqrrsssss;.SRSSTUVUUUUUTTSSRQQRRRRTTTUVWWWWWWWVVVVWWWXXXVUWXYZZZZ[[ZZZZZ[\\\]\]]^]_^]^^]^______```bfkomgcaaaabcdddccccdffeilnnkjjkhggikmnmkjjjkkjiilorrrpmnnmlkkkjkkkkkklmonllmnnnmmmnnmnoonmmnpqqppooonmmopqpnmnnnnnpqpoooonnnprttsrqrsttrrqqrrrrsrrsstttrrrrrqqrrstuutsrsrqpoprturponnoppppppppoooopppppprtvusomlnonlkkkkklllkkkkkkkkjjiijlnoponlllkkllllllllmmmopqrqqrrrrrrrrsssrrqpprsrrrrrrrrrrtsssr:/TSTSUVWUUVVUUTTSSRRRRSSTTTTTUVVXWWWVVUUVWWXXWVVWXYZZYYYZYYYZZ[\\\\\\]]]^^]^^^^_______``cejmkgcaaaabcddddddddeedgilljijkgfghklmmjjjjjjjjjlnpppommnmlklmmllllkllmnnmmmnoonnnonmmonmllnpqqoooonmmmpqqpnmmmnoprrqpoonmmmnnopppqrstusrqqqqrsssssttssrrssrqqqprtuutsqrrqppqtwwsponnoqppppppooppppqqponopqqpmlmnoomllllllmllkkkkkjjjjijjkmnoonmmllllmmllmmmmnnnoppqqrrqqqqqrrssssqppqrrrrrrrrrssutsrr:/TTUTVVWVVVVVUUTTSSRRSSTTTSSSTUUWWWVVVUUVVWWWWVVWWXYYYXXYYYYYZ[[[\\\\]]\]]^__________``acdegfca``aabbcdedeeddeeddgjjihijfffhijjkhhijjjkkkmnooonmklkjjkmolmllkklmnmmmnooonnnonmmommmmoqrqnooommnnpqqponmlnopqqqpoonmmnnnnpqpqrstusrqqrstuutttttsrstttsrqqprtuuusrrqqqprvyxtpoonoqqpppooooqqqqqqonlmmnnnmmnnnnmllkmmmmmllkllkkkjjjjjklnoonmmmmmmmmmmmnnnnnnnooppqrqqqqqqrsstsrqqrstttsssssstutrrq:/TUVVVWWVVVVVVUUTTTSRSTTTTSSSSTUVVVVVVVVVVWWVVWWWWWWXXWWZYYYYYZZ[[\[\\]\]]^____`_____`aacbaaa``__`abbcdecddddeeecfijighifefghhhigghijklmmnnnnoonijihhjmollllkklmnmmmoooonmnonmmolmnnpssqnooonnnppqpoonmlmnppppooonmmooonqqqqrrsurqpqrtuvvutstssrstuutrqqrstuuutsqqqqqrwzwtqppoopqppooooorqqqqpomllllmnnonnnmmllkmnnnmmllmlllkkkkjjkmooonmmnnnnmmnnnnnooomnoooopqqqppqqrrsttsssstvvuuttssstutrqq:1VWWYYZZXWVVWWWVTTSRQQSTRRSSSSSRUUUUUUUUUUUVVVWWXXXWWWWXYYYYYYZZZZZZ[[[[\\\\]]^_]]\]^____`aaaaaa^_`abbccdddeefffcefghihghgfffeeeghiijklmnnmlllllkjjjkkjikkkklllloooppopqmmmmmmllnmmoqrqopppponnoonmmnooomnpqqponnmllllmnopqrrrqqoppqrsttuutssrrrrtuttsrqrstuusrrqqqqpqsuqpoppqponppppopprrqpoonnllmpstsrnnnmmllmnoopponnlmllklkkjjjkklmmmmmmllllmnopqqppooooooppopppppqrqrrrrsuvwxwvvuuvtvwvtqp91VWXZZZZWVVVWWWVUTSRRRSTRRSSSSSSUUUUUUUUUUUVVVVWXWWWWWXXXXYYYYYZZZZZ[[[\[[\\\]]]]]]]^____`aaa`aa__`abbbbdddeefffdefgghhghhggggfegijjjkmmlkkklmmmlkjjkkkjkkkkklllnnopppqrpnmmnmllnnmnoponoppppoooonmmnooonnoqsrpnonmmmmnooqrssrqqppqqrrssuttsrrrqssttttsqssstsrrqqqqqqqqrppoppqppopqqpooorqqpoonnmmnqsutrnnnnmmmmoooppoonmmmllllkjjkkklmmmmmmllllmnoopqqqqrqqpoppopqpppqqqrrrrsuvvwwvuvvvuwxwtrr:1UWXZYYYVVUVWWWWVUSRRSSSRRSSTTSSUUUUUUUUUUUVVVVVWWVVWWXYXXXXYYYYYYZZ[\\][[\\\\\[\]]^^^___`aaa``a__`abbbbddddeeffefffggggiihhiigfhjllkklliiijlnnnlkjkklkkkkkkklllmmnpqqsuspnnonmlnmmmmmmmnopqppppnmmmmnooonorvurnponnonooprtutsrqqqqqrrrrtssrrrqqssttuutsuutssrqqpqqqppoooooopqqqpqrrqponqpppooonnnoqstsrnoonmmmnoooopooomnmmlmlljkkklllmmmmlllllmnnopqqqtttsqppppqqqpqqqqrrrssuvvwwuuvwxwyyxuss;0UVWXXXXVVVWXXYYWUSSSTTSQRSSTTTTUUUUUUUUVVVVVVVVVVVVVWXYXXXXXYYYYYZZ[\]]]]\\\\\\\]^^^^_`_`aaa```__`abbbbccddeeffffffffffhiiijkjhikmlkkkkhhjmoqqplkkklmllkkkkkkklklmoqsuwuqnopomllmmmmllmmnppppppnmmmmnnopooswwtppoooooopqrtuutsrqqqqqrrrssrrrqqqssttuvvvxxwtssrrqqqqpnmmoooppqqqqqrsrqooppppoooonnoprrrqnnnnmmmmoooooooonnnmmmmlkkklllllmmmlllllmmnopqqquuutrqppqqqqqqrqrrrrstuvwxwvvwyzxyzyvtt;1UUUWWXXWWWXXYYZXVTSSTTSQRSTTTTTUUUUUUUUVVVVVVVVUUVVVWXXWXXXXXYYXYYZ[\\]^^\[[[\]\]^^^^_```aa````_``abbbbcccddeefffffffffghiikllkjklljjjjhjmpssrqkkklmmmllkkkkkkkkkmoqsvxwspoponmlmnnmlllmnoooooonnmmmnoopooquvsqpppqppppqrsuuusrpqqqrrrrrrrrrrqqsstuuvxx~}xutuutsqponmmnooppqqqrqrssrqpqqppppppnnoopppomnnmmllmnnnnnnnnnnnmmmmmkklmmlllmmmlllllmmoppqqqstttsqqqqqqqrssrrqqrstuuxyxwwxz{xyzywut;2UUUVVXXWXXXXYYZXVTSSTSSQRSTTUUUUUUUUUUUVVVVVUUUUUVVWWWWWWWXXXXYXYYZZ[[\_^][[\]^\]]^^^__`aaa````_`aaabaacccddeeeeeeffeeefghijkmmlllkjjjiikpstsqokkkklmmmlllkkkkkkklopruxyupoonnnmnoonlllmnnnnnnonnnnnnopponoqsrqqpqrrqpqqqrsttsrppqqrrssrrrrrrrrsstuvwy{~wvxyvurponnnooppppqqqqrsstssrrrqqpppoooooooomnnmlllmmmnnnnmmnnnmmmmmklmmmmlkmmmlllllmnopqpppqrssrrqqqqqqrstsrqqrstuuyyyxxyzzxxyzxvu<1UUUVVWWWXXXWWXYXVTSSSSRQRSTUUUUUUUUUUUUWVVVVUUUUUVWWWVVWWWWXXXXXYYYZZZZ^]\[[[\]]]]]^___`aaa``__``aaaaaabcccddeeeeeffeeeefghhjloonlkjjjiilqsrpmlkjjklmmmlllkkkkklllnpqtwyupnnonnnoooonmmoonnmmnooooonopqponopqqpqpqrrqpqqqqqrsrrpppqrrssssssssssssuuvwz~ywy|xvsqppoooppppopqqqqrtuvvtssrqqppppppoooonnnnmlmmmmnnnnmmnnnmmmmlklmnnmlkmmmlllllnoopppoooprsrrqqrrrrsttsrqqrstuuyyyxwxyyxxyzxww=0TUTVUVVVWXWVVWWXVTSSSSRQRSTUUVVUUUUUUUUWVVVVUUUUVWWWVUUWWWWXXXXYYYYYYYZ]\\[[[\\]\\]^___`aaa``__``aaaaaabcccddeeddefgfeeefgggiloqnlkjkkjilprpmkijjjklmmllllkkkkkllmnopsvyupnooonoooooooopponmmnpoopoooprppooppqqppqrrqppqqppqqqqppqqrrssssssssssrtuvvw{yvy{ywtrqqppopqpooppqppqtvxxuttsrqqpqqpponnnnnonmmmmmnnooonmnnnmmmmlklmnnmlkmmmlllllppppoooonprssrrrssrrstsrrqqrstuuxyyxwwwwxyyyyxx?/TTTSTTUVVVVVUTTSRQQPPQQSSTTTTUVUUUTTTTTUVVVUUUVVVUUUUUUUVVWXXWWYXXXXXXXYYZZZ[[\[\\]^___`bdca``````aabbbbcddddddcddeffffgggghhjkkkklllllknpomkkkjjjjkklllmmlllllopqqpoopopppqrqooopqqqqqqrrpoppqppqrqppppqqqqqpppqqqpooppqpooppqrstsrrqqrrrqrsttrssttvwyyuvwutssrqqropqqqqpopppqsuwxtrqrsttrppppppoomnnnmnooqppponnoooonmlkklllmmmmmnnonnnooqppopqpoopqrssssrssstuutsttsrstvwwvvvvvvwxyyz{z?/TTTSTTUVVVVVUTSRRQQQQQRSSTTTTUUUUUTTTTTUVVVUUUVVUUUUUUUVWWXXXXXYXXXXXXXYYZZZ[[\\\]]^___`bcca``````aabbbbcddccdddddeeffffgggghjklkkkkkllknonljjkjjjjkkkkllmmmnnnpqqqpooooooopqponnopqqqqrrrppppqpqrtsqppppqqqqppqrrqpooopqqpopqqsttsrqqprrrrrtturssstuvx{vstuutsssrqropqqqqpoppqrstuvtrrsvxwuqqppppoonnnnnnopqppponnoopponlllmmmmmmmmoooppoppqqqppqpoppqrssssrssttutstuuutstuvvvvvwvvwxyy{|z?/TSTSTTUVVVVUUTSRRQQQQRRSTTTTTTTUUUTTTTTUUVUUUUVUUUUUUUUVWWXYYYYXXXXXXXXYYZZZZ[\^]]]]^__`abba``````aabbbccccccddddddeeffffggghjkkkjijjkllnnljjjkkjjjjjjjkllmnoppqrsqonnooonmnoonlmnoqrrrrrrqppqrpqsutsqppppqqpppsttsponopqqpopqrtttsrqqprsrrstuursssstuvzzyvsrstutttsrrrpqqrrqppqqrrsssssrruy{ywqqqpppponoooooppqppppoopppppnmllllmmmmnnoopqqqqpqrrqpppppqqrsssssstttttsuvwvuttuvuuuvwwvvwxy{{y>/TSTSTTUWWVVUTTTRRQQRRSTTTTTTTTTUUUTTTTTUUVUUUUVUUUUUUUUVVWXXYZZXXXXXXXXYYZZZZ[\^^^]^^^^_`aa```````aabbccdccccddeddddeffffggghijjihhhjlmmnnljjjkkkkjjjjjkkklnoportutqoopppnmlmnmkmnprsttsrrqqqqroqsutsrppppppppptuvurpoppqqpopqrtttsrrrqsssrstuusssssstuvvvurrstuttutsrsqqrrrqpppqrrrrrrrqquy{ywrqqqppppooppppqrrqqqqppppqqpommmmmmmmnnnoppqrrrqrrsqpppppqqrsttustuttttsuvwvutttuttuvwwwvwwxyyw=/TSTSTTUWVVUUTTTSSRRSSTUUTTTTTTTUUUTTTTTUUVUUUUVUUUUUUUUUVVWXYZZXXXXXXXXYYZZZZ[\]^^^^^]]^__```````aabbccdddcbbcdeedddeffefffghijjihghjlmmoomlkjkkkkkkkkkkkklmnnnsvxwtrrrrqpmllmmlnprrsuvsrqqqqqqpprsssrqpppppppptvxwsppqqqqpopqqtttsstttstsrstttstsssstuuuuusrtutttuutssrrrrrqqpppqrrrqqqpqtvwvtrrrqqqqqpppppqrttsssrqpqpqqpommmmmmmnnnnoopqrrrrrssqpppppqqrtuvwtvvvtttstuvvuttttttuvvwwwwwwvvu1WXXVVWXWXXWVVVVVVVWWWWVVUTTUVXY[ZXVUVVUUUUUUVVVVUUUUVVWVVWWWWXXXXWXXZ[\Z[[[ZYYY\\\[ZZZZ]]]^_`abbbbbccbaabbcccdeedbbbcdedfiiigggfhiihhhhghhiiiiijjjkklmonnnnpqportwyzywvsssuvvtsqsttrqqrrstvwwvvusqrsutsqqrstuvwxyxwuttuvwwvvvvwttssssttqrssssttuuuuvvvwuvvvvuttuvwwwwxz~{xwwxxxwwwwvvxyyxwxz{wwwvuuvwvvvx{|zwstuuuttuvvussuvvuuuuuuuuwwwvvwwwvvvwwwxxwwvvvwxyxxxxxyzz|{yxwwxxwwwvwwwwuvy|{zx=2XXXVVWYWXXWVVVVWWWXXYYXVUTTVWZ\^][XWVVUUUUUUVVVVUUUUVWWWWWWWXXXYXXXXYZZYYZZZYYX[\\[ZZZZ]]]]^`abbbbbccbaabbbbccdddbaabcddfijjhgfhjjjiihhghhiiiiijjkkllmoonnnpqqprtvxxxvussstuutsrsttrqrrsstuvuvvutrrsttsqrsssstuwxxwvutsvvvvvvvvutttttttqqssstuuvvvvwwwvvvvvvuutuuvwwvxz~{xxxxxwwwwwwwyzzxwxz{xwvuuuuvvuuwyywustuuuuuvwwuttuwwuuuuuuuuwwwvvwwwvvvvwwxywwwwwxxxxxwwxyz{}|zxxwxxxxxwwwwvwwy}||y=3XXXWWXYWXXWVVWWWXYYZ[\\VUTUWY\_bb_\XVUUUUUUUVVVVVUUUVWWXWWWXXXXYYXXWXXXXXXYYYYX[[\[ZZZZ\\\]^_`abaabccba`aaabbbcdcbaaabcdfikjigfjkkjihhgghhiiiiijjjkklmoponnprqqrsuvwutssssstttsrstsrqrrsstuutuvutrrstsrrsssrrsswy{zxvsrtttuuvvvuuuuuuuuqrsstuvwxxxyzzxwvvvvvvutuuuvvvxz}zxxxxwwwwwwwwzzyxwwy{wvuuuuuuuutuuutsstuvvvvwxxwuuvwwvuuutuuuwwvvvvwwuuuuvwyzwwxxxxxxxwvvwy{|}|{yxxyyyyyxwwwwxyz~~~{>3XXYXXYYWXXWVWWXXYZZ[^``XVUUWZ^aeed_ZWVUVVVVVVVVVVUUVVWWXXWWWWXXYXXXWWWWXXXYZZYYZ[[[ZZZ[\\\\]_`aaaabbbaa``aaaabbbbaaaabcdfijjhgfijihhggfghhiiiihijjjkkmnpnnnpqqpqqsttsrrsrrrssttrstssrrssuvuttuvtsrrrssrssttsssty}|xtsssstuvvvtuuuuuttssttuvwxyz{}~{xwvvvvvuuuttuuvwz}|zxwwwwwwwwwwwwyyxwvvwxvuutuuuttttttssrstuvvwxxzzxwvvwvvuuutuuuwwvvvvwwutttuwy{wxxyyxxwxwwvwy{|}}{zyyyzzzzyxxxxyz||?3YY[ZZYYXYXWWXYYYZ[[\_aaYXVVWZ^aegfa[WVVVVVVVVVVVVVVVVWXXWWVVVWXXXXXXWWWYYYZZ[ZYZZZZZZZ[\\\\]_`aaaaabba```aa``abaaaaabccefhhhhgghihggggfghhiiiihiijjjklmnnnopqpoopqrrrrqrrrqqrstssssssstvwxwutuusrqqrrsssttttttuz~yutssstuuvuttuuuuttttuuuuwxyz||ywwwvvuvvuttuuvxzzyyxwvvvwwwwwwwwwwwvvuuvvuuuuuttstuutsssttuvvwxy{{zxwwwvvvuutttuwwvvvvwwutsstwy{wxxyyxxwwwwwxyz{}||{{z{{{{{zyzyyy{}~~{?3Y[\[ZYYYZYXXYZ[Z[[[\^_^ZXVVWY]`efea[WVVWWVVVVVVWVVVVWWXXXWVVVWWXXXXXXXWYYZZ[ZZZYYZZZYZ[\\\]^_`aaaaabba``aaa``aa`aabbcddefghhggghhgfggggghhiiiiiiijjjkmmmmnopppoopppqqqqqrqqqqrsrrrsstuvyzzxwvvurrrqrrssttuttttuy}|xutsstttuuustuuuutstuuuuuvwxxz|}}{ywwwvvuvvutuuvvxzxxxxwuuuxxwwwvvvvvvvvuuuvvvvvuttttuuuttttuuvvvxy{{zyxxwwwvutsttuwwvvvvwwuttstvxzxxxxxwwwwwxxyyyz{{{{{{|||||{z{zzz}}|y>4Z\][ZZZZZZYYZ[\ZZ[[[\\\YWVVWY\_dec_ZWWXWWWVVVVVWVVVVWXXYXWVVVWXXXYYYYXWYZZZZYYYYYYZZYZ[\\]]^`aba``abba`aabaaaaaaabbcdddefghhhggihgfghhgghhiiiiiijkjklnnnnoooppqpppppppppqqqqqrsrrrrstvwz{{zyyxwtssrrsstuuvuuuuvy{{ywuttttuuttuuttvvvuuttuvvwwxxwwwxyyxwxwwvvvvwuuuvwwxywwwwvttuyyxwwvuuuuuvvuuvvvwwvuutuuttttttuuuuuvwxyyyyyyyxxwutsttuwwvvvvwwuutstvwyxxxwwwwwxxyyyyxxzz{{|||||}||{|{{}}zx>4[\][ZZ[[[[YY[\]YZZ[[[[ZXWUUWY\_cc`\YXXYWWWWVVVVWWVVVWXXZYXVVWWXYYZZYYXWYYZZYXXXXYYZZYZ[]]]^_`aba``abaa`aabbaaaabbbccdddffhijihgihgfghhgghhiiiihjklklmoonoppopqrqpppoooopqqqqqrsqqrrtuwwyz{{{{zyuuttssttvvvvvvvwzzxussrruuuuttuutuvwwvuttuwxxyzzvvuuuvvwxxwvvvvvvuuwxxyyvwwwutuwyyxwwvuuuttuuuuvuvwwwvuuvuttttttuvvuuuvwwxyyyzzzxwutsttuwwvvvvwwvutttuwxyxwvvvwwxyyyyxxxyzz{||}}|||||}}|~zx>5[[\\[ZZZZYZ[]]]ZYYYYYYXWXXVWXZ[\[YXXZ[[XXXXXXWVVVVVVVWWXXXWVVVWWXYZZZYXXXXYYZZZXYYZZ[[[\]]]]^`a````````^`abba`aaaabdddcddfhhhhihhhhgggfiiiiijjjjkllmnoonoppopqsqponnopqopqssrqprsttttuvvwyz{|zxvwwvuuvvyzzywvx||zwvvusrtttttssssuuvvvutuwyyyz{{xwwwwvxzwwwxyyxwvwxxwwwwwvuutttv}{wtssuuvuuuuvuvvwwvvuuvwwvvvvvvuuusstuvwz}zyxwvvvvzzyxvuuvuuvvuuvwyywwxyyyxxwwwvvwwy{|}}|z||||}~~zv;5[[\\[ZZ[[[[\]]\[ZYYYYYXWXXWWXYYZZYXXYZYXWWXYYXWVVVVVVVWXXXXWWWWWXYZZZYYXXXXYYYYYYYYZ[[[\\\\]^_```______^`abba`aa`abdddcdefhhhhihhhgggggiiiiijjjjkklmnooooonnoqrqpnmmnoppppqrqqqsttttttuuwxyyzywuuuuuuvwz{{zxwx||zxxwvttuuttttttstuuvvutwxxxxz{|xwwwwwxzxxxxyzywwwwxxxxwwuttttuv|~}zusssuuuuuuvvvvvwxwvuvwwwvvvvwwwvutttuvwz{zyxwvvv{{zxvutttuuuuuvvxxwwy{{{xwvvwwwwxz{}~~}}|||}~~~~{v<5[[[[[[\\]^^^^]][ZZYZYYXVWWWWWXXYXXXYYYXXWWXYYXWVWWWVVVWXXXYYXWWXXXYYYYYYXXXYYYXYYYYYZ[[\[[\]]^_________^``aaa``a`abcddcdefghgghgggffggghhhhiiiijjklmnnooonnnopppomllmopqpopppqrttuuttsstuvvwwwwuuuttuvwyz{{zxxz{zyzyxvuvuutttttrttuvuttxxxvwy{|xxxxxxyzzyyyz{{yxwwxyzywvtssstuvy{zwtsssuuuuvvvvvvwxxwvuxxxwvuvvxyyxuttuuvw{}|zywwvv{{zxvtsstuuuuuuvvvwxz|~}xwuvwyyxxy{}~~}||}}}}~}{x=5[[[[[\]^`a`__^^\[ZZZZYXWWWWWWWWXXYYZZYWYXXXXYXWWXXWVVVWXXYZZYXWXXXYYYYYZYXYZ[ZYYYYYZZ[[[[[\]^____^^^^^_^_``a```a`abcdddeefffffeeeeeffgggghhhhiiiijklmnnnnoooopqqpmllmpqrponnoqsuuuutsrrstuutuvvwwvuttuvxy{{{xwxyyz|}{xvuuuuttssrstuvuttwwwvvxyzxxyyyxyz{{{|}~{ywvxzzyvttssstuvvwwusrstuutuvwwvvwxyyxwvyyxwvuvvyz{yvuuvuvx{}|zywwvvzzyxvtsstuuuttuuuvvxz}~~xwuvy{|{yz{|~~|||}|{|}||x>5[[[[[]_adfda_^_[[ZZ[[ZZXXXXXXXXYYZ\\[ZXZYXXXXWWXXXXWWWWXXYZZZYWXXYYZYYYZYXYZ[[ZYYZZZZZZ[[[]^```^^^^^^^^___`````aaaacdddeeeeeeddeeeefghiggghhhhhiiikllmnnoooopqrrpnmmnprsqonnortuuuutssrstutttuuxxxwvuuvxy{}|zxxxy{{xuuuttsrrrstuvvuuwwwvvwxxxxyzyyyz{|}~ywvxyzxuttssstuvuuutrrsttttuvwwwvx{|{yxxzzyxvvvvz{zyvvvvuwyz}~|{zxwvuuxxxxvtssuuvuutuuuuvwy|||xwvxz}||||}~|{||{zz{}~||y>5[ZZZ\^afkolfa__\[Z[[[[ZYXYZZZYYY[^`_][Z[ZYXXXWWXXXXXXXXXXYYZZYXWXYYYYYYYXXYZ[[ZYYZZZZZZZ[\]_`aa]]]]]]]]____````aa`acdddeeedeeedffeefgijgggggghhhhijklmmnooooprsrpommoprsqooopruuutttttsuuvuuuvvwxxwvvvwy{}~|zzzz}~zvuttsrrrrstvwvvvxwwvvwwwxxyzzyyz||~zyxxyxwutttttuuutuutsrssssttuvvvwz}~|{zzzzzywvvwzyyxwvuuuwyy{}}|{{yxvvuuwxxxvutsvvvvuuuvuvvwyzzywwwy{~~~~|}~}{{{{zyyy|}{|x>4[ZZZ\_blsyvmea`\\[[\\[ZYY[]^][ZZ]bec`][[ZYXXXXWYXWXYYYXWXXYYYYYXXXXYYYYYYYYZZZZZZZZZZZZYZ\]__``]]]]]]]]__^_````aa`abdddddddfgggggfffgijfffgggggghijkllmnoooooqrqpnmmnpqsrpppqsuutssstuuwwwvwwwvvwwvvvwxz|~}~|}|vvutssrrstuwxwwwxwvvvvvvwxyzzyyyzz|~{zzyxwvutuuuuuuttuuutssstttttttuxz}~}{zzzzzyxwwwyxwwvvuutvxy{}~}{zyxwvvvwxyyxvutwwwwvuvvuvvwyzyxvwwy{}~~}||}}}}|{zzzyyyy|~{{x=4[ZZZ\_cpx}rhb`]\\[\[[ZXY\_`^[ZY^dhfb^[[ZYXXYYXYXWXYZYXWXXXXXYZYXXXXYZZZZZZZZZZZZZYYYZZXZ\]^^_`]]]]]]]]__^^````ba`abddecddegijihggffghifffgggghghiijlllnnnnnoppponmmnopsrqqqrsutsrrsuvvxxwwxyxvvvvuuvwy{}~~}vvvutsrrstuwxxwxxwvuvvuuwxyzzxxyyxy|}{||{ywvvuvvvuuustuvvutttttutssstwy}~}{yyyzzzyxwwxwvvvuuttvxy|~{zyxwvvvxyzzywvvwxxwvvvvuvwxyzyxvvwy{}~~~}}{{|||||{zyyyyyy|~{{w=4YYYZ\_bntxumfa__^]\[[ZZXY\^`_\Z[^acb_]\ZYXWWXYYYYYZ[]\ZXYYZZZ[\ZZYXXYZZYYYZZ[[[\[ZZZ[[[YZ[\]]]^]]]]]]\\]^^^^``````abccdbcdeffggedcccdefdegggghiihhijkkjkmnpqpoonnnnoopprrqqqrrsutsstuuuvvvvwyzzyyyxxxxx}~|xxwwvvtstuuvwwvvtuuttvwwwxxxxxwvvvwyzz|~~|zwvwwwvuttuuuutsststuuttuvwwwwwxxxwwvwwvvvvvvvvvvvuvxyz|}{yxxyzyyxz{zywwvwxxwvvwwzyxxxwwvvwwxyz{|zzyyzzz{zzzyyxyyxyzzyxy?4ZYZZ\^`jnqnid`^^^]\[[ZZYY[\^]\[Z\_`_]\[YYXXXXXYYYZZ[[[YWXYYYYZ[[ZYYXYYYYYYYZ[[[[ZZ[\\\[Z[[\]^^^]]]]]]]]]^^^^``````abccdbbcdefffedcccdefdeffffgijiijkllkkmnpqrrrnnnnooooqqqqqqqrsrqrstuuvvvwxz{|zzyyyyyy}~}zzyyxwutttuuuuuuuvwwwwwwxxxwwvvvwvwxxz|~~|zxyyyxvuuuuuuuttttstttttuvwwwwwwwwxwwwwvvwwwwwvvvvvwwxxyz{{yxxz|{{yzzzyxwvwwwvvvwxzyxwwwvvvvwxyz{{zzzzzzzzyyyyyyyxxyz{yyy?4ZYZ[\\]cfhgda_^]\\\[[[[ZYYZ[[[[YZ\\\[ZZXXXXXXXXZ[[ZZZYYXXYYYYZZ[[ZYYXXYYYYYZZ[[ZZ[]^^][Z[\]^^^^]]]]]]^^]^^^^___```abbccabcddeeeddcbcdefefffeeghjjjjllllklnprsttnnnnnnnnpppppqqqqqpqrsttvvvwyz|}{z{{{{{{}~~~}||||zwutuuuttuvvxzzyyyxxwwvuuuvwvvvwy{}~zyx{{zxwvvwvuuuttttssttuuvvwwwwwwwwxwwwwwwxxyzyxvvuwwwwwwwwzxwx{}}|zyxyyxwwvvvuuvxyyxvvvvvvvvwxyzz{yzz{{zyyyyyzzzyxxxzzyzz?4ZYZ[\[Z^`aa`_^]\[[[[[[[ZZYYYZZ[YYZZZZYYXYYYYYXX[\\[YYYYYYYYYYZZ\[[ZYXXXXYYYZZ[[ZZ[]^^\[Z[\]]^^]]]]^^^^^^^^^^___```aabbcaabcccccdccbbceefgggffghjjjjllllklmoprssnnnnnnnnpppppqrsrqqqrsstuuuwxz|}{{|||}}}}~~|ywvwxwvuvwwz{{zzzzyxwuuvwwwwvvwx{||xww||{yxwxxwvuuuuuussttuvvwwwwwvvvvxwwwwwxy{~~{xvvwwwvvvvvxwvwy{|{{yxxyyxwvuuuvvxyywuuuvvvvvwxxyzzyz{||{yyyzz{|{zyxxz{{{{A3YYZZ[ZY[\]^^]\\[[[[[[[[[ZYXXYZ[YYZZZZYYYYYYYYYY[]]\ZYZ[[ZZZZZZZ\\[ZYYXWXYYYZZ[[[[[\]]\ZZ[[\]]]]]]]]^^^________^````aabbaabbbbbbdcbbbcdeghiiggghjiijkllkjklnnooommmmnnooqqpoprstsssrrrsttstvwyz|{||}}~~{yxy{zxwwxxz|{zz{||{ywvwxzxwwwxyz{|}~}yvuuzzzyyxyyxwuuuuvutttuuvvvwwwvvvvvxwvwwwxy~zwvwwwvvvvvwvvvwyyzzyxwxyyxuuuuvvwxxwutuuvvvvwwxyyzxz{}}{zyz{|}}|{zxxz{{{|A3ZZYYZYXYZ[[[[\\[[[[[[[[\\[YXYZ[YYZZZZYYYYYYYYYY[\][ZZ[\\\[[[ZZY\\[[ZYXXXYYYZZ[[\\[[\\\[Z[[\\\\\\\]]^^^_aa``____````aaaabbbbbbaaccbbbcdehjjjhgghiiiikkkkijklmmmmllmmnnnoqqppprtutttsrrstsssuvxyz{{||}~~|zz{|{zxxxxz{zxy|}}zxxxyzyyyyz{{zz{|zxusswxxyxxyyxwvuuvvvuuuuvvvvvvvvvvvvwvvvwwxz{xwwwvvwvvvvvvvvwxxzyxwxyyxuuuuvvwwwvuuuvvvvvwwxxyyxy{|}|{z||}}||{{zz||{{|A4[ZYXXWWXXYZZ[\\[[[[[ZZZ]]\[ZYZ[ZYYZZZZYYYZZZZYYYZ[ZYZ[\\\[ZZZYY\\\[[ZYXXYYYZZ[[\\[\]]]\[[\]]]\\\\\]]^^^bbba```_`````aaabbccbbaaccbabcdeijkjhgghiiiikkkkjjkklmmnmmmmmnnnppppqrsttttsrrstssttuwxyzz{|}~~|{zzzzyxwvvxyxwx{}~}zxwwyzz{{{|||{z{{ywusruvwwwwxxxxwvuvvwvvuuvvuuvvvvvvvvwvuuvwxz|xwwvvvvvvuvvvuvvwxyxwxxyyxvuutuvvvwvuuvwvvvvwwxxxyxy{|}}|{}}}|{{zzz{}}{{{A4\[YWWVVXXYYZ\]][[[[ZZZZ]^^][ZZ[ZYYYZZZYXYZ[[ZYXXYYXXY[\\[ZZZZYX[[\[[ZYXXYYYZZ[[\[\]^^^]\\]]]]]][[\\]^^^ccca`a`_``````aaccccbba`ccbabbdeijjigfghiiijklkkkkkklmmnmmmmmmmmnnopqrrrssssrrtustttuwxxyzz|}~~|{zyyxwvuutvxwvx{}|{xvuvwx|||||}}{zzzyxvtrttuvvvwwxxwvuuwxwvvuvvutuuuvvvvvvuuuvwxz~{xwvuuuvvvuuuuuuvwwyxwxyyyxwvuttvvuwvvvwwwvvvwwwxxxxyz|}}||~}|{zzyxz{}}{{{B4[ZXVVVVVWYYYYYYZZZZ[[\\Y[\]^][Z[[[[[[[[[[\\\[[[ZZZZYYYYYYYYYZZZYZ[ZZZ[[ZZZZ[[\\[[\^__]\Z[[\\\]]]]]^^^^^`aaa```a__``_``a`abcccccddedccdfhgggggggghhhikkkkklkkklmllllmmnnoooppqrrtttstuvvvvvvwwxyzz{{}|yzzxwvuuvuwxwwyz{xxxwwwxyz{|}}}||zzzyyxvsrtuuuvwwvvwwwwxxwvuuuuuutuvuuvvvttsttuwyz|~}zxxzyyxwwvvuuuuuvvvwwwwxxxxwwvuvvwwyxwwwwwvvuuvwwxwz{{|{{{{zzzyxxxwy{{{z{z@5\ZXVWVVVWXYXXXYYZZ[\\\\[[]^^][Z[ZZZZ[\\]\\\\[[[[ZZZYYYYYYYYYZZZYZZZZZ[[ZZZZ[[\\]]]]^^]\[\\\\]]]]]]^^^^^`aa`````__`````abbbccdddcdddccdfggggggggghiiijkkkkkkjjklllllmnnopppppqrsuuutuvwwwvvvvwxxzz{|~~|zyyxwvvuuvwxxxyzzwwwwvvwx{{||}||{|{zyyxvtstuuuuvwuuvvwwxxwvuuttuuuvvuuuuuuuuuuvx{zz{|{yxxyxxxwwwwvvuuuvwwxxxxxxxxxxwvwwwx{zywwxxwuuuvxyyxyz{|{zzzzzyyxxwwx{{{yzy?5\ZXWWWXWXXXXXXYXYZ\]]]][\]]]\[ZZZZZZ[\]^]]\\\\\[[ZZZYYZYYYYYZZZYZZZZZ[[ZZZ[[\\\^^^^]]]]]]]]]^^]]]]^^^__`````a``__`````accbbcdeecdddccefffffffffghiiijklmllkjklmmmmmmnopqppopqrsuuutuvwwwwvvvvwwyz{|~}|zyyyxxxwwwxxxxxxywwvvvvvx{{{{{|{{}|{yxwvustuuttuvttuuvwxxwvutttttvvuututsuuuvvwz}zyyzzyyyxwwwwxxxwvvuuvwxxxxxxwwwxxwwwwwx}|zxxxxwuuuwyzyyxz|}|{yxzzyyxxwwxyzzyyx>4[ZXWXXYZZZYXXXYXY[\]^^][[\\\\[Z[[ZZZ[\]^]]\\\\\\[[ZZZZZYYYYYYYYYZZZZZ[[ZZZ[[\\\^__^]\]^^^]^^^^^]]]^^___````aaa`_`````aaccbbcdefccdccdefeeefffffgijjiiklnnmlllmmnnmmmnpqqppoopqqtttttvwwxwvuuuvwxy{}}|{yyz{||||yxxxxxxxwwwvvvwxzzzzz{{|||zyxwvutuvutstuuuuuvwxxwvutuuuuvvuttutsttuuuwz}yxxyyyyzyxvvwxxyxwvvvwwxxxxwwvvvwwwwwwww}}zxxxxvuuvxyzzyy{~~|yxzyyxxwwwwyyyxxv>3YXXWYZ\^]\ZYXXYXY[\]^^][[[\\\\\\\[ZZ[\]\\\\\\\[\\[ZZZ[[YYYYYYYYZZZZZ[[[ZZ[[\\\]]^_^]]]^^^]^^^^^]]]^__```__`aaaa_``a``abbbbccddecccccdefeeeefffgghjjiijkonnmmmmmnnmmmopqqqpppppprrrrsuvvxwvutuvvwxz|~~|{yz|~|yxwxxxxxxxxwwxyyyyyyz{{zzzyxwvvvwwwuttuwvuvvxxxvuttvvvvwvvuuutsstttuw{~yxxxyyz{zywvwxyyxwwwwwwwxwwvvuutvvvvvvvv{{ywwwwuvvwxyyyy{~~zxyyyxwwwvwxxywwv=2XWWWY[]ba^[YWXXXYZ\]]]]\\[[\\]]]\[[[[\\[\\\]\\\]]\[Z[[\ZZZYYYYYZZYZZ[[[Z[[[\\]]\]^^^^]]]]]]]^^]]]^^_``a___``aaa``aaa`abbbccddddccccddffeeeffgggghiihhijmmllmmmlnnmmnopqrrqqppppqrrrsuvvxwutttvvwwyz|}|z|~}zwwxyxxyzyyxxyzyyxxxyyzxxxxxwwxyyzyxvuvwvvvvxyywvuuwxxwwwwvuutsttttvy}yxxxyyy{{yxxyyyyxxwwwwwwwvvuuttttuuuuuuuxxwvvwvuwwxxxxyz}}zyyyxxwwvvwxxywwu<1WVVWY[]ca^[XWXXYZZ[\\\\]\\[[\\]\\[[[\\]\\\]]]^^^]\[[[\\ZZZYYYYYZZYZ[[[Z[[[\\]]]\\]^^^]\[[\\\]]]]]^^_`aa__```abb``aaaaabbccddeeebbbcdefgeeffgghhgghhhhhilkjjklllmmmmnoppsrqppppppqqqrtvvxwutstvwvvwxz|~}}}zwwxyyxzzzyyyzzxxxxxxyywwxxxxz{|{{|{xvuuuuuvxz{xwvvxyyxyyxwuutsuuttw{~yxwwxxyyyyyz||zxxxwvvvvwvvvuuuttttuuuuttwvuuuvvvvwwwwxz{}~~~|zyxyyxxwwvvwyxywwu<1WVVVXZ]b`^ZXWXYZZZZ[[\\]\[[Z[[\[[[\\]]]\\\]]^__^]\[[[\]ZZZYYYYXZZYZ[[[Z[[[\\]]]\\\]^^]\ZZ[[[\]]]]^^_`aa^_```abb`aaaaaabccddeeefbbbcdefgeffgghhihgghhhhhkjiijkllmmmnnooosrqpooopppqqrtuvwvusstvwuvvwx{}~~}zwwyzywzzzyyyy{wwwxxxyywwwxxy{~}||||zvtssstuwz|yxvwxyyxzzywvutsuuttw|ywuuvwwxwxy|~~{xxxwvuvvwvvvvuuuuttuuvuttvuttuvwwuvwvvwz}}}|{yxwwyxxxwvvvxyyywwu<4XXXXYXXZZZYYYXXWY[[ZZ[\[ZYZ\\\\[\\\]]]\[[[\\\]]^^^]\\[[[[ZYYYYYYYYYYZZZ[\^`a`__]]\\\\\\[\\\\\]\[\\\\^`b___``aaa__```aabdddcccccccccdeeedeeffghhiihghiklijjjiiijmnnnnnooppppqqpqqqsuwwusvwvuttvvtuwxz|~{ywwxyyxzzxwwwxxwwwvvx{|{zxxz|~~}||{zxvusrqqrtuvwvwxyyxwyyxwutsstuuuuvxzvuttuvwvvxz{||{{wxwusstvuuuuttttttttssttuuuutttuxxwwx{|}zyxwwwwxxyxwvwwvyyzxvut<3XWXXXXXZYYYXXXXWY[\[[[[[ZY[\\\\]]]]]]]\\\\\\]]]^^]]\\\[[[ZYYYYZYYYYYZZZ[\^_``__]]]]\\\\\\\\\]]]\\\\]^`a___``abb`__``abbddccccccddeeddeddeffgghiihhghiklijjjiiijmmmnoooooopprrqpqqstvvtsuvutttuuwwxy{}|ywwxyyxyyxwwwwxyxwwwy{|{zyxy{}}}|{zywvvtsqqqstuwvvwxxxwxxxvussstuuuuvwxvutuvvvvuvxzzzzywwwusstwvvuuuuttttttttttuuvuutuuxxwwxz{{yxwwvwwxxxxwwwwwxxzxvut<3XWXXXXXYXXXXXWWWY[\\[[[[ZZ[\\\]^^^^]]]]]]]]]]]]]]\\\\\\[[ZYYYZZYYYYYZZZ[\]^____^^]]]\\\\\\]]]]]\\]]]]^_^__`abbc`````abccccccccdeefgeddddefggghiihhghijkijjjiiijllmoppppnnoprrqpqqrsttsrttuttuuvzyyz}~|zxwxxxxyxwwwwww{yxxyz{|yyxxyz{|}}{yxwwvusrqqqstwvvwxxwvwwvutsrrttuuuuuvuuuuvwvutuvwxxxxvwvuttvxwwvvuuutuuuuuuuuuuvvuuuvvwwwwxxywwvvvwwxwwwvvwxxxxyxvut<3WWXWXXXXWWWWWWWWYZ[[[[[ZZZ\]\\]]]]^^^]]]]\\\]]^\\\\\\\\\[[ZZZZZYYYZZZZZ[[\\]^^^_^^]]\\\\\\\]]]]\]]]]]]]^^_`abccba``abcdcccccddddeggedcddeffgghihhhhhijkijjjiijjlmnpqqpommnpqrqpqqrsssrrtttstvxx|{{|~~~|zxwwxxwxwwwwwww{zzzzzz{wxxyyyz|~~|zxxxwutrqqrsuxwvwwwvvvvvussrrtttttttuuuuvwwvuttuvvvwwvwvuuuwyxxwvvuutuuuuuuuuuuuuuuvvvvvvvwwwvvvvvwwwvvvvvwxxwwywvut<2WWWWXWWWWWWWWWWXXYYYZZ[ZZ[]]\\]\\]^^^]]\\\\\]^^\\\\\\\\\\[[ZZ[[ZZZZZZZZ[[[[\\]]_^^]]\\\[[[\\\\]]]]]]\\\]^_`abccbbaaacdebccccdddcdfgedddddeffghihhhhiijkjjjjjijjmnopppoommnopqqqqqrrrrrrutsrtwz||{{}~}||}}{ywwwwwwwwxxwwxz{|}}{zzvwxyyyz{}~}{{{{zvtssstuwyxwwwwvvvuutssrrtttssstuuuuvwwvuuuuuvvwwvwwvuvxzyyxwvuutttttttttttttuuuuuuuuvvvvuvvvwwwwvuuvvvwwwwyxvuu=2WVWWWWWWWWWWWXXXXXXYYZ[ZZ\]]\\]\\]]^^^^\\[[\]^_]]]]]]\]]\\[[[[[[[ZZZZZZZ[[[[\\\^^]]]\\\[[[\\\\]^]\\\\\\]^^_`abbaaaaabcdbbccdddecdffedeecdeffgghhhhhiijjjjkjjjjkmnoooooomnnoopqqqqqqrrstvusrtx{}{zz|}~|{{{z{}~}~}|zxwvvwwwxyyxxxz|~}{{uvxyzzz{{|}||~~}wutuvwwxzyxwwwvvvutttssruutsrstuuuuuvwvuvvvvvwwwwwwvvvxz{zyxwvuutttttttttsstuuvuuutuuuuvvvwwwwwwvvvwwvvvwxyxwvu>2VVWVWWWWWWWXXXXXXXYYZZ[Y[\^^]\]]]]]]^_`^]\\\]^__^^^]]]]]]\[[[[\[[[ZZZZZ[[[\\\\\]]]]\\\\[\\\\]]]^]\[[\\\]^^__``a`_```abbbbbcddeeeeffeefedefffghighhiijjjjkkkjjjkmmnnoooonoqqppqqqqqqqrtuvusrtw{|yyyz{{zxxyz}}}}}||~}~}|zxvvvvwxyyzzyyz|}{vwxz{{{zz|||}~~ywvxzzyy|zyxxwwvvuttttsruuttsstuvutuvvvvvvvvwwwwwxxwvvxz}|{zywvvuuuuuuuuttttuvvvwvuuttuvwwxxxwwvwwwxxwvvxxzywwv?2VVWVWWWWWWWXXXYXXYYZZZZY[]^^]\]]]\\]_ac_^]\]]^_`__^^]]]]]\\[[\\[[[[ZZZZ[\\]]]]\\\\\\\\\\\\\]]]]^][Z[\\\]^^^__``^^^__``abbbcddeeffffffgfdefggghighhiijjjjkkkjjjklllmnoppnprsqpqqqqrrqrtvvusrswyzxxwxyyxwvx{}{zzy}||}|zxvvvvwxyzzzzyz|~}{vxyz||zx{|||}~~}{xwy|{zy|{yxxxwwvuuttttsstttttuvvuttuvvvuvvwwwwvxyxwvvxz~}{zywwvvvvvvvvtttuvwwvxwuttstuxxxyxwwvxxyzyxvvxxzyxww@2WWWVWWWVVVWWXXXZYYYYYZZYYZ\\]]]\]]]_bfjfa\]_`_\]^`a`^]\`_][[Z[[YYYZZZZZ]_aa_^]\]]\\\[[[Z[[\\\\\\]]]]]\\]^^]]^^]\]]^_```_abbbbaacdefgghifggghhggjmonkjjjmkihiijjkkkllmmnopqqqqqqttttstuvutsrsuwyvvvwwvvvux}}|}~}{z{|}}|{zxxwuttuwy{ywvxyyyyzzzy{|}}|zyz{{{{zzzwvuvxxwu{|}zxxyxuvwwwuttssttttuuuttttuvvtuuvvvww}}{xvwy{|~~|ywvvvvvwwwwwvuvwwwvvzxvsrsuwxxyzywvvz{zywwwwvwwxwww>2WWWVVVWVVWWWXXYZZYYYYZZXYZ[\\\\^^^^_aegea^]_`_]]^___^]]_^][[ZZ[ZZZZZ[[[^`aaa`^]]]]]\\[ZZ[[\\\\\\\]]]]\\]]]]]]]]\]^_`````abbbaaacdefgghiffggggggloqomlllmljiiijjkkkllmmmopqqqqqqtttsssuuttssuvwwvuuvvuuuwy~}{|}~~|z{~|{yxxwvttuvxyywvwwwwwxxxz{|}}|{y|||{zyxxwvuvxyxvz|{yxxxwuvvwwvutttttttuuttttttuvtuuuvvww{{zwvvx{}~~{yxwwwwwwwwwwvuvwxxwwyxvtstvxxxxxxwvv{{zxwwwvvwwxwww?2WWWVVUVVVWWXXYYZZYYYYYZXYYZ[[\\``___`bddb_^___]\]]]]]]]^]\[[ZZZZZZ[[[[\`aabbb`^]]]]]\ZYZ[[\\\[[\\\]]\\\\]]\\]]\]]^_````abbbbaaabdefggghffffggghmoqpnmmmmlkjiijjkkkkllmmoppqppqqssssrstutttuwxwwvuuuuttuxz~|yz|}~}{{}zyxwwvvuuuvwxyxvvvvuuvvuyz{||{zy}||zyxxxwvuvwxxwyzyxwwvutuuvvvutttttttuuttsssttuttuuvvwwyyxvuvxz|}}|zzxwxwwwvvvvvuuwxxxxywvttuwyxwvvvvvwzzxwvvvuwwwxwww?2WWWUUUUVWWWXXYYZZYYYYYZYYZZ[[\\``_^^_``ba`_^^^][[\\\\]]]]\\[[ZZZZZ[[[[\`aaabb`^]]]]\[ZY[[[\\\[[[\\\\\\[\\\\\\\\]]^_````bbcbaaabbcefggggfffffgghkmnnmlmmmmlkiijkkkkklllloopppppqrrrrrrstutuvxyxwuuuuttuwyz}~{xyz|}}||{}zxwwwwvuvvvwxyyxvvuuuuuuxxyzzyxx{{zywwxywvuuvvwvxxwvvvutttuuvvvuttttttuuttssssttuttuvwwvwxwwvwxz{|{{{{zyxwwwvvuuutuvxxxyyxvuuvxyxwuuuuvwxxvutuutvwwxwwv>3WWWVVUUWWWXXYYYZYYYYYZZZZZ[[\\\_^^^^^^^```_]]]\Z[[[[[\\\\]]\[ZZZZZZ[[[[_`aabba_^]\[[ZZZ[[\\\[[[[[\\\\[[\\\\\\\\]]^_____bccbbaabbcefggfffffeffggikllkllmlllkjijkkkkkkkllnoooooopqqqqqqrsuttvxyxwtuvvuuvyz{||zwxy{|~~}|z|~~{zyyxwvvvvvvwyyxuuvvvvvvvvwxxwvvyxxwvwxzxwvuuuutwvuuuuutstuuuuuuuuuuuuuuttssssstuttuvwwvwxxxxxyzzzz{|||{xwwwvuututtvwwxyzywuuvwxwvuttuvwvvuttuutvwwywwu=3XWXVVVVWWWXXYYZYYXXYYZ[[[[[[\\]]]^^]]]]^_``^\\[Z[\\[[[\\\]^^\[ZZZZ[[[[[_`aaaaa`_^\[ZZ[[[[\\[[ZZ[[[\\[[[]\\]]\\]]]^_____bbccbbbbbcdfggfefeefffgghjkjjkllkkkkjjjjkkkkkkkkmnnnmnoopqqppprsssstvwwvtuvvvvwy|||}}|yxwxyz{}~}{z}}|{{{zywvvvuuwxxxuuvwwvuuuuvwwvuuvvvuuvxyyxwvuttsuuttuuutttuuutuuuuuuuuttuttsssttttuuvvwwwxxyyyyyxyzz|}|{xxwwvvuuutuvvvwy{zxvuuvvvvuuuvwwuuuuuuutuwwywvt;3XXXWWWXWWXXYYYZXXXXYZ[\[[ZZZ[\\\]^^]\\\^_`a_]\[[\\\[[[[\]^__^\Z[[[[[\\\^_``````_^]\\\\]\\\\\[[Z[[[\\[[[]]]]]]]]]^^_____abcdcbbbbcdfggedeeefffffijkjjjkkjjjjjkjjkkkkkkkklmmllmnoppppopqrrrrstuuuttuvvvvx||||{ywvwxxxz|~~}{z}~}}|{|||||{ywvvuvwxxxvvwxxvuttuuvvvuuvvuutuvwxxwvuttstsstuuuuuuutttttvvuuuuutvuttstttttuuvvwwxxyzzzyxxyyz{||{yyxxwwwwvvvvvvwy{zwvuuuuuvvvvwwvtuvvuutsuvwxwvt;3XXYXXXYWWXXYYZZXXXXYZ[\ZZZYZZ[\[]__^\\\__`a_]\[\\\\[Z[[\]_``^\[[[[\\\\]]^^^______^^^]]]\\\\\[ZZ[[[\\[[[^]]^^]]^^^_```__aacdcccbbcdfggecdeefffffkklkjjkkiiiikkkjkkkkkjjjllllklmnoppoopqrqqrstuuutstuvvvv||}|zxwvwxwwxz|~~}}{{~}{{zy{|}~~~{zwvuvxxxyvwxyywuttuuuuuutvvutsstuvwwvutssssstuuvvuutttttsvvvuuuttvvutttttttuuuvwwwxyzzyxwxyzz{{{zyyyyyxxxvwwwvuwyzywvuvuutuwwwxwvsuvvutsruvvxvus:3XYWVVXWXXXYYXXXXYYYXYZ\ZZZZZYYY\^_^]]^_`aa`^]\\]]\[[\\]]]^_``^]\]]]\\\]\\\]^__`]]]]]__`Z[\\]]\[]]]]\\]]\\\\\]]]^^^_____bccccbbbbbbbcccccdeeefghlmmlllkjhiiiijklpnlkkllljlmmmmnnllmnoponoprsttssttuuuuvwuwz{zxvuxxz||{{|~}~}{{|}y{|xxwxz{zyvwyzzxwvssttuvvwwwutsrrrtssstttttssttttuvuutttttuuvuuuvvuuuuuuuuttuvvwxx||{xwvvvyzz{{zxx{{{{zzyxwz|{zzyywvutsssstvwwwwwvvwxxvutttuwwwut;3XYWVVXWXXXYYXXXXYYXXY[]]\[ZZZZZ\]^]\]^^_``_^\[[]]\[[[\\]]]^__^]]]]]\\\\\\\]^^__]]]]]^__[\]]]]\\]]^]\\\]\\\\\]]]^^^_____bbcccbbbbbbbbccccdeeeefgklllllkkiijjjkklpnlkkkkkklmmmmnmmmmnooonoprsttssttuuuvwwvxz{{ywwzz{||{{|~~}}~}||}~|}|xwxyz{zzxxxyyxwwtttuvwwwxwusrqqqsssstutttssttsstuuuuttttvwxxxwvvuuuuuuuuttuuvwwx~{wvvxyyzzzzzyy|||{{{zyxz}}||{ywvuttttttuvvwwvuwxyxvuttuvwxwuu;3XYWVVXXXXYYYXXXYYXXXY\^`^[ZZ[\\[\]\[\]^``_^]\[Z]]\[[[[[\\]]]]]^]]]\\\[[[\\]]^__]]]]]^__]]]]]]\\^^^]\\\\\\\\\]]]^^^_____bbcccbbbbbbbbbcccdeeeeffjkkkklkkijklllllonkjjkkkklmmmmmmmmmnooonopqsssssutuuvvwwvxz{{zyy{{{||zz|}~~}||~~}~}{wwxz{{{{zyxxxwwwuuuvwxyyywurqppqrrrtuuuttttttssttttuuuuuxxy{{ywvvvvvvvvvtttuvvww}|zxwwwxxyyyyzzz}}}||{zyx{}}}}|zwwvuttuutuuuuvvuwwxwuttuvwxxwut;3YYWWVXXYYYYYXXXXXXWXY\^b_[YZ\]^Z[\[Z[]^aba_]\[Z\\\[[[[[[\\\[[\^^]\\\[[Z[\\\]^^^]]]\]^__^]]]]\\\^^^]\\\[\\\\\]]]^^^_____abcccbbbbbbbbccccdeeddefijkkklkkijlmmlkknmkjjkkkklmmllllmmmmnoonnoqrsssruttuvwwwvxz{||||}|||{zz|||}}}}||}~~~~}|{zyxyz{}}}|{zyxxwwwwwxxyz{{{yurpppqqqrtuvutvuuuutttttttuuvvxyz{{zxwwwwwwwwwtttuvvwwxyxxwwvwxxxxyzzz}}}||{zyyz{|}~}|wwvuuuuvtttttuuvvwwvuuuvwxxxwuu;3YYWWWXXYYZZYYXWWWWWXYZ[_]ZYZ[\]YZ[ZZZ\^dfda^]\[[[[[[[[Z[[[[Z[\]]]\\[[ZZ[\\\]]^^]]]\\]^^]]]]]\\\^^]]\\\[\\\\\]]]^^^^____abcccbbbbbbbbbbbcdddddeehijjkklkiknponlkmljjjkllklmmllllnmmmnonnnoqrsssrtttuvvvvwxz|}~~}||{yz|{{{||||{|}}}|zyxxx{{|~~|||{zyxxxyyyyz|}|zvsqpqrqqrtuvutwwvvvvvututuuuvvxxxyyyyxwwwwwwwwtuuuvvwwwxxxyyyzxxxyyyyy||||{{zyzzyz{|||wwvvuvvvttssttuvwwvvuuvwwxxxwuu<4YZXWWYXZZZZYYXWVWWXXXYY\ZYXYZZZYZZZYZ\_fgea^\[[ZZ[[[[[[[[[[Z[\]\\\[[[ZZ[\\\\]]]\]\[[\]]]]]]]\\\^^]]]\\[\\\\\]]]^^^_____abcccbbbcccbbbbbccddddeefhiijklkjmprromkmljjkllmlmnnnmmnonmmnnnnnoprssrrttttuvvvvwy{~~}|{yyz{{zzzzzz{|{{|~{ywwxx}~~~|}~~|{yxxyyyxy{~}zwtqqrrqrrtuuutwwwvvwvvuuuuuvuuwwvvwwxwwwwwwwwwuuvvvwwwwxz}~}|{{zzzyyy{{|{{{zyzyxxyz{{wvvuuvvwttstttuvwwvvuuvvwwwwvuu<4YZXWWYYZZZZZYXWWXXXXXXXYYXXXXXXYZZZZZ]_eec`][[ZYYZ[[\[[[[Z[[\\\[\\[[[[[\\\\\\]]\\[ZZ[\\\]]^^^]]^]\\]]\\\\\\\]]]^^^_____abcccbbbccccbbbabccdddefeghijklkknqsrpmlnlkjklmmlmnoonnoonmmnnnnnopqrrrrsstttuuvuuwy|~}{yxxz{zyxxxxxy{zz{~~|zxxxyz~~{|~~~{ywvwxwvwz||yvsqqrrsrrstuttuvvvvvwvvvvvvuuuvvuuuuvvxwwwwwwxvvvwwwwwvx|~|~}|{zyy{||{{zzyyxwwxxyyvvvuuvvwutttuuuvvvvuuvvvvvwvvuu<4YZXXWYYZZZZZYXWXYYYYXXXYYXWWWWWYZZZZZ]`cb`^\[ZZXYZ[\\\[[[Z[\\\\[[\[[Z[[\\\\\\\][[[ZZ[[[\]^___^]]]\\]]]\\\\\\]]]^^^_____abcccbbbcccbbbbbabccddefefhijklklnpqqonmomlkklmmllnoonnoonmmmnnnnoprrrrrrsstttuussuw{~~}{yxxz{yxwwvvwxzzyz}|{zxxxz{~z{}~~{xvuuvuuvx{{yvsqqqrtssstttttuuuuvvvwvvvuuuuuuuutttuwwwwwwwwwwwwwxxxwx{~~}}{zzz|||{{zyxxxxwwxxxvvuuuvvvuttuuuuvvvvvvvwwuvvvvuu<5ZZYXVWWYYXXXXXXXXXXXXXXWWWWWWWWXXXYZ\]^^^\[ZZ[[XYZ[[[[[Z[[[[[[[\\\[Z[\\^^\[[[Z[ZZZ[[[\\\\\\\\\\\\\\\]]]]]]]]]^^__^_````adfdbaa`aabbbbbbbccdeeedfhihhhijmmmmllmnonmlkkkklmnnmmmmoonnnnnnnpqrrsstrrtuvvvuuutuuw{}}zyxxyxxwwvwyzwxxyyzz{zzzzyz{|~|{{yz|~zwwvttvwvvutrrrrruuutsssrtuutuxyyywvuuuttuuuuttuvvvvvwwy|{zxvuuvvyzzyyyz{}||{|{{{{|}|{wwwvvvvvtuuuutuuvvuuuuvvtuvwxxxyuvuutus:5ZZYXVWWYXXXXXXXXXXXXXXXWWWWWWWWWXXYZ\]]\\[ZZZ[[YYZ[[[[[[[[[[[[[]\\[[[\]^^\[[[[[[[[[[\\\\\\\\\\\\\\\\]]]]]]]]^^^____````adedbba`aabcccbbbccdeeeeghihgghilllkklmnqpnljjjjllmmmlllnnnnnnnnopqrrrstrrstuuvvuttuvxy{~|zyyyyxxxwvwxyxxxyyzzzzzzzz{|}}~{zz{|~|yyxvvwwwvutsssstvuusrrrqtuutuxyyxwvuuuttuuuuuuvvvvuuvwz}{wuuvwzzzyxxyz}{zz{{{{{{|}|{wwwwvvvvuuuuttuvvvvuuuuuuvwxxxxxvvuvuut;5ZZYXVWWXXXXXXXXXXXXXXXXWWWWWWWWWXXYZ[[[ZZYYYYZZYYZZ[[[[\[[[[ZZZ]\\[\\\]^]\[[[[[[[[\\\\\\\\\\\\\\\\\\]]]]]]]]^^^````aaaabdecbba`abcdddcbbccdeeeehiihgfggjjjjjkmnsqnljijjkllllkkkmmmmmmnnopqqrrrsrrsttuvvutuvwwxy}|zxxyyyxxxwwwwxxxyyyyzzyyyyz|}||~}{zz}~}z{zxxyxwwvutttuvwvusrrrqstttuwxxxwuuuuuuuuuvvvvuvuuuuvz~yvuvxzzyxxxxy{{yxxxyyzzz{||{zwwwwvvvvuvvuuuuvvvvvvvuuvvwwxxxxvwvvuvu<5Z[YXWWWXXXXXXXXXXXXXXXXWWWWWWWWWWXYZZZZYYYYYYYYYYZZZ[[[[[[[[ZZ[]\[[\\\\]]\[[[[\[[[[[\\\[[[[[[[[\\\\\]]]\\]]]^^^`aaabbbcbeecaaa`abdeedcbcccdeeeeiiigfffgiiijjlmosqolkjjjkkkkkkjjmmnnnnnnopqrrrrrqrsstuuuutuwxwvvyywvwyyyxxxxxxwwwxyyyyz{{zzz{|}|{}~}||{{}}~|yyyxyzyxvvutuvwxxwusrrsrrssstvvvwvuuuvvvuuuuvvvuuvvvuux|zvuuwxxxwxxxyxxwvvwxwyzzz{{{zxwwwwvvvvvwvuuuuuvvvvvvvvvvwwxxwvwvvuwv=6Z[YYWXXXXXXXXXXXXXXXXXXWWWWWWWWWWXYYYYYZZZZZZYYZZZZZZ[[[ZZ[[[[[\\[[[\\\]]\[[[[\[[[[[[[[[[[[[[[[\\\\\]]]\\\]]^^_``aabcccbefcaaa`abdeeecbccddeeffiihgffgghijjklmoqpomlllllllkkkkjnnnooopppqstsrrrqqrttuuuutuxxwuuvvutvxyyxxyyzyyxvxyyxyz||{{zz||{}~~}|||{{{{|}}|zxwwwxyyxvvuuuvxxxwvsrsssrssttuvuwvuuvwwwvvuuuvuuuvwwuuvy}yvuuuvvvvwxxyxxwvvvwvxyzzzzzzxxwwwwvvwwwwvuuvuvvwwwvvvvvwwwwxwwvvvww>6[[ZYWXXXXXXXXXXXXXXXXXXWWWWWWWWVWWXXYYY[[\\\[[[ZZZZZZ[[ZZZ[[[[[\[[Z[[\\\\\[[[\\[[[[[ZZZ[[[[[[[[\\\\\]]][\\]]^__`_`acdddcefc````abdeedccddddeeffhhgfefgghhijklmnponnmmmnnmllllkknnoopppqqsuvusrrpqrttuttttvxxvutuuttuwxxwxy{||zzvxyyyyz|||{zz{{{}{{{z{zyyzzzyxwvvxyyxwwvwwwxxwwvtrsrrrstuuvvuvvuuvwxxxwvvuuuuuwxwvuuw{{yxvuttuuuuvwxyxxxwvwwvxxyzzyyzxxxwwwwwxxxwvvvvvvwwwwvuvwwwvwxyzzxxvxw>6[[ZYWXXXXXXXXXXXXXXXXXXWWWWWWWWVVWWXXYY[[\]]]\\[[ZZZZZ[[[[[[[[[\\\[[[\\\\[[[\\]\\\[[[[Z[[[[[[[[\\\\\]]][[\]^^__`__adffedffc````bbcdddccddddeefgihgeefggghiiiklmoonmmnopponmmmmlnnnooppqqsuutsqqpqrsttttttvwwvutvwvttvwwwxz|~}|zwxxyyyz{|||{{{||}{yyy|{zzzzzyyxvvxyyyxxxxyyxxwwvtsssrsstuvvvuvuuuwxxxzzyxwvuuuvwwwuuvwwvvvuttuuttvwwxxyxxwwwvwxyzyyyzxxxxwwwwxyxwvvvvvvwxxwvuvwxxwxz|~}{zwxw>6[\ZYWXXXXXXXXXXXXXXXXXXWWWWWWWWVVVVWXYZZZ[\]]]][[ZZYZZ[[[[[Z[[Z\\\\[[\]\\[[[\\]]\\\[[[[[[[Z[[[[\\\\\]]][[\]^^__a``bfhigdfeca```bbccddccddddeefgiigeefffhhhhhiklponmmnpqqpnnnnmmmmnnooppqrstsrpoqqrrsttustvwwvuuxxwutuvwxy{}~|{yxxxyzzy{||{{{|}|zxxy}|{{{{zz{ywwyzzzxyyzzzyyvvvututtsstuvvuuvuuuwxyy{{{zxvuutuvxxvuuuvuuutttuuttvwvwxxxxwxwvwxyzyxyzxxxxwwwwxyyxwvvvuvwxxwvvvxyyxx{}}{xxw=6[ZYVWWWWWWXXYYYWXXWVVVVVVVVVWWWWWWXXYYYYYZ[]^_`\ZYYZ[\\Z[[\]][Z]]\[[[\\[[[[[]^^^^^\[Z[\Z[[\\]\\]]]]]^^^]]^^^__```acgiigcddcbaabaaaabbbbcccccdefeeeeeffffghiijjjmnoonnopqponmmllmmmnopppqppprrrrqqqstsrrtuvvwwwwz}~|xuvwz{||||{yyyyxyyyyzzzz{{}~~|{zz{|||||zxxzzyyxxyyxy|~xvvuuvwwvtttsssstwwwxxxz{}}{zxttuuuvvvuuuutttuvwvuuuvvvvwwxxxxwvxyyxxwwwxyxxxxvyyzzyxvuuvwwwwwwxxyyy|~zxw?5\\[XXXXXXXXXXXXWXXWVVVVVVVVVWWWWWWWXYYYXYZ[]^_`[ZYYZ[[[ZZ[[]]\[\[ZZ[\\\\[[[\\]^__^]\[\\[[\\\\\\]]]]]]]]]]]^^___``aceggeccccbabbaaabbbbbccccccdeeeeeffffgghijjjjllmnmnoprqpoonnnnnooppooqppqrsssrqrtuutsvwwwxxvvz|~{xvwyzz{{{{yxyyyxyyyyzzzz{|}~}{{{{}}}|{yyy{zzyxyyyxy}zwvuuvwvvvvutttttwwwxxxz|}{xutuuvvvvuuuuuuuvwwvvuuuuvvvwwxxxxvx{||{zyxyyxwxwuxyyyyxwvuvwwxxyzzzyyy}zww>4\]\ZYXXXXXXXXXXWXXWVVVVVVVVVWWWWWWWXXYYWXYZ[]^^ZZYZ[[[Z[ZZ[\\\\ZYXY[\]]\\\\\]]^__^]\\\]\\[[\\\\\\\\]]]]\]]]^^__a``acedcccccbbbbbbbbbbccdddcbccdfffffgggghhijkkjkkllmnoprrqppoppoopppponpppqstttrrsuvvttwxyzywutxz{ywwxzyzzzzyxwyzyyyyyzyyyz{}~~}}}~}zxyz{{zyyyyyyz{xvuuuvvvxxwvutttwwwxxxz|{ywuuvvvvvvuuuuuvxywwvuutuuvvvvwxxyw{~}{zyxwwwuxyyzzyxxuvwxyz{}}{yy}zwv=4[]]ZYXXWWWWWXXXWXWWVVVVVVVVVWWWWWWXXXXYWXXYZ[[\ZYYYZZ[[\[Z[[[\\YXXY[]^^\\\\\]^^^^]\\\\\\\[[[\\]\\\\]]]]\\]]^^__a```bccbbccbbbbbbbbbccccdddcbcddfffgggggghhijjjjkklmnoqrssssrqqqpqqpppoopppqrtttrqrtvuttxy{|{xtsuwwvuvxzzzzzzyxxyzzzzzyyyyyy{}~~{xyz{{zyyyzz{||xvutuuuvyyyxwvutvvvwwxy{{zyvvvvvvvvuuvvvwyzxxwvuttuvuuvvwxyy~}zxxxwwxxyzzzyyvvwxy{~|zy{}yvu<4[\[YYYYVVVWWXXXWXWVVWVVVVVVVWWWWWWXXXXXXXXXXYYYZYYYYY[[\[[[[[\]ZYYZ\^_^\\\\\]^_^]\\\\\\\\[[[[\\\\\\]]]^\]]]^^__````abbbbbbbbccbbcccccddddddccdeffgggghhgghiiiiikllmnprsvwxyywusrsrppppppooprsssqpprstttxy{}|yusuuvuuvyzzz{{{zzzyz{{{{zyyyxy{|}~|yxyzzyyyz{{~{xwuuuuvvxyyyxwvuuuuvvvxz|{zwwwwwvwwvwwwxxz{zyxvvuuuvuuuvwxxz~{yxxxxwxxyyyyyvwwxy{~|zxy}}zwvu<4ZZZXYYYVVVWWWXXWXWVVWVVVVVVVWWWXXXXXXXXYYYYYYYYZYYXXYZ\[[[[[[\][ZZZ\]^^[[[[\]^_]]\[\\\\]\\\[[[[]]]]]^^^]]^^___```abbbbbbbbbccccccccdddddeeeedeeffggggghgghiiiiikllmnorsz|~yutuspppppppppqrrrqooqrstuwxz||zwvvvvuvwyz{{{{{{{{z{{{|{zzzzzz{|}}~~}|yyyyyyyyz{{}||}|zyxvvwwwwxxxxxwvutttuuvwy~}}|xxwwwwwwxxxxxy{|{zxwwwvvvvvvvvwwx{~}zyxxxxxxyyyyywwwxyz}~}{xwxz}}{ywvuu<4ZYYXYYXVVVVWWWWXXWVWWVUVVVVVWWWXXXXXXXXXXXXXYYYYYYYXYZ[Z[[[[[\]\[ZZ[\\\[[[[\]]^]\[[[\\\]\\\\[[[^^^^^^^^^^^__```aabcccbcbbabccccccddddeeefggfeeefffggggghhiiiiiiklllmnqs{zttutqqqqprqqqrrrqqpprtuuvvwxyzzzyxxwvwxyy{zz{|||}{{{{{{{{|||{||}~~}|{}~~|{zyxyyxxyzz{~}|{z{{{zyxxyzzyxxwwvvvvtttuuvwyy}~}|}}|yxxwwwwxyyyyyz{|{{zyxxxxvvvvvvuuwxz{}}{zyyyxxxxxyyywwwwxy{||{ywwwxyzxwvvuv=5ZYYYZYXVVVVWWWWXWWVWWVUVVVVVWWWXXXXXXXXWWWXXYYZXYYYYYYZZ[\[[[\\\[[ZZZ[[[[[[[\]]\[ZZ[[[[\\\\\\[[^^^^____^^__``aaabcddcccbaabccccdddddeeefghhgfedffffgggghiiijjiikllllnpryyrsutrrrrqsrqrrrrqqqqtuvvvvvwxy{||yyxxxyzyzzz{|||}||{zz{|}}}}}|}~}~~~||{zz{zyzzyxyyxxxyzz||{{{|||zzzz{||{xxvuuuvvutuvvvwywyzy{}}{zyxxwwwxzzzzyz{||{zyxxyyvvwvvuutvwxy{|{{zyyxxxxxxxxwxxwwxyzzyxvwwwwxwvuuuv=0VVUVVXYZYUTUWXZVVVVVVVVUUUVWWXXXXXXXXXXVWXYZZYYYYZZZZ[[ZZZZZ[[[YYYYYYYY[[[[[[[[\\\[[\\\\\\\\]]]\]]^_aba`a`a``bbceeedbbcaacdeeddcdeeddddegiiihfddeeeffgghhknonkikllmnopry||wtqqqqqrrsprttsrqpprstvwxxwwvvvy{}yzzzzz{{{zyyy{|}{{zyxz}}{zzzzywyyyyyyy{yxxxyyyzyyxxyz{{yxy{||zwvutuwxxvvvvwxzzyyyyyyyyvvvxz|{yyxxyz{{{xxwvvvwwwvvuuuvvuvxxyz{|~}{ywwxvwxxxxxxyxvuuvvuxxxwwwvvvwwwvwu>1VVUVVWY[YVUVWYZVVVVVVVVUVVVWWWXXXXXXXXXWXYZZZZZZZZZZZZZZZZZZZZ[ZZZYYYYY[[[[[[[[\\[[[[[\\\\\\]]]\]^^`bcdddbaaabdeffedbbbaacdeeddcddddcdddfgggfecddeeffggiijmnmkjlmmmnoqrwx{|{yusqqqqrrssrsuutsrqrstvwxyyyxvuuwz|z{{{{z{|zzyxyz{|xyyyxz|~}{zzzzzyyyyzz{{|{zyyz{{zzyxxyz{zyxxz{zywvvvwyzzxwwwxyyzyxxxxxxxwwxz~|zyxyzzzzyxwvvvwwwwvuuuvvuvwxxyz{}|||zwwwwwwxxxyyyxvvvwvvxxxwwwwvvvwxvwu=1VWUVVWX\ZWUVWXYUUUUUUUUUVVVVWWWXXXXXXXXXY[[[[[[[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[[ZZZ\\[ZZ[[\\\\\\]]]^^^_adfgihfcabcdfffdcbaaaacdeeedccdccbcdcdefffecddeeffggiiikllkjmnnnopqrtuvvvusrppqqrrsstuvwvtsrtuvwxyzzzxvuuwz|z{}}{z|}zyxxxyz{wxz{{{|}~~~}{zzz{{{zz{|}}}}|{{{|~|{yyxyzzyxwwxyxwwwwwy{|{yyxxxxyyxxxxxxxwxxy|~|{yyyyyyzywvvvwxxwvvuuvvuvwwwwxyz{||zxvwxwwwxyzzyxwvwwwwxxwwvwwvvvwxwwu<2WWUVUVW\ZWUVVWWTTTTTTTTUVVVWWWWWWWXXXXXX[]^\[[[\\\[[ZZZ[[[ZZZZZ[[[[[[[[[[[[[[ZZ[[ZZZ[[\\\\\\]]]___`behilljgcbcdeedccb``bbcddeeecccbbbcccddfggfdddeefffgihiijjjjnnnnoopqrrrssrrqppqrssssuvwwvtssuuvwxxyyywvwxz{|{|}}{z{~{yxwxyzzxz}~}}~~|{zyz{||{{|~|||||~}|{yxyyzxwvwxxxxyyyyz||{zyxxxxxwxxxwwwwwxyz}~|zyyyyxzywvvwxyxxwvvvvvvvvvvvwwxz{|{yxyyxwwxyzzyxxxyyyxxxxwwwxwvvwywwt;2WVUVVWW\ZWVVVVVTTTTTTTTTUUVWWWXWWWXXXXYY]``^\[\]]\\[[ZZ[[[ZZZZZ[[[[[[[[Z[[[[[[[[[[[[[\\\\\\\]]]_```bfiklnnjebbcddccbbaacdeedcdecccbbbcdcdfgijheddeefffgiiiiiijjnnmmnnopppqqqqqpopqrstttvvwwvtttttuvwwwwwwy{|||{z{}}{yz}{zxxyzzzz}~~{{zzz{|}{|~~||}}}~}}{zyyzzxwwwxyyy{{{z{|{zzyyyyyxwxxxwwwwvxyy{~|zyyyyxzyxwwxxyxxwwvwwwwwvvvvvvxy{|{zz|zywwxyzzyxxyz{zzyyxwwxyyvwwxwwt;2VVUWVWW[ZWVVVVVTTTTTTTTTUUVWWXXWWWWXXYY[^aa^\\]]]]\\[[[[ZZZZZZZ[[[[[[[[ZZZ[[[[[\\\\\\\[\\\\\]]]_```cfikjnpkebabcdcbbbbcdeffdbcdbcccccdecdfhjkifddeefffghijjiijjnmllmmnnnoppppooopqsttttwwxwvuttttuvvvvvwx{}~~|{{{||zyz||{yyz{|||~~}|{{{{zz{|||}||}}}~}}|{{zzzxxwwxyzz~}|{{{zyzzyz{{zyyyxxwwwwwxyz}~~}~|zzyzyyzzyyxxxxxxwwwxxyxwwwwwwvxxz{{{|~zyxwwwxyyyyz{||{zzyxxyz{wwwxwwt;1VUUWWWXZYWUVVVVTTTTTTTTUUUVWWWXVWWWXYYY\^`_][[\^]]]\\[[ZZZZZZZ[[[[[[[[[[[[[[[[[\\]]]]\[\\\\\]]]_```bfhjjnojcaabcddcbbcdfggfcbbcabcdddefbcegijhfddeefffgikllkkjjnmllmmmmnoopponmopqstuttwxxxvutttuvvvvvvwy|}~}|{{{{|{yy{}|zz|}~}}~~~~}|{{{||{zz{||~~|||}}~~}}|{zyyyxwwwxyz~|zyzyxyyyz||{zzyyxxwwwvwx{|}}}|{zzz{zzzzzzyyxxxwwwxxyzyxxxxxxwwwxz{|}}zzywvvwwyyz{}~}}{{zyy{||xwwwwwt;1UUUWWXXYXVTUUUUUUUUUUUUUVVVWWWWVVWWXYYY\]]\[YZZ]]]]\\\\ZZZZZ[[[ZZZZZZZZ[[[[[ZZZ[\]^^^]\\\\\\]]]__``behijmmhb`aceeedccdfhhgecabbabcdeeffaaceghgfddeefffgjlnnmlkjnnllmmmmnoppponmnprsuuutxyyxvvutvvwwwwwvwy{|}||{|{{|{yz{~|{{}~~~~}~}||z{||{zz{||}|||||~~~}|zxwyxwwvwyz}{yxyxxxxxz|}|zzzyyxxwwuvx{}~}}{{zz{{{zyyzzzyyxwwwwxyz{zyxxyyyxwvvy|}||zzywvuvvyyz|}~~}{{zyz{}}yxwwvwt;1VVVUVWXWWVUUUWXWWVUSSUVTUUVWWWWWXXYYYYXXYZZZZZZ[[\[[[\\[[[[\\\\[[[[\\\\Z[[\\\\[\]^___^]\\\[\\]]^^__`bdfggfecabdmmkhfeefhfcaabbacdefgghhcccccdddcdefgghimnnmllllklmnnnnnpppppoonnoprsuy~}zvtstttsttvwxyzxxxx{}~~{||{zyzz~~}~~~}|{||}~}}~~}~~|zz||}~~~~~~~~~|zyyzzywwwwvyzzyxwwwxxxy{}{{zyxwwwvwxyzz{{zyxxxy{|{zzzzzxwwvuuuvxyxxxyzyxvvvwxyzzzxxwwvvuuxz|}|{||zzxwxz||xvvwwvu91VVVVWXYXXWVVVWXXXWUTTUVUUUVVVWWXXXXYYYYYZZZZZZZ[[[[[[\]\\\\\\\\[[[\\\]][[[[\\\\\]^___^]\\\[\\]]^^__`abcedcbaabemmkhfffggecbabbacdeffffgccccddddddefggiimnnmlllllmnnnmnnonnnnoonnopqsv{}xtssttttuvxyzzxxxy{}}}{|{{zyzz}}}~~|~|{{{|}~~~~}~~~}|{{|}}~~~}}~|zyz{zyxwwwwzzzyxwwwxxxy{~}}{zyxxxwxxyzzzzyyxxyz{|{zyyzzyyxwvvvwxxxxxxyyxwvvwwxyyyxxxwvvvvxz{|{{{{zzzyyzzzwvvxxwv;1VUVVWXYYYYXWWXYYXWUTTUVVVUUUVVWXXXXXXYY[ZZZZZZZZZZZZ[]^\\\\\\[[[[[\\]^^[[[[[\\\\]^^_^^]\\\\\\]^__`aaaa`baaa``bdjjhffffgfecbbbbbcdeeedeebbbcddeecdeffghimmlllllklmnnmmmmnmlmnooooppqru{~xtssttttuvxyzzyyyz{|}|{{{{zzzz{|~~|{~}{zz{||~}~~|}~}}|{{||}}}}}}~~~|z{|{{zyxxyy{{zyxwwwwwwx{~|{zzzyyyzzzyyyxxxyz{||{zyyyzzyyyxxxxxxxxxxxxxwvvvvvwwxxxwwwwwwxyz{zyyyy|}}{yyywvwxyyx>2VUUUVWWXYYXXXYYZYWVTTUUWVUUUUVWXXWXXXYZ\[ZZZZZZZZZZZ[]_]]]\\[[[Z[[\\]]^[[[Z[[\\\]^^^]]]]\\\\]]^``abbba`a```__acffeddddeedcbbbbbcdddccccabbcdeefbcdefgghllkjkkkkllmmllllnmlnpqqqqqppqtx}~{vssssssttuvwxyyyz{|||{zz{{{zzzy{}~~}{{}|{zzz{{~}}~~|}}}}{{{|||||}|}}~~~~~}||{}}|zzyyzz|{zyxwwwwwwx{}|{zzz{{{zyyxxwwxyz{|}{zyyyzyyyyzyyxwwyxxxxxxwvvuuuvvvxwwwwwxxxxyyxxwxy}}zyxwwxyyyy>2VUUTUVVWXXWWXYZ[ZYWUTTUWVUTTUVWXWWXXXYZ\[ZZZZZZZZZZZ[]_^^]]\[[[ZZ[[\\]][[[[[[\\\]^^]\]]]]\\\]^^__`abcbbbaa```abddcccccdddccbbbbdddcbbbcabbcddefbbcdefggkjiijkkkkklkkkklnnnprttsqqqqqruxxvsrrsssrsstuvwwyz|~~|zzz{{{{zzxz|}}|||{{zzzzzz||{|~~}|{|}}|{{{||||{|||{||}}}||~}|~|{zyzz}|zyxwwwwwwy{~}{zzz{}||{zyxxwxyz{|}}|{zzyyxwyzzzyxwvyyyxxwwwvuuutuuvwwvvwxyzxxxxwwvvy~|zyxxyzyxx=2VTTSTUVWWWVWXZ[\[ZXUTUVWVUTUUWWXWWXYXXZ[[ZZZZZZZZZZZ[]^^^]]\\[[[[[[[\\\[[[[[[\\\]^^\\\]]]\\]]^^^^_`acdddcaa``abcbbbccbccddcbbbcdddcbabbbbbcddeebbbcefggjjiiijjkkkkkkkklnnoqstttpppppprutsrrrrssrsstuvvwxz}|zyyz{|{{zxz|}}|{|zzzzyyyx{{{|}||{{|||{{{|||{{{{{{zzz{|||}~}}~|{z{{}|zyxxxxwwxy{|~~}|{zzz{}}|{zyyyxyyzz|}}||{zzywvyyyyxwvvyyyyxwwwuuuuuuuuwvvvvxyzxxxwwvvvx|}{yxyyxvv<1UTTSUVXXXWVVXZ\]\[XVUUVVUUUUVWXXWWYYXXYZ[[[[[[[Z[[[[[\]^^]]]\\\\\\\\[[[Z[[[\\\\\]^]\[\]]]]]]]^_]^_`bcefecbaa`abcbbbcbbbccdcbbbcdddcbbbcbccccdddcccdfgggjihhhijkmmllkkllmmnoqrssppopppqsssssrsssrsstuvvvxy}|zyyz{||{zxz|~~|{zyyyyyxxxzz{{{{{{{||{{{{|||{zzzzzzzzz{|}}}}~}}}~}|yxxyyyxxyyz{|}||{{zzzz}}|{zzzzzyyyz{|}|{zzyyxwxxxxwwvuxyzyxwvvuuuuuuuuwwvuvwxywwwwwwwwwx{~~|xxyyvuu;0UTTTUXZYYWVVWZ\]\ZXVUTUUUUUUVWXXWWYYXXYYZ[[[[[[Z[[[[[\\^^]]]\\\]]]\\\[[ZZ[\\\\[\^^][[\]]]]]]^^_]^_abdfgdcaaaaabcbbbcbbabcddcbbcdddcbbbccccccddddcdefhhhihhhhhjlnnnlkklllllmopqrppppppqsstuttsstrsstuuvvwx||zyyz{||{zyz}}zyyyyxxxxxyz{{{{{|{{|{{{{||{{zzzz{zzzz{|}~~}}~}{yxxyyyxyyzz{|||{{{{{{z}||{zz{{{zzyz{|}|{zyyyxxwwwvvvvuxyzzxwvvtuuvvvuuxwvuuvwwwwwwwwwwuvx{}wwxxvtt:1VUVVX[\XWVVVWWVWWVUUVVVVVVVWXZZXXXXXYYYZ[[\]]\YZZ[[[\\]^^__^]\\]]]]]\[[[[[]]\\\\^`a`^\[^^^^^^__^___`aaa__`acccca``accceeedcccccdccbbbcc``abcccbdeefhkjifffghijkrqpnllkkjlmnoqqqoopppppqssttuuutttttttuvwwxyyxwxyzzz{|||{|}~~|{zzzzyyxx{||{zz{}||{|||{zxyzzzzzywxyyz}~~~~z{{{zyxxuwyz}~{z{}~|{{wxyz}~{zzz{{yxwvwxxxvvuuvvvuuvwxxxwwxwwwvvvuxxwwvvuuwwwwxyxvvwy{|}}|xvwwvvu<2VVVVXYZXWVVVWWWVVVUUUVVVVVWXZ[\XXXXXXXYZ[[\]]\Z[[[\\\]]^___^]]]]]^^]]\\[\]__^]]\^`a`^\[^^^^^______```aa```abcbaaa`abccdeddcccddddccbcccaaabcccbeeefhkkjfffghijkqpomllkkklnprsrqpppppppqrsstttttttttstuvvwxxxwwx{{{{{}|||}}}|{{zzzzzzz{||{{z{|}}}}|{zyz{||{{yxxxyz{}~}}|}}}||~~{{{zyyxxwy{||}}~~{zywxz{~~|zzzzyxvvwxxwvvuuuuuvvvvvwwwwwwwvvvuuxxwvvuuuvwwxyzxvvwyz{{{{xvwwvvv<3WWWWXXXWWWVVVWXVVUUUUVVVVVWY[]^YYXXXXXXZZ[\]^][[[[\\]]]^^__^]]]^^^^^]]]\]_aa_]]\^_``^]\^^^^^___```````````abcb`aaaabbcddddcddeeeedccccccbbcddcbeeeehkkkgggghiijonmllkllkmptvurpqqqpoopprrsssssstttssstuuvwwwwwx{{{{}~}||||{{{{{{{||}{|||||||~~~}|{zz|}~}|{yxxxyz{}~~||{{{{|zyz|}}}{zyyyyyyz|}~|}}~~|zxxvxy{~}|{{zxwwvwwwwvvvuuuuvvvuuuvvwwvvvuuuuwwwvvuutuvxxyzxwvwwxyyzzywwvvvv=3XXXWWWVWWWWVVXYWVVUUVVWVVWXY[\]YYYXXXXXYZ[\_`_]\[[\]]]]^^^^]]]]^^^^^^^^\]_aa_]]\]^__^]\^^^^____aa``````a``abcba`abbcccddddddeefffedccccddddedcbdeffgijjiihhhiijmlllkkllkmquxvrpqrqqpoopqqrrsrrrtttssstutuvvvvwx{{{|~~}||||{{{{{|}~~||||}}|{}}~~|{{{~}{zyxxyz{|}}~}||{{|||zyyz{{|{yxyyzzz|}~~~{{{{{{yxxwxy{}~}}}}{yxxwwwwwvwvvvuuvvuuttuuvvvuuuuuvwwvvuuutvwxxxxwvvvuvvxyzywwvuvv=2XXYXWVVWWWWVWXYXXWWWWXXWWWWXYZ[YYYXXXXXYZ\^bcb_]\\\]]]]^]]]]^^^^^^^^^__^^_``_]]\\]^^]]\^^^____`aaaa``````abbcbbbcdccccddddddeefgfeddcddfeeefedcefhggghikkjiiiijlkkkkklmlnptwurprrrqpooopqqrrrrrtttsrrsttuuuuvwxzz{|~}}}~~{{{{{|~~||||}}|{{|}}}||}}|{{zxyzzzz{|~~||~|zzzzzzyxxyzz{{{}}||}|yyyyyyxxxxxyz|~~~~}zzzzyyyywwwxxwuuuuutttuuuuttttuvwwwvvuuuxyyxvvvvuuttuvxyyvwvuvv=2XXYWWVWWWWWWXYZYXXXXXXYXXWWWXYYYXXXXXXXZ[]aefc`^^]]^^^^^^]]^^__^^^^^^_____``_^^\\\]^^]]^_____``aaaa````aabbcccbeffdcccddddccdeeffedddddgfffgfedehiigfgimmlkjjjjlkkkkllmmnprutrpqrrrqpooppqrsssstttsrrsttuuuuvxxyzz|~}}~}|{{{|}}|{{||||{z{|}}}}}|{{{{zz{zzyz|}}|{zyyyxxyyzz{{{}}|||{yxxxxxxxxyyz|~}}}~}|{{{xxyyyxvuuuuuuuttutssstuvxxwwvvuuyzzxvuvvutsstvxyxvvvuuu<3XXXWWVVWWVWXYYZYXXXXWXYYXXWWXXYXXXXXXYX[\^aefc`^^^^^^^^^]]]^___^^]]^^_``__``_^_^]]]^__^_____```aaaaaa``cccdefeehihecbceeddcccddeeddcdddggggggfeehiigfgjoonllkkklllkklmmmnpqssqprrrrqpppopqrstttttssrrrstuuuuwxyxyz{|~~~}}~~}{{{|||{{{{{{{zz{|}}}}~{z{||{{zzyyz{~|}}|{zxxxyzzzzzz|~~}{yxxxwwwxyyz|~~~~~yzzzzywvvvvvuuttttsrstuvyyxwwvvvzzzxwvvvutsssuwxwuvvuut;4XXXWWVVWWVWXYZZXXWWWWXXYXXWWXXYXXXXXYYY[\]`cdb_^^^^^]^^^]\\]^__^]]]]^_``_```_^^_^]^_``______```aaaaaaaadddfhihgjkhdbbdfeddccccceddccddegggghhgfeghhffhjppnmlkkklllkllmmmopqrrqqrrrqpppqopqrttuuttssrrrstuvuuwyyyyyzzz{{|}~}}~~|{{{{|{{zz{{|yyz{}~}}~~}{{{|{|zyyxxy{}{}~||zxwyzzzyyyy~~}{yxxxwwxyyz|~~}z{{{zyxwvvvvuuuttsrrrtuvyyyxwwwvyyyxwwvuvutssuvwvtvutut:3XXXWXXXVWXYYYYYUVWWVUWXYZYXXY[\YZZZZZYYZ[\\\\]^\\]]^]]]\]]]\\\]_^\]^__^^^^^^^^^]^^^^^__``aaaa`_abbbbbbc`adhljhgeeddcbbbdddccdegihgfeeeefghhggghffgfffggjjjjkkkkjkmmmmmnnmmnmmoprrqpoonnppqtwyxvttttttttsttttuwxxwxxxxyz{z{||}}{{|||||{zyxyzyzz{||}~}}}|}}|{yyyyxxxxy|}}|}~}{yxwwyyyyyxww}|{zzzyyzyyzz{{zzz|}~~~|zzzwvuuvvuussssstvxvwwwvuuuvwy{{ywvssssstttuuwwwww?4XXXWXXYXXXXYYYYWXYYXXYZ\[YXXYZ[Z[[Z[ZZZ\\]\\\\]\\]]]]]]\]]]\\]]^]]]^__^_______^]^^^^^__``aa``__bbbbbcccbcehjiggdddcbbaadeeeeeghihgfeeeeghhhggghfggggghhkjijkkkkklmnnnnoonnnooprrrqpoooopqsvz|zxuttttttusttttuvwyxxxwwxzzz{{||}}{{|||{||{zxxyyyz{{{|~~}||}|{yyyyxxxyz{|{{|}}|{yxxxxxyyyyxww||{zyyyyzyyzz{{zzz{|||}~~|}~~}}}}~|zyzxwvvwwvuttuvvvvwvvwvvuuvvx{{wussssstttuuwvvwv?4YXXXXYZ[ZYYXXYYYZ[[[[\]_]ZXWXYY[[[[ZZ[\]]]\\\\\\\\]]]]]]]]]]\]]^]]]]^__^_````_^^^__^^__a```____bbabbcccegghhgffdcccbbaacdeeefhihhgfffffhijigghihhhhiijjjjijkkkkklmnnnnopoopqrrsrrpoooopqrtw{|{xvuttsttuttttttuvyxxxwvxyzzz{{z{||{z{~~}{{{zyxxxyy{{{{{~~|zz{{zxxyyxxyyz{zzyz{{zzyxwwwwxyzzzywvy|~~{zyyxxyzyyzzzzzzyz{{{|}}{{{{{{{|~~~}{zyzyxxwwwwvvwxyyxwvuuuuuuvvvx}|wtssssttttuuvvvvv>5ZYYXYZ[]\ZYXXXX[\]]]]_aa^[XWXXX[\[[ZZ[\^^]]\\\\\\\]]]]]]]]]]]]]^]]]]^____`aa`__^______`a```____aaabbbbbhjjhfeefddcccbbbbcdeeghhhggfffgghjkkhgijkjjjkkkjjjijkkkkkklmmmnnppqtvusrrrpooopqqsuwyzyxvutssstuttttstuvxwwxwwxy|{zzyyyzzz{}~|zzyyxxxxy{{zyy|~~|zyyyywxyyyyzz{{zyyzzzzyxwvvvvxxz{zywvwy{||}}|zyxyyxxyxyzzyyyyzzz{|}}|zzzzzzzz{||{zyyyzyyxxxwwxz|}|zxwuutttuvwwy|{vtssssttttttvvuvu=5ZYYXYZ[]\[ZYXXX[\\\\]adb^ZXXXXX[[[ZZZ[\]]]]]]\\\\\\]]]^]]]]]]]]^]]]]^^__`abba`__```___```````__aaabbbbbikkhfeefdddddcccccdeghhhggfffghhijlkjijlnmmlllkjjjijkkkkjkklllmnpqty{yurrqpoopqqrtvvvvwwutsrrrsssttsssuvvvwxyy{}}zyxwxyxy{|yyyyyyxxxz{zxwy{~{yxxxwxyyyzz{}||zyzzy{zywvvuuwxzzzywvuwxyz{zyxxxyyxxxxyzzyyyyzzz{|}|{yyyyyyyyyyyyxxxxzyyxxwwwz}~}{zutssstuvvwyzzxutssssstttttuuuut<5ZYYXYZ[[[[ZZYXXYZ[ZZ\_b`]YXXYYY[[ZZ[[[[\\]^^^]\\\\\\]]^^^]]^^^]]]^]]]^_``abba```aa``__``````aaaabbbbbccgijhfeefeddddddddefghiiiggffghhijkllkjlmpoonmlkkjjijkkkkjkkkklmnoqv|~{vsrqqpppqrsuvuttuuutsrqrrrssssssuvvvwxz{~}zxwvwxwxz~~{yyyyzzyxwxyxwvwy}zxxxwwxyyz{|~}{zzzyzyxwvvvvwxyyyxwvtuvwxyxwwwwyyxwxyz||{zyyzzyyz{{zyxxxyyxxxxwwvvwwyyyxwvvv{~}utsrstuuuvwwvutsrrrsssssttuutts;4YYYYYYZZZZZZYYYWXYXXY\^]ZXXXYZZ\[[[\\[[\\]^__]\]\\\\]^^^^]]^^^]]^^]]]^```aaaa``aaaa`_``a```aabcbcccccdddfggfeddddddddddfghiiiijffffghijllmllklmppponmlljjijkkkkkkkkklmnoqv{}{vsqqqqqqqrqsutsrstutssrrrrrrssstuvvvwxy{}~{xwvvwwvwxz||zyyyyz{{zyvwwvvvwy}zyxwvwxyz{|}~|zzzzyxxwvvvwwwxxxwvvtuuuvwvuvvwxxxwxz|~}{zzyyxxxzzzxxwwwxxwwwvvvvwwxxxwvuuuz}}utsrssttstuvvusrrrrrrsssttuttts;4YYYYYYYYYZZZYYYVWWXWXYZZXWXYZ[[\\[[]]\Z\\^_`_][]\\\\]^^^^]]^^^]]^^]]]^`aaaaaaaaaaba````aa``abcddccddeedacefeedcccccddddfhjkiijkfffgghijmmmmllllppponmmmjjijkkkkkkkkklmnopty{yvsqqqqqqqqprttsrssuttssrrrrrrsstuvvvwxxyz|{xwvvwwxuuuvxywvzyzz{{zyuvvuvwxz}zxwwvwxyz{|}~|{{{zxxwvvvvvwwwwwwvvttuuuvvtvvvxxwwx{}}{{yyxwxyzzxwvuvwwwvvvuvwwxwxxwutttx{|utsrssssrsuwwusrqqqrrrrrttuttsr:4Z[YXWXXZYXXYZZYXYYXXWWWWWWXXYYYZZZ[]^]]\]]^^]\\]]\\\]]]___^^__^]^^]]^`ccdcb__`aaaaaa`__`aba`adgeeefggfefecccccbcdddcdegfghiihhhhgfffghikllljjiimmmllkjiiijklllljklllmnnoqstsrqqppppppppqrrqrrsrqqqqrqqqssrqqrssuuttuuvwvwxxwvvwvvvwxxxwwxzzzzyxxxxwwy{|}}|zxwvvx{}{z{|{z{|}}|||zyxwwxyywwwwvuuvuuttttuuvwxxxxyyz}|{xyyyxwwwuvvwwwwwwxxxwwvutuussstssuwyyywvssrrrrqqqrssstsrrrqppqqqrrstssr;4[[XXVWXZYXXYZZZXYYYXWWXVVWWXXYYZYYZ\]^^\\]]]]]]^]]\\\]]^^^^^^^^]^^]]^aceeeba`aa```aaaa`abba`adfeffggfeeeddccccbdddddefgfghhgghhhhgffghikkkjjiiillkkkjjjkklllllljklmmnoopqssrqqqppppppppqrrqqrrrqqqqqqqrttsrrsttutttuvvvwwwxxxwwvwxyzyxwxyzzz{zyxxwvwy|}~|{yxwwwz|~|{||||~~|zzyxxyzzxxxwvuuvuttttuvvwwwxxxyzz}}{zyyxwwwvvvvwwwwwwwxwwvvutttrrssrrstuvuutrssssrqqrsssstsrrrqqqqqrrrrtssr;4[[XXVWWZYXXYZ[[XYYYXXXXVVVWWXXXZYYZ[\]]\\\]]]]]]]]]]]]]]^]]]]]]\]^]^_acffec```a^__`aabbabba`aceefgggfeedddddccccddddefgffffffghiigffgghjiiiiiiikkjjjjjklmmmmmllklmnooprsssrqqqqpppppppprrrqqqqqqqppqqrsutsrstuuutssuvwvwvvwyyxwwxyzzzyxzzzzz{|{yxwwxz}}~|zyxxxx{}~}|}}}}~{zzzzz{|{zzyxvuuuutttuvwxxwwwxyyzz|~|{|{yxxwvvvvvwwwwvvvvvvvuutttttssrrrrrrrrrrsttsrqqsttssssrrqqqqqrrrrrtrsq:5[[XWVVVYXXXYZ[[XYZZYXXWVVVVWWWWZZZZ[[[[[[\]]^^^\]]]]]]]]]]]]]]]\]]]]^`ceedb__``^__`aabbbbbaaabcefghgfeeeffedddddddddefgeefffffgjjhgggghihgghhhhjjjjjkklmmnnnmmlmmnopqstwvtrqqqqpqqppqqprrrqqqqpqqppqqrsssrrstuuttssuvwwxvvxz{zxwxz{{zyx{||{|}}}zyxwy{}~~}{zyyyx{|}}|}}~|~{yz{{{{|||{{zxwvvvvuuuuvxyxwwwxyyyx{~}{z}|{yxxwvvvwwwwvvutuuuuuuuuvwwusrrrrrrqqqrsuusrrrsttssssrqqpppqrrrrrsrrq:5ZZXWVVVXXXYZ[ZZXYZ[ZXWWVVVVWWWWZZZZZZZZZ[[\]^__\]^^^^]]]\\\\\\]\]^^]^_accb_^^____```aabcccbbbbcefggfffgfhjhfeeeddddeffgeeeeffffkkiggghhihgghhihjjkkllllmmnnnnnmooooprtwzxvsrqqqpqqppqqprqqqqpppqqppqqrrrrrrrrstssstuvwxywwx{|{yvwyz{zyx||}}}}}}{zyxz|}~~}|zyyy{{{||}~~|{zz{|||}|{{|{xwwwwxwvuvwxywwwxxyxxwy{}}{zy|||{zxxwvvwwwwvvtttuuuvwuwy{{wtrrrrrqqppstutrrrsstssrssrpppppqrrrrrsrrp94ZZWWVVVVVWYZ[ZYWYZZYXWWWWWWWWWWYZZYYYYZZZ[[]^``]^^^^^]]]\\]]\\]]^_^^^_`aa_]]^__``````aacdddcbcdggffffghhlnkhfggedddefggeeeefffflkihhhhiiiihhiihjkklllllmmnnooonqpppqruwzyvtsrqqqqqqqqqqqqqqqppprrqpqqqrssrrqqrssstttvwy{yxy|}{yuvxz|{ywz{|||}||zzzz{}~~~|zzzzyz{||}~}~}{|~~~}|{{|{yxxyy{zxvvvwxwwwxxxwwvwy{{zyyz{{zyyxxvwwwwvvuuuuvwwxyvwz|{wtsrrrqqqppsttsrqrssssrrrrrqpppqqrsrrrsqqp93YYWWVVVUVVXYZZYXYYYXWWWXXWWWWWWYZZYXXYYZZZ[]^`a^^^^]^^^]]]]]]]]_`a`_^_```_]^`aba`````aacdeedcdeigfeeghhkoqnjhhhedddefggffeefggglkjhhhijkkkjjiiijkkkkkkkmnooppppqqqqrsuvwvuttsrqqqqqqqqqpppqqppqssqppppqutrpppqsrstttuwy{ywy||zwuuwz}}zwxyzzz{zyyzz{|~~|{zzzxxz{{|~~}}}|~~|z{{zyyyz|~|zwvuvvvwwwwvwwuvwxyyxxxxxxxxxxwwwwwvvuvvvwxyz{wwxxwussrrrqqqqqrsssrrqqrrrqqrrrqqqqrsttrrrsqqo83YXVWVVVUUVWYZYYYYXXWWWXXXXXXXXXYZZZXWWXYZZ[]_`a_^]]]^__]]]]]]]]`bba`__```_^_acda``_``aaceffddefjhfeefhhmqspkhhieeddfggggfeefgghlkjhhiijklllkiiikkjjjjjknoopppppqrrrrsuuuttttsrpqqqqqqqqpoppqpqqtsqooopqvspoooqsrstttuwyzxwxz{yvuuwz}~{xvwxxyyyxwyz|}}|{zywwyzyz}|{z{~|{{zzzzz{~~{xvuuuvwwvvvvwttvwxxwwvvvvwwxxwwwwwvvuvvwwxz{{wvutssrrqqqqqqqqrrsssrqpqqqpprrrrrrrstuurrrsqqo83XXWVWVUVWWWWWWVXXXWWXXXXYYXVVXY[[ZYYYYYYZ[\]^^]\]]]]]^^aaaa``_^``___`````__`bbb``````aaeghgefhijhhhggghntyxrmjhigfeegjkigeddffgeghhinpojklmlkkjhiiijjklmmorssrqqrsssstvtvxyxvtssrrrstttqpoppopqqqppoopprrppopqqsssuvwwvvxxwwwvvvuuvxzyxxyywvvvvuy|~}|zyxwwwwxyy|ywxyyz|}|||}}|{{z{~}}{zyxwwwwwvuuuusuvwwwwxvwxxyz{zz{{ywvvvvuttuxyyxwuttttsqrrrqpqrpqrrrqpoppppqqqqttsstuuvsttsssq:3XXWVVVVWWWXXWWWXXXXXYYYXZZYWWXXZZYXXYYYZZ[\]]]]]^^]]]]^``aaa``_```__````````bba``aaaaabehjihhjkihhhggghnsyxsnkjhgfefhjljheddefgfghikprpjjlmlkkjjjjjkklmnnprstsrrrstttvwwxyyywvussssssturqpppopqppppppppqqpoopqqssstvwvuwxxwwvvuuutuwxxwyzzxwwxwwz|~}{zxxwwwxxy{{{zywwwyz||{{|}~}|{{{}}|{yxxxxxxwwvuuutuvwwwwwwxxxyz{{yzzywvvwvussuwxxwvutttttsrrqppqrrrssrqpopppppqqqtssrrsstsstsssr;3XXWVVVVWWXXXXWWXXXXYZZYYZ[ZYXYYZZZYYYXXZZ[\\]]]^^^^]]]]_`bba`aaaa`__``a`abaabbaabbbbbccehklkjjjhhiihgghlqvuqmkjhgfffhjkiheddefgghhilqrqjjllkkkjlkkklmnooopqsttssssuvvwyyyyyyxwvsttsrstusrqqpppqpppqppooppoopqrrtsttuuutvwwvutttssttuvvvy{{zxxyyxz|~~}{yyxxxxxxxxxxxwvvwy{{{{|~~}|{{{||{zyxxxyxxwwwvvuuvwwwwwwxxyxyzzyxxxxwvvwvtsstuvvvvuutuuvusrpoprsssssrqpooooppqqqsrrqqqqqrrssssr;3XXWUVVVWXXXXXXWWXXXYZZYZ[\\[[[ZZZ[[ZYXWZZ[[\\]]]^^^]]]^_abbaabcbba````a`bccbbbabbccccddegkmljiighjjigghlosrnkjihggfgghihgeeeefggghhkopojjklkjjjlkkkmoppoooprssssstvxxyzzzyxxxwvtuutrrtutsrqqpppqqqppoooooopqrssttttttsstutsrqqqrstsstuuy{|zxxyywy{}~}{zzyyxxxxwwwxxwwvxyz{{|~~~}|{{{{{zyyyyyyxxwwwvvvwxxxwwxwxxwwxxwwwwwwvvwutsssstuuuuutuvwutrpopqsttssrqqpooopprrsrrqpppppqrsstts<3XWWUVVVWXXXXXWWWXXYZ[[YZ[\]^^]\\\\\[ZYXZZZ[[\\\\]^^^^_``bccbbccbbaaa``aabccbbbbcccccddddfjlkihhhijjigghoqsqnjhhhhggggggfffffeefffgghkmlijkkjjjjkkjkmopqonmnprsststwzzyyzyyxxxwwuvvusstuusrrqppprrqpooonnoqrssssttttssrrrrrqqppqrtutttuvy{{ywwxxuwyz}~~{{{zzyxxxwvwwxyywwxyz{|}~~~}|{|{{zyyyyyyxxxwwvuvwxxwwwvvvvvvvvvvvvvvvwttsrrrstttuttuvwttsqppqsuttsrqqqpoppqrturrqpooopqrsstts<4YWVUVVWWWXXXXWWXXYZ\]\ZYZ\^bca^]]\\[ZZZZZZZ[[\\[\]^^_`abcddccccbcbbba``abbbbbbbbbbcccccdfhjjhhhiijjighirtusolighhhhhggfffggfeedefffgijjjjkkjijjjjjklnopnmlmoprrsstwzzxxyyzzzyyxwxxwvuuuusrrqppprrqpooooopsuvutsstttsrqqqqqqqqqstuvvuvwwxyyxwwwwtvxy|~~|||{{zyyvvvwxyzzxwwxyz{|~~~}|zzzzzyyxxwwvvtuwxxwwvuvvuuvvuvvvvvvvvttsrqrstttttttuvttsrqqrsuusrqqqrppppqrtusrqpoooorrssssr;4YWVUVWWWWWXXWWVXXY[]^\ZYYZ_dgd`^]\\[ZZZ[ZZZZ[[\[\]^_`abcddddcccbccccb``aaaabcccaabbbbccdeghhghijiiiihhiqstrpmjhhhiijihhefggfeeeefeegijijjjjiijjjjkkllnnmlllnpqrstuwyxwwyz|}}|{zzz{zyxwvtsrqqppqqpppppoooqsuvutsrstsrqqqpppqrrsuuvwvvwwwwwvwwwwwuwy{}~|||||{zyvvwxyzzzxxwxxz{{|~~}|{zzzyyxxwvvvuvxzyxvuuuuuuvvuvvuuuuuustsrqrtuttsssttusssrqqrtutsqqqrrppoooqrsrqpooooorstsssr:4YWVUVWWVWWWWWVVXXYZ]^\ZXXZ_fifa^]\[ZYYZ[ZZZZ[[\[\]^_`abddddddcbbcddcb`_aa``acccaaaaabbbefffffghkjiiihhiloponljhghijkkjjefggfeeeffefhjkjjjjjiijjkkllkllmmllmnpqrstuvwwvwz|~~}|||||{zxwtrqqqppqooppqpppoprstssrrstsrqqqoppqrsuwuvvvvvwvvuuvwxxxxy{}~~|||||{zzwwwxzzzzxxxxxyzz{~~}{{zzxxxxwvvvvxz{zxwutuuuuvvuvvuuuuutstsrrrtvtsrrsttttsrrqrsttsrqqqrsqponnopqppoonnoosstsssq:2VVUUUVUTUVWWWWXXYYYYYZZ[ZYZ]``__^\[[\[ZYYYYZZZ[\\]]^^_`ccccbbaabcccbba`aba`abcc`aabbbcdfghhhhhhgijjjiihijjjllkjhjklllkjhiiihhghiihghihghiihiijiiijjjjjijklmnprstuvwwxz{}~{{|||{zyusqppponoonoppppooppqqrrpppppqrsqqrrrssttttstvvvvvvuuwyzyz}~|zz{|||{{wxz{~}zyxxxxwvz|~~}|{zzzzzyxxwvwwxyzyxwvuvwwvvvwwvvvuuuttuuuttuuusrqruusrpppqqrqqqqqrrqqqppoooppqoopponnorrrqqqp92VVUUUVUTUVWWWWWXYYYYYZZ\[YY\^^]`_^\[\[[YZZZZ[[Z]]]^_`aabbaaaa``abbbbbbaccbaabccabbbbbcdfgghiihhgijkkjiijkkkllkkikllllkjijjjihhhiihhihhhiiihiiiiiiijjjjikklmnprsvwxxyzz{|~}yzzz{{{yvtrqpponpooopppoooopppqqpooopqrrpqqrrsttssttuvvuxxwuuwy{yz~~|zyzz{{{{{yzz{~}yyxxxyxwz{|}}~~}}|{{{{{zyyxxwwwxxxxwvvvwxxwvvvvvuuuuuuuuuuttuutsrqrtusrppppqqqqqqrrrqqqppooopqqnopqpnnorrrqqqp92VUTUTUUUUVVWWWWXYYYYYZZ][YYZ\]]a`_]\\[ZYZ[[[[[Z^^^`abbcaa`````_aabbbbbbdedccccccccccccdfffgiiiighjkkkkjlmllllllkllllllkjkkkjiiijihhhhghijiiiiihhiiijjjjkklmnpqsxxxyz{zy{}}~~}xxxxy{{zvusrqppoqpoopponooooooooponnopqrqqqqrsssrstuvvuuzzxvuwyzxz}~}{yxyyyzzzzzzzyy{~~|yxxxyyyyyzzz{|||{{{{{|}}{zyyxwwxxxxwvvvwwxyxwwvvuuuuuuuuuvuttttsrrqrstrrppppppqqqqqrrqqpoonnooppnpsuspooqqrpqqp92UUTUTUUUUUVWWWVYYYYYYYZ\[YYZ\]]```^\\[ZYZ[\]\[[^^_abbcca``___``baabbbbbeeeddddddddcccccedefghhifhjklllmmnnmlllmmmlmmmllllllkkkkkjhghhhijjjiiiihhhiijjjkkkklnoqrwwwyzzyxyzzz{||{xxwxy{{yvusrrrqpqpoooonnnnnnnnnnoonnopqrrqqqqrrrrsuvvuuuzzywvwxyxy{~}{yxwxxyyyyyy{zxwxz{zyyyyzzzzz{{{{{{{zzz{|}~~|{yyxxxzzyyxvvwxwyyywwvutttuuuvvvvutsssrrrqqrsrqpppooooppppqqpppnnooooppoty|ysppqqqpppo81UUTTTUTVUVVWWVVXYYYXXXY[ZYXY\]^___]\\[ZZ[\]]]\\]]_ababc`aa`_`abcbbbbaabddedeeeedddccccbccdeefghfgiklmnopppnlkmopnmnnnmmmmllllllkjhghiiijjjiiiiiiiijjkklkjklmnpqttuvwwwwxxxxy{{zyyxxyzzxvussssrrqqpooonmmnmmmmmnoonnnoqrsrqpqqqqqsuwvuuuxxxvuvwwxxyz|{yyyxxxxxxxx{zxwwxyyyyyyzzz{{|}}}|{zyyz{|}}~~{yxwxy{||{ywwwxxyyxwwvvtttuuuvvvvutssrqrqqqqqqqppppoonnnnoooonnnnoooooorx~wrqqqqpppo81UUTTTUTVVVWWWVVXXXXWWWXYYXWX[\]^^]]^^\[[\]^^^]]]]^`a``a`abb``acccbbaaabbcddeefeeddddccccccddefgghjlmnpqqrrpmlnrtpnnnmmnonmmmmmllkhhklkjjjjiijjiiijjklmmkkklmoppqrrstuvvxxwwy{{{zzyxyyxwvtssssssqqpooonmmmmmmnnnpoonnoqssrqpppqqqsuwwuutvwwvuvwwxxxxy{}~~zyyyyxxxwwxx{{zyxxyyyyzzyyzz{}~~~}{zxyz{||||~{yxwwy{~}|ywwxxxxxwvvwvuuuuuuuuvvutssrqrqqppppqpppoonmlmnnnnnmmmnnnoooosy~wsrppqpppo81UTSTSTTVVWWWVVVWXXWVVVWXXXXXZ\\]]\]_`_\]]]^^^^^]]^`a_^__abbaabccbbaabbbabccdeedeeddeeddddccddefhjlopppqqrrpnnquxsonnlmoonmmmmmmmkjlopmjjjjjjjjjjjjklmnnllllnpqqppppqrtuxxwwz||{zyxwwxwwvusssssrqpooooonmmmmmnnoqponoprsrqppppqrrstvwvutvwwvuuvvwxxxyz{|{yxyxyyxxwwxx{{{{zzyyyzzzyxyzz|}~~}{yyyz{{{{z}{yxxwyz}}{yxwxxwxwvuvwwuuuuuuuuuuusssrqqqppppppppoonmllmmnnnnmmmnnooooosw|}zusrppqoppo81TTSTSTTUVWWVVVVWWWWVUVVWXXXY[\]]\\]`b`^]]]]^^^_^]^`a_^^_`bbaaabbbaaabcc`abcddddfeeeefeddddcceeeiknqrqpqopqpnosx|uommkloonmmmnnmmkkossokijjjjkkkkkkklmoommmmoqrqonnnoprsxwvwy{{zyywvvvwwvussssrrqpoopoonllmmnnooqponoqrtpppooprtsssuvwvtwwwuuuvwvwxxzzzz}|zwwxxxzyxxwwxx{||}|{zyyzzzxxxyyz|}}|zxyzz{{zyy|zyyxxxy|{{yxwwxwwwuuvwxvvuuutttuutsssrrqqpoooopqponmlllmmnnnnmmlmnooonnqtwwusrrpppopoo80UTTRSSSSUVVUUUUUVVVWWWWVWXYZ[[\ZZ[]]]]^[\^^]]]____`_^]\__`abaa`_ababcddcbbcefecbbcfhijldeddcdffijlopomknonlkmptwtpmllllnmllllmmklmorroljiikmnnnnppnlklmkklnoppqqpommnprsrrrsttuxxxwvvvusssssrqqqqqqppponmmmllnpnmmooopqppoopqsttsrsuwwutuwxwwvvzzzyyyyyyyyxxxyz{{zzyxwvvwxyzzywyz{|{zxwyyz{zxwxzz{{zzyxzyxy{|{zz{{{zywvwwvvvwwwutttsssssuutrrpoqqppoopqqonmmmllmmmmmmmnnooonnmmnoopppppppooopo71VUTSSTSTUVVUUUVVVVVWWWWWWXXYYZ[ZZZ[\\]^]^_``________^^]__`abbbb`abbceghecbcdeedcbdgijjjdddccdefhikmnmlkmmmkklorsronnmllmmlkkklllmmnppnmkiiknoommoonlkkkkklmnopqsrpnmmopqqqqqrssxxxwvvvusssrrrqqrqqqqqpoonmmmlmnmmmnnnoppooopqsssrrsuxywtuvwwvvuyyyyyzzzxxxxwxyz{{{zywvuvwxzzzxwyz{{{zxwyyzzyxwxzzzzyyyy{zyy{}}||{{{zywwwwwwvvvvttttsssssuvtsrqoppppppqqpommmmllmmmmmmmmnnnnnmmmnnnooooopoooopo71VUTSTTTUUUVVUVVXWWWWWWWWXXWXXY[ZYY[[\]^a`adeca```________``abbbabbbcehiedbbdddccbcfhihhddccddeeghijkkkklllkkkmnonnnnmlkllkkjjjklmmmmnnnljjloonmlmnmlkjjkklmmmoqutromlmnooooopqrvwwvvvvurrqqqqqqsrqqrrponnmmmmmmlllmmmmnoooopqrrrqqsuyzysstuvuutwwxyyz{{wwwwwxyz{{{zxvuuuwyzzywwyyz{{zxwyxyyywwxzzyxxyz{|{zz|~~~|{{zyxwwxxwwwvuuttttsssssuvussqpppppqrqqpnmmmmmlmmmmmmmmnnmmmmmmnmmmmnnnoooooqp82WVUTUUTUUUVVVVWYYXXXWWWWXXXXYYZZZZ[\\]^ccehjfb`a``___`a__```aaabccccefgdcbbcccbbbbdfffeedddeeeeefhiiijknnmlkklmllllmmkklkkjjjjjlmmmmnoomllnoomlkllllkjjklmmllnossqomlmmnnnnnopqstttttutqqpppppqrrqrssqonmmnnnmllllllllmnnoopqqrqqqrtvxwrrsttttstuvwyzzzwwwwwwxxzzyywvutuvxzyxwwxyyzzyxxxxxyxwxyzyxwwy{||{zz|}~~zzzyxwwwxxwwvuuuttttssssstuuttsqpooprrqpnnmmmnmmnmmmmlllnnmllllmmmmmmnnopoopoqo82WVUTUUUUUVWXWWWYYYXXWWWXYYYYYYZZZ[\]]]^bdgjjfb_aa```aab__```aaaeffdcdddbaabbbbabbbbcdeeeeeffggfdfghhiklqpnlkllmllkkllkjkkkkkjjjmnonmnopnnpqpnlkllllllkklmmmmlmmopoonmnnnnnnnopqrrrrrsssqpppppqqqqqsttrponnnooonmlllllllmmnoopqqqqqrrtvurrrrsssrstuwxyyyxwwvvvvwwwwwwvuttvxzyxwwxxxxxxxxxxyyyxxyzyxwwxz|{zzz{|||yyyyxxxxzywvuuuvttttssssrsttttsrpooprrqommmmnnnmnmmmmlllnnmllllmmmmmnoppqqppopo72WVUTUUUUVWXXWWWWXYYXWWWYZZZZYXYZZ[]]]]^acfhgc`_`aabbbbb__``aabbfgfdcbbbaaaaaaaabbbaacdefffgghggefffgijkponlkklllkkklkjjkkllllllnoonmnoonostrmkjnmmmmlllmnnmmmlllmnnnnoonnnnopqqrssrrrrqpppppqqqppqsttsqqqppqrrrnmmmmlllmmmnoppqpqqrstutqqrrrssrttvwxxxxxwvvuuuuuuuuvvuttuwyyxxwwwwwwwxxxxyzyyyzyyxwwxyzzzzz{|||zzzzzzzyzywuttuvttttssssrsstttsrqpooqqpnlllmnonmmmmmmmmmnnmmmmmmmmmnopqqrqqqopn62WVUTUUTUWXXXWXXXZ[[YWVVYZZYYXXXZZZ\]]]^`beeb_^^_abddcba```aabcdeedcaabbbbaaaaaaaccbbcefefggggggffefghiillkkjkklkkkklkjjklmmnnnmoonmlmnonosurmllqpnnmlmnponmmnmkklnoooooonnnopqqsssrqqqqpppqqqqqqqqrsssrstutttttponnnmlmmmmmnopqpqrssttsqqrrrrsstuvwwwvuxwuuuvuussttuuttstvxyyxwvvuuuvwxxyz{{zz{yyxxxxxxyzz{|}~|||}||{{zywvuuuvttttssssqrrsttsrqponooonlllmooonmmmmmmmmnnnnnmmmlmnnopqqrqqqpqo71WVUSTTTVWXXWWXYZ\^]ZWVVYYYXXWWXZYZ[\\]^_bdc`]]^_`ceedbacbbabcdecccaaabcccbaa```abccbceedefggffgffeefggghhijijkkkkjkllkjklmnoooonnmlkmnomosurnmmsqpnmlmnqpnmmnmklmoppoooonnnopqqsssrrrqpppqqrrrqrqqqqrrsuwxxwwvtqpooommmmmllmopqoqsssssrqrrrrrsstuvwvvtswvuuuvvvrrstttttrtuwyzywvuttuvwwxyz||zz{xyyyyxwwzzz{}}}~~~}|{yxwvuuvvttttsssspqrsttsrrponnnnmkklmooonlllmmmmnnnoonnmmlmnooppprqqqpqp81VVUTSTTUVWWXXXWY[\\ZXVVVWXXXXYYYYYYYZZZ[\]]]\\\\^`abbcdgfebbbccbbcccbbacdddcaaa`abcdddecddeeeeeffecceeeehjjiiijjihijjihjklnonmmmlkjlnonlmnonmoruspnmmopqpnmmnnmlmmmmmlllnoppponrtttrrqqpsvxxwtsuvutsrrqqstvwwusooppooopmnnnooppopqrrrqprrssstuuvwxwvtsstuutttsrsttsrrrspqsuvwwwutttuuutvwxyyxyz{{{|||zyx{|~~~~~~{yyvvvuutttutrrrssrpqrqqrssoppnnoonmmlllmnnmmmnoppqoooonmllnnmmmmmmooppnoo91VWUUSTTUUVWXXYZYYZZYWVVXXYXXXYYXXXYYYZZ[\]]]]]]]^`bddddffdcbbccccccccbbcdeedbaaabccccddcddeeeeeefeddeeefhiiihhhiiiijjihjjklmllmmmlklnoonnnnmmortrqonnooqponoooommnnnnmmmnooopoortttsssrsuwxxvutvvvuttsrrstuvwusoopoonopnnnoopppoopqqqqpqrrrtvxxwwwwutsstuutssssrsssrrsspqstvvwwvutuuvuuvvwxyxyz{{{|}|zxwy|~~}{yxwwvvutttutrrrrrsrrrqpqqqpqqooppomllllmmnmmmnoppqoooonmllmmmmmmmmonopnnn81VWUUSTTTTUVWYZ[XXYYXWWVYYYXXXYYWWXYYZZ[[\]]]]^^^`cfgfeceddccbbbccccccbbbcdeecbbabcccccccddeeeeeefeddefefikjhgffhhijkkjiiijlkklmnnmmmnppponnmmoqsrrqqpoorqppppppnoooooonooooopposstttttttuwwwvvvyxwvvvusstttuutsoooonnoonnoopppqooooppppqqqrsvyzwwvvutsstttsrrstqrrrrrstqqrstuvwvvuuvvvuuuvxxxyzzz{||{ywvx{~}|zxwwxwvuttuttsrqrsttsrqpppppqqpoppollkklmmmmmmnooppooonnmmlmmmmmmmmnnnommm71UVUTSTTTTTUVXYZXXXXXXXXYYYYXXYYWXXYZ[[\\\]^^^^__bgjigdbcccccbbbabbbbcccbcdddccbabcccccccddeeeeeeeeeefffimomiffgghiklllkijmomkkloooonoprpponmmoqsstttsqprqpqqqqqppqqqpppqpooopqqrsssstuustuvwxyz~{yxxxvttssttutsoopooonnnnnooppponnnoopppppqsuvwwvuutssrsttsrqrsqrrrrrrsqqrrstuvvuuuvvuuttuwxxxxxyz{{ywvvwz~~|{yxwxxxwuuvvttsrrsuwvtrqqppppppoooonllkklmmmmmmnnoopoonnnmmmmmmmmmmmnmnolml61UVUTSTTSSTTUVWXWWWWXYYYYYYYZYYYXXYZZ[\\\]^^^^_`_dkmiebaaabccbbb``abbcddcbbbccccabcccccdcddeeeeedeeeffffjptpjgghiijklmnnjmqsplllopppoopqooonmmorttuvwvtrrqqrrrrqqqrrrrqqrqoopqrssrrrstuvsstuwz~~zz{zwttsstuttspppppoonmmnnoopponnnnoopoppqrsttuuutsrrqrstsrqqrrrsrqqqrrrqrrstuutttuuuursuwxwvvvwxyywvuuvx|}{{zyxxxxwvvwxuttrrruvusrqqppqopoononnllklmmmlmmmmnnooonnnnmmmmmmmmmmmnmnnlll61VWUUSTTSSTTUUUUVVVWXYZZZZZZ[[ZZXYYZZ[\\\]^^^_`a`ejkfbaa``abcbbb``abcdefccbbbbbbabcccccccddeeeeedeeffggfiorpjgghjkklllnoknsuqmlloppqqpppoooommpstttuwvusrrrsstsrrrssssrrrqppqrsutrqrstuvtttux}{|~}ytssuvwvtsrqqppppommnnoopponnnnopppppqrrstuuutsrrqrrssrqqqrrrrqqqqrrqqrrsttssstuutrstwxvutstvvvuutuvx{~~}|{|}}|yxwwwxyyutsrqqrtsqpppppqpppoooonmllmnnnlmmmmnnnnnnnmmnnnnnmmmmmnnnnnllk51VWUUSTTSTTUUUUUUUVWYZ[[\[[[[[ZZXXYYYZZZ[\]^_`bdaceeb```_``abbbb``aacdefddcbccbabccdcccccddeeeeeddefggggfjmmkhggijkkkllmkmprpmmmpprssrppoooonnpssrqrsttsrrrsttsrsssttsssrqppqruwusrrstvwwvtux~z{~}xtstvyzyvtssrqqqppmnnnopppoonnooppqppqqrstwvutsssrrrrrqppqqrrrqqqrrqqqrrrsrrrstuuusstvwusrrssttttuwxy{}}||zyz{~zywwxyyyvusrqqqqpppppopqppppoooommlnoonmmmmmmnnnnnnmmnnonnnnnnnnonoolll51UVUTSTTTTTUUUVVVVWXZ\\\]\ZZZZZYXXXXXXYYZ[\^_adea```_____```abcc```abcefeddddcbaccddcbbbcddeeeeeddegggggefhjkjhfgikllkllkknonmmnqrsuvtrpooopooprqonoprrqqqrrstsrsstttsssqppqrsuxwtrrstvwxwuux~yy|{wrsux|}{wutsrrrrqpnnnopppqooooopppqpppqqrtywuttttssrqqqppqpqqqqqrrrqqqqrrrrrrstvvusstvvusrqrssssuvz{{{{zyyvwx{|zwwxzzyvusrrrqqpppppppqppppoooonmmnppommmmmmmnnnnmmmnnooooooooooooomll61VUTUTVWVVVUTTUVUUVXZZZYZ[[\[ZYXXXYXYYYZ[[\]_bdd`_^^__^^]____``a`abbaabbcccccbbcadffecbbabddddddghjjjjiifghjjigfhhijllkjijkllmnostvz|xroqtwwutstpoooppooqqqrtusqrttstvwwutsstttvvusstuuuwxxxxxy{}{wuttuuuwz{zxvurrrrrqqpprrqqrqooooopppprrqqpqsuutssssrrpqqppoppnopqppqqrrrrrrssppqqrsttttssstsrqrsrqrtvx|~zvuvwxxy{zywvvvvuvwwutssrqqrsrqqroprstspnnnooonnmlmmmmmnnlmmlllnopoooooopppoonon62VUSUTVWVVUUTTUVVVVWYYYXYZ[\[YXWYYYYZZZZZ[[\]`bca`_______`````aa`abbcbccddcddcbcbdeedcbcbcdddddegijjjjihfghiihggiiiijjjjijkllmnorsuxzwspsvyyxvuvrpooppooqpprtutrsttstvxyxvuuuuttutsrssstwwwvvvwxzxvttuwxwxyyxwutrrrrrqpprssrrrqpoooopppprrrqqqstttssssrrqqqppoopopqqqqqqrrrrrrrqpppqqrrsssrqrrrppqrrqqsuw{~}yvuvwxxxy|{ywvvuutvvwvuuuurrsssqqrpqrttsqoooooonmmllmmmmmnmmmmmmopqpoonoopopponnn72VUSUTVWVVUTSSTUVVVVWXXXXZ\]\YWVYYYYZ[ZZZ[[[\^`abaa`____`aa```aa`abccdccddgjjfcbcdedcbcccdddddddhijjjihhfhhhggggiihhgghiijkklmnoqqsuwusrtwyzxvuvrpnnoopppppqsusrsssrsvy{}|zyxwustsrqqqqrvvutssttvutstvxzxxwvuuttsssrrqporttrrqqpooooopppqqqqqqqrrssrrrrrqqqpooooopqqqpppqqqqqqppoppppqqqrrqppqqooppppprsvy|{yvvvxxxwwy|{zxvuutsvvwwwyz{ttttsqpqqqrttsqoooooonmmmllmmmmmmmmmnnoprqpoooooopppnnn82WVTUTVWVVUTSSSTVUUVWXXWX[_`^[XWYYYYZZZZ[[[[\]]^aaa```__`aa`_`aa_`accddccfkqqjdacdddcccdddeeeeddgijjihggghigfffghhhgffhiijkkllmnopqssssuvwxwusrrpommnnpqrqpprtsrsssstw|}{xuuuusrppppttsrqqqqssttuvxzxwuttttsssssrqpoqrrqqrqqooooooopoppqqqppqqrrqqrrqqppoooooppqppppqqqppppqpppppppqsrqpqrqpoppppqrsuwyyxvvwxyywvvy|zyxvuttsuvwyz}uttsrpopqqrsssqpooooonnmmmlmmmmmlmmmmnpptsrqppponpqpnnn92WWUVUUVVVVUTSTTUUUUWWWWW[_a_[XWXXYYYYYZ]\\\\]]^`aa````_`a`__`aa^_abccccdgnuunfcdddddddedefggfedghjihhgffghfeeghgghhgghiijkkklmmoppqqruz|zxurpoonmmmmnqsvspprstttsstvy~{xwx{yvtrqpprsrqpppprsuvvvwxvutsstssttssrqppqqqqqrrrppoooooonnopqqppppqqqqrspppppppoooppppooqqqqqqqrqqqqqqqqttrqrssrpppqrrrrstvwwvwwyyxxvvwxzyxvttsssuwx{~utsrqpooqqqrrrqpooopoonnmmlmmmmlmmmmmnqsxwvtrqppnoqpnoo92WWVWUUUWWVUTTUUTTTUVWWVVY]^][XWWXXXXXXY]]]]^^`aaa```aa``a`__`aa^_acccbadgnttnheeeeeddeedeghihfeghjiihhgfffeefhighhhhhiiijkkkklmnoqpprw~~zurponmmmmmnqtwtqqrtuuutuvx{{yz~~zvsrqqrsrpppqqsuwxwvuutssstttstttssrqpqqppqrrrpppooooommnoppooopqqqrssppppppppopppqqppqqqqrrrrrrrrrrrrutsrrsssppprsssrqrtuvvwxxxwwvuuvyyxvtsssrsuvxz{{usrrqpppqqqqrrqpoopppooonmmmmmllonnmmoru{zwurqppnoppopp92WXVWUUUWWWVUUVWUUTTUVVVVWY[ZYXWWWWXXXXY]]^^^`dheb`_`bbabba`_`aa_`bcddbadflrrmhfihfeddeeddfhihfefhiiihhggffeefghhhhijjjjijjkkkllnpsrqrw~~yusqpomllmmoqturpqsuuvvuuwy{}yy}yusrrqstsqpqrqtwyyxvttrsttttttsssssrqqqqppqqrrpppooooommmnooonpppqrsttqpppppoopppqrsrqpqqqqqqqrrrrrsssttrqqrsrqpprttsqpqrsuvxxwvuuuuttxxwvtsstssstuvvutrqqrqqrrqqqrrqqpppppoonmnmmmlllonnmnpsuyxvtqpooooppoqp93XXVWUUVWWWVVVWXVUTSTUUUVWWXXYXXWWWWXYXX]]^__bgmhc`_abbbccb`_`abaabdedb`cekrrmhekigeddeeccdfggfdeghhhhhghgfffeffiiijklkjijjkkkllnruurrv}~{wtrqpplllmmnpsrpopsuuuvuuwxz|xy~~xsrrrqtutrqrrruxzzxutsrsttttstsssssrrqrrrqqrstpppooooonmmnnonmpppqstttrqpppponqqqrstsrpppooooorrrrrssssrpopqqqqppqstsqppqrtvxxvutsstttwwwutstuutsrrsrqtrqrrrsssrqqrrrrppppponnmnnmllllnnmnoprtutsqpnnmooppoqq91WXVVUVVUVVUUUWXVWVVUUVWWWWWWWWWWWVVWXYYYYZZ[_cgie`^_abaaaa__acd`__abca_`elssojgggggfeddccdeeeffeffffgggffggfeeegijiiihhjlljjkllhvtsx~|wtsstsqnmlmnnopppqtvxuuuuvy|zwwy|xvsqpqrrqrsttssrtuwwwwwwttssuvutuvwxwurqqppruusqpqrssrqpoonmmmnnnopqqqppqpnnnopqsrpptvtqoooonmllqqqqqrrrppppponnonnopqrrrqqrsttssrqqrsuvuwxxxwuttsrrrrssusqrtttrrppqstsroonmmmnmlmmmmnmlmmmmmmmnpqqpoppppopomlm62WXVVUVVUUUUUUVWWWVUUUVVWWWWWWWWXWWWWWXXXYZZ\^behe`^_```aba``bdeba``aa`__cinnkgffggfedddccddddefdefffgffffggffffhijiiihhkmmkjklmmz|y{zvtsturommmmnopppqsvwwwvvvwyz{|{ywwxyvusqpqrrrsssssrrrtvyzzxwtsstwyyxvwxxwvtsrqquxxuspqtuutqoonnmmmmmnooppppoqponopqqrqprvwtpoooonmllppppqqqqppppoonnoooopqrsrqqrssssrrqqrtuvvwxxxwutssrrrrsstsrstttsrqpprsqpoonmmmnnmmmmmnmlllmmmmmnopppoppppoponmm62WXVVUWVUUUUTUVWWWVUUUUVWWWWWWWWXXWWWWWXWXZ[\]`bgda^^^__accaadffba``_____aehhfedeffedcccbccccdeeceefffedefggfffggiiihhhhlnnlklopmw{xyzurqqtrpnmmmmmnooprtvwxwvuuuvvwxyyyxwtsqppqqrsssssrrrprv{~}zwusruz~}{wxwwwvuttrsx||xtpruwwtqonnmlllllnnnnooooqppooprsqpquyyupooonnmmlooooopppoooooonnnooooprssrsttsrsssrrrsuuuvwxxvutssrrrrssttstttttsqpqssqoonnnmnnommlmnnmllllmmmmnnooooopppoppnmm62XYWWVWWUUUTTUUVWWVUUUUVWWWWWWWWXXWWWWWXWXZ[\\]^cb`^]]]^accbbegfba`_^^___acdddcddeeddcccbccdccddddeeeeeddeffeefghhhhhhhhlnnllosunqx{xssu~}ytpnnnsqommmmmlmnnnqrsvvvuttttvxy|}|ywsqpopqrrrrrrrrrrprv{~{xvsru{~|yxwvvuuvvtuy~~ytprtvutqoonmmllllmmmmmmnnqqpppqstqqtz~wqoonnnmmmnnnnnnnnnnnoonnmooooopqrssuvusrsttsrrssttuvvvussssrrrrsstuuutsssrppruvsponnnnnoonmllmnmllllmmmmnmnoonopppoqponm73XYXWWXWVVUUUUUVWVVUUUVVWWWWWWWWXWWWWWXXWXZ[[[[\__^]\\\]`ccbbdfeaa``____`abbbbccddddcccdbcccccddeedccdddcdffeegihhhgghhhkmnllqvyqpqqpopstsqnllmmrpnmmmlllmnnnpqrsstsssstwx{~~{xrqoopqrqrrrrrrrrqrvz}|ywwusuy||{{zxvuuvvxvux||xtrrsssrqpponmmlmmlllkllmnqqqqpqsuttw~{sonnnnmmmnmmmmmmmmmnnnnmmonnnoppqrtwxvsrstssrrrsssttttsrrrrssssrruuvutrrrqoptxyvronnnnnoonmllmnmllllmmmmnmooonoopppqqpnn73YZXWWXXWVVUUVVVVVUUUVVVWWWWWWWWXWWWWWXXXYZ[[[ZZ]]\\\\\]_aba`bcbaaaaaa``aaa``abbddddccddcdddccddeedccddeceffefhjhhggghhgjllklpuwqnmmmmnpnnmlllmmqonmmmllnppoopqqqrrsrrssuw{~{yrqooqqqqqqqrrrrrqsuxxwvvvtsuwyzz}{xvttuvwutvyyvtsssssrqppponmmmmllkkklmmqqqqqrtvwwy|unnnmmnnnmmmmmmmlllmmnnmmnnmmnooortwxvsrsrrrrrrssrrsssrqqrrssssrrtuvutrqqpopuz{xtpooonnnnnmllmmmmlllmmmmnopponooopprrqon74YZYXXYXXWVVVVVVVUTUVWWWWWWWWWWWXXWWVWWWZZ[\[[YY\\\]]]]]^``__````abceecabba`_`bbddddccdeddeddddeffedcdddbdffefhkhhgfghhghjkjkmppnkijjklnlllllllmonmlllllqqrqpppppqstssrrruz}}{zysqppqrqpqqrrrrqqpruutsttsrrtvwz{~|yvtstuuttvwvutstvwvtrpponmllllkkkkllmmpqqqprtvyxx}ysnnnmmnnonmmmmlllkllmmmmmnmmmmnnoqrtutrqrqqqrrrrrrrrrrqpprrssssrrstuutsrqqpqtyzxuqpponnnnnmllmmmmlllmmmmnpqqpoooopprsqon74YZYXXYXYXWVWWWVUUTTVWXXWWWWWWWWYYXWVVVWZ[[\[ZYX\\\]^^]]]__^^^^^_`behhecbcb`_`bbddddcdefdeeedddeffedddddbdeeeehkhhgffhhgfijjjllkmkhhikmollllllkkmlkklllkqrrqpppoprtuutrqpsxzyxxysrpprrqpqqrrrqpportsrqrsqqqsuwz|~|xusrstrrsuvuttsuxzzwspponmlkkkkkkllllmpqqqpqtvywvy|{uqnnmmmnnonnmmmlllkklmmmmmmmmllmnnpqrrrqqqqqqqrqqqrrrrrqqqrrssssrrrstttsrrrqqtwxwurqpomnnmnmllllmnlllmmmmnqrrpooonpqssrpn7/UWVVUUUWWVVUUTTUVVVVWYZYXWWXXWWZ[[[YXXYXYYYYZZZYZZ[\]^^[\]]]]^^bbdjpqkeggfdcccceedcddeeggeeeefgeeeeddcbeefffffgggggfgghhhhiijjjhjkjjklllmnmmmnolkkkkllmnoonnopprvwutsrqoppqqrstusrqrrqqssrrrrpoqrrrqqppqrssuvwwvuutsrqqttssstttsvz|{wspoonnmlkjkkkklnnmoppoopqsssttrponmmmnoonmmnnnmlkkkklmmnnnkkllmnonoonnnnnnoonnnoopoppqqppqqqqqqrrqrstsrrqrvvvutsssstspnmmnkllllmlkkkkklllmmnonnopppprrpom70UVUUTUVWWVVUUUUUVVVWWYZ[ZXWWXXXYZ[[ZYYYYYYYZZ[ZYZZ[[]]]\\]]]]^_bbcgllidfffeddddgfdccdddgfedefhiefffeeddfeeeffffffffefghiiiihhhhhjjjjklllmnnnnnnllkkllmmnnnmnooosvvtsrqqppppqrstttssssrqssrrrrpoqqqqqqpopqrstuvvvutsssrrttuuvuuttvxzzxtrponnmmlkllklmnnmooonnoprqsttrpoommmnoonmnnnnmlkkkklmmmmmkllllmnnnnnnnnnnnnnnnoooooppqppppqqpqrrrrssrrqqquuutssssttspnmmmlmnnmmmllllllmmmnnonnoppopqrppn70UUTTTUVWVVVVVVUVVVWWXYZ][YWWWXXXYZ[ZYXXXXYYZ[[[ZZ[[[\]\[\\]]]^_aabdfgecdeffedcdgfddddddffedefhiffggfeeeffeeeeeedeeeefgikjiihgggiijjjjkklmnoonnmmmlllmnnnmmlmnonsuusrrqppppppqstuvwwwvtsssrrrrqoqqqqqppoppqsttuvvussttttsuwyyxvustvwxwvtqonmmmlkllllmnnmonmmmnpqqsvvspoonmmnoonnnnnnmlkkkkllmmmllllllmmmnnnnnnnnmnnnooooooopqqppopppqrssrrrqppqqsttssrsstsrpommmmopponnmnmlllmnnppoooooonoprppo80UUTTTUVWVVVWWWVWWWWWXYZ][XWWWXXWXYZZYXWWXXYZZZZZZ[Z[\\\[[\\\\]^_`bcbbbbdefecbbcgfdeffedgfeeeefgefgffeeeffeeeeddcddeefhilkjihggghiiiijjjklmnonmmnmmmmnnommmlmnnnsuusqqqppppppqrswy|~|yvusssrrrqopqqqqpooqpqrstuvxvtstuuusuxz{ywusstuvvvvqpnnmmmlllllmnnmmmlllnprtwzytpoonnnnnnnnnnonmllljkklllkkklllllmlmmmmmmmmmmnnoonnoooppqponoppqrsrrrqpoppqrrssrrrstrqponnnprtsqponnnmllmnorqpooonnnnpqppp:1UUSTTVVWVVVXXXWWWWWWXYY[YWVVWXXVWXYYXWWWXYZ[[ZZZZZZZ[[[[[[[[\]^^_aba`abfffdbaabfedeggfeffeeddddcdeeddddeeeeddddcdeefgijmlkihhhhhhhhhiiikklmnmmlnnmmnnoonnmmmnootwxurrqqopppppqry}{xvrstsrqqpqqqqqpporqqqrtvxxvtstuutrtwyzyvusssstuvwrqonnmmmllkklmmllkkllnqswz}{uonnnnnnmmnnnooomlllkkklkkjjkkkkllmlmmmmmmmmlmnnnnnnnnooppponoopqrrrrqpooopqqrrrqqrrsqpoooooruwvsqpoonmllmnnrqpoonnnnnoqppp:2UUTUUVWWVVWXYYXWWVVWXXYYWVVVWXXVWXXXXXXXZ\]][ZZ[[[ZZZZZ[[[[[\]_^_````abfggea`abcccdfggfeeeeeddcccdddddddeeeddddddeefgijmlkihhhhhhhhhhhijklmmlllnnnnnnopoooooopqxzzwsrqpopppppqry|{xvrttsrqqqqrrrrqppsrqqrsvwvtsrssssqsvxyxvtssssrstuqqponnmmllkklmlkkklmmoruxz|ztommnnnmllmmnooonmllllmllkkjjkkkklllllllllllmmmnnnnnnnooppoonooopqrrsqpooppqqqqqpppqqpoopppprtvutrpoonnmmmnnqpnnnnopnnoqopp:3VVUVVWWWVUWYZZYWWVVWXXXXWVUVWXXWXXXXXYZX[^`^[ZZ[[[ZZZZY[[[[[\]______``aefgeb`abbbaacefgeeeeeddddddeffeddddddddecdddefhilkihgghhiiiiihijikmnnmllnnnnnnopqpppppqrz|{wsrppoppoopqqvy|}|ywustusrrqqrrssrqqqssrqqrstsrrqrrrrqswzzywuttssrrrrqqrqonmnmllllmmlllmnoqtutvxvqmlmmnmlkklmnooonmllnnnnnmlkkkkkkllkllllllllmmmmmmnnmnoooooooooopqqqsrppppqqqqqqpoopqppooppppqrrrrqppoonnnnnonnnnnpqoopqopp:3VVUWVWWWVUWY[ZZWVVVWWXWXWVUVWXXXYYXXXZ\X[_a_[YY[[[ZZZZY[[ZZZ[]^`_^^^_``cefeb``baa`_acefffeeeeeeeedeghgeddcddeeeccdddeghjihgfghiijjjihikiknoomllnnnmnnoorqpqqrrs{|zvrqpopppoooqrtvxyywvusttsrrqqrssssrrqssrrqqqqqqqqrrssrtx|}{xvttssrrqpprrqonmnmmmlmnmllmnoprtuprtsollmmmmlkklmooponmmmpppponmllllkkkkjlkkkkkkkmmllmmnomnooooooopppppppsrpppqqpqqqpooooqqpoopppooppqrrqpppooonnnnmmmnoqoopqopp:2VWUVVXWWVUVY[ZXTWXYXVUUWWVVWWWXXXXXYYYZ\\\]\[[\YZZYXXYZZ[\\\[[[]_cddb`_abbbaa`_``__`acdbdeeefghdddeeedcedddccccddeedeefggggggijllmlljhhilnonlllllmmnooonppppqrrvwvtsrpopoonmnprwvutuutsppqqrrrsttsuvwtqoqrsrpppsqpqssrsuvxz{{xurrrqqqqpqstsqqrspnlkklllmoprtvtsnnnmmmmmllkkjkklkkllllkkpppppnmlklllkkklkkkkllllnnmmmmmmnopqqqpooooooonnqqqqqqqqqqppooonppppppppppooqtwytrpoooonmmnoooonoonpopr;2VWVVVWWVUTUXYYWTVXYXWVVWWVVVWXXXXWWXYYZ]]]^^\\]YYYYYYZZ\\]]]\\\_`cddcaaaabaaaa`````aaaabccccdefddddddddfeeeddccdeeeeeeegffgggikmmmlkjihjlmmlklllllmnoppopppqrrruutsrqpopponnnpquttsssrrrrssrrsuuttuwxurpqrrqpqqtrswyywwwxyz|{wtqrrrrrqprsttsssrqomlllllnoprtttrmmmllllklkkjjkkljkkkkkkjoopponmlklllkkklkkkkllllmmmmmmmmnnprrqooooooooooqpppppppqqqppoooppppppppppopqtvwsrpoooonnnooooonoonpopq:3WWWWUVUUUTTUWVUTUWYXXWWWWVVVWXXXXWWXXY[^]^^^]\\XYYYZZZZ\]^^]]]]`abccbbb`aaaaaa`__abbbaaaaaaabccdddcccdefeeefeddeeeeeeeefffgggikmmlkkjihkklkjjklkkklnoppppppqrrrssssrqppqqpooopqssrrrrqqstutrsuwwvuvxyvsrrqpppqrtsv{~{zxyz{{zwsqrsttsqpqstuutsqqonmmmmmoopqrrrqlllkkkkkkkkjjjkkjjjkkjjjnnoonmlkklllkkklkkkkkkllmmmmmmmmmnpssqoooooooooopppooopprqqqpppppppppppppppprsuurqppppooopppooonpoopopp:4XXWWTTTUUUTTUUTTUVXYYXWWVVVVWXXYYXWXXYZ\\]^]\[[XXYZZZZZ\\]]\\\\`aaa`abcaaaaaa``^_`bdfggaa`__`abcccccdeeeeeffeeeeeeeffffeeffggikmlkkjjjjjkkjiiijijklnoppppoppqqqrrrssrqqrrqppppqqqqqrrrqstutrtvxywuvxxwtsrqpoqrsssuz~~{yyz||{zxvtuuvusqppqssttrppooooonnoooooooommlllkkkkkjjjjkkjjkkkkjjlmmnmlkjkkllkkklkkkkklllllllllllmnprspoooonnnoopooooooooqqqqqpppppppppppppqqrrssqqppppppqqpppoonppoqopp95XXWVTTTUVVUTTTTTTUWXYXWVVVVVWWXZZYXYYXY[[\]][ZZXY[[ZZZ[\\[[[\\\```__`abbbaaa```__`beiloba````abbbbbcdeeeeeffeefedeeghhheeeffghjkjjiijjkijjjiiiiijklnoppppopqqqpqrrrssrrsrqqqqqqqqqqstssrssrrtwxyvttuvvutrqooqrtssux}}{zz}~|{{yyxwvtrqppqqrsrqopppqqonoonnmllmmmmlllllkjjjjjjkkkkllkkkklmmmlkjkkllkkklkkkkkkkklllkklllmmoqqpooonnnnoppoooooooopppppqqqppppppppppqqrrrrqqqqqppprqqpooooppoqooo85YXVUTTTVVVUTTTSTTTVXYXWVVVWWWWWZZZYZYYZ\[\^_^\[YZ[[ZYZZ\[[[[[[[```__`abbaaaa``aaaabeimoca``aaabbbbbcddefeeffeegdeefghiifeffffgiiiihijjkiijjjiiijjklmnopqppqqqqqqqrrssrrsrrrrrrrrrqrtuttqqqqstvwxvssstttssqppqrtstux|~~}}}}{xvutspqppqssrpppqrqonnnnmlkkkmllllkkkkjjiijjkkkllllkkkklmmlkjkkllkkkllllkkkkkkkkkkkkkmmnpponnnnnnooppooooooooppppppqqppppppppppqqqqrrqrrrqppprqqpooooppoqpoo86YXUUSUUVVUTTTTSSTTUWWWVUVWWXWWWZZZZZ[[\^]]_cb_][[[ZYYYZ\[ZZ[[[[``````aba````abccbbbcehiba`aabbbbbbccccceefhhgffeefgghiigffffefhhhhhhijjiijjjjiijjkllmnoqpqqqppqrrrsssrssrrrsssrtssstuttpppqstuuwutsssssrrrrqqrsrstw{~~~|ywvusqqppqsssqppqqqponnnnlkkkllkkkkjjjjiiiijjjkkkkkkjkklmmllkkkllkkkllllkkkkkkkkkkkkkklnoonmmmnnoopppoooooooorrqqqpppppppppppppppqqrrrrsrqpoorqpoooooopprppo86YXUTSUUUUTTTTSRSSTUVVVVUVWXXXWVZZZZ[\]^_^]`eea^]\[ZYYYZ\[ZZZ[[[_`aaa`aa`__`abcdccccccccb``abbbbbcddcbbbddgjkigfefggghiigfffeefgggghhhiihiijkjjijkklmmnnppqqpppqsssttsstsrrstttsttttttssppprsttuvutssrrrqrssrqrsqqruy}}}|xvvusppqpqsssqpoppqqqnooomkklllkkkjjjjjiiiijjjjkkkkjjkklmmmlkkkllkkklllllkkkkjjjjjjjjjkmopnllmmnoppppooooooootssrqppppppppppppppppqrrrstsqpooqqpooooooooqppo84YZWUTUUTTTTSSSSSTUUTSSSTUVVWWXY\[YXXZ[Z[[\]]]]^^\ZZ[\]][ZZZ[\\[]^______^^]^`bcbcbaaaaabaaabccbabbaabcbbceilnligbeikieeeggggfffefgghhhggjkkkjjhgghjklllloooopqpprrrtvvtrrqqqqrrsrrrqqqqpnoqstuvvtttsstuusssrqpppqrtwyy{}}}wwvutssroopppqrsoppppqqqqrrpmlkjlkklllkjiiiiiiiijkkjjkkjjjkkllmmjklmlllmjkkkkkjjjjjjjjiijklmmmlkkmoooopqqrqpqppprrrqqqppoqrqpooppqrsrppqoqrqpppqoooooopqooqpoqm85ZZWUTUUUTTTTSSSSTUUTSSTUUUVVWYZ[ZXWXZZZZ[[[\\]]]\ZZ[\]]\[ZZ[\\\]]^__```_^]^_`aabbbaaaaa```abba`bbabccbbcegjlkihijmpmhfgggggggfffgghhhggjlmmlkihhijkkkkkooooqqqqqrstvvtrrrqqqqrrrrrrrrrqnoqrstuvuttttuvusssrqpooqrtvxxy{~zzuutsrqqpooooopqrpppooooprrrpnlkjlkkkllkjiiiiiiiikkkjkkkkjjkkllmmjklmllllkllllkkjjjjjjjiijklmmmlklmnnnopqttsrqpopqqqppppppqrrqppqprstsqpqopqpppqqpooooopqpprpopl74YYVUSUVUUTTTTSSSTTTTTTTUUUUVX[]ZYXWXYYYZZZZZ[\\[ZYYZ\]]\[[Z[\]]\]]^``aa`_^^^___bbbbaa``___`aa``aabcdcbbdefgiihilmoqoighhhghhhhhggghhhhhkmnonmjhiiijkllloooppqqsqrsuvutsrrqqqqqrqrrqqqqqnopqrtuwuuttstuusssrqponpqsuvwxy|{wvssrqqpooonnnopqqqponnnnosrqomlkkkkkkkkkiiijjkkkjkkkjkkkjjjkklllmkklllllllllllkjjjjjjjjjjjklmmmlllmnnnoprvvusrqppppoooonnqrssqppqqrtutrqqooooopqqpooooppqqprpnol64XYWUTUVUUUUTTTTTTTTTTTTVUUUWZ^aZYWXXYYYYYYZZ[[\ZZYYZ[\\\[ZZ[\]]\\]_`abba`______aaaba``_^^^^`````abeedbbfgfffgiklorqmjijkjiijkllggghhiijlnpqpnkhiiijklmmnooppqqsqrtuuttssrrqqqqqrrqqppppopqqrtuwvvutsrsstuutrpoopprstuvwxwxyywtrrqqqqpppnnmnopppqponnnopsronmlkklllkkkjiijklmlllkkkjjjjjjjkklllmllllllllmmmmmlkjjjjjjkkkkkllmllllmnnnopqvutssrqqpoooonnnrrssrppqpqstsqqqnnnnopqqppooopqqqprpnok63XYXWTUVVVUUUUTTUTTTTTTTVUUUWZ^aZYXXYYYYXXYYZZ[[[[[ZZ[[\[[ZZZ[\]\\]^`bccba__```````a``__^^^^_````acfgeccggfefhkntz{tmjklomkjkmophhgghijkmoqqqomjjiijklmnmopppppqssstttttsrrqqqqqssrqpoppqqrrrsuvvvutsrrsvwwusqppppqqsttusrrrttrpqqqqqpppnmmmnoppppoopqrtsqomlllloonlkkjijkmnnmmlkkkjjjiijjkklllmllllllllmnmmmlkkjjjjjkklkklllllllmnnoopprsrrrrrrpppppoooqqstsqpqoopqqppponnnoqqqppooppqqpprpnpl72X[[ZVVUVVVVUUUUUUTTTUUUUUUUVX[]ZYXYYYYYWXXYZZZZ[[[[[Z[[[[ZZZZ\]]]]^`bcdca``aa``^________^^_`abbabehihedfffegjosyolllqnkjkmopihgghjklnooooonmjjjjklmmmoppoooputrrssttrrqqqqqrutrqqpqqrssssstuuvutsrsuyywvsrqqqqqqqrsrqpppqqqpppppppppnnmmnnooppppqsturqonmmmnrsqnlkkjllmnnmlkklkjjjjijjkklllmmllkklllmmmmmlkkjjjjkkllkkllllllllnnoppppppqqrrsqqqppppppqsuusqqpopppooooooopqqpppppppqroorpopl72Y]_^YWVWWVVVVUUVUTTTUUUTUUVVWYZYXXXYYXXXXXYYZZZZ[\\[[\\Z[[[Z[\]]^^^`acdcb`````_]]]]^^__`__`abccbcglnlgedeeegkqu|~vnkkkoljijkmmihhghjlnoonmmmnmjjjkklmnoqqpooopwtrqrsuurqqqqqrrttstssssuvvvuuuuvvvutstv{ywusrqprrqpqrrqpppppooonoooopppqqponnoppqqqrsttqponnmnouvtpmlkjlllllkkjmmmkkkjjjjkklllmnmlkkllklmmmmllkjjjjkklmkkkllllmlmmnopppooopqqqrqqpppppooprtusqqsrqpoooppppppqqppppppqqroorpopm72Z_a`[XWWWWVVVVUVUTTUUUUTUVVWWXYXWWWXXWWYYYYYZ[[Z[\\\\]^Z[\\[[\]]^__`abdbb`_____\\\\]^_`a`_`acddcdhorohdcdeegkqurtsnkjjkmkhhijjijihghjlnrqnlklmmijkkllmnqrrqonoqxuqpqsuvqqqqqrrsttuvwvuuxyyxwvvvwxxwutuw|yussrqorrqpqrrqoopponnnnoooopppttsrpoopqrrqrrrroonnmmnowxvqnlkjmlkjjiiinnnlllkkjjkklllmnmkkkllkkllllllkjjjjklmmkkkllllmmmmnnopqooppppqqqqpppppooopstrrrvtrpoooppqqqqqpoqppppqqroorpopl74YZ[\ZYXXXYXXYXWVVVVUUUUTUVXYXWVXXWVXYYYVWXYYZ[\]adfe`\Z[\\[[[[[^^^^_cfi`^_`^]__Z[]]^__]```aabbb`cgjlkheeeffgiknlkjigfhjligghijlljjjiiloqqnlkkkkikkjklmmrrqpoppprqppqrtvusrssqqsqtx{|{yw~~|zwsrvxzzxwvwxurqqsttssqppppoonmmllmmmnonmmoprssrqprtusqpqrqponnonmmoqqqomllnjiiijjiijjjkkkklkkkkkkkkkjijklkkiijkkkkkkkkjkmnmjkllllllmmmnnnnnnnmnpqqoooooppppopqqqpqrsttsrrrrrqqrrrpopppppqqqrqpqpon94XXXYWXWZ[[ZZ[ZZXXXWWWWVVWXZ\[ZXXXWVWXXXXXYYZ[\]bejmlga]\\\\\\\\^^^^_cfha`ab`_a`]^___``_``____``^`bdefggfeeefgjkihhgedegigfghhjlljijjjkmnnmlkkjkjlmlklmnsrqpqrrqsqppqruwusrsrqrssuy}|zz}xsrqsuvusrrtssssttttsqooponnmmmmmmmnnonmmnpqrrrqrtvusqqqqqpnmnnmmmnqqqonmnokkjjjkjijjjjjkkklllkkllkkjjjklkkiijjkkkkkkkkkmnnkklllllmmmmmmnnnmmmmoqqpppppppqqqqqqppqrsttsrsssqppqrrqopopppppprqpqqpo:4XXWWVWXYZ[ZZ[ZYYYXXXWWWVWXZ\\[YZZYXWXXXXXXYYZ\^dhloojc_]\\\\\\\____adfgbbfhecca`abbaabb``_^^`ab``aacfkogfdcdfhhgghgfeeggffgghijjhhjkiijjjjjjjijmprollmnrqppqssrrqoopqtvutsttstvvw{}~~xrpoqstsqpoqsuwxwvuvusqpqpommmmmmmmmnnmllmnmnopprtutsrqppppnnnonnnoppponnnpmlkkkkjiiiiiiiijjjjjjjjjjjijjkkjjjkkkkkkjjkkkmnnkkkkkllmnnnnnnnnlllmnpppooopppppqrrqppqqqrrrrrrrrqqruuspppppppqqqppqppo:5YZXXWXXYZZZZZZYYYYYXXXXVWWY[\[Y[[[ZXYYZXXXYY[]^fjmnkgb_]\\]]\\]````beffbfnrmhebacdcbcdeba`_`befaa``bgnshfdccdefghiihgghhghhhhijkiilmkijjjjjjjjkquwsmkmnqpoprtutrpoppqsutsssttuwzy||vrqqrttsqpoorwyxwuuwwusqqpnmnoopooomnppnmmmlmmnoqrtssssqqqqmnnoonnnqqqpppqronmlllkjjjijjjjjkjjjjkjjjjjjjkkkkkkkkkkkkkklnprrmmlllmnnpoooonnnmmnnnpppooppppqqrrrrqqqqppqqqrrsrrrtvvspppqqqqrrqqqrppo96[][ZYYYYZZZZZZYZZZYYYYXWXYZ[[[Z[[[YXXYYYYYYZ[]_inplgca`]]]]]]]]^^__acdcbiuzriebacdddfijdca`acegaa``bfkogecbbccdfghhhggggghhhghijhikljjkkkjiijjkty{uomnnooooruuurpoopprttsssstvx{z{~|~~|{xtrruvwwusqqorvwvttsxyxusqonmmnooonnlnppomllllllnopqpqrrqpqqlmnoppppqqqpppqronmmllkjjjjjjjjjkkkkkkkkiiiiijjjkkjjjjkkjjkmpsuummllmmnnnnmmmmlllmnnnpppnnnoooopqqqqqpppooppqrrrsrstvuropqqrssttqppqppn86[]\[YYYYZZZZZZYYYYXXXXXWY[[[[[[\\[ZYYYYXXYYY[]^jopkea``\\\\\\\\\]^^_aa``fqtmea`bcdefjnoigda`acd____`bdffedccccdefgghhhghijkjhhiihhjjijllkjiiijkrvxtpoooppppruvusqpppqsuutsssuvx}||~~{z{}{ywvttuwxzyxusrprttrrrsyzywtqpommmnnnnnmoqqpnnnonmmnoooopqqqpqqlmoprssrqqqpppqrponnmmlklllkkkkklllllllliijjjjjkllllllmmlklmquvunmmmnnoonnnmmmmmmnnnpqrqnnnooooorqppqpppqppqrssssrrstsqoqqrstuvvqqqqppo:7ZZZYWXXXYYYYYYXYYXXXWWWYZ\\[ZZ[]][ZZZZZWXXYYZ\]ehifb_^][[[[[[[[Z\]^^____afhd`_^`aabdimnjhda__`a^_```aaaccccbbcccdeefgggiknomjhhhggiihhjiihhhhhimprqpoooooonpqrrqpnnnoqsttrrrtuwxxxyxvuuwusrqqstvwxyxvtrqqqqppqrvxxvsrppmmlllllllmoonmmnpnllmnnmmnnonnnnmnoqsttroonnnnooonmmmllkllkkkkjjjjjjjjjjhiiiiiijjjjjjklllkklnqrqllllmmmmlmmmmmmmlllmoqqpmmmmmmnnpoooopoopoopqqqqqppqrrpoqrrstuuvpoppooo=/-,,,--*++++++*,,,,++++-.//.,-./.-,-.--*+,--./0135431.,........+-//000/322201210//0269::841//12./00000/22222233344457768;>@=954556776566666666668:::::9:;:99:;:<:9899;=>=<;;<>?>?@A@><<><;::;=>?@@AA@>=;;::9:;=>??><;;:;:99889979::999:;9889:98889:998879:;=>=;;::99999;:9999878877776677777777455555667777789:87778:::77789988777888889889;<<:8889999::::;<<<;;::;<<<<:99:;<:9;;;<==>>;;;<::= Object = clem2isis + IsisVersion = "3.5.3.0 alpha | 2018-08-01" + ProgramVersion = 2018-09-01 + ProgramPath = /tmp/ssides/clemfix/isis/bin + ExecutionDateTime = 2018-10-17T09:36:41 + HostName = prog24.wr.usgs.gov + UserName = ssides + Description = "Convert Clementine data to Isis cube" + + Group = UserParameters + FROM = lub2303j.191 + TO = lub2303j.191.lev1.cub + End_Group +End_Object +PDS_VERSION_ID = PDS3 + +/* ** FILE FORMAT ** */ +RECORD_TYPE = UNDEFINED + +/* ** POINTERS TO START BYTE OFFSET OF OBJECTS IN FILE ** */ +^IMAGE_HISTOGRAM = 4788 +^BROWSE_IMAGE = 5812 +^IMAGE = 7540 + +/* ** GENERAL DATA DESCRIPTION PARAMETERS ** */ +MISSION_NAME = "DEEP SPACE PROGRAM SCIENCE EXPERIMENT" +SPACECRAFT_NAME = "CLEMENTINE 1" +DATA_SET_ID = CLEM1-L/E/Y-A/B/U/H/L/N-2-EDR-V1.0 +PRODUCT_ID = LUB2303J.191 +ORIGINAL_PRODUCT_ID = LUB20976.191 +PRODUCER_INSTITUTION_NAME = "NAVAL RESEARCH LABORATORY" +PRODUCT_TYPE = EDR +EDR_SOFTWARE_NAME = "NRL-ACT-MGRAB V1.2" +MISSION_PHASE_NAME = "LUNAR MAPPING" +DATA_QUALITY_ID = N/A +TARGET_NAME = MOON +REVOLUTION_NUMBER = 191 +FRAME_SEQUENCE_NUMBER = 2303 + +/* ** TIME PARAMETERS ** */ +START_TIME = 1994-03-31T23:17:10.691Z +STOP_TIME = N/A +UNCORRECTED_START_TIME = 1994-03-31T23:17:10.695Z +SPACECRAFT_CLOCK_START_COUNT = N/A +SPACECRAFT_CLOCK_STOP_COUNT = N/A +PRODUCT_CREATION_TIME = 1994-11-09T22:38:55 + +/* ** CAMERA RELATED PARAMETERS ** */ +INSTRUMENT_NAME = "ULTRAVIOLET/VISIBLE CAMERA" +INSTRUMENT_ID = UVVIS +FILTER_NAME = B +CENTER_FILTER_WAVELENGTH = 750 +BANDWIDTH = 10 +GAIN_MODE_ID = 1 +MCP_GAIN_MODE_ID = N/A +OFFSET_MODE_ID = 6 +EXPOSURE_DURATION = 8.3072 +LENS_TEMPERATURE = 272.02 +FOCAL_PLANE_TEMPERATURE = 272.654 +CRYOCOOLER_TEMPERATURE = N/A +CRYOCOOLER_DURATION = N/A + +/* ** J2000 (ALSO CALLED EME2000) IS THE INERTIAL REFERENCE SYSTEM ** */ +/* ** USED TO SPECIFY OBSERVATIONAL GEOMETRY. LATITUDE AND LONGITUDE ** */ +/* ** COORDINATES OF TARGET ARE PLANETOCENTRIC. GEOMETRIC PARAMETERS ** */ +/* ** ARE BASED ON BEST AVAILABLE DATA AT TIME OF PRODUCT CREATION. ** */ +/* ** REFER TO CLEMENTINE SPICE DATA BASE FOR THE MOST CURRENT ** */ +/* ** OBSERVATIONAL GEOMETRY DATA. ** */ +/* ** LINE-OF-SITE ON CELESTIAL SPHERE: Angles in ** */ +RIGHT_ASCENSION = 185.28 +DECLINATION = -2.87 +TWIST_ANGLE = 335.69 +RETICLE_POINT_RA = (181.86, 186.97, 188.69, 183.59) +RETICLE_POINT_DECLINATION = (-3.62, -5.93, -2.10, 0.19) + +/* ** OBSERVATIONAL SEQUENCE INFORMATION ** */ +SEQUENCE_TABLE_ID = EEQ_06 + +/* ** TARGET PARAMETERS: Position , Velocity ** */ +SC_TARGET_POSITION_VECTOR = (-2220.1, -212.7, -114.0) +SC_TARGET_VELOCITY_VECTOR = (0.2261, 0.7135, -1.5476) +TARGET_CENTER_DISTANCE = 2233.2 + +/* ** TARGET WITHIN SENSOR FOV: Angles in ** */ +SLANT_DISTANCE = 495.8 +CENTER_LATITUDE = 1.67 +CENTER_LONGITUDE = 298.40 +HORIZONTAL_PIXEL_SCALE = 0.126 +VERTICAL_PIXEL_SCALE = 0.126 +SMEAR_MAGNITUDE = 0.09 +SMEAR_AZIMUTH = 88.11 +NORTH_AZIMUTH = 269.99 +RETICLE_POINT_LATITUDE = (1.07, 1.07, 2.27, 2.27) +RETICLE_POINT_LONGITUDE = (299.20, 297.60, 297.60, 299.20) + +/* ** SPACECRAFT POSITION WITH RESPECT TO CENTRAL BODY ** */ +SUB_SPACECRAFT_LATITUDE = 1.68 +SUB_SPACECRAFT_LONGITUDE = 298.34 +SPACECRAFT_ALTITUDE = 495.8 +SUB_SPACECRAFT_AZIMUTH = 352.53 + +/* ** SPACECRAFT LOCATION: Position , Velocity ** */ +SPACECRAFT_SOLAR_DISTANCE = 149645098.3 +SC_SUN_POSITION_VECTOR = (-146788636.1, -26701905.9, -11565465.7) +SC_SUN_VELOCITY_VECTOR = (6.0049, -27.9914, -10.1799) + +/* ** VIEWING AND LIGHTING GEOMETRY (SUN ON TARGET) ** */ +SOLAR_DISTANCE = 149647327.0 +SUB_SOLAR_AZIMUTH = 173.18 +SUB_SOLAR_LATITUDE = 1.07 +SUB_SOLAR_LONGITUDE = 303.36 +INCIDENCE_ANGLE = 4.99 +PHASE_ANGLE = 5.25 +EMISSION_ANGLE = 0.26 +LOCAL_HOUR_ANGLE = 174.97 + +/* ** LIGHTING GEOMETRY FROM SECONDARY SOURCE ** */ +LIGHT_SOURCE_NAME = EARTH +LIGHT_SOURCE_DISTANCE = 369101.0 +SUB_LIGHT_SOURCE_AZIMUTH = 177.01 +SUB_LIGHT_SOURCE_LATITUDE = -2.13 +SUB_LIGHT_SOURCE_LONGITUDE = 5.70 +LIGHT_SOURCE_INCIDENCE_ANGLE = 67.64 +LIGHT_SOURCE_PHASE_ANGLE = 67.90 + +/* ** DESCRIPTION OF OBJECTS CONTAINED IN THE FILE ** */ +Object = IMAGE_HISTOGRAM + ITEMS = 256 + DATA_TYPE = LSB_INTEGER + ITEM_BYTES = 4 +End_Object + +Object = BROWSE_IMAGE + LINES = 36 + LINE_SAMPLES = 48 + SAMPLING_FACTOR = 8 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 +End_Object + +Object = IMAGE + ENCODING_TYPE = CLEM-JPEG-1 + ENCODING_COMPRESSION_RATIO = 8.37 + LINES = 288 + LINE_SAMPLES = 384 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + MAXIMUM = 166 + MINIMUM = 18 + MEAN = 106.654 + STANDARD_DEVIATION = 12.819 + CHECKSUM = 1897244 +End_Object +Endf?ǿ/Kk?GC[??q6ƕ?Ga:=$80X@C]j@$E\@i.&̿%A"?=$l1?V1+ǿbf?n-6Yp> n] l*X>=$ˣA5"p=syAie fA(dߜG;@z|$t'@=$Object = clem2isis + IsisVersion = "3.5.3.0 alpha | 2018-08-01" + ProgramVersion = 2018-09-01 + ProgramPath = /tmp/ssides/clemfix/isis/bin + ExecutionDateTime = 2018-10-17T09:36:41 + HostName = prog24.wr.usgs.gov + UserName = ssides + Description = "Convert Clementine data to Isis cube" + + Group = UserParameters + FROM = lub2303j.191 + TO = lub2303j.191.lev1.cub + End_Group +End_Object + +Object = spiceinit + IsisVersion = "3.5.3.0 alpha | 2018-08-01" + ProgramVersion = 2018-01-11 + ProgramPath = /tmp/ssides/clemfix/isis/bin + ExecutionDateTime = 2018-10-17T09:36:47 + HostName = prog24.wr.usgs.gov + UserName = ssides + Description = "Update SPICE data (kernels, pointing, and position) for + a camera cube" + + Group = UserParameters + FROM = lub2303j.191.lev1.cub + WEB = false + ATTACH = TRUE + CKSMITHED = FALSE + CKRECON = TRUE + CKPREDICTED = FALSE + CKNADIR = FALSE + SPKSMITHED = FALSE + SPKRECON = TRUE + SPKPREDICTED = FALSE + SHAPE = SYSTEM + STARTPAD = 0.0 + ENDPAD = 0.0 + URL = https://services.isis.astrogeology.usgs.gov/cgi-bin/spicei- + nit.cgi + PORT = 443 + End_Group +End_Object diff --git a/isis/tests/data/photomet/pvlfile.txt b/isis/tests/data/photomet/pvlfile.txt new file mode 100644 index 0000000000..6003a7601c --- /dev/null +++ b/isis/tests/data/photomet/pvlfile.txt @@ -0,0 +1,33 @@ +Object = NormalizationModel + Group = Algorithm + Name = Albedo + PhotoModel = HapkeHen + AtmosModel = Anisotropic1 + EndGroup +EndObject +Object = PhotometricModel + Group = Algorithm + Name = HapkeHen + W=0.244 + H=0.07 + B0=2.0 + Theta=20. + HG1=0.4 + HG2=0.6 + iref=30.0 + inc=80. + ema=80. + EndGroup +EndObject +Object = AtmosphericModel + Group = Algorithm + Name = Anisotropic1 + Bha=0.1 + nulneg= YES + Tau = 0.7 + Wha =0.5 + Hga = 0.003 + Inc=80. + Phi=5. + EndGroup +EndObject