Class BitsetMask

java.lang.Object
uk.ac.starlink.table.join.BitsetMask
All Implemented Interfaces:
HealpixMask

public class BitsetMask extends Object implements HealpixMask
HealpixMask implementation based on a BitSet representing all the pixels at a given HEALPix order.

This implementation is not very sophisticated (it doesn't attempt a multi-order representation), but it's fairly efficient as long as the order (resolution) required is modest. A value like 6 is probably reasonable; 49k pixels, 6kbyte storage.

Since:
8 Jun 2022
Author:
Mark Taylor
  • Nested Class Summary

    Nested classes/interfaces inherited from interface uk.ac.starlink.table.join.HealpixMask

    HealpixMask.PixelTester
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    Suitable HEALPix order for general use.
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new empty mask with the default order.
    BitsetMask(int order)
    Constructs a new empty mask with a given order.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addPixel(int order, long ipix)
    Adds the area corresponding to a HEALPix pixel to this mask.
    Returns an object that can test inclusion in the sky area defined by the current state of this mask.
    int
    Returns the HEALPix order of the pixels stored by this mask.
    int[]
    Returns an array of the pixels contained by this mask.
    double
    Returns the fraction of the sky currently covered by this mask.
    void
    Narrows this area to represent the intersection of this mask and another compatible mask.
    boolean
    Returns true if this mask's area is empty.
    void
    Extends this area to represent the union of this mask and another compatible mask.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_ORDER

      public static final int DEFAULT_ORDER
      Suitable HEALPix order for general use.
      See Also:
  • Constructor Details

    • BitsetMask

      public BitsetMask()
      Constructs a new empty mask with the default order.
    • BitsetMask

      public BitsetMask(int order)
      Constructs a new empty mask with a given order.
      Parameters:
      order - HEALPix order
  • Method Details

    • isEmpty

      public boolean isEmpty()
      Description copied from interface: HealpixMask
      Returns true if this mask's area is empty.
      Specified by:
      isEmpty in interface HealpixMask
      Returns:
      true iff the HealpixMask.createPixelTester() test is guaranteed to return false
    • intersection

      public void intersection(HealpixMask other)
      Description copied from interface: HealpixMask
      Narrows this area to represent the intersection of this mask and another compatible mask.
      Specified by:
      intersection in interface HealpixMask
      Parameters:
      other - different mask of a type assumed compatible with this one
    • union

      public void union(HealpixMask other)
      Description copied from interface: HealpixMask
      Extends this area to represent the union of this mask and another compatible mask.
      Specified by:
      union in interface HealpixMask
      Parameters:
      other - different mask of a type assumed compatible with this one
    • getSkyFraction

      public double getSkyFraction()
      Description copied from interface: HealpixMask
      Returns the fraction of the sky currently covered by this mask.
      Specified by:
      getSkyFraction in interface HealpixMask
      Returns:
      sky fraction between 0 and 1
    • addPixel

      public void addPixel(int order, long ipix)
      Description copied from interface: HealpixMask
      Adds the area corresponding to a HEALPix pixel to this mask.
      Specified by:
      addPixel in interface HealpixMask
      Parameters:
      order - HEALPix order
      ipix - HEALPix pixel index at order order
    • createPixelTester

      public HealpixMask.PixelTester createPixelTester()
      Description copied from interface: HealpixMask
      Returns an object that can test inclusion in the sky area defined by the current state of this mask.
      Specified by:
      createPixelTester in interface HealpixMask
      Returns:
      thread-safe test for sky area inclusion
    • getOrder

      public int getOrder()
      Returns the HEALPix order of the pixels stored by this mask.
      Returns:
      healpix order
    • getPixels

      public int[] getPixels()
      Returns an array of the pixels contained by this mask. This is mainly intended for diagnostic purposes, it may not be very efficient.
      Returns:
      pixel list at this mask's order