pf2psf

pf2psf takes an image of a pupil function (generated by phretavr, for instance) and computes slices through the point spread function (PSF). Currently, pf2psf can not directly work with parameterized pupil functions: use pfimage to generate an image of the parameterized pupil function and use that image as the input to pf2psf.

To use pf2psf, invoke it from the command line. The expected form of the command line is (optional parts are shown in brackets):

    pf2psf pupil_image psf_image \
        [-w=w1[:w2...]] [-center=xc[:yc]] \
        [-delz=dz] [-detfill=ax[:ay]] [-intensity] \
        [-reversez] [-xzsec] [-zshift=d] [-zsize=nz]

or

    pf2psf -h

where the latter form simply prints a description of the expected input parameters and then exits. The meanings of the different entries on the command line are:

pupil_image
pupil_image is the name of the file containing the pupil function image.
psf_image
psf_image is the name of the file to generate. It will contain the PSF result.
-center=xc[:yc]
Specifies the pixel coordinates for the center in x and y of the generated PSF. By default, pf2psf places the center at floor((nx-1)/2), floor((ny-1)/2) where nx and ny are the dimensions (in pixels) of the pupil function image.
-delz=dz
Specifies the z sampling interval, dz, in microns. By default, pf2psf uses a sampling in z equal to twice the x spatial sampling used for the pupil function image.
-detfill=ax[:ay]
Sets the detector size to use when modeling the effect of averaging over a pixel. The size is expressed as a multiple of the spatial sampling inferred from the input pupil function image. By default, pf2psf assumes that each pixel is a point (ax is 0 and ay is 0). If ay is omitted, pf2psf assumes that it is the same as ax. The detector size is only factored into the PSF calculation when calculating the intensity PSF.
-intensity
If -intensity is included in the options, pf2psf computes the intensity PSF rather than the amplitude PSF.
-reversez
If -reversez is included in the options, pf2psf assumes the first z section is closest to the lens. Otherwise, pf2psf assumes the last z section is closest to the lens.
-xzsec
If -xzsec is included in the options, pf2psf computes an xz slice through the center of the PSF rather than one or more xy slices through the PSF.
-w=w1[:w2...]
Limits the processing to a subset of wavelengths stored in the pupil file. Wavelengths may be specified by their zero-based index in the input pupil file or by their wavelength (in nanometers). pf2psf by default processes all wavelengths stored in the input pupil file.
-zshift=d
Specifies the z shift, d, in microns of the central z section from the focal plane. A positive value for the shift indicates that the central z section is closer to the lens than the focal plane, a negative value of the shift indicates that the central z section is farther from the lens than the focal plane. If nz is the number of sections, the zero-based index for the central z section is floor((nz - 1) / 2) where nz is the size set by -zsize. By default, d is zero (the central section matches the focal plane).
-zsize=nz
Specifies the number of z sections to write. If not specified, pf2psf computes one z section.

Related Priism Topics

phretavr | pfimage | Priism