Package cds.healpix

Interface AuxiliaryAxis


  • public interface AuxiliaryAxis
    Define an auxiliary axis, i.e. a 3rd dimension to be taken into account when computing an HEALPix index.
    To compute a hash using the auxiliary axis, the values must be projected along the z-axis ranging from 0 (inclusive) to 1 (exclusive).
    The maximum depth when using an auxiliary axis is 19 (4 + 19 * 3 = 61 bits). So the maximum number of intervals is 2^19 = 524288.
    At a given depth, the [0.0, 1.0[ interval is divided into NSIDE (=2^depth) segments.
    The resolution at a given depth is thus abs(unproject(1) - unproject(0)) / NSIDE.
    If we want to represent temporal data, we can represent:
    • about 1 years with intervals being time ranges of 1 min;
    • 60.68 years with intervals being time ranges of 1 hour.
    We recall that when a double is divided by a power of two, there is no loss in precision since the mantissa remains unchanged (only the exponent part changes).
    Example: depth 12 => NSIDE = 4096 => angular resolution = 51.5 arcsec => 4096 / 365 = 11.222 years with a resolution = 1 day
    Author:
    F.-X. Pineau
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.String name()
      Returns the name of the auxiliary axis.
      double project​(double x)
      Project (or normalize) the given auxiliary axis value into the [0.0, 1.0[ range.
      double unproject​(double y)
      Unproject (denormalize) the value from the [0.0, 1.0[ range.
    • Method Detail

      • name

        java.lang.String name()
        Returns the name of the auxiliary axis.
        Returns:
        the name of the auxiliary axis.
      • project

        double project​(double x)
        Project (or normalize) the given auxiliary axis value into the [0.0, 1.0[ range.
        Parameters:
        x - the auxiliary axis value to be projected (normalized).
        Returns:
        the projected (normalized) value on the auxiliary axis, in [0.0, 1.0[.
      • unproject

        double unproject​(double y)
        Unproject (denormalize) the value from the [0.0, 1.0[ range.
        Parameters:
        y - the projected (normalized) value on the auxiliary axis, in [0.0, 1.0[
        Returns:
        the unprojected (denormalize) value on the auxiliary axis.