uk.ac.starlink.table.join
Class HEALPixMatchEngine

java.lang.Object
  extended byuk.ac.starlink.table.join.SkyMatchEngine
      extended byuk.ac.starlink.table.join.HEALPixMatchEngine
All Implemented Interfaces:
MatchEngine

public class HEALPixMatchEngine
extends SkyMatchEngine

SkyMatchEngine implementation which works using the HEALPix pixelisation 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

This implementation is based on the PixTools Java HEALPix classes written by Nickolai Kouropatkine at Fermilab.

See Also:
http://home.fnal.gov/~kuropat/HEALPIX/PixTools.html

Field Summary
 
Fields inherited from interface uk.ac.starlink.table.join.MatchEngine
NO_BINS
 
Constructor Summary
HEALPixMatchEngine(double separation, boolean useErrors)
          Constructs a new match engine which considers two points (RA,Dec tuples) to match if they are within a given angular distance on the celestial sphere.
 
Method Summary
protected  Object[] getBins(double ra, double dec, double err)
          Returns a set of keys for bins into which possible matches for a given sky position, with a given error, might fall.
 void setSeparation(double separation)
          Configures this match engine to consider two points (RA,Dec tuples) to match if they are within a given angular distance on the celestial sphere.
 
Methods inherited from class uk.ac.starlink.table.join.SkyMatchEngine
calculateSeparation, canBoundMatch, getBins, getMatchBounds, getMatchParameters, getMatchScoreInfo, getSeparation, getTupleInfos, getUseErrors, matchScore, setUseErrors, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

HEALPixMatchEngine

public HEALPixMatchEngine(double separation,
                          boolean useErrors)
Constructs a new match engine which considers two points (RA,Dec tuples) to match if they are within a given angular distance on the celestial sphere.

Parameters:
separation - match radius in radians
useErrors - if true, per-row errors can be specified as a third element of the tuples; otherwise only the fixed separation value counts
Method Detail

setSeparation

public void setSeparation(double separation)
Description copied from class: SkyMatchEngine
Configures this match engine to consider two points (RA,Dec tuples) to match if they are within a given angular distance on the celestial sphere.

Overrides:
setSeparation in class SkyMatchEngine
Parameters:
separation - match radius in radians

getBins

protected Object[] getBins(double ra,
                           double dec,
                           double err)
Description copied from class: SkyMatchEngine
Returns a set of keys for bins into which possible matches for a given sky position, with a given error, might fall. The returned objects can be anything, but should have their equals and hashCode methods implemented properly for comparison. The err value will not be greater than the current result of getSeparation.

Specified by:
getBins in class SkyMatchEngine
Parameters:
ra - right ascension of point to test (radians)
dec - declination of point to test (radians)
err - possible distance away from given location of match
See Also:
SkyMatchEngine.getBins(java.lang.Object[])

Copyright © 2004 CLRC: Central Laboratory of the Research Councils. All rights reserved.