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

    Modifier and Type
    Method
    Description
    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 Details

    • name

      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.