next up previous contents
Next: Data Routines Up: prog_011 Previous: Data _PFL routine   Contents

The PSF system routines

The following subset of the PSF system routines are for use by application software. Note that ";" in argument lists shows the break between the input arguments to the left, and output arguments to the right.

       PSF_INIT( STATUS )

Initialise the PSF common block and load the available PSF libraries.

       PSF_CLOSE( STATUS )

Free all PSF system sources

       PSF_ASSOCI( LOC; SLOT, STATUS )
       
      	 LOC	<char>	  Locator to dataset
         SLOT   <int>     The PSF reference

Associate a dataset with a PSF using READ access

       PSF_ASSOCO( LOC; SLOT, STATUS )
       
      	 LOC	<char>	  Locator to dataset
         SLOT   <int>     The PSF reference

Associate a dataset with a PSF using WRITE access.The name of the PSF selected is written to the dataset.

       PSF_RELEASE( SLOT, STATUS )

         SLOT   <int>     The PSF reference

Free any resources used by the PSF system for the PSF SLOT

       PSF_2D_DATA( SLOT, X0, Y0, QX, QY, DX, DY, INTEG, NX, NY,
                                                 ARRAY, STATUS )

         SLOT   <int>     The PSF reference
         X0,Y0  <real>    The image position at which the PSF is to
                          be evaluated, in radians
         QX,QY  <real>    Radian offsets from the position (X0,Y0) to
                          the centre of the array ARRAY
         DX,DY  <real>    The widths of the bins in ARRAY
         INTEG  <log>     Return integrated probability per pixel?
         NX,NY  <int>     The dimensions of ARRAY
         ARRAY  <real>[]  The 2D probability array

Return a 2D array of probability per unit pixel for the PSF specified by SLOT.

       PSF_DEF( SLOT, LOWT, HIGHT, LOWE, HIGHE, USERIN, USEROUT,
                                                        STATUS )
         SLOT   <int>     The PSF reference
         LOWT   <dble>    The lower time bound in offset from OBS_TAI
         HIGHT  <dble>    The upper time bound in offset from OBS_TAI
         LOWE   <int>     The lower energy channel bound
         HIGHE  <int>     The upper energy channel bound
         USERIN   *       User input to library DEF routine
         USEROUT  *       User output from library DEF routine

Define the current energy and time bands for subsequent PSF evaluation. The time units are offsets from OBS_TAI, ie. the TAI equivalent of the time origin of the dataset, and the energy units are channel numbers. Additional USERIN and USEROUT arguments are provided for other possible information which could affect the PSF.

       PSF_ENERGY_PFL( SLOT, NFRAC, FRAC, X0, Y0, RADII, STATUS )

         SLOT   <int>     The PSF reference
         NFRAC  <int>     Number of energy fractions to be evaluated
         FRAC   <real>    Array of fractions for radii to be found
         X0,Y0  <real>    The image position at which the PSF is to
                          be evaluated, in radians
         RADII  <real>[]  The radii in radians

Returns the radius in radians at which the specified PSF SLOT encloses each of the NFRAC energy fractions in FRAC. The PSF is evaluated at the image position (X0,Y0).

       PSF_QMODEL( SLOT, MODEL, STATUS )

         SLOT   <int>     The PSF reference
         MODEL  <logical> PSF is a model

Returns a logical flag depending on whether the PSF SLOT was defined using a PSF model specification.

       PSF_RADIAL_PFL( SLOT, X0, Y0, DIM, PROF, STATUS )

         SLOT   <int>     The PSF reference
         X0,Y0  <real>    The image position at which the PSF is to
                          be evaluated, in radians
         DIM    <int>     Number of profile values
         PROF   <real>[]  Profile values

Returns an normalised surface brightness profile of the specified PSF SLOT, evaluating the PSF at (X0,Y0).

       PSF_RESAMPLE( NX, NY, IN, BORDER, OX, OY, OUT, STATUS )
         NX,NY  <int>     Dimensions of IN and OUT arrays
         IN     <REAL>[]  The input 2D PSF
         BORDER <int>     Border in pixels 
         OUT    <REAL>[]  The input 2D PSF

Used to shift a 2D array of values by an amount less than or equal to one pixel in each dimension. The value of BORDER which should be at least 1 prevents edge effects affecting the values in OUT within this BORDER. The units of OX and OY are fraction pixels.


next up previous contents
Next: Data Routines Up: prog_011 Previous: Data _PFL routine   Contents
Asterix
2000-06-28