separate.wf: Separate wavefronts

View source: R/separate.wf.r

addfitR Documentation

Separate wavefronts

Description

Separate a set of wavefronts measured at different orientations into "polished in" and instrumental or "test stand" components.

Usage

addfit(..., th = 0, zcm = NULL, theta = numeric(0))

separate.wf(
  zcm,
  theta,
  maxorder = 14,
  nrow = nrow.default,
  ncol = ncol.default,
  cp = cp.default
)

Arguments

...

one or more wavefront fits as returned by psifit, vortexfit, fftfit, or wf_net.

th

the orientation angle(s) of object under test, in degrees.

zcm

Zernike coefficient matrix from addfit.

theta

vector of angles from addfit.

maxorder

the maximum Zernike polynomial order of the fits.

nrow

number of rows in the reconstructed wavefronts.

ncol

number of columns in the reconstructed wavefronts.

cp

list of values describing the location and size of the wavefront as returned by circle.pars or pupil.pars.

Details

The two functions addfit() and separate.wf() work together to provide a rudimentary project management capability when multiple optical tests have been run on an optical system rotated to one or more orientations. All addfit() does is extract the net Zernike coefficients in the list of values returned by psifit, vortexfit, fftfit, or wf_net. It also accepts one or more orientation angles in degrees.

The odd parameter list is to provide some flexibility in data entry. For example if several fits are available they could be entered as a group with the thetas entered as a vector the same length as the number of fits. Alternately fits could be entered one at a time. If the latter strategy is followed be sure to recycle the variable name that the return is assigned to. Also, the Zernike polynomial fits should be made to the same polynomial order. This isn't checked and will surely cause an error if different fit orders are used.

separate.wf() makes use of the properties of Zernike polynomials under rotations to disentangle the contributions from the "mirror" and the instrument or test stand to the extent possible. Least squares fits are performed for each non-axysmmetric aberration and some possibly useful summary statistics from the fits are returned in the data frames zcb and sumstats.

Value

Lists with the following elements

function addfit

zcm Zernike coefficient matrix from the zcoef.net entry in the wavefront fits, minus the first 3 elements.

function separate.wf

zcb a data frame with zernike coefficients and standard errors of estimates for intrinsic and instrumental aberrations.

sumstats a data frame with summary statistics describing the fits to each set of coefficients.

wf.mirror the estimated derotated wavefront, stored in a matrix of size nrow x ncol with class pupil.

wf.inst the estimated instrumental (test stand) contribution to the wavefront.

Functions

  • addfit(): Add a wavefront fit to tracking list

  • separate.wf(): Separate wavefronts


mlpeck/zernike documentation built on April 19, 2024, 3:16 p.m.