51 if(inst[
"InstrumentId"][0] !=
"Marci") {
52 string msg =
"The image does not appear to be a Marci Image";
65 int sumMode = inst[
"SummingMode"];
69 QString stime = inst[
"SpacecraftClockCount"];
75 map<QString, int> filterToDetectorOffset;
76 filterToDetectorOffset.insert(pair<QString, int>(
"BLUE", 709));
77 filterToDetectorOffset.insert(pair<QString, int>(
"GREEN", 734));
78 filterToDetectorOffset.insert(pair<QString, int>(
"ORANGE", 760));
79 filterToDetectorOffset.insert(pair<QString, int>(
"RED", 786));
80 filterToDetectorOffset.insert(pair<QString, int>(
"NIR", 811));
81 filterToDetectorOffset.insert(pair<QString, int>(
"LONG_UV", 266));
82 filterToDetectorOffset.insert(pair<QString, int>(
"SHORT_UV", 293));
84 map<QString, int> filterToFilterNumbers;
85 filterToFilterNumbers.insert(pair<QString, int>(
"BLUE", 0));
86 filterToFilterNumbers.insert(pair<QString, int>(
"GREEN", 1));
87 filterToFilterNumbers.insert(pair<QString, int>(
"ORANGE", 2));
88 filterToFilterNumbers.insert(pair<QString, int>(
"RED", 3));
89 filterToFilterNumbers.insert(pair<QString, int>(
"NIR", 4));
90 filterToFilterNumbers.insert(pair<QString, int>(
"LONG_UV", 5));
91 filterToFilterNumbers.insert(pair<QString, int>(
"SHORT_UV", 6));
93 int frameletOffsetFactor = inst[
"ColorOffset"];
95 if((
int)inst[
"DataFlipped"] != 0) frameletOffsetFactor *= -1;
96 map<QString, int> filterToFrameletOffset;
97 filterToFrameletOffset.insert(pair<QString, int>(
"NIR", 0 * frameletOffsetFactor));
98 filterToFrameletOffset.insert(pair<QString, int>(
"RED", 1 * frameletOffsetFactor));
99 filterToFrameletOffset.insert(pair<QString, int>(
"ORANGE", 2 * frameletOffsetFactor));
100 filterToFrameletOffset.insert(pair<QString, int>(
"GREEN", 3 * frameletOffsetFactor));
101 filterToFrameletOffset.insert(pair<QString, int>(
"BLUE", 4 * frameletOffsetFactor));
102 filterToFrameletOffset.insert(pair<QString, int>(
"LONG_UV", 5 * frameletOffsetFactor));
103 filterToFrameletOffset.insert(pair<QString, int>(
"SHORT_UV", 6 * frameletOffsetFactor));
107 const PvlKeyword &filtNames = bandBin[
"FilterName"];
109 for(
int i = 0; i < filtNames.
size(); i++) {
110 if(filterToDetectorOffset.find(filtNames[i]) == filterToDetectorOffset.end()) {
111 QString msg =
"Unrecognized filter name [" + filtNames[i] +
"]";
115 p_detectorStartLines.push_back(filterToDetectorOffset.find(filtNames[i])->second);
116 p_filterNumbers.push_back(filterToFilterNumbers.find(filtNames[i])->second);
117 p_frameletOffsets.push_back(filterToFrameletOffset.find(filtNames[i])->second);
129 bool flippedFramelets = (int)inst[
"DataFlipped"] != 0;
151 bool evenFramelets = (inst[
"Framelets"][0] ==
"Even");
160 else if(sumMode == 2) {
163 else if(sumMode == 4) {
192 distmap->SetFilter(p_filterNumbers[vband-1]);