Class Rescale

  • All Implemented Interfaces:
    Serializable, Operation

    public class Rescale
    extends OperationJAI
    Maps the sample values of a coverage from one range to another range. The rescaling is done by multiplying each sample value by one of a set of constants and then adding another constant to the result of the multiplication. The destination sample values are defined by the pseudocode:
    dst[x][y][b] = src[x][y][b]*constant + offset;

    Name: "Rescale"
    JAI operator:  "Rescale"
    Parameters:

    Name Class Default value Minimum value Maximum value
    "Source" GridCoverage2D N/A N/A N/A
    "constants" double[] 1.0 N/A N/A
    "offsets" double[] 0.0 N/A N/A
    Since:
    2.2
    Author:
    Martin Desruisseaux (IRD)
    See Also:
    Operations.rescale(org.geotools.api.coverage.Coverage, double[], double[]), RescaleDescriptor, Serialized Form
    • Constructor Detail

      • Rescale

        public Rescale()
        Constructs a default "Rescale" operation.
    • Method Detail

      • deriveRange

        protected NumberRange<? extends Number> deriveRange​(NumberRange<? extends Number>[] ranges,
                                                            OperationJAI.Parameters parameters)
        Returns the expected range of values for the resulting image.
        Overrides:
        deriveRange in class OperationJAI
        Parameters:
        ranges - The range of values from every sources. For unary operations this array has a length of 1. For binary operations like "add" and "multiply", this array has a length of 2.
        parameters - Parameters, rendering hints and coordinate reference system to use.
        Returns:
        The range of values to use in the destination image, or null if unknow.
      • handleJAIEXTParams

        protected void handleJAIEXTParams​(ParameterBlockJAI parameters,
                                          ParameterValueGroup parameters2)
        Description copied from class: OperationJAI
        Extension point for adding to the JAI ParameterBlockJAI object the parameters defined in the ParameterValueGroup, which can be read by the JAI-EXT operations.

        Notice that if you are using JAI, the new parameters will not be accepted by the ParameterBlockJAI instance.

        Overrides:
        handleJAIEXTParams in class OperationJAI
        Parameters:
        parameters - ParameterBlockJAI instance used by the current JAI-EXT/JAI operation
        parameters2 - ParameterValueGroup instance containing input operation parameters
      • getProperties

        protected Map<String,​?> getProperties​(RenderedImage data,
                                                    CoordinateReferenceSystem crs,
                                                    InternationalString name,
                                                    MathTransform gridToCRS,
                                                    GridCoverage2D[] sources,
                                                    OperationJAI.Parameters parameters)
        Description copied from class: OperationJAI
        Prepares the properties to be given to the coverage created by the deriveGridCoverage method. The default implementation returns null.
        Overrides:
        getProperties in class OperationJAI
        Parameters:
        data - The RenderedImage created by this operation.
        crs - The coordinate reference system assigned to the coverage this OperationJAI will produce.
        name - The name assigned to the coverage this OperationJAI will produce.
        gridToCRS - The transform from grid to crs to be assigned to the coverage this OperationJAI will produce.
        sources - The sources to be assigned to the coverage this OperationJAI will produce.
        parameters - The parameters that were used by this OperationJAI.
        Returns:
        a Map with the properties generated by this OperationJAI or null if we haven't any.