Commit 220cd8ab authored by Ken Edmundson's avatar Ken Edmundson
Browse files

Changed call to Camera::SetGround to use the SurfacePoint with the input lidar...

Changed call to Camera::SetGround to use the SurfacePoint with the input lidar point coordinates. Ensures use of lidar point radius instead of the local radius.
parent f8a1629a
Loading
Loading
Loading
Loading
+29 −5
Original line number Diff line number Diff line
@@ -41,9 +41,30 @@ void IsisMain() {
  SerialNumberList cubeList = SerialNumberList(ui.GetFileName("CUBES"));
  double threshold = ui.GetDouble("THRESHOLD");
  double rangeSigma = ui.GetDouble("POINT_RANGE_SIGMA");
  double latSigma = ui.GetDouble("POINT_LATITUDE_SIGMA");
  double lonSigma = ui.GetDouble("POINT_LONGITUDE_SIGMA");
  double radiusSigma = ui.GetDouble("POINT_RADIUS_SIGMA");

  double latSigma = Isis::Null;
  double lonSigma = Isis::Null;
  double radiusSigma = Isis::Null;

  if (ui.GetDouble("POINT_LATITUDE_SIGMA")) {
    latSigma = ui.GetDouble("POINT_LATITUDE_SIGMA");
  }
  if (ui.GetDouble("POINT_LONGITUDE_SIGMA")) {
    lonSigma = ui.GetDouble("POINT_LONGITUDE_SIGMA");
  }
  if (ui.GetDouble("POINT_RADIUS_SIGMA")) {
    radiusSigma = ui.GetDouble("POINT_RADIUS_SIGMA");
  }

//  if (ui.WasEntered("POINT_LATITUDE_SIGMA")) {
//    latSigma = ui.GetDouble("POINT_LATITUDE_SIGMA");
//  }
//  if (ui.WasEntered("POINT_LONGITUDE_SIGMA")) {
//    lonSigma = ui.GetDouble("POINT_LONGITUDE_SIGMA");
//  }
//  if (ui.WasEntered("POINT_RADIUS_SIGMA")) {
//    radiusSigma = ui.GetDouble("POINT_RADIUS_SIGMA");
//  }

  QList<LidarCube> images;
  
@@ -86,6 +107,7 @@ void IsisMain() {
    
    LidarControlPoint *lidarPoint = new LidarControlPoint;
    lidarPoint->SetId(pointId.Next());

    lidarPoint->setTime(time);
    lidarPoint->setRange(range);
    lidarPoint->setSigmaRange(rangeSigma);
@@ -106,7 +128,8 @@ void IsisMain() {
        Camera *camera = cube->camera();
          
        if (camera != NULL) {
          if (camera->SetGround(lat, lon)) {
//        if (camera->SetGround(lat, lon)) {
          if (camera->SetGround(spoint)) {
            double samp = camera->Sample();
            double line = camera->Line();
              
@@ -114,6 +137,7 @@ void IsisMain() {
                && samp < camera->Samples() + .5  &&  line < camera->Lines() + .5) {
        
              ControlMeasure *measure = new ControlMeasure;

              measure->SetCoordinate(camera->Sample(), camera->Line()); 
              measure->SetCubeSerialNumber(images[j].sn);

+8 −3
Original line number Diff line number Diff line
@@ -32,6 +32,11 @@
      functionality may change to include points without simultaneous
      measures in the bundle adjustment.  References #5343.
    </change>
    <change name="Ken Edmundson" date="2018-06-20">
      Changed call to Camera::SetGround to use the SurfacePoint with the input
      lidar point coordinates. Ensures use of lidar point radius instead of the
      local radius.
    </change>
  </history>

  <category>
@@ -167,7 +172,7 @@
            for all points.  Units are meters.
          </description>
          <type>double</type>
          <default><item>10.</item></default>
          <default><item>10.0</item></default>
          <minimum inclusive="yes">0</minimum>
        </parameter>
  
@@ -179,7 +184,7 @@
            uncertainty for all points. Units are meters. 
          </description>
          <type>double</type>
          <default><item>10.</item></default>
          <default><item>10.0</item></default>
          <minimum inclusive="yes">0</minimum>
        </parameter>

@@ -191,7 +196,7 @@
            all points.  Units are meters.
          </description>
          <type>double</type>
          <default><item>10.</item></default>
          <default><item>10.0</item></default>
          <minimum inclusive="yes">0</minimum>
        </parameter>
    </group>