You are here: Foswiki>Software Web>AoCravat (16 Jan 2021, YangZhang)Edit Attach

AO Cravat

AO-Cravat is an acronym for "AO Check-out Record-keeping And Visualization Archive Tool." It is intended to be a system and a set of tools to help analyze the AO performance on the LBT.

The current focus of this project is to produce automated data analysis reports based on existing OSCO (AO On Sky Checkout, see below) data collected. In addition, the project also focuses on building a robust Strehl ratio estimation program (in Python 3) for the OSCO data. The Strehl ratio is an important measurement of the quality of the OSCO data (and the AO performance) and will be central to the AO Cravat reports. Currently we utilize two other Strehl ratio estimation programs, one is provided by David Hiriart (a C code), and the other one is the Arcetri E-lab IDL code. The primary purpose is to cross compare (when possible) the results with different programs. When our own Python Strehl program matures, we intend to only use it as the primary Strehl ratio calculator for our reports.

In the future, it is also possible that this project's scope be expanded to include various visualization tools (online and/or offline) to help people examine the historical OSCO data and perform certain statistical analysis tasks. However our current focus is on the Python 3 Strehl ratio program development and the design and implementation of the software infrastructures to realize the automatic report generation.


OSCO is AO On Sky CheckOut. It is a procedure developed at LBT to take quick AO measurements during evening twilights on a fixed set of stars using LUCI. OSCO also refers to the resulting images from the procedure.

How to Find OSCO Data

True OSCO data:

Here are the rules on how to determine if a LUCI image is from the OSCO procedure:
  • There must be a "PI_NAME" keyword in the fits header, whose value must be "OSCO OSCO".
  • There must be a "PROPID" keyword in the fits header, whose value must match the pattern: "LE-20xxy-001", where "x" is a digit, and "y" is a capital letter. An example will be: "LE-2019B-001". More formally we can define it using a Python 3 regular expression: r'LE\-20\d{2}[A-Z]\-001' Note: the "PROPID" field in a fits header may contain more information, an example would be: "LE-2019B-001/LBT-2019B-T0534". This still satisfies the OSCO definition. Thus in terms of Python 3 semantics, this rule should be interpreted as: is True, where pat is the regular expression defined before, and propid is the string value extracted from the "PROPID" keyword in a fits file.
  • The "FILTERS" keyword must exist in the fits header, and whose value must contain "FeII". Notice the filters used are usually a combination of two filters, e.g., FeII+ND4. In our case the "FeII" filter is required for any OSCO data, while a "ND" filter is not necessary required. So when we extract the "FILTERS" keyword from a fits file, we will just need to make sure it contains the "FeII" value.
  • Data-cube style images will be rejected, i.e., all OSCO frames must have a "NAXIS" keyword and its value must be 2, and the "NAXIS1" and "NAXIS2" both being 2048.

Semi OSCO data:

  • There are also data taken with the first two true OSCO conditions satisfied, but with different filters than the "FeII" required in true OSCO data. These are considered semi-OSCO data.

E-lab data:

  • These are data taken during the e-lab run and usually has to be extracted manually from logs/notes.

We will typically only be interested in true OSCO data. However we presently do not have a large collection of them. Thus sometimes we may be using semi-OSCO data. The E-lab data is mainly for comparison purposes. We should plan on stop using them after some time.

OSCO datasets

Here we will present some of the OSCO datasets we currently have and their initial Strehl analysis results. (to be updated)

Strehl Ratio Calculation

A Python 3 program is in development for Strehl ratio calculation for the OSCO data. Source code is located at:

We will update this section in the future to include the details of our Strehl code and its main highlights.

Meeting Minutes

Topic revision: r15 - 16 Jan 2021, YangZhang
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback