### PISAFIND

Locate and parameterise objects on an image frame

#### Description:

PISAFIND performs image analysis on a 2-dimensional data frame. The program searches the data array for objects that have a minimum number of connected pixels above a given threshold and extracts the image parameters (position, intensity, shape) for each object. The image parameters can be determined using thresholding techniques or an analytical stellar profile can be used to fit the objects. In crowded regions deblending of overlapping sources can be performed.

It is important the frame supplied to the program is clean of all defects and has a flat background. The data values should be in the range 0 to 32766.

#### Parameters:

##### BACKGROUND = _REAL (Read)
The actual background value to be used. The intensities used in any analysis are background subtracted using this value. [Dynamic]
##### COMIX = _REAL (Read)
The mixture coefficient, as a fraction of the Gaussian peak, of a Lorentzian function use to model the wings of the stellar profile. At each point in the analytical profile the Lorentzian function is added to the Gaussian/exponential core scaled by the mixture coefficient. The profile is used to fit the data and the intensity is obtained by integrating under the profile. [Global]
##### CROSS = _REAL (Read)
The crossover point, as a percentage of the Gaussian peak, where an exponential fall-off in the analytical stellar profile takes over from the Gaussian core. The exponential function is joined on smoothly to the Gaussian. The profile is used to fit the data and the intensity is obtained by integrating under the profile. [Global]
##### DEBLEND = _LOGICAL (Read)
Separate overlapping images or not.

If this is true then all objects which are connected at the threshold level are examined to see if they comprise more than one object at a higher level. If this is so the signal in the object is apportioned between the components and the parameters calculated accordingly.

If this is false the image parameters are calculated for those objects which are connected at the threshold level. [TRUE]

##### GSIGM = _REAL (Read)
The standard deviation, in pixels, of the Gaussian core of the analytical stellar profile. The profile is used to fit the data and the intensity is obtained by integrating under the profile. [Dynamic]
##### IBREF = _LOGICAL (Read)
Perform background refinement or not if full surface modelling has been requested.

If this is true then during the full surface modelling procedure the background is allowed to vary, over a blend of objects, in addition to the object’s position and intensity, to best fit the data.

If this is false then the background is held constant during the full surface modelling procedure. [FALSE]

##### ICIRC = _LOGICAL (Read)
The total intensity is to be estimated from a circular aperture of fixed size, or from an asymptotic curve of growth analysis.

If this is true a fixed sized circular aperture is used. If this is false the total intensity is estimated from the curve of growth using elliptical apertures that match the shape of the objects. [FALSE]

##### IFULL = _LOGICAL (Read)
Perform full surface modelling or not when analysing profile intensities.

If this is true the program examines a difference map of the raw data minus the fitted profiles to see if any other objects are present. The fitting procedure is repeated until a stable solution is reached. This option is very time consuming.

If this is false the program uses the images found from an isophotal analysis as a basis for the profile fitting, and does not examine the difference map for additional objects. Some objects may be merged together if they are too close, or if the fit is better in a least squares sense. [FALSE]

##### IMNEG = _LOGICAL (Read)
Search for negative going images or not.

If this is true then negative going images (those below the background level) will be searched for, as well as the usual positive going images. The same threshold and minimum connectivity is used for both directions. If the negative going images are assumed to be due to random fluctuations in the background then the number of negative images will indicate the proportion of false detections that may be present amongst the positive going images. Only isophotal analysis is applied to the negative images. Negative going images are indicated in the results file with minus signs in the first field.

If this is false then only positive going images are sought. [FALSE]

##### IN = NDF (Read)
An NDF data structure containing the 2-dimensional image on which the image analysis will be performed.
##### ISMOO = _LOGICAL (Read)
Smooth the data before searching for objects with the isophotal analysis or not.

If this is true then the data is smoothed with a 3 x 3 Hanning filter before the isophotal analysis is performed. This is useful if the deblending is fragmenting the data too much. The object parameters are calculated using the unsmoothed data.

If this is false the raw data is used for the object searches. [FALSE]

##### METHOD = _INTEGER (Read)
The type of intensity analysis to be performed on the objects. This is an integer code which can be one of the following choices :-
0 —
Isophotal intensities. The intensity above the threshold is summed for each object.
1 —
Total intensities. For each object the total intensity is estimated. This is done by one of two methods: A circular aperture of fixed size is specified and the intensity is summed within it. Otherwise the program automatically estimates the total light within an object using an asymptotic curve of growth analysis with elliptical apertures that match the shape of the object.
2 —
Profile intensities. This uses an analytical stellar profile to fit the individual objects. All pixels above the threshold are used in the fit. The fit is made in the least-squares sense and the intensity is obtained from the integrated profile.
##### MINPIX = _INTEGER (Read)
Minimum number of connected pixels an object needs to have to qualify for further analysis. Only those pixels with data values above the specified threshold are considered.
##### PRALL = _LOGICAL (Read)
Analyse the whole array 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 is requested. [TRUE]

##### RCIRC = _REAL (Read)
The radius in pixels of the circular aperture to be used for the total intensity analysis.
##### RESULTS = FILENAME (Write)
The name of the file to receive the results of the analysis. [PISAFIND.DAT]
##### SIZES = FILENAME (Write)
The name of the file to receive the areal sum results. Note that -1. indicates that no measurement has been made either because the object is part of a blend, or because the profiling analysis has been requested. [PISASIZE.DAT]
##### THRESH = _REAL (Read)
The threshold above which a pixel is considered as a potential member of a larger object. An object has to contain a minimum number of connected pixels above this threshold to be accepted. The threshold is defined in data units above the background level.
##### UPLIM = _INTEGER (Read)
The upper limit, in data units, for a pixel to be included in the profile fitting procedure. If the stellar profiles are saturated then this can be used to constrain the profile fitting to the unsaturated pixels. [Dynamic]
##### XPIXS = _INTEGER (Read)
Initial 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]

#### Examples:

PISAFIND ARP199
Performs image analysis on the 2-dimensional NDF data structure ARP199.
PISAFIND PRALL=F
Requests that a sub-section of the input data array is analysed.
PISAFIND ISMOO=T
Smooths the data with a Hanning filter before searching for objects with the isophotal analysis.

#### Notes:

• The data input to PISAFIND can be any size (within system limits), however, the length of the first dimension is restricted to less than 10241 pixels.

• The output in the RESULTS file contains the following information:

 Column Name Description 1 INDEX Index number of object. 2 XPOS X position of object in pixels. 3 YPOS Y position of object in pixels. 4 INTENSITY Integrated intensity of object. 5 NPIX Number of pixels above threshold. 6 PEAK Peak intensity of object in one pixel. 7 ELLIPT Ellipticity of object. 8 ANGLE Orientation of object, anti-clockwise from y-axis. 9 SXX Second moment of data in x. 10 SYY Second moment of data in y. 11 SXY Cross moment of data in x and y.
• The output in the RESULTS file contains the following information:

 Column Name Description 1 INDEX Index number of object. 2 A1 Number of object pixels within threshold. 3 A2 Number of object pixels within i=2 threshold. 4 A3 Number of object pixels within i=3 threshold. 5 A4 Number of object pixels within i=4 threshold. 6 A5 Number of object pixels within i=5 threshold. 7 A6 Number of object pixels within i=6 threshold. 8 A7 Number of object pixels within i=7 threshold. 9 A8 Number of object pixels within i=8 threshold.

The SIZES thresholds are determined by the equation.

${I}_{i}={I}_{t}+{2}^{\left(i+2\right)},\phantom{\rule{3.04074pt}{0ex}}i=2,8$

where ${I}_{t}$ is the threshold intensity.