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 combination
of their per-object radii.
This combination may be either a simple sum or the sum in quadrature,
according to configuration.
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,
ErrorSummation errorSummation,
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, ErrorSummation errorSummation, double scale)
The errorSummation
parameter configures how the
match score is assessed from the error values of two tuples.
The match threshold is determined by summing the error values,
either by simple addition or by addition in quadrature.
pixellator
- handles sky pixellisationerrorSummation
- how to combine errors; if null, simple is usedscale
- 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
nullable
attribute has a special meaning: if true it means that it makes
sense for this element of the tuple to be always blank (for instance
assigned to no column).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 © 2024 Central Laboratory of the Research Councils. All Rights Reserved.