Class HealpixSkyPixellator

  • All Implemented Interfaces:
    SkyPixellator
    Direct Known Subclasses:
    PixtoolsHealpixSkyPixellator

    public abstract class HealpixSkyPixellator
    extends java.lang.Object
    implements SkyPixellator
    Implements sky pixellisation using the HEALPix scheme. This works better than the HTM-based one for two reasons:
    1. It tends to be much faster to calculate a list of small pixels in a region, since the calculations are not hierarchical
    2. The pixels are square which means they generally have fewer neighbours than triangular HTM ones of a similar size
    Author:
    Mark Taylor (Starlink)
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected HealpixSkyPixellator​(int maxK)
      Constructor.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract int calculateDefaultK​(double scale)
      Determines a default value to use for the HEALPix k parameter based on a given scale.
      protected abstract void configureK​(int k)
      Updates internal state for the current value of the k parameter.
      int getHealpixK()
      Returns the HEALPix k value, which determines sky pixel size, equivalent to log2(nside).
      int getMaxK()
      Returns the maximum permissible K value.
      double getScale()
      Returns the most recently set angular scale.
      DescribedValue getTuningParameter()
      Returns a parameter whose value may be adjusted to alter the pixellisation scale.
      void setHealpixK​(int healpixK)
      Sets the HEALPix k value, which determines sky pixel size, equivalent to log2(nside).
      void setScale​(double scale)
      Sets the characteristic angular scale for this pixellator.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • HealpixSkyPixellator

        protected HealpixSkyPixellator​(int maxK)
        Constructor.
        Parameters:
        maxK - the maximum K value permitted by this implementation
    • Method Detail

      • getMaxK

        public int getMaxK()
        Returns the maximum permissible K value.
        Returns:
        maximum Healpix K parameter supported by this implementation
      • setScale

        public void setScale​(double scale)
        Description copied from interface: SkyPixellator
        Sets the characteristic angular scale for this pixellator. Pixels should be approximately the size given, so that a larger scale corresponds to larger pixel sizes. The details of pixel size are determined by the details of the pixellation scheme however.
        Specified by:
        setScale in interface SkyPixellator
        Parameters:
        scale - pixel length scale in radians
      • getScale

        public double getScale()
        Description copied from interface: SkyPixellator
        Returns the most recently set angular scale.
        Specified by:
        getScale in interface SkyPixellator
        Returns:
        pixel length scale in radians
      • getTuningParameter

        public DescribedValue getTuningParameter()
        Description copied from interface: SkyPixellator
        Returns a parameter whose value may be adjusted to alter the pixellisation scale. This is not necessarily the same as the scale attribute (its value need not be an angle).
        Specified by:
        getTuningParameter in interface SkyPixellator
        Returns:
        tuning parameter
      • setHealpixK

        public void setHealpixK​(int healpixK)
        Sets the HEALPix k value, which determines sky pixel size, equivalent to log2(nside). May be in the range 0 (60deg) to getMaxK(). If set to -1, a suitable value will be used based on the scale.
        Parameters:
        healpixK - new k value
      • getHealpixK

        public int getHealpixK()
        Returns the HEALPix k value, which determines sky pixel size, equivalent to log2(nside). The returned may be the result of a default determination based on scale if no explicit K value has been set hitherto, and a non-zero scale is available.
        Returns:
        k value used by this engine
      • configureK

        protected abstract void configureK​(int k)
        Updates internal state for the current value of the k parameter.
        Parameters:
        k - HEALPix order
      • calculateDefaultK

        public abstract int calculateDefaultK​(double scale)
        Determines a default value to use for the HEALPix k parameter based on a given scale.
        Parameters:
        scale - distance scale, in radians