public class ErrorSkyMatchEngine extends AbstractSkyMatchEngine
Number
objects, representing Right Ascension, Declination, and error radius
respectively, all in radians. Other similar longitude/latitude-like
coordinate system may alternatively be used.
Two tuples are considered to match if the distance along a great circle
of their central positions is no greater than the sum of their per-object
radii.
A length scale must be supplied, which should be of comparable size to the average per-object error, and which affects performance but not the result. The effect of this is to provide a default for the pixellisation tuning parameter. If the tuning parameter is set directly, the length scale is ignored.
Modifier and Type | Class and Description |
---|---|
static class |
ErrorSkyMatchEngine.InDegrees
MatchEngine class that behaves like ErrorSkyMatchEngine but uses
human-friendly units (degrees and arcseconds) rather than radians
for tuple elements and match parameters.
|
Constructor and Description |
---|
ErrorSkyMatchEngine(SkyPixellator pixellator,
double scale)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.util.function.Supplier<Coverage> |
createCoverageFactory()
Returns a supplier for coverage objects.
|
java.util.function.Supplier<MatchKit> |
createMatchKitFactory()
Returns a factory for MatchKit instances corresponding
to the current settings of this object.
|
DescribedValue[] |
getMatchParameters()
Returns a set of DescribedValue objects whose values can be modified
to modify the matching criteria.
|
ValueInfo |
getMatchScoreInfo()
Returns a description of the value returned by the
MatchKit.matchScore(java.lang.Object[], java.lang.Object[]) method. |
double |
getScale()
Returns the length scale.
|
double |
getScoreScale()
Returns unity.
|
ValueInfo[] |
getTupleInfos()
Returns a set of ValueInfo objects indicating what is required for
the elements of each tuple.
|
void |
setScale(double scale)
Sets the length scale.
|
String |
toString() |
calculateSeparation, getPixellator, getTuningParameters, isSkyPosition
public ErrorSkyMatchEngine(SkyPixellator pixellator, double scale)
pixellator
- handles sky pixellisationscale
- initial value for length scale, in radianspublic void setScale(double scale)
setScale
in class AbstractSkyMatchEngine
scale
- rough value of per-object errors, in radianspublic double getScale()
getScale
in class AbstractSkyMatchEngine
public ValueInfo[] getTupleInfos()
MatchEngine
public DescribedValue[] getMatchParameters()
MatchEngine
DescribedValue.setValue(java.lang.Object)
on the
returned objects.public ValueInfo getMatchScoreInfo()
MatchEngine
MatchKit.matchScore(java.lang.Object[], java.lang.Object[])
method. The content class should be numeric
(though need not be Double
), and the name,
description and units should be descriptive of whatever the
physical significance of the value is.
If the result of matchScore
is not interesting
(for instance, if it's always either 0 or -1),
null
may be returned.public java.util.function.Supplier<MatchKit> createMatchKitFactory()
MatchEngine
The returned value is immutable, and is not affected by subsequent changes of the settings of this object.
public java.util.function.Supplier<Coverage> createCoverageFactory()
MatchEngine
Coverage.createTestFactory()
method returns false
is guaranteed not to match any tuple in A according to this object's
match criteria.
The returned value is immutable, and is not affected by subsequent changes of the settings of this object.
If no suitable implementation is available, null may be returned.
public double getScoreScale()
public String toString()
toString
in class AbstractSkyMatchEngine
Copyright © 2023 Central Laboratory of the Research Councils. All Rights Reserved.