autowisp.browser_interface.diagnostics.diag_vs_diag_views module

Class Inheritance Diagram

Inheritance diagram of DiagnosticType, Image, ImageDiagnostics, ObservingSession

Views for diagnostic-vs-diagnostic scatter plots.

autowisp.browser_interface.diagnostics.diag_vs_diag_views._get_series_query(x_diagnostic, y_diagnostic)[source]

Return DB query needed to find available series for plotting.

autowisp.browser_interface.diagnostics.diag_vs_diag_views.create_diag_vs_diag_figure(series_list, *, x_diagnostic, y_diagnostic, db_session, figure_config=None)[source]

Create a scatter plot of x_diagnostic versus y_diagnostic.

Parameters:
  • series_list (list) – Series entries (as produced by get_available_series_for_pair()) to plot. Only entries whose marker is non-empty are plotted.

  • x_diagnostic (str) – Name of the X-axis diagnostic.

  • y_diagnostic (str) – Name of the Y-axis diagnostic.

  • db_session – An active SQLAlchemy database session.

  • figure_config (dict) –

    Optional overrides. Recognised key:

    aspect_ratio (float): Width / height of the display area. Defaults to 1.0.

Returns:

The completed figure.

Return type:

matplotlib.figure.Figure

autowisp.browser_interface.diagnostics.diag_vs_diag_views.display_diag_vs_diag(request, x_diagnostic, y_diagnostic)[source]

Display the diagnostic-vs-diagnostic scatter plot page.

autowisp.browser_interface.diagnostics.diag_vs_diag_views.get_available_series_for_pair(x_diagnostic, y_diagnostic, db_session)[source]

Return the (observing session, channel) pairs that have both diagnostics.

Queries for distinct (observing_session, channel) pairs for which at least one image has a measured value for both x_diagnostic and y_diagnostic.

Parameters:
  • x_diagnostic (str) – Name of the diagnostic to use as the X axis.

  • y_diagnostic (str) – Name of the diagnostic to use as the Y axis.

  • db_session – An active SQLAlchemy database session.

Returns:

dict with keys diagnostics_fields and diagnostics_list, in the same format expected by diagnostics_app.html.

autowisp.browser_interface.diagnostics.diag_vs_diag_views.get_xy_series_data(series, x_diagnostic, y_diagnostic, db_session)[source]

Query paired x/y diagnostic values for a single (session, channel) series.

Parameters:
  • series (dict) – A series entry as produced by get_available_series_for_pair().

  • x_diagnostic (str) – Name of the X-axis diagnostic.

  • y_diagnostic (str) – Name of the Y-axis diagnostic.

  • db_session – An active SQLAlchemy database session.

Returns:

(x_values, y_values, image_ids) as tuples of floats/ints.

Empty tuples if no paired data is found.

Return type:

tuple