High-Level Data Reduction Library: Strehl Computation

High-Level Data Reduction Library 1.6.0 High-Level data reduction routines for ESO pipelines

Loading...
Searching...
No Matches
Functions
Strehl Computation

Function to compute the Strehl ratio on an image. More...

## Functions
hdrl_parameter * | hdrl_strehl_parameter_create (double wavelength, double m1_radius, double m2_radius, double pixel_scale_x, double pixel_scale_y, double flux_radius, double bkg_radius_low, double bkg_radius_high)
| Creates Strehl Parameters object.
cpl_boolean | hdrl_strehl_parameter_check (const hdrl_parameter *self)
| Check that the parameter is a Strehl parameter.
double | hdrl_strehl_parameter_get_wavelength (const hdrl_parameter *p)
| Access the wavelength in the Strehl parameter.
double | hdrl_strehl_parameter_get_m1 (const hdrl_parameter *p)
| Access the primary mirror radius in the Strehl parameter.
double | hdrl_strehl_parameter_get_m2 (const hdrl_parameter *p)
| Access the obstruction radius in the Strehl parameter.
double | hdrl_strehl_parameter_get_pixel_scale_x (const hdrl_parameter *p)
| Access the image X pixel scale in the Strehl parameter.
double | hdrl_strehl_parameter_get_pixel_scale_y (const hdrl_parameter *p)
| Access the image Y pixel scale in the Strehl parameter.
double | hdrl_strehl_parameter_get_flux_radius (const hdrl_parameter *p)
| Access the total flux radius in the Strehl parameter.
double | hdrl_strehl_parameter_get_bkg_radius_low (const hdrl_parameter *p)
| Access the background region internal radius in the Strehl parameter.
double | hdrl_strehl_parameter_get_bkg_radius_high (const hdrl_parameter *p)
| Access the background region external radius in the Strehl parameter.
cpl_parameterlist * | hdrl_strehl_parameter_create_parlist (const char *base_context, const char *prefix, hdrl_parameter *par)
| Create parameter list for the Strehl computation.
hdrl_parameter * | hdrl_strehl_parameter_parse_parlist (const cpl_parameterlist *parlist, const char *prefix)
| Parse parameter list to create input parameters for the Strehl.
hdrl_strehl_result | hdrl_strehl_compute (const hdrl_image *himg, hdrl_parameter *params)
| This function computes the Strehl ratio.

## Detailed Description

Function to compute the Strehl ratio on an image.

The most commonly used metrics for evaluating the AO correction is the Strehl ratio. The Strehl ratio is defined as the ratio of the peak image intensity from a point source compared to the maximum attainable intensity using an ideal optical system limited only by diffraction over the telescope aperture. The Strehl ratio is very frequently used to perform the quality control of the scientific data obtained with the AO assisted instrumentation.

The calculation is performed by calling the top-level function hdrl_strehl_compute() and the parameters passed to this function can be created by calling hdrl_strehl_parameter_create().

## Function Documentation

## ◆ hdrl_strehl_compute()

hdrl_strehl_result hdrl_strehl_compute | ( | const hdrl_image * | himg,
|  | hdrl_parameter * | params
| ) |  |

This function computes the Strehl ratio.

Parameters

  himg | input hdrl image
  params | input hdrl parameters

See also
  hdrl_strehl_parameter_create()

The raw image is assumed to be pre-processed to remove the instrument signatures (bad pixels, etc.) and the natural noise sources (sky background, etc.). Nethertheless this function allows also the user to correct a residual background by setting the parameters bkg_radius_low, bkg_radius_high. The PSF is identified and its integrated flux (controlled by the parameter flux_radius) is normalized to 1. The PSF baricenter is computed and used to generate the ideal PSF (with integrated flux normalized to 1) which takes into account the telescope pupil characteristics (radius m1, central obstruction, m2, ...), the wavelength wavelength, at which the image has been obtained and the related pixel scale (pixel_scale_x, pixel_scale_y,). Finally the Strehl ratio is computed dividing the maximum intensity of the image PSF by the maximum intensity of the ideal PSF and the associated error is also computed.

## ◆ hdrl_strehl_parameter_check()

cpl_boolean hdrl_strehl_parameter_check | ( | const hdrl_parameter * | self | ) |

Check that the parameter is a Strehl parameter.

Parameters

  self | The parameter to check

Returns
  True or False

## ◆ hdrl_strehl_parameter_create()

