# Data files descriptions Most of the files contained in this folder are intermediate results that I later used for plotting a figure or - in some cases - continuing an analysis. The files are pickle files. Be careful with opening pickle files if you don't trust the source! If you do trust me, then go ahead. The following functions were used during this work and can be used to save and load the variables: ```python def save_variable(filename, variable): ''' Dumps the given variable to a binary pickle file for later use. Parameters ---------- filename : string Filename, possibly including the location where it needs to be saved. variable : TYPE The variable to be saved. ''' with open(filename, 'wb') as f: pickle.dump(variable, f, protocol=-1 ) def load_variable(filename): ''' Loads a binary pickle file for use. Parameters ---------- filename : string Description Returns ------- TYPE variable ''' with open(filename, 'rb') as f: variable = pickle.load(f) return variable ``` ## `/ADC rotation` Contains the "nominal" and "perturbed" geometric distortion points for various rotation angles of the ADC. **Filename structure** Example: `GD_obscured_PSF_xcentroid_expected_zern_psd_rot0.001.pkl` Total 84 files. * `GD` = Geometric distortions * `obscured_PSF` = Obscured pupil function used for the ELT pupil, which also means that an obscured Airy pattern was fitted to find the centroid location. * `xcentroid_expected` = "Nominal" or unperturbed x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `ycentroid_expected` = "Nominal" or unperturbed x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `xcentroid_found` = Perturbed (with a WFE on the ADC prisms) x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `ycentroid_found` = Perturbed (with a WFE on the ADC prisms) y-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `zern_psd` = Type of PSD that was applied for this particular simulation iteration. Here a combination of both a zerike polynomial component as well as a PSD component. * `rotx.xx` = Rotation of x.xx degrees of the ADC prisms for this result. ## `/compressed items` Contains various larger files with the used wavefront errors and an input field distribution which would speed things up during the analysis. * `ADC_input_field_1001x1001_1.49_onaxis_circular.pkl` = The nominal complex field distribution at the start of the ADC. Useful for quick iterative development of the code. Assumes a circular aperture. * `ADC_input_field_1001x1001_1.49_onaxis_obscured.pkl` = The nominal complex field distribution at the start of the ADC. Useful for quick iterative development of the code. Assumes an obscured circular aperture. * `ADC_input_field_1001x1001_1.49_onaxis.pkl` = The nominal complex field distribution at the start of the ADC. Useful for quick iterative development of the code. Assumes the segmented ELT pupil. **Wavefront error file structure** Example: `ADC_tWFE_p1_psd_25nm.pkl` * `ADC` Component for which the WFE is designed. * `tWFE` Transmitted wavefront error. * `px` The wavefront error is to be applied to prism x of the ADC. * `psd_xxnm` Definition used for generating the WFE, with xx nm of RMS. Can also appear combined with lower order zernike modes as `zern_xxnm_psd_xxnm.pkl` ## `/GD Focal Plane WFEs` Contains the "nominal" and "perturbed" geometric distortion points when a phase perturbation is added to the intermediate (ELT) focal plane. **Filename structure** Example: `GD_IFP_zoom2_obscured_PSF_ycentroid_expected_zern_psd.pkl` Total 98 files, of which 96 GD coordinates. * `GD` = Geometric distortions * `IFP` = Intermediate Focal Plane - The geometric distortions are still in the final MICADO image plane. * `zoomx` = Denotes that only a part of the full MICADO field of view is analysed. See list below. * `obscured_PSF` = Obscured pupil function used for the ELT pupil, which also means that an obscured Airy pattern was fitted to find the centroid location. * `xcentroid_expected` = "Nominal" or unperturbed x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `ycentroid_expected` = "Nominal" or unperturbed x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `xcentroid_found` = Perturbed (with a WFE on the ADC prisms) x-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `ycentroid_found` = Perturbed (with a WFE on the ADC prisms) y-coordinates of the PSF on the image plane for the 11x11 grid of field points. * `zern_psd` = Type of PSD that was applied for this particular simulation iteration. Here a combination of both a zerike polynomial component as well as a PSD component. Note: actually only PSD curves where used in this particular analysis. But the name was not changed. **Description of zoom parameter** In the list below the normalised field coordinates correspond to -1:1, this is from -7.5e-3 to +7.5e-3 degrees or around 27 arcseconds. ```python # Defined by PSD ## GD_IFP : -1:1 ## GD_IFP_zoom : -1/11 :1/11 ## GD_IFP_zoom2 : -.5/11:.5/11 ## GD_IFP_zoom3 : -.1/11:.1/11 ## GD_IFP_zoom7 : -.02/11:.02/11, surface interpolation ## GD_IFP_zoom8 : -.05/11:.05/11, surface interpolation ## GD_IFP_zoom9 : -.01/11:.01/11, surface interpolation ## GD_IFP_zoom91 : -.01/11:.01/11 but hx and hy shifted to an area near the corner of the image, where distortion is supposed to be large ## GD_IFP_zoom92 : -.01/11:.01/11, phase interpolation ## GD_IFP_zoom93 : -.004/11:.004/11, phase interpolation ## GD_IFP_zoom94 : - 1/11:1/11, phase interpolation, with shift to left bottom corner ## GD_IFP_zoom95 : - 1/11**2:1/11**2, phase interpolation, with shift to left bottom corner ## GD_IFP_zoom96 : - 1/11**3:1/11**3, phase interpolation, with shift to left bottom corner ## GD_IFP_zoom97 : - 1/11:1/11, phase interpolation, center of the field ## GD_IFP_zoom98 : - 1/11**2:1/11**2, phase interpolation, center of the field ## GD_IFP_zoom99 : - 1/11**3:1/11**3, phase interpolation, center of the field ## GD_IFP_zoom100 : - 1/11**4:1/11**4, phase interpolation, center of the field ## GD_IFP_zoom101 : - 1/11**4:1/11**4, phase interpolation, center of the field, with shift to left bottom corner # Defined by zernikes ## GD_IFP_obscured_PSF_xcentroid_expected_zern : 50 nm rms 19 zernike modes : -1 : 1 ## GD_IFP_zoom4 : -.02/11:.02/11 (actually zernike WFE!), surface interpolation ## GD_IFP_zoom5 : -.05/11:.05/11 (actually zernike WFE!), surface interpolation ## GD_IFP_zoom6 : -.05/11:.05/11, surface interpolation, but hx and hy shifted to an area near the corner of the image (actually zern!) ``` ## `/GD full field` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. Wavefront errors with PSD description only. Note that for these results an obscured Airy pattern was assumed, as well as an obscured ELT aperture. ## `/GD full field (Airy small offset)` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. A small offset to all field positions was applied, because for some reason there were issues when the source was exactly on-axis. Wavefront errors with PSD description only. Note that for these results a normal Airy pattern was assumed, as well as an unobscured ELT aperture. ## `/GD full field (Airy zern psd)` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. A small offset to all field positions was applied, because for some reason there were issues when the source was exactly on-axis. Wavefront errors with Zernike polynomials (20 nm) and PSD (15 nm) description. Note that for these results a normal Airy pattern was assumed, as well as an unobscured ELT aperture. ## `/GD full field (Airy)` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. Wavefront errors with PSD description only. Note that for these results a normal Airy pattern was assumed, as well as an unobscured ELT aperture. ## `/GD full field (Obscured Airy zern psd)` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. A small offset to all field positions was applied, because for some reason there were issues when the source was exactly on-axis. Wavefront errors with Zernike polynomials (20 nm) and PSD (15 nm) description. Note that for these results an obscured Airy pattern was assumed, as well as an obscured ELT aperture. ## `/GD zoomed field` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. The analysis was performed on a smaller subsection of the field. Wavefront errors with Zernike polynomials (20 nm) and PSD (15 nm) description (I think). Note that for these results an obscured Airy pattern was assumed, as well as an obscured ELT aperture. ## `/GD zoomed field (Airy)` Total 4 files A single set of geometric distortions vectors. Four files with the nominal x- and y-coordinates in mm and the perturbed (with WFEs) x- and y-coordinates. The analysis was performed on a smaller subsection of the field. Wavefront errors with Zernike polynomials (20 nm) and PSD (15 nm) description (I think). Note that for these results an Airy pattern was assumed, as well as an unobscured ELT aperture. ## `/Strehl relation analysis` Total 10 files All files related to the comparison of the Maréchal criterion to our simulation framework. * `SR_RMS_values.pkl` = Array containing the input RMS values of the scaled WFEs, ranging from 1 to 1000 nm. Results for a normal Airy pattern. * `SR_strehl_zern.pkl` = Array containing Strehl values for the scaled WFEs, where the WFE was defined by a set of Zernike coefficients. Results for a normal Airy pattern. * `SR_strehl_psd.pkl` = Array containing Strehl values for the scaled WFEs, where the WFE was defined by a PSD curve. Results for a normal Airy pattern. * `SR_rms_zern_complete.pkl` = Array containing the RMS values of the scaled zernike WFEs, ranging from 1 to 1000 nm. Results for a normal Airy pattern. * `SR_rms_psd_complete.pkl` = Array containing the RMS values of the scaled PSD WFEs, ranging from 1 to 1000 nm. * `SR_RMS_values_obscured.pkl` = Array containing the input RMS values of the scaled WFEs, ranging from 1 to 1000 nm. Results for an obscured Airy pattern. * `SR_strehl_zern_obscured.pkl` = Array containing Strehl values for the scaled WFEs, where the WFE was defined by a set of Zernike coefficients. Results for an obscured Airy pattern. * `SR_strehl_psd_obscured.pkl` = Array containing Strehl values for the scaled WFEs, where the WFE was defined by a PSD curve. Results for an obscured Airy pattern. * `SR_rms_zern_complete_obscured.pkl` = Array containing the RMS values of the scaled zernike WFEs, ranging from 1 to 1000 nm. Results for an obscured Airy pattern. * `SR_rms_psd_complete_obscured.pkl` = Array containing the RMS values of the scaled PSD WFEs, ranging from 1 to 1000 nm. ## `/WFE frequency analysis` Files containing the results of the WFE frequency analysis, where different low- high- or bandpass filters where applied to a given WFE. Then the centroid shift was analysed. Total 11 files * `centroid_shift_zernikes.pkl` Tuple containing the centroid shift at different wavefront RMS values, for which the WFE was defined by Zernike modes. Contains, in order: - RMS values - Centroid shift radius - Error in centroid shift radius - Strehl values for the respective WFEs * `centroid_shift_psd.pkl` Tuple containing the centroid shift at different wavefront RMS values, for which the WFE was defined by a PSD curve. Contains, in order: - RMS values - Centroid shift radius - Error in centroid shift radius - Strehl values for the respective WFEs