Commit 263c7def authored by Tyler Wilson's avatar Tyler Wilson
Browse files

Fixed merge conflict between master and isd_keyword_update for UsgsAstroPlugin.cpp

parents 0923b22b 3467d668
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -85,7 +85,9 @@ class UsgsAstroLsStateData
   int          m_PlatformFlag;                   // 7
   int          m_AberrFlag;                      // 8
   int          m_AtmRefFlag;                     // 9
   double       m_IntTime;                        // 10
   std::vector<double> m_IntTimeLines;
   std::vector<double> m_IntTimeStartTimes;
   std::vector<double> m_IntTimes;
   double       m_StartingEphemerisTime;          // 11
   double       m_CenterEphemerisTime;            // 12
   double       m_DetectorSampleSumming;          // 13
@@ -151,7 +153,9 @@ class UsgsAstroLsStateData
       STA_PLATFORM_FLAG,
       STA_ABERR_FLAG,
       STA_ATMREF_FLAG,
       STA_INT_TIME,
       STA_INT_TIME_LINES,
       STA_INT_TIME_START_TIMES,
       STA_INT_TIMES,
       STA_STARTING_EPHEMERIS_TIME,
       STA_CENTER_EPHEMERIS_TIME,
       STA_DETECTOR_SAMPLE_SUMMING,
+18 −10
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@

#include "genericls/UsgsAstroLsSensorModel.h"

#include <algorithm>
#include <iostream>
#include <sstream>
#include <math.h>
@@ -108,7 +109,9 @@ void UsgsAstroLsSensorModel::updateState()
   _data.m_HalfSwath = _data.m_Gsd * _data.m_TotalSamples / 2.0;

   // Compute half time duration
   _data.m_HalfTime = _data.m_IntTime * _data.m_TotalLines / 2.0;
   double fullImageTime = _data.m_IntTimeStartTimes.back() - _data.m_IntTimeStartTimes.front()
                          + _data.m_IntTimes.back() * (_data.m_TotalLines - _data.m_IntTimeLines.back());
   _data.m_HalfTime = fullImageTime / 2.0;

   // Parameter covariance, hardcoded accuracy values
   int num_params = _data.NUM_PARAMETERS;
