koa_middleware.selector_base

Classes

CalibrationSelector()

Base class for calibration selectors.

class koa_middleware.selector_base.CalibrationSelector[source]

Bases: object

Base class for calibration selectors. Can be used to select one or a group (e.g. bracketing etalon exposures) of calibrations.

get_candidates(input, db: CalibrationDB, **kwargs)[source]

Get initial candidates.

Parameters:
  • input – Input data file or model object to select a calibration for.

  • candidates – Initial query of candidates.

  • kwargs – Additional filtering parameters.

Returns:

Candidate calibrations.

select(input, db: CalibrationDB, **kwargs)[source]

Select the best calibration for the given input. This method should not be overriden by subclasses in most cases.

Parameters:
  • input – Input data file or model object to select a calibration for.

  • db (CalibrationDB) – Database session for querying.

  • kwargs – Additional filtering parameters specific for the selector.

Returns:

Any – Selected calibration file or model.

select_best(input, candidates, **kwargs)[source]

Select the best calibration(s) based on the candidates. By default, it returns the first candidate. This should be overriden by most subclasses.

Parameters:
  • input – Input data file or model object to select a calibration for.

  • candidates – Candidate calibrations returned from self.get_candidates().

  • kwargs – Additional filtering parameters.

Returns:

Selected calibration file (s)

select_fallback(input, db: CalibrationDB, **kwargs)[source]

Select a fallback calibration if no suitable candidates are found. By default, it returns None. This should be overriden by most subclasses.

Parameters:
  • input – Input data file or model object to select a calibration for.

  • db – Database session for querying.

  • kwargs – Additional filtering parameters.

Returns:

Fallback calibration file (s)