uk.ac.starlink.table.join
Class HEALPixMatchEngine
java.lang.Object
uk.ac.starlink.table.join.SkyMatchEngine
uk.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:
- It tends to be much faster to calculate a list of small pixels
in a region, since the calculations are not hierarchical
- 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
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 |
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 radiansuseErrors
- if true, per-row errors can be specified as
a third element of the tuples; otherwise only the fixed
separation value counts
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[])