# Package healpix.essentials

Package implementing essential HEALPix functionality.
healpix.essentials is a Java package aiming to combine the advantages of other Java HEALPix libraries like the gov.fnal.eag.healpix package by N.

See: Description

Interface Summary
RangeSet.ValueIterator: Interface describing an iterator for going through all values in a RangeSet object.

Class Summary
Compressor: Class for compressing/uncompressing monotonous integer sequences.
Constants: Some frequently used constants.
FastMath: FastMath class is a Java implementation of the SLEEF library.
FitsUtil: Basic FITS I/O support for Healpix maps.
Fxyf: Class describing a location on the sphere
HealpixBase: Basic opersations related to the HEALPix pixelisation.
HealpixMapDouble: Class representing a full HEALPix map containing double values.
HealpixMapFloat: Class representing a full HEALPix map containing float values.
HealpixProc: Procedural interface to the `HealpixBase` functionality.
HealpixTables: Various data tables needed by the `HealpixBase` class.
HealpixUtils: Collection of utility functions.
Moc: Support for MOC algorithms.
MocFitsIO: Moc FITS I/O routines.
MocQuery: Support for MOC queries.
MocQuery.MocQueryComponent
MocStringIO: Moc string I/O routines.
Pointing: An angular position on the unit sphere.
RangeSet: Class for dealing with sets of integer ranges.
Vec3: Cartesian 3-vector.
Zphi: Class for storing a position on the unit sphere as a (z,phi)-tuple.

Enum Summary
MocQuery.MocQueryOp
Scheme: The Healpix pixel ordering scheme.

## Package healpix.essentials Description

Package implementing essential HEALPix functionality.
healpix.essentials is a Java package aiming to combine the advantages of other Java HEALPix libraries like the gov.fnal.eag.healpix package by N. Kuropatkin (http://home.fnal.gov/~kuropat/HEALPIX/PixTools.html), Jan Kotek's org.asterope.healpix package (https://github.com/jankotek/HEALPix), and the healpix.core package developed at ESO.
Current features include:

- close similarities with Healpix_Base_T class from Healpix C++, which allows simultaneous development and bug fixes for both.
- support for arbitrary positive Nside values in RING scheme; no longer limited to powers of 2
- maximum supported Nside value: 2^29
- significant performance improvements: most methods have been accelerated by integral factors, some by more than an order of magnitude.
- re-implementation of queryDisc and queryPolygon:
  - query methods return RangeSet objects which allow much more compact storage of the result
  - new native query methods for NESTED ordering; these are slower than those for RING ordering, but much quicker than converting all pixels from a RING result to NESTED.
  - inclusive queries have been improved: several bugs were fixed, and the number of false positives in the result has been reduced. Users can now choose between quick inclusive queries returning more false positives, and slower ones returning fewer false positives.
- the HealpixProc class offers a procedural (instead of object-oriented) interface to the HealpixBase functionality, which simplifies transition for users of the "Healpix" and "PixTools" classes. NOTE: this only works for Nside parameters which are powers of 2
- many bug fixes
- no external library dependencies, except for "nom.tam.fits" if FITS I/O is required
- the code base is thread-safe in the following sense:
  - HealpixProc methods can be called concurrently
  - HealpixBase methods can be called concurrently on different objects