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)**.

**in=***in_snapshot*- Input
model
*snapshot(5NEMO)*. No default. **cube=***in_image*- 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 default. **cutoff=***data_cutoff*- 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=***body_weight*- Weight (see
*bodytrans(1NEMO)*) given to model particles. Bodies with weight less or equal zero are ignored. [default:**1**]. **out=***out_snapshot*- 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 *** **minchi=**- Minimum
**log(sum)**needed for an output snapshot.*** not implemented ***

**frame=model|data**- Select to output the re-oriented snapshot in
**model**or**data**coordinates. [Default:**model**].*** not implemented ***

**zmode=sim|sep**- Selection if the
**zvar**coordinate should be treated equal (**sim**) or seperately (**sep**) in the minimization. [Default:**sep**]. **theta1=***i1,i2,...*- 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.
**theta2=***p1,p2,...*- 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. **contour=***out_image*- 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*ccdplot(1NEMO)*Default: none. **iter=**- 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 *** **times=***t1:t2,t3,...*- Standard
selection of the (ranges of) times to be selected from the input snapshot
[Default:
**all**].

*snapfit only works for NDIM=3*: the input data must be a 3D datacube.

May work reasonably well for single features to fit, for double features a principle component analysis may have to be done beforehand.

30-May-92V0.0 Prototype createdPJT 15-jul-03V0.7 documentated some recent changesPJT