Class PythonObservedMeasurement<T extends ObservedMeasurement<T>>
- java.lang.Object
-
- org.orekit.estimation.measurements.PythonObservedMeasurement<T>
-
- All Implemented Interfaces:
Comparable<ComparableMeasurement>
,ComparableMeasurement
,ObservedMeasurement<T>
,TimeStamped
,ParameterDriversProvider
public class PythonObservedMeasurement<T extends ObservedMeasurement<T>> extends Object implements ObservedMeasurement<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected long
pythonObject
Part of JCC Python interface to object
-
Constructor Summary
Constructors Constructor Description PythonObservedMeasurement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addModifier(EstimationModifier<T> modifier)
Add a modifier.int
compareTo(ComparableMeasurement other)
EstimatedMeasurement<T>
estimate(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value of the measurement.EstimatedMeasurementBase<T>
estimateWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value of the measurement, without derivatives.void
finalize()
double[]
getBaseWeight()
Get the base weight associated with the measurementAbsoluteDate
getDate()
Get the date.int
getDimension()
Get the dimension of the measurement.String
getMeasurementType()
Get the type of measurement.List<EstimationModifier<T>>
getModifiers()
Get the modifiers that apply to a measurement.double[]
getObservedValue()
Get the observed value.List<ParameterDriver>
getParametersDrivers()
Get the drivers for this measurement parameters, including its modifiers parameters.List<ObservableSatellite>
getSatellites()
Get the satellites related to this measurement.double[]
getTheoreticalStandardDeviation()
Get the theoretical standard deviation.boolean
isEnabled()
Check if a measurement is enabled.void
pythonDecRef()
long
pythonExtension()
void
pythonExtension(long pythonObject)
void
setEnabled(boolean enabled)
Enable or disable a measurement.-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
-
-
-
Method Detail
-
pythonExtension
public void pythonExtension(long pythonObject)
-
pythonExtension
public long pythonExtension()
-
finalize
public void finalize() throws Throwable
-
pythonDecRef
public void pythonDecRef()
-
setEnabled
public void setEnabled(boolean enabled)
Enable or disable a measurement.Disabling a measurement allow to not consider it at one stage of the orbit determination (for example when it appears to be an outlier as per current estimated covariance).
- Specified by:
setEnabled
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Parameters:
enabled
- if true the measurement will be enabled, otherwise it will be disabled
-
isEnabled
public boolean isEnabled()
Check if a measurement is enabled.- Specified by:
isEnabled
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- true if the measurement is enabled
-
getDimension
public int getDimension()
Get the dimension of the measurement.Dimension is the size of the array containing the value. It will be one for a scalar measurement like a range or range-rate, but 6 for a position-velocity measurement.
- Specified by:
getDimension
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- dimension of the measurement
-
getTheoreticalStandardDeviation
public double[] getTheoreticalStandardDeviation()
Get the theoretical standard deviation.The theoretical standard deviation is a theoretical value used for normalizing the residuals. It acts as a weighting factor to mix appropriately measurements with different units and different accuracy. The value has the same dimension as the measurement itself (i.e. when a residual is divided by this value, it becomes dimensionless).
- Specified by:
getTheoreticalStandardDeviation
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- expected standard deviation
- See Also:
getBaseWeight()
-
getBaseWeight
public double[] getBaseWeight()
Get the base weight associated with the measurementThe base weight is used on residuals already normalized thanks to
getTheoreticalStandardDeviation()
to increase or decrease relative effect of some measurements with respect to other measurements. It is a dimensionless value, typically between 0 and 1 (but it can really have any non-negative value).- Specified by:
getBaseWeight
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- base weight
- See Also:
getTheoreticalStandardDeviation()
-
addModifier
public void addModifier(EstimationModifier<T> modifier)
Add a modifier.The modifiers are applied in the order in which they are added in order to
estimate
the measurement.- Specified by:
addModifier
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Parameters:
modifier
- modifier to add- See Also:
getModifiers()
-
getModifiers
public List<EstimationModifier<T>> getModifiers()
Get the modifiers that apply to a measurement.- Specified by:
getModifiers
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- modifiers that apply to a measurement
- See Also:
addModifier(EstimationModifier)
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for this measurement parameters, including its modifiers parameters.- Specified by:
getParametersDrivers
in interfaceParameterDriversProvider
- Returns:
- drivers for this measurement parameters, including its modifiers parameters
-
getSatellites
public List<ObservableSatellite> getSatellites()
Get the satellites related to this measurement.- Specified by:
getSatellites
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- satellites related to this measurement
- Since:
- 9.3
-
estimateWithoutDerivatives
public EstimatedMeasurementBase<T> estimateWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
Description copied from interface:ObservedMeasurement
Estimate the theoretical value of the measurement, without derivatives.The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.
- Specified by:
estimateWithoutDerivatives
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Parameters:
iteration
- iteration numberevaluation
- evaluations numberstates
- orbital states corresponding toObservedMeasurement.getSatellites()
at measurement date- Returns:
- estimated measurement
-
estimate
public EstimatedMeasurement<T> estimate(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value of the measurement.The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.
- Specified by:
estimate
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Parameters:
iteration
- iteration numberevaluation
- evaluations numberstates
- orbital states at measurement date- Returns:
- estimated measurement
-
getObservedValue
public double[] getObservedValue()
Get the observed value.The observed value is the value that was measured by the instrument.
- Specified by:
getObservedValue
in interfaceComparableMeasurement
- Returns:
- observed value (array of size
getDimension()
-
compareTo
public int compareTo(ComparableMeasurement other)
Measurements comparison is primarily chronological, but measurements with the same date are sorted based on the observed value. Even if they have the same value too, they will not be considered equal if they correspond to different instances. This allows to store measurements in
SortedSet
without losing any measurements, even redundant ones.Measurements comparison is primarily chronological, but measurements with the same date are sorted based on the observed value. Even if they have the same value too, they will not be considered equal if they correspond to different instances. This allows to store measurements in
SortedSet
without losing any measurements, even redundant ones.- Specified by:
compareTo
in interfaceComparable<T extends ObservedMeasurement<T>>
- Specified by:
compareTo
in interfaceComparableMeasurement
- Parameters:
other
-
-
getDate
public AbsoluteDate getDate()
Get the date.- Specified by:
getDate
in interfaceTimeStamped
- Returns:
- date attached to the object
-
getMeasurementType
public String getMeasurementType()
Get the type of measurement.- Specified by:
getMeasurementType
in interfaceObservedMeasurement<T extends ObservedMeasurement<T>>
- Returns:
- type of measurement
-
-