Table of Contents
snapfit - fit a (6D)
snapshot to a (3D)
snapfit attempts to match an observed 3D datacube (where X and
Y are normally positions on the sky, and Z the radial velocity) with a
6D model snapshot (with the usual x,y,z,vx,vy,vz coordinates, see bodytrans(1NEMO)
It finds the best match by varying the two viewing angles, two scale factors
and three offsets of the model. The scalefactors in X and Y are forced to
be the same, whereas the one in Z is usually independantly determined
(though this can be changed with the parameter zmode).
Weights can be given
to invidual model points, as well as (to some degree) the data points.
The weight of the data will be taken as the intensity at the observed pixel,
it’s up to pre-processing to set proper weights. The weight of the model can
be modified using a standard bodytrans(5)
expression, applied to each particle
individually, using the weight parameter.
Currently the match is done in
a rather primitive way: with respect to their center of mass the two
moments of inertia (see snapinert(1NEMO)
) of the model and data are compared,
after which the rotation matrix for each is derived (see also snaprect(1NEMO)
Then the product of one and the inverse of the other is compared with the
unity matrix, and the norm of this difference matrix is going to be minimized
(a perfect fit should return 0). We shall refer to this norm as sum. The
output will contain the log(sum).
The following parameters are
recognized in any order if the keyword is also given:
A time-scale factor should be absorbed by the
user into the zvar expression. This is the factor by which the (model/data?)
velocities are multiplied in order to compute a properly dimensioned for
chi-squared. This problem is only partially overcome by using zmode=separate
. No default.
- Input data. This can be either
a 3D datacube in standard image(5NEMO)
format or an ascii table, with x,y,vz,I
in the first four columns. In the latter case the intensity I is optional,
a default value of 1.0 will be taken for data with missing intensity. No
- Cutoff applied to data cube, if needed: data
values less then data_cutoff are ignored. Default: no cutoff given, all
data from image (table) are used.
- Weight (see bodytrans(1NEMO)
given to model particles. Bodies with weight less or equal zero are ignored.
- Optional output snapshot(1NEMO)
. It can also
be controlled by the minchi and frame parameters. No name, and this is the
default, there will be no output snapshot. If selected, of the phase space
coordinates only the x, y and z coordinates are written. ** not implemented
- Minimum log(sum) needed for an output snapshot. ** not implemented
- Select to output the re-oriented snapshot in model or data
coordinates. [Default: model]. ** not implemented **
- Selection if the zvar coordinate should be treated equal
(sim) or seperately (sep) in the minimization. [Default: sep].
- the first rotation angle to fit. Fixed values can be given, in which case
these are tested against. By default no values are given. This angle can
be associated with the inclination of a disk, if this is kept in mind.
- the second rotation angle to fit. see comments above. This angle can be associated
with the position angle of a disk, if this is kept in mind.
- Optional output file, in which for all input angles (theta1,theta2) the
values of the logarithm of the norm of the difference matrix (log(sum))
is stored in standard image(5NEMO)
format. Contour plots can be made with
- Number of extra iterations needed for
the best model from choosen values of the matrix of theta1,theta2 angles
to narrow down the search. ** not implemented **
selection of the (ranges of) times to be selected from the input snapshot
snapfit only works for NDIM=3: the input data must be a 3D datacube.
work reasonably well for single features to fit, for double features a
principle component analysis may have to be done beforehand.
30-May-92 V0.0 Prototype created PJT
15-jul-03 V0.7 documentated some recent changes PJT
Table of Contents