hdrl_parameter * hdrl_strehl_parameter_create | ( | double | wavelength,
|  | double | m1_radius,
|  | double | m2_radius,
|  | double | pixel_scale_x,
|  | double | pixel_scale_y,
|  | double | flux_radius,
|  | double | bkg_radius_low,
|  | double | bkg_radius_high
| ) |  |

Creates Strehl Parameters object.

Parameters

  wavelength | Nominal filter wavelength [m]
  m1_radius | primary mirror radius [m]
  m2_radius | obstruction radius [m]
  pixel_scale_x | image X pixel scale in [arcsec]
  pixel_scale_y | image Y pixel scale in [arcsec]
  flux_radius | radius used to sum the flux [arcsec]
  bkg_radius_low | radius used to determine the background [arcsec]
  bkg_radius_high | radius used to determine the background [arcsec]

Returns
  The Strehl parameters object. It needs to be deallocated with hdrl_parameter_delete()

See also
  hdrl_parameter_delete()
  hdrl_strehl_compute() The method creates a parameter to compute the Strehl

## ◆ hdrl_strehl_parameter_create_parlist()

cpl_parameterlist * hdrl_strehl_parameter_create_parlist | ( | const char * | base_context,
|  | const char * | prefix,
|  | hdrl_parameter * | par
| ) |  |

Create parameter list for the Strehl computation.

Parameters

  base_context | base context of parameter (e.g. recipe name)
  prefix | prefix of parameter, may be an empty string
  par | hdrl_parameter defining the defaults

See also
  hdrl_strehl_parameter_create()

Creates a parameter list with the Strehl parameters:

- base_context.prefix.wavelength
- base_context.prefix.m1
- base_context.prefix.m2
- base_context.prefix.pixel-scale-x
- base_context.prefix.pixel-scale-y
- base_context.prefix.flux-radius
- base_context.prefix.bkg-radius-low
- base_context.prefix.bkg-radius-high

The CLI aliases omit the base_context.

## ◆ hdrl_strehl_parameter_get_bkg_radius_high()

double hdrl_strehl_parameter_get_bkg_radius_high | ( | const hdrl_parameter * | p | ) |

Access the background region external radius in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The background region external radius value

## ◆ hdrl_strehl_parameter_get_bkg_radius_low()

double hdrl_strehl_parameter_get_bkg_radius_low | ( | const hdrl_parameter * | p | ) |

Access the background region internal radius in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The background region internal radius value

## ◆ hdrl_strehl_parameter_get_flux_radius()

double hdrl_strehl_parameter_get_flux_radius | ( | const hdrl_parameter * | p | ) |

Access the total flux radius in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The total flux radius value

## ◆ hdrl_strehl_parameter_get_m1()

double hdrl_strehl_parameter_get_m1 | ( | const hdrl_parameter * | p | ) |

Access the primary mirror radius in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The primary mirror radius value

## ◆ hdrl_strehl_parameter_get_m2()

double hdrl_strehl_parameter_get_m2 | ( | const hdrl_parameter * | p | ) |

Access the obstruction radius in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The obstruction radius value

## ◆ hdrl_strehl_parameter_get_pixel_scale_x()

double hdrl_strehl_parameter_get_pixel_scale_x | ( | const hdrl_parameter * | p | ) |

Access the image X pixel scale in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The image X pixel scale value

## ◆ hdrl_strehl_parameter_get_pixel_scale_y()

double hdrl_strehl_parameter_get_pixel_scale_y | ( | const hdrl_parameter * | p | ) |

Access the image Y pixel scale in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The image Y pixel scale value

## ◆ hdrl_strehl_parameter_get_wavelength()

double hdrl_strehl_parameter_get_wavelength | ( | const hdrl_parameter * | p | ) |

Access the wavelength in the Strehl parameter.

Parameters

  p | The Strehl parameter

Returns
  The wavelength value

## ◆ hdrl_strehl_parameter_parse_parlist()

hdrl_parameter * hdrl_strehl_parameter_parse_parlist | ( | const cpl_parameterlist * | parlist,
|  | const char * | prefix
| ) |  |

Parse parameter list to create input parameters for the Strehl.

Parameters

  parlist | parameter list to parse
  prefix | prefix of parameter name

Returns
  Input parameters for the Strehl computation

Reads a parameter list in order to create Strehl parameters.

Expects a parameter list containing:

- base_context.prefix.wavelength
- base_context.prefix.m1
- base_context.prefix.m2
- base_context.prefix.pixel-scale-x
- base_context.prefix.pixel-scale-y
- base_context.prefix.flux-radius
- base_context.prefix.bkg-radius-low
- base_context.prefix.bkg-radius-high