#include <aplusplus_reconstructor.h>
Inheritance diagram for Arroyo::a_plusplus_reconstructor:

Public Member Functions | |
| a_plusplus_reconstructor (const a_plusplus_reconstructor &appr) | |
| a_plusplus_reconstructor (const char *filename) | |
| a_plusplus_reconstructor (const char *APP_zonal_reconstructor_file, int nactuators, int nslopes) | |
| a_plusplus_reconstructor (const char *APP_zonal_reconstructor_file, int nactuators, int nslopes, const char *APP_zernike_reconstructor_file, int nzernike_modes) | |
| a_plusplus_reconstructor (const Arroyo::iofits &iof) | |
| ~a_plusplus_reconstructor () | |
| a_plusplus_reconstructor & | operator= (const a_plusplus_reconstructor &appr) |
| void | read (const char *filename) |
| Read from file. | |
| void | read (const Arroyo::iofits &iof) |
| void | write (const char *filename) const |
| void | write (Arroyo::iofits &iof) const |
| void | print (std::ostream &os, const char *prefix="") const |
| vector< long > | get_centroid_axes () const |
| vector< long > | get_actuator_axes () const |
| Arroyo::zernike | get_zernike_modes () const |
| void | reconstruct_zernike_residuals (const Arroyo::Shack_Hartmann_centroids &shcentroids, Arroyo::zernike &znke) const |
| void | reconstruct_zonal_residuals (const Arroyo::Shack_Hartmann_centroids &shcentroids, Arroyo::pixel_array< double > &pixarr) const |
| void | reconstruct_residuals (const Arroyo::Shack_Hartmann_centroids &shcentroids, Arroyo::zernike &znke, Arroyo::pixel_array< double > &pixarr) const |
Protected Member Functions | |
| a_plusplus_reconstructor () | |
Protected Attributes | |
| std::map< int, std::pair< char, std::vector< long > > > | reconstructor_to_zernike_mode_map |
This class aims to represent reconstructors that yield zonal residuals as well as an arbitrary number of zernike mode residuals.
|
|
Null constructor |
|
|
Copy constructor |
|
|
Construct from file |
|
||||||||||||||||
|
Construct from an A++ ascii file You must specify the file containing the reconstructor, along with the number of slopes (twice the number of subaps) and the number of actuators. Note that the A++ reconstructor must be fully populated with subapertures and actuators throughout the grid. This is due to the fact that Arroyo assumes an instance of the Shack Hartmann centroid class will be passed into this function, and this class populates a rectangular grid, rather than leaving out the unilluminated subaps. Similarly, the zonal residuals returned by the reconstructor lie on a rectangular grid, meaning that residuals for uncontrolled actuators are returned by this reconstructor. One of the specific consequences of this assumption is that user-defined wiring schemes in A++ are not supported by this class. This constructor attempts to perform all checks that it possibly can, as the A++ interface really must be considered fragile and largely untested. |
|
||||||||||||||||||||||||
|
Construct from two A++ ascii files You must specify the file containing the reconstructor with the zernike modes projected out, along with the number of slopes (twice the number of subaps) and the number of actuators. You must also specify the file containing the reconstructor that converts slopes to zernike modes, along with the number of modes in the projection. This reconstructor assumes that the zernike modes projected out of the reconstructor run from lowest to highest using the A++ counting scheme, and exclude Bal. SpAb (mode number 9). It is not necessarily the case that one will always want to make a reconstructor that generates the zonal residuals with the zernike modes projected out. For example, one could call this reconstructor by supplying an APP zonal reconstructor file without any zernike mode projection together with an APP zernike reconstructor that generates the first 10 zernike modes. This would allow one to monitor statistical fluctuations in these modes by examining the time histories of their coefficients. Note that the A++ reconstructor must be fully populated with subapertures and actuators throughout the grid. This is due to the fact that Arroyo assumes an instance of the Shack Hartmann centroid class will be passed into this function, and this class populates a rectangular grid, rather than leaving out the unilluminated subaps. Similarly, the zonal residuals returned by the reconstructor lie on a rectangular grid, meaning that residuals for uncontrolled actuators are returned by this reconstructor. One of the specific consequences of this assumption is that user-defined wiring schemes in A++ are not supported by this class. This constructor attempts to perform all checks that it possibly can, as the A++ interface really must be considered fragile and largely untested. |
|
|
Construct from iofits object |
|
|
Destructor |
|
|
Get dimensions of pixel array returned by the reconstructor Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Get dimensions of centroid measurements passed to the reconstructor Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Get a zernike instance that contains information about which modes are returned by the reconstructor. This instance is minimally sized so as to hold the largest mode returned by the reconstructor. Each element of this instance is initialized to unity if the corresponding mode is returned by the reconstructor, and to zero if it is not Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Operator = |
|
||||||||||||
|
Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Read from iofits Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Read from file.
Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
||||||||||||||||
|
Reconstruct the residuals from Shack Hartmann centroid data This reconstructor reconstructs a zernike instance with a number of modes specified by the reconstructor, and a pixel array containing zonal residuals Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
||||||||||||
|
Reconstruct the zonal residuals from Shack Hartmann centroid data This reconstructor reconstructs a zernike instance with a number of modes specified by the reconstructor Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
||||||||||||
|
Reconstruct the zonal residuals from a Shack Hartmann centroid class instance Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Write to iofits Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
Write to file Implements Arroyo::zernike_projected_zonal_reconstructor. |
|
|
A map from reconstructor array indices to zernike modes. This data member maps the reconstructor index corresponding to the output residual of the modal part of the reconstructor to a specific zernike mode. The zernike mode is labelled by a pair: the first element is a char (either c or s) and the second element is a vector with two elements (zernike order, level). This mapping allows this class to support reconstructors that return residuals for any number of possibly noncontiguous zernike modes. |
1.3.9.1