Class LevelMode

java.lang.Object
uk.ac.starlink.ttools.plot2.layer.LevelMode

@Equality public abstract class LevelMode extends Object
Defines a strategy for calculating contour level values from an array of data.
Since:
17 Feb 2013
Author:
Mark Taylor
  • Field Details

    • LINEAR

      public static LevelMode LINEAR
      Linear scaling - level values are equally spaced.
    • LOG

      public static LevelMode LOG
      Logarithmic scaling - level logarithms are equally spaced
    • EQU

      public static LevelMode EQU
      Equal-area scaling - levels are spaced to provide equally sized inter-contour regions.
    • MODES

      public static final LevelMode[] MODES
      Known level mode instances.
  • Constructor Details

    • LevelMode

      protected LevelMode(String name, String description)
      Constructor.
      Parameters:
      name - mode name
      description - short description of mode
  • Method Details

    • calculateLevels

      public abstract double[] calculateLevels(NumberArray array, int nLevel, double offset, boolean isCounts)
      Calculates the contour levels for a given data array.
      Parameters:
      array - data array; NaN elements are permitted and ignored
      nLevel - number of requested levels; actual level count may not be the same as this depending on data
      offset - offset from zero of the value of the first contour, expected in the range 0..1; adjusting this will sweep contours over all positions
      isCounts - true if the values are counts rather than continuously varying; if true, some adjustments are made on the basis of the assumption that differences of scale smaller than 1 don't make much sense
    • getDescription

      public String getDescription()
      Returns a short description of this mode.
      Returns:
      description
    • toString

      public String toString()
      Overrides:
      toString in class Object