Skip to content
Snippets Groups Projects
Commit 8377bf82 authored by Guylaine Prat's avatar Guylaine Prat
Browse files

Changed "fulcrum points" to "Ground Control Points (GCP)" and "liaison

points" to "tie points"
parent 2f1962e8
No related branches found
No related tags found
No related merge requests found
...@@ -52,7 +52,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel; ...@@ -52,7 +52,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel;
import fr.cs.examples.refiningPleiades.models.PleiadesViewingModel; import fr.cs.examples.refiningPleiades.models.PleiadesViewingModel;
/** /**
* Class for testing refining (fulcrum points study) * Class for testing refining (Ground Control Points GCP study)
* with or without noisy measurements * with or without noisy measurements
* @author Jonathan Guinet * @author Jonathan Guinet
* @author Lucie Labat-Allee * @author Lucie Labat-Allee
......
...@@ -54,7 +54,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel; ...@@ -54,7 +54,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel;
import fr.cs.examples.refiningPleiades.models.PleiadesViewingModel; import fr.cs.examples.refiningPleiades.models.PleiadesViewingModel;
/** /**
* Class for testing refining (liaison points study) * Class for testing refining (tie points study)
* with or without noisy measurements * with or without noisy measurements
* @author Jonathan Guinet * @author Jonathan Guinet
* @author Lucie Labat-Allee * @author Lucie Labat-Allee
......
...@@ -217,7 +217,7 @@ public class Refining { ...@@ -217,7 +217,7 @@ public class Refining {
} }
/** Compute metrics to evaluate geometric performances in location, /** Compute metrics to evaluate geometric performances in location,
* for fulcrum points study. * for Ground Control Points GCP study.
* @param groundMapping sensor to ground mapping * @param groundMapping sensor to ground mapping
* @param rugged Rugged instance * @param rugged Rugged instance
* @param unit flag to know if distance is computed in meters (false) or with angular (true) * @param unit flag to know if distance is computed in meters (false) or with angular (true)
...@@ -238,7 +238,7 @@ public class Refining { ...@@ -238,7 +238,7 @@ public class Refining {
} }
/** Compute metrics to evaluate geometric performances in location, /** Compute metrics to evaluate geometric performances in location,
* for liaison points study. * for tie points study.
* @param interMapping sensor to sensor mapping * @param interMapping sensor to sensor mapping
* @param ruggedA Rugged instance A * @param ruggedA Rugged instance A
* @param ruggedB Rugged instance B * @param ruggedB Rugged instance B
...@@ -297,7 +297,7 @@ public class Refining { ...@@ -297,7 +297,7 @@ public class Refining {
}); });
} }
/** Start optimization to adjust parameters (fulcrum points study). /** Start optimization to adjust parameters (Ground Control Points GCP study).
* @param maxIterations iterations max * @param maxIterations iterations max
* @param convergenceThreshold threshold of convergence * @param convergenceThreshold threshold of convergence
* @param measurements ground measurements * @param measurements ground measurements
...@@ -314,11 +314,12 @@ public class Refining { ...@@ -314,11 +314,12 @@ public class Refining {
// Print statistics // Print statistics
System.out.format("Max value: %3.6e %n", optimum.getResiduals().getMaxValue()); System.out.format("Max value: %3.6e %n", optimum.getResiduals().getMaxValue());
System.out.format("Optimization performed in %d iterations \n", optimum.getEvaluations()); System.out.format("Optimization performed in %d iterations \n", optimum.getIterations());
System.out.format("Optimization performed with %d evaluations of model (objective) function \n", optimum.getEvaluations());
System.out.format("RMSE: %f \n", optimum.getRMS()); System.out.format("RMSE: %f \n", optimum.getRMS());
} }
/** Start optimization to adjust parameters (liaison points study). /** Start optimization to adjust parameters (tie points study).
* @param maxIterations iterations max * @param maxIterations iterations max
* @param convergenceThreshold threshold of convergence * @param convergenceThreshold threshold of convergence
* @param measurements measurements * @param measurements measurements
...@@ -346,7 +347,8 @@ public class Refining { ...@@ -346,7 +347,8 @@ public class Refining {
// Print statistics // Print statistics
System.out.format("Max value: %3.6e %n", optimum.getResiduals().getMaxValue()); System.out.format("Max value: %3.6e %n", optimum.getResiduals().getMaxValue());
System.out.format("Optimization performed in %d iterations \n", optimum.getEvaluations()); System.out.format("Optimization performed in %d iterations \n", optimum.getIterations());
System.out.format("Optimization performed with %d evaluations of model (objective) function \n", optimum.getEvaluations());
System.out.format("RMSE: %f \n", optimum.getRMS()); System.out.format("RMSE: %f \n", optimum.getRMS());
} }
......
...@@ -305,10 +305,11 @@ public class InterMeasurementGenerator implements Measurable { ...@@ -305,10 +305,11 @@ public class InterMeasurementGenerator implements Measurable {
// Increment the number of measurements // Increment the number of measurements
this.measurementCount++; this.measurementCount++;
}
} } // end test if geoDistance < outlier
} } // end test if sensorPixelB != null
} } // end loop on pixel of sensorA
} // end loop on line of sensorA
this.observables.addInterMapping(interMapping); this.observables.addInterMapping(interMapping);
} }
......
...@@ -34,7 +34,7 @@ import org.orekit.time.AbsoluteDate; ...@@ -34,7 +34,7 @@ import org.orekit.time.AbsoluteDate;
/** /**
* Class for testing geometric performances in absolute location. * Class for testing geometric performances in absolute location.
* Metrics are computed for two scenarios: ground points and liaison points. * Metrics are computed for two scenarios: ground control points and tie points.
* @see SensorToSensorMapping * @see SensorToSensorMapping
* @see SensorToGroundMapping * @see SensorToGroundMapping
* @author Jonathan Guinet * @author Jonathan Guinet
...@@ -63,7 +63,7 @@ public class LocalisationMetrics { ...@@ -63,7 +63,7 @@ public class LocalisationMetrics {
private double earthDistanceMean; private double earthDistanceMean;
/** Compute metrics corresponding to the ground points study. /** Compute metrics corresponding to the Ground Control Points (GCP) study.
* @param measMapping Mapping of observations/measurements = the ground truth * @param measMapping Mapping of observations/measurements = the ground truth
* @param rugged Rugged instance * @param rugged Rugged instance
* @param computeAngular flag to know if distance is computed in meters (false) or with angular (true) * @param computeAngular flag to know if distance is computed in meters (false) or with angular (true)
...@@ -76,11 +76,11 @@ public class LocalisationMetrics { ...@@ -76,11 +76,11 @@ public class LocalisationMetrics {
this.resMax = 0.0; this.resMax = 0.0;
this.resMean = 0.0; this.resMean = 0.0;
// Compute metrics - Case of Sensor to Ground mapping (fulcrum points study) // Compute metrics - Case of Sensor to Ground mapping (Ground Control Points GCP study)
computeMetrics(measMapping, rugged, computeAngular); computeGCPmetrics(measMapping, rugged, computeAngular);
} }
/** Compute metrics corresponding to the liaison points study. /** Compute metrics corresponding to the tie points study.
* @param measMapping Mapping of observations/measurements = the ground truth * @param measMapping Mapping of observations/measurements = the ground truth
* @param ruggedA Rugged instance corresponding to viewing model A * @param ruggedA Rugged instance corresponding to viewing model A
* @param ruggedB Rugged instance corresponding to viewing model B * @param ruggedB Rugged instance corresponding to viewing model B
...@@ -99,18 +99,18 @@ public class LocalisationMetrics { ...@@ -99,18 +99,18 @@ public class LocalisationMetrics {
this.earthDistanceMax = 0.0; this.earthDistanceMax = 0.0;
this.earthDistanceMean = 0.0; this.earthDistanceMean = 0.0;
// Compute metrics - Case of Sensor to Sensor mapping (liaison points study) // Compute metrics - Case of Sensor to Sensor mapping (tie points study)
computeLiaisonMetrics(measMapping, ruggedA, ruggedB, computeAngular); computeTiePointsMetrics(measMapping, ruggedA, ruggedB, computeAngular);
} }
/** /**
* Compute metrics: case of ground control points. * Compute metrics: case of ground control points (GCP).
* @param measMapping Mapping of observations/measurements = the ground truth * @param measMapping Mapping of observations/measurements = the ground truth
* @param rugged Rugged instance * @param rugged Rugged instance
* @param computeAngular flag to know if distance is computed in meters (false) or with angular (true) * @param computeAngular flag to know if distance is computed in meters (false) or with angular (true)
* @exception RuggedException if direct location fails * @exception RuggedException if direct location fails
*/ */
public void computeMetrics(final SensorToGroundMapping measMapping, final Rugged rugged, final boolean computeAngular) public void computeGCPmetrics(final SensorToGroundMapping measMapping, final Rugged rugged, final boolean computeAngular)
throws RuggedException { throws RuggedException {
// Mapping of observations/measurements = the ground truth // Mapping of observations/measurements = the ground truth
...@@ -154,14 +154,14 @@ public class LocalisationMetrics { ...@@ -154,14 +154,14 @@ public class LocalisationMetrics {
} }
/** /**
* Compute metrics: case of liaison points. * Compute metrics: case of tie points.
* @param measMapping Mapping of observations/measurements = the ground truth * @param measMapping Mapping of observations/measurements = the ground truth
* @param ruggedA Rugged instance corresponding to viewing model A * @param ruggedA Rugged instance corresponding to viewing model A
* @param ruggedB Rugged instance corresponding to viewing model B * @param ruggedB Rugged instance corresponding to viewing model B
* @param computeAngular Flag to know if distance is computed in meters (false) or with angular (true) * @param computeAngular Flag to know if distance is computed in meters (false) or with angular (true)
* @exception RuggedException if direct location fails * @exception RuggedException if direct location fails
*/ */
public void computeLiaisonMetrics(final SensorToSensorMapping measMapping, final Rugged ruggedA, final Rugged ruggedB, public void computeTiePointsMetrics(final SensorToSensorMapping measMapping, final Rugged ruggedA, final Rugged ruggedB,
final boolean computeAngular) final boolean computeAngular)
throws RuggedException { throws RuggedException {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment