FRMDXDY
Name
frmdxdy
Purpose
Given two lists of source on field, find the dx,dy offset between lists.
Description
Category
Astrometry
Calling Sequence
frmdxdy,x1,y1,x2,y2,xoff,yoff,error
Inputs
x1 - X coordinate from list 1, in pixels.
y1 - Y coordinate from list 1, in pixels.
x2 - X coordinate from list 2, in pixels.
y2 - Y coordinate from list 2, in pixels.
Optional Input Parameters
Keyword Input Parameters
NX - maximum extent in X to consider (default is max([x1,x2]))
NY - maximum extent in Y to consider (default is max([y1,y2]))
MAXERR - maximum error allowed in initial spread test of position.
(default=3)
FNDRAD - Size of the aperture used for the final offset measurement.
DEFAULT VALUE = 12 pixels
The default is provided based on its historical value. In most
cases this appears to work pretty well and should generally
be left alone. However, some data have been seen to get
confused with a value that is this big. Changing this value
will require knowing a better value for a specific dataset.
SCALEFAC - Scaling factor to apply on the initial crude offset. The
default is 1.0. This control is used for images where the
pixel scale is very oversampled and very small on an absolute
astrometric basis. One particular case where this was
needed is in Magellan IMACS f/4 data where the image scale
is 0.111 arcsec/pixel. With seeing of 1 arcsec the offset
calculation does not get a good correlation peak. Binning
the result makes the peak sharper and easier to find. For
this case a scalefactor of 0.5 or 0.3 worked quite well.
Outputs
xoff - X offset (2-1) between positions in each list.
yoff - Y offset (2-1) between positions in each list.
error - Code, set if something went wrong in correlating the lists.
0 - everything appears to be good.
1 - failure during input validation
2 - spread in the initial x offset is too big (>maxerr)
3 - spread in the initial y offset is too big (>maxerr)
4 - correlation spot has negative "flux" or fwhm
5 - Final pass on x offset excluded all points in robomean
6 - Final pass on y offset excluded all points in robomean
7 - All of the final pass x offsets were bigger than 1.5*xsize
Keyword Output Parameters
FOM - Figure of merit, a number than can be used (differentially) to
measure how good the spatial correlation is. This number is
approximately the fraction of objects in the shortest list that
ended up spatially correlated. A number close to 1 should be
good.
INDEX- index into list 2 for points in list1, ie, list2[index[i]] is the
closest, or one of a group of closest points, in list 2 to the
ith element of list 1, given the xoff, yoff determined.
If SPATIAL is specified, elements of the index may be invalidated
by setting to -1- these represent invalid matches from list 1.
On return, if error is set, the index output should be ignored.
SPATIAL- Filtering parameters to frmdxdy - a vector or scalar of either 1
or 2 elements- the first is the max distance in pixels from the
mean correlation dx,dy for a match to be valid, and the 2nd is
the maximum threshold in sigma from the mean correlation dx,dy
for a match to be valid. If SPATIAL is specified, invalid matches
will be excluded (via an initial distance test and robomean) from
both the IDX
outputs and the final dx,dy result- if not specified, the distance
and sigma criteria will be defaulted by frmdxdy. In this case,
invalid matches will be excluded from the final dx,dy result but
INCLUDED in the IDX output. Note that if only the first element of
SPATIAL is specified, the second is defaulted to 3.0. The default
assumed for spatial[0] is 3.0.
Common Blocks
Side Effects
Restrictions
It is conventional (and faster) for list 1 to be the shorter
of the two lists. Success is independent of the order in which lists
are presented, although if list 1 is longer than list 2, the index generated
will not be unique (many->1).
Procedure
Modification History
99/03/22, Written by Marc W. Buie, Lowell Observatory
2005/06/21, MWB, changed called to robomean to trap errors.
2007/11/21, MWB, merged with alternate code buried in astrom.pro
2009/07/23, MWB, modified so that x,y input arrays do not have to be
positivie definite.
2009/07/24, MWB, added XOUT,YOUT optional output.
2010/02/14, MWB, merged with alternate version from Peter Collins, this
brings in the INDEX and SPATIAL keywords.
2010/07/19, MWB, minor tweak to ensure that the error flag is set for
all cases of premature return. Added FNDRAD keyword.
2012/12/03, MWB, error code 3 never returned, fixed.
Added SCALEFAC keyword