Class AtmosphericRefraction

  • Direct Known Subclasses:
    MultiLayerModel

    public abstract class AtmosphericRefraction
    extends Object
    Base class for atmospheric refraction model.
    Since:
    2.0
    Author:
    Sergio Esteves, Guylaine Prat
    • Constructor Detail

      • AtmosphericRefraction

        protected AtmosphericRefraction()
        Default constructor.
    • Method Detail

      • deactivateComputation

        public void deactivateComputation()
        Deactivate computation (needed for the inverse location computation).
        Since:
        2.1
      • reactivateComputation

        public void reactivateComputation()
        Reactivate computation (needed for the inverse location computation).
        Since:
        2.1
      • mustBeComputed

        public boolean mustBeComputed()
        Tell if the computation must be performed.
        Returns:
        true if computation must be performed; false otherwise
        Since:
        2.1
      • configureCorrectionGrid

        public void configureCorrectionGrid​(LineSensor sensor,
                                            int minLine,
                                            int maxLine)
        Configuration of the interpolation grid. This grid is associated to the given sensor, with the given min and max lines.
        Parameters:
        sensor - line sensor
        minLine - min line defined for the inverse location
        maxLine - max line defined for the inverse location
        Since:
        2.1
      • isSameContext

        public Boolean isSameContext​(String sensorName,
                                     int minLine,
                                     int maxLine)
        Check if the current atmospheric parameters are the same as the asked ones.
        Parameters:
        sensorName - the asked sensor name
        minLine - the asked min line
        maxLine - the asked max line
        Returns:
        true if same context; false otherwise
        Since:
        2.1
      • getComputationParameters

        public AtmosphericComputationParameters getComputationParameters()
        Get the computation parameters.
        Returns:
        the AtmosphericComputationParameters
        Since:
        2.1
      • setGridSteps

        public void setGridSteps​(int pixelStep,
                                 int lineStep)
        Set the grid steps in pixel and line (used to compute inverse location). Overwrite the default values, for time optimization for instance.
        Parameters:
        pixelStep - pixel step for the inverse location computation
        lineStep - line step for the inverse location computation
        Since:
        2.1
      • setInverseLocMargin

        public void setInverseLocMargin​(double inverseLocMargin)
        Set the margin for computation of inverse location with atmospheric refraction correction. Overwrite the default value DEFAULT_INVLOC_MARGIN. No check is done about this margin. A recommended value is around 1.
        Parameters:
        inverseLocMargin - margin in pixel size to compute inverse location with atmospheric refraction correction.
        Since:
        3.0
      • computeGridCorrectionFunctions

        public void computeGridCorrectionFunctions​(SensorPixel[][] sensorPixelGridInverseWithout)
        Compute the correction functions for pixel and lines. The corrections are computed for pixels and lines, on a regular grid at sensor level. The corrections are based on the difference on grid nodes (where direct loc is known with atmosphere refraction) and the sensor pixel found by inverse loc without atmosphere refraction. The bilinear interpolating functions are then computed for pixel and for line. Need to be computed only once for a given sensor with the same minLine and maxLine.
        Parameters:
        sensorPixelGridInverseWithout - inverse location grid WITHOUT atmospheric refraction
        Since:
        2.1