SlopeManagedFTR¶
-
class
FTR.slopemanage.
SlopeManagedFTR
(ap, filter=None, manage_tt=None, suppress_tt=None, extend=False)[source]¶ Bases:
FTR.ftr.FourierTransformReconstructor
An FTR Reconstructor with slope management to remove the effects of finite apertures.
This class is a direct subclass of
FourierTransformReconstructor
, see that class for detailed method documentation.Parameters: ap : array_like
The aperture of valid measurement points, which also defines the reconstructor shape used to generate filters.
filter : string_like, optional
The filter name to use. If not provided, it is expected that the user will initialize
gx
andgy
themselves.manage_tt : bool, optional
Remove tip and tilt from slopes before reconstruction, and re-apply them after reconstruction. (default is to use
suppress_tt
)suppress_tt : bool, optional
Remove tip and tilt from slopes, and don’t re-apply after reconstruction. (default is False)
extend : bool, optional
Use the “edge extension” method rather than the “slope management” method. The “slope management” method was shown by Poyneer [R2] to have better error properties.
Notes
The Fourier transform reconstructor is described in the documentation for
FourierTransformReconstructor
, which implements the pure Fourier transform reconstructor. This subclass implements methods to correct for finite aperture effects in the Fourier transform.References
[R2] (1, 2) Poyneer, L. A. Signal processing for high-precision wavefront control in adaptive optics. (Thesis (Ph.D.) - University of California, 2007). Examples
Creating a generic reconstructor will result in an uninitialized filter:
>>> import numpy as np >>> aperture = np.zeros((10,10), dtype=np.bool) >>> aperture[1:-2,1:-2] = True >>> recon = SlopeManagedFTR(aperture) >>> recon <SlopeManagedFTR (10x10) filter='Unknown'>
You can create a reconstructor with a named filter:
>>> import numpy as np >>> aperture = np.zeros((10,10), dtype=np.bool) >>> aperture[1:-2,1:-2] = True >>> recon = SlopeManagedFTR(aperture, "fried") >>> recon <SlopeManagedFTR (10x10) filter='fried'> >>> ys, xs = np.meshgrid(np.arange(10), np.arange(10)) >>> recon(xs, ys) array([...])
Methods Summary
reconstruct
(xs, ys[, manage_tt, ...])Use the Fourier transform and spatial filters to reconstruct an estimate of the phase. Methods Documentation
-
reconstruct
(xs, ys, manage_tt=False, suppress_tt=False, extend=None)[source]¶ Use the Fourier transform and spatial filters to reconstruct an estimate of the phase.
Instead of using this method directly, call the instnace itself to ensure that settings are correctly obeyed.
Parameters: xs : array_like
The x slopes
ys : array_like
The y slopes
manage_tt : bool
Whether to remove the tip/tilt from the slopes before reconstruction
suppress_tt : bool
If set, do not re-apply the tip tilt after reconstruction.
Returns: estimate : array_like
An estimate of the phase across all the points where x and y slopes were measured.
Notes
This method serves as the implementation for
__call__()
.
-