@@ -870,8 +873,6 @@ double UsgsAstroLsSensorModel::getImageTime(
{
   // Flip image taken backwards
   double line1 = image_pt.line;
   if (_data.m_ImageFlipFlag == 1)
      line1 = _data.m_TotalLines - 1 - image_pt.line;

   // CSM image convention: UL pixel center == (0.5, 0.5)
   // USGS image convention: UL pixel center == (1.0, 1.0)
@@ -879,13 +880,20 @@ double UsgsAstroLsSensorModel::getImageTime(
   double lineCSMFull = line1 + _data.m_OffsetLines;
   double lineUSGSFull = lineCSMFull + 0.5;

   // USGS timing reference leftmost-side 1st full row
   double timeUsgs = _data.m_IntTime * (lineUSGSFull - 0.5)
      + _data.m_StartingEphemerisTime;
   // These calculation assumes that the values in the integration time
   // vectors are in terms of ISIS' pixels
   auto referenceLineIt = std::upper_bound(_data.m_IntTimeLines.begin(),
                                           _data.m_IntTimeLines.end(),
                                           lineUSGSFull);
   if (referenceLineIt != _data.m_IntTimeLines.begin()) {
      --referenceLineIt;
   }
   size_t referenceIndex = std::distance(_data.m_IntTimeLines.begin(), referenceLineIt);

   double time = _data.m_IntTimeStartTimes[referenceIndex]
      + _data.m_IntTimes[referenceIndex] * (lineUSGSFull - _data.m_IntTimeLines[referenceIndex]);

   // Translate time origin to image geometric center
   // Same as ephemeris and attitude time origin
   return timeUsgs - _data.m_CenterEphemerisTime;
   return time;

}

@@ -1355,7 +1363,7 @@ void UsgsAstroLsSensorModel::losToEcf(
   double p12 = -m12 / determinant;
   double p21 = -m21 / determinant;
   double p22 = m22 / determinant;
   double isisNatFocalPlaneX = p11 * t1 + p21 * t2;
   double isisNatFocalPlaneX = p11 * t1 + p12 * t2;
   double isisNatFocalPlaneY = p21 * t1 + p22 * t2;

   // Remove lens distortion
+30 −5
Original line number Diff line number Diff line
@@ -72,7 +72,9 @@ const std::string UsgsAstroLsStateData::STATE_KEYWORD[] =
   "STA_PLATFORM_FLAG",
   "STA_ABERR_FLAG",
   "STA_ATMREF_FLAG",
   "STA_INT_TIME",
   "STA_INT_TIME_LINES",
   "STA_INT_TIME_START_TIMES",
   "STA_INT_TIMES",
   "STA_STARTING_EPHEMERIS_TIME",
   "STA_CENTER_EPHEMERIS_TIME",
   "STA_DETECTOR_SAMPLE_SUMMING",
@@ -147,7 +149,9 @@ std::string UsgsAstroLsStateData::toJson() const {
        {STATE_KEYWORD[STA_PLATFORM_FLAG], m_PlatformFlag},
        {STATE_KEYWORD[STA_ABERR_FLAG], m_AberrFlag},
        {STATE_KEYWORD[STA_ATMREF_FLAG], m_AtmRefFlag},
        {STATE_KEYWORD[STA_INT_TIME], m_IntTime},
        {STATE_KEYWORD[STA_INT_TIME_LINES], m_IntTimeLines},
        {STATE_KEYWORD[STA_INT_TIME_START_TIMES], m_IntTimeStartTimes},
        {STATE_KEYWORD[STA_INT_TIMES], m_IntTimes},
        {STATE_KEYWORD[STA_STARTING_EPHEMERIS_TIME], m_StartingEphemerisTime},
        {STATE_KEYWORD[STA_CENTER_EPHEMERIS_TIME], m_CenterEphemerisTime},
        {STATE_KEYWORD[STA_DETECTOR_SAMPLE_SUMMING], m_DetectorSampleSumming},
@@ -214,7 +218,24 @@ std::string UsgsAstroLsStateData::toString() const
   state_stream << STATE_KEYWORD[STA_PLATFORM_FLAG]     << " " << m_PlatformFlag      << "\n";  // 9
   state_stream << STATE_KEYWORD[STA_ABERR_FLAG] << " " << m_AberrFlag         << "\n";  // 10
   state_stream << STATE_KEYWORD[STA_ATMREF_FLAG]<< " " << m_AtmRefFlag        << "\n";  // 11
   state_stream << STATE_KEYWORD[STA_INT_TIME]   << " " << m_IntTime           << "\n";  // 12
   state_stream << STATE_KEYWORD[STA_INT_TIME_LINES]    << " " ;
   for (size_t i = 0; i < m_IntTimeLines.size(); i++)
   {
      state_stream << m_IntTimeLines[i] << " ";
   }
   state_stream << "\n";
   state_stream << STATE_KEYWORD[STA_INT_TIME_START_TIMES] << " " ;
   for (size_t i = 0; i < m_IntTimeStartTimes.size(); i++)
   {
      state_stream << m_IntTimeStartTimes[i] << " ";
   }
   state_stream << "\n";
   state_stream << STATE_KEYWORD[STA_INT_TIMES]         << " " ;
   for (size_t i = 0; i < m_IntTimes.size(); i++)
   {
      state_stream << m_IntTimes[i] << " ";
   }
   state_stream << "\n";
   state_stream << STATE_KEYWORD[STA_STARTING_EPHEMERIS_TIME]  << " "
                                           << m_StartingEphemerisTime << "\n";  // 13
   state_stream << STATE_KEYWORD[STA_CENTER_EPHEMERIS_TIME]    << " "
@@ -345,7 +366,9 @@ void UsgsAstroLsStateData::setState(const std::string &stateString )
   m_PlatformFlag = j["STA_PLATFORM_FLAG"];
   m_AberrFlag = j["STA_ABERR_FLAG"];
   m_AtmRefFlag = j["STA_ATMREF_FLAG"];
   m_IntTime = j["STA_INT_TIME"];
   m_IntTimeLines = j["STA_INT_TIME_LINES"].get<std::vector<double>>();
   m_IntTimeStartTimes = j["STA_INT_TIME_START_TIMES"].get<std::vector<double>>();
   m_IntTimes = j["STA_INT_TIMES"].get<std::vector<double>>();
   m_StartingEphemerisTime = j["STA_STARTING_EPHEMERIS_TIME"];
   m_CenterEphemerisTime = j["STA_CENTER_EPHEMERIS_TIME"];
   m_DetectorSampleSumming = j["STA_DETECTOR_SAMPLE_SUMMING"];
@@ -443,7 +466,9 @@ void UsgsAstroLsStateData::reset()
   m_PlatformFlag  = 1;                       // 9
   m_AberrFlag     = 0;                       // 10
   m_AtmRefFlag    = 0;                       // 11
   m_IntTime       = 0.001;                   // 12
   m_IntTimeLines.clear();
   m_IntTimeStartTimes.clear();
   m_IntTimes.clear();
   m_StartingEphemerisTime = 0.0;             // 13
   m_CenterEphemerisTime = 0.0;               // 14
   m_DetectorSampleSumming = 1.0;             // 15
+3 −1
Original line number Diff line number Diff line
@@ -8,7 +8,9 @@ STA_OFFSET_SAMPLES 0
STA_PLATFORM_FLAG 1
STA_ABERR_FLAG 0
STA_ATMREF_FLAG 0
STA_INT_TIME 0.001877
STA_INT_TIME_LINES 0.5
STA_INT_TIME_START_TIMES 517362754.228396
STA_INT_TIMES 0.001877
STA_STARTING_EPHEMERIS_TIME 517362754.2284
STA_CENTER_EPHEMERIS_TIME 517362771.52589
STA_DETECTOR_SAMPLE_SUMMING 1
+3 −1
Original line number Diff line number Diff line
@@ -20,7 +20,9 @@
	"STA_IK_CODE": -74021,
	"STA_IMAGE_FLIP_FLAG": 0,
	"STA_IMAGE_IDENTIFIER": "UNKNOWN",
	"STA_INT_TIME": 0.001877,
	"STA_INT_TIME_LINES": [0.5],
	"STA_INT_TIME_START_TIMES": [-17.2974935173988],
	"STA_INT_TIMES": [0.001877],
	"STA_ISIS_Z_DIRECTION": 1,
	"STA_I_TRANS_L": [0.0, 142.85714285714, 0.0],
	"STA_I_TRANS_S": [0.0, 0.0, 142.85714285714],
Loading