PISAFIT fits a radially symmetric mixed Gaussian - Exponential - Lorentzian function to
STELLAR type objects. The function is described by three separate parameters, the gaussian sigma,
the cross over point, as a fraction of the peak intensity, from the gaussian core to an exponential wing
and the fractional mix of a Lorentzian to these two functions at each point. The parameters describing
the resultant functional fit are stored in the GLOBAL file and can be subsequently accessed by
PISAFIND if the profile fitting option is chosen, or by PISAGEN for generating a model data frame of
the detected objects. The fit produced by this routine is displayed on a graphics device, together
with the residuals (derived from the variance of data contributing to each point), so that
the quality of fit can be assessed. The user is prompted as to their satisfaction with the
displayed fit, and can re-do the fit, out to a specified radius. This cycle can repeat until the user
indicates that he is satisfied with the fit. Experience shows that the first fit is rarely the
The fit parameters can be controlled, within certain limitations, by the user. Three different forms of
minimisation parameter bounding are available. Type APM sets up the bounds so that a minimisation
as used in the original APM specification of this routine can be performed. Type USER allows the user
to directly specify the ranges within which the fitting parameters can vary, and type NONE freely
allows the minimisation routine to fit the function with the only restriction that the values
are greater than zero. Finally the user can specify that the fit is done using a weighted
scheme, using the shown residuals.
PISAFIT IN POSITIONS [DEVICE] [LINEW]
[MINMODE] AGAIN=? RADIUS=?
AGAIN = _LOGICAL (Read)
whether another refinement of the fit takes place or not. [TRUE]
BACKGROUND = _REAL
The background (sky) value. Used across whole frame. [Dynamic]
The value found for the mixture ratio between the Lorentzian and the other
functions, on exit from the program.
COMIXRANGE = _REAL (Read)
The range of
values between which COMIX is allowed to vary during the minimisation. Only used if
MINMODE = USER. [0,1]
CROSS = _REAL (Write)
The value found for the percentage cross
over point, from the gaussian core to the exponential wings, on exit from the program.
CROSSRANGE = _REAL (Read)
The range of values between which CROSS is allowed to vary
during the minimisation. Only used if MINMODE = USER. [0,100]
DEVICE = DEVICE
A character string specifying a valid device name.
GSIGM = _REAL (Write)
The value found for the gaussian sigma on exit from the program.
The range of values between which GSIGM is allowed to vary during
the minimisation. Only used if MINMODE = USER. [0.5,5,5]
IN = NDF (Read)
Input NDF containing the objects to be fitted.
LINEW = _INTEGER (Read)
width of the lines plotted ( greater than equal to 1 ). 
MINMODE = LITERAL (Read)
String defining which type of bounds are to be applied to the minimisation parameters.
The allowed returns are any string beginning with the characters ’A’,’U’ or ’N’. These
represent ’A’PM (default) ’U’SER or ’N’ONE. If return is APM then the bounds for the
minimisation are as in the original APM version of this routine (0.5 to 5.5 for GSIGM, 0.0 to 1.0 for
CROSS and 0.0 to approximately 0.12 for COMIX). If the return selects USER then the user
will be prompted for the limitations to be applied during the minimisation. If the returns
selects NONE then the parameters will be allowed to vary to any value greater than 0.0.
POSITIONS = FILENAME (Read)
ASCII file containing the positions of the
objects to be fitted. The file may be of the type produced by PISAFIND or just of list of
- Object-number X-position Y-position etc.,
- X-position Y-position.
PRALL = _LOGICAL (Read)
Analyse the whole array ( to derive the background
value ) or select a subset of the data.
If this is true the whole data array is analysed. If this is false the pixel coordinates defining a
subset of the data to be analysed are requested. [TRUE]
RADIUS = _REAL (Read)
radius out to which the fit will be attempted. This should be at least a few stellar radii.
WEIGHTED = _LOGICAL
Set to true if a weighted fit is to be attempted. The
weighting is based on the distribution of errors of values contributing to a bin in the mean
profile. Note that under certain conditions weighting can seem to bias fit unfairly to the
central bins (usually seen as a very poor fit to the outer values). If this situation occurs
then an unweighted fit is the best option. [FALSE]
XPIXS = _INTEGER (Read)
and final pixel coordinates of the subset of the data array to be analysed. [Dynamic]
YPIXS = _INTEGER (Read)
Initial and final pixel coordinates of the subset of the data
array to be analysed. [Dynamic]
PISAFIT FRAME FRAME.STARS_ACC
CANON_PORTRAIT 3 NONE AGAIN=F RADIUS=15 Performs the radial fit on the stars
contained in the list FRAME.STARS_ACC. It directs the graphical output to a laser printer
whose lines are printed at three times normal density. The bounds on the minimisation are
freed to be any value greater than 0. The interactive, recursive, fitting loop is disabled
by setting AGAIN=F and the fit is done out to a radius of 15 pixels.
FRAME.STARS_ACC Performs the production of the radial profile. Enters into an interactive session
allowing the user to modify the radius of the data used in the fit.
quality of the fit is very dependent on the objects chosen to produce the radial profile. The
best results should be obtained from a range of unsaturated, well separated objects. The
list of objects used for the fit can be passed directly from PISAFIND or by a list of object
x,y positions produced by the user, say by using the KAPPA routine CENTROID. Note
that any input lists of the latter type should be of the form object_number, X_position,
Y_position in the first three columns or X_position, Y_position ) only. This means that
output from many KAPPA routines will require editing.
The timing for the initial
processing (i.e. radial profile production) is proportional to the number of objects given. The
latter processing (the fitting loop) is dependent only on the number of points in the fit .
The basic functional forms of the fitting equations are described in appendix
The present status of the program has 4 main drawbacks.
- The data must lie within the range of signed word reasonably approximated by integers.
- There is no bad pixel handling.
- The input arrays cannot be any larger than 10240 pixels in any axis.
- A maximum of 1000 input objects is allowed.
Copyright © 2002 Particle Physics and Astronomy Research Council