diff --git a/src/test/java/org/orekit/rugged/utils/RefiningLiaisonMetrics.java b/src/test/java/org/orekit/rugged/utils/RefiningTiePointsMetrics.java similarity index 100% rename from src/test/java/org/orekit/rugged/utils/RefiningLiaisonMetrics.java rename to src/test/java/org/orekit/rugged/utils/RefiningTiePointsMetrics.java diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java index ea7e36a07f5ed6eb615b324f1dc16f861d5615bb..c2e91d755112a86e35e70ed91372899bc718444e 100644 --- a/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java +++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/GroundRefining.java @@ -52,7 +52,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel; 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 * @author Jonathan Guinet * @author Lucie Labat-Allee diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java index 6028823feb9f36ab31422698ee5b883f5d0b3f63..11bb47b6b2039e96b9bd04d9847b0d543442c80b 100644 --- a/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java +++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/InterRefining.java @@ -54,7 +54,7 @@ import fr.cs.examples.refiningPleiades.models.OrbitModel; 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 * @author Jonathan Guinet * @author Lucie Labat-Allee diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/Refining.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/Refining.java index a0f7c02549ad4fb23228586eadc98fd00d87bf7d..b5dc3072c0363b02087467594db5e4eff8f665b6 100644 --- a/src/tutorials/java/fr/cs/examples/refiningPleiades/Refining.java +++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/Refining.java @@ -217,7 +217,7 @@ public class Refining { } /** 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 rugged Rugged instance * @param unit flag to know if distance is computed in meters (false) or with angular (true) @@ -238,7 +238,7 @@ public class Refining { } /** Compute metrics to evaluate geometric performances in location, - * for liaison points study. + * for tie points study. * @param interMapping sensor to sensor mapping * @param ruggedA Rugged instance A * @param ruggedB Rugged instance B @@ -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 convergenceThreshold threshold of convergence * @param measurements ground measurements @@ -314,11 +314,12 @@ public class Refining { // Print statistics 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()); } - /** Start optimization to adjust parameters (liaison points study). + /** Start optimization to adjust parameters (tie points study). * @param maxIterations iterations max * @param convergenceThreshold threshold of convergence * @param measurements measurements @@ -346,7 +347,8 @@ public class Refining { // Print statistics 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()); } diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/generators/InterMeasurementGenerator.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/generators/InterMeasurementGenerator.java index 49c56cbd1021b6302f44b5ed27825863030be132..e09387147e6e585e8cb569742af95415d9b1bb91 100644 --- a/src/tutorials/java/fr/cs/examples/refiningPleiades/generators/InterMeasurementGenerator.java +++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/generators/InterMeasurementGenerator.java @@ -305,10 +305,11 @@ public class InterMeasurementGenerator implements Measurable { // Increment the number of measurements 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); } diff --git a/src/tutorials/java/fr/cs/examples/refiningPleiades/metrics/LocalisationMetrics.java b/src/tutorials/java/fr/cs/examples/refiningPleiades/metrics/LocalisationMetrics.java index 596c8203996f024dbaead3a2c0653d657bcbcae1..3efbc3e4e2ef785e874e7c3fdea56e99bf1b890b 100644 --- a/src/tutorials/java/fr/cs/examples/refiningPleiades/metrics/LocalisationMetrics.java +++ b/src/tutorials/java/fr/cs/examples/refiningPleiades/metrics/LocalisationMetrics.java @@ -34,7 +34,7 @@ import org.orekit.time.AbsoluteDate; /** * 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 SensorToGroundMapping * @author Jonathan Guinet @@ -63,7 +63,7 @@ public class LocalisationMetrics { 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 rugged Rugged instance * @param computeAngular flag to know if distance is computed in meters (false) or with angular (true) @@ -76,11 +76,11 @@ public class LocalisationMetrics { this.resMax = 0.0; this.resMean = 0.0; - // Compute metrics - Case of Sensor to Ground mapping (fulcrum points study) - computeMetrics(measMapping, rugged, computeAngular); + // Compute metrics - Case of Sensor to Ground mapping (Ground Control Points GCP study) + 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 ruggedA Rugged instance corresponding to viewing model A * @param ruggedB Rugged instance corresponding to viewing model B @@ -99,18 +99,18 @@ public class LocalisationMetrics { this.earthDistanceMax = 0.0; this.earthDistanceMean = 0.0; - // Compute metrics - Case of Sensor to Sensor mapping (liaison points study) - computeLiaisonMetrics(measMapping, ruggedA, ruggedB, computeAngular); + // Compute metrics - Case of Sensor to Sensor mapping (tie points study) + 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 rugged Rugged instance * @param computeAngular flag to know if distance is computed in meters (false) or with angular (true) * @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 { // Mapping of observations/measurements = the ground truth @@ -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 ruggedA Rugged instance corresponding to viewing model A * @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) * @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) throws RuggedException {