Class SensorToSensorMapping
- java.lang.Object
-
- org.orekit.rugged.adjustment.measurements.SensorToSensorMapping
-
public class SensorToSensorMapping extends Object
Container for mapping sensors pixels of two viewing models. Store the distance between both lines of sight computed withRugged.distanceBetweenLOS(org.orekit.rugged.linesensor.LineSensor, org.orekit.time.AbsoluteDate, double, org.orekit.rugged.utils.SpacecraftToObservedBody, org.orekit.rugged.linesensor.LineSensor, org.orekit.time.AbsoluteDate, double)
Constraints in relation to central body distance can be added.
- Since:
- 2.0
- Author:
- Lucie LabatAllee, Guylaine Prat
- See Also:
SensorMapping
-
-
Constructor Summary
Constructors Constructor Description SensorToSensorMapping(String sensorNameA, String sensorNameB)
Build a new instance without central body constraint (with default Rugged names).SensorToSensorMapping(String sensorNameA, String sensorNameB, double bodyConstraintWeight)
Build a new instance with central body constraints (with default Rugged names): we want to minimize the distance between pixel A and central body.SensorToSensorMapping(String sensorNameA, String ruggedNameA, String sensorNameB, String ruggedNameB)
Build a new instance without central body constraints.SensorToSensorMapping(String sensorNameA, String ruggedNameA, String sensorNameB, String ruggedNameB, double bodyConstraintWeight)
Build a new instance with central body constraint.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addMapping(SensorPixel pixelA, SensorPixel pixelB, Double losDistance)
Add a mapping between two sensor pixels (A and B) and corresponding distance between the LOS.void
addMapping(SensorPixel pixelA, SensorPixel pixelB, Double losDistance, Double bodyDistance)
Add a mapping between two sensor pixels (A and B) and corresponding distance between the LOS and the central body distance constraint associated with pixel A.double
getBodyConstraintWeight()
Get the weight given to the central body distance constraint with respect to the LOS distance.Double
getBodyDistance(int idx)
Get distance between central body and pixel A, corresponding to the inter-mapping index.List<Double>
getBodyDistances()
Get distances between central body and pixel A (mapping with constraints).Double
getLosDistance(int idx)
Get distance between LOS, corresponding to the inter-mapping index.List<Double>
getLosDistances()
Get distances between lines of sight (from both view).Set<Map.Entry<SensorPixel,SensorPixel>>
getMapping()
Get all the inter-mapping entries.String
getRuggedNameA()
Get the name of the Rugged A to which mapping applies.String
getRuggedNameB()
Get the name of the Rugged B to which mapping applies.String
getSensorNameA()
Get the name of the sensor A to which mapping applies.String
getSensorNameB()
Get the name of the sensor B to which mapping applies.void
setBodyConstraintWeight(double bodyConstraintWeight)
Set the central body constraint weight.
-
-
-
Constructor Detail
-
SensorToSensorMapping
public SensorToSensorMapping(String sensorNameA, String sensorNameB)
Build a new instance without central body constraint (with default Rugged names).- Parameters:
sensorNameA
- name of the sensor A to which mapping appliessensorNameB
- name of the sensor B to which mapping applies
-
SensorToSensorMapping
public SensorToSensorMapping(String sensorNameA, String ruggedNameA, String sensorNameB, String ruggedNameB, double bodyConstraintWeight)
Build a new instance with central body constraint.- Parameters:
sensorNameA
- name of the sensor A to which mapping appliesruggedNameA
- name of the Rugged A to which mapping appliessensorNameB
- name of the sensor B to which mapping appliesruggedNameB
- name of the Rugged B to which mapping appliesbodyConstraintWeight
- weight given to the central body distance constraint with respect to the LOS distance (between 0 and 1).
Weighting will be applied as follow :- (1 - bodyConstraintWeight) for LOS distance weighting
- bodyConstraintWeight for central body distance weighting
-
SensorToSensorMapping
public SensorToSensorMapping(String sensorNameA, String ruggedNameA, String sensorNameB, String ruggedNameB)
Build a new instance without central body constraints.- Parameters:
sensorNameA
- name of the sensor A to which mapping appliesruggedNameA
- name of the Rugged A to which mapping appliessensorNameB
- name of the sensor B to which mapping appliesruggedNameB
- name of the Rugged B to which mapping applies
-
SensorToSensorMapping
public SensorToSensorMapping(String sensorNameA, String sensorNameB, double bodyConstraintWeight)
Build a new instance with central body constraints (with default Rugged names): we want to minimize the distance between pixel A and central body.- Parameters:
sensorNameA
- name of the sensor A to which mapping appliessensorNameB
- name of the sensor B to which mapping appliesbodyConstraintWeight
- weight given to the central body distance constraint with respect to the LOS distance (between 0 and 1).
Weighting will be applied as follow :- (1 - bodyConstraintWeight) for LOS distance weighting
- bodyConstraintWeight for central body distance weighting
-
-
Method Detail
-
getSensorNameB
public String getSensorNameB()
Get the name of the sensor B to which mapping applies.- Returns:
- name of the sensor B to which mapping applies
-
getSensorNameA
public String getSensorNameA()
Get the name of the sensor A to which mapping applies.- Returns:
- name of the sensor A to which mapping applies
-
getRuggedNameB
public String getRuggedNameB()
Get the name of the Rugged B to which mapping applies.- Returns:
- name of the Rugged B to which mapping applies
-
getRuggedNameA
public String getRuggedNameA()
Get the name of the Rugged A to which mapping applies.- Returns:
- name of the Rugged A to which mapping applies
-
getMapping
public Set<Map.Entry<SensorPixel,SensorPixel>> getMapping()
Get all the inter-mapping entries.- Returns:
- an unmodifiable view of all mapping entries
-
getLosDistances
public List<Double> getLosDistances()
Get distances between lines of sight (from both view).- Returns:
- the LOS distances
-
getBodyDistances
public List<Double> getBodyDistances()
Get distances between central body and pixel A (mapping with constraints).- Returns:
- the central body distances
-
getBodyConstraintWeight
public double getBodyConstraintWeight()
Get the weight given to the central body distance constraint with respect to the LOS distance.- Returns:
- the central body constraint weight
-
getBodyDistance
public Double getBodyDistance(int idx)
Get distance between central body and pixel A, corresponding to the inter-mapping index.- Parameters:
idx
- inter-mapping index- Returns:
- the central body distances at index idx
-
getLosDistance
public Double getLosDistance(int idx)
Get distance between LOS, corresponding to the inter-mapping index.- Parameters:
idx
- inter-mapping index- Returns:
- the LOS distance at index idx
-
addMapping
public void addMapping(SensorPixel pixelA, SensorPixel pixelB, Double losDistance)
Add a mapping between two sensor pixels (A and B) and corresponding distance between the LOS.- Parameters:
pixelA
- sensor pixel ApixelB
- sensor pixel B corresponding to the sensor pixel A (by direct then inverse location)losDistance
- distance between the two lines of sight
-
addMapping
public void addMapping(SensorPixel pixelA, SensorPixel pixelB, Double losDistance, Double bodyDistance)
Add a mapping between two sensor pixels (A and B) and corresponding distance between the LOS and the central body distance constraint associated with pixel A.- Parameters:
pixelA
- sensor pixel ApixelB
- sensor pixel B corresponding to the sensor pixel A (by direct then inverse location)losDistance
- distance between the two lines of sightbodyDistance
- elevation to central body
-
setBodyConstraintWeight
public void setBodyConstraintWeight(double bodyConstraintWeight)
Set the central body constraint weight.- Parameters:
bodyConstraintWeight
- the central body constraint weight to set
-
-