MetadataMetricTask

MetadataMetricTask is a base class for generating Measurements from task metadata of the same granularity. The class handles loading metadata and extracting the keys of interest, while subclasses are responsible for creating the Measurement from the extracted values.

MetadataMetricTask is currently a subclass of lsst.verify.tasks.MetricTask. It is expected that MetadataMetricTask can be migrated to the Gen 3 framework without affecting its subclasses.

Processing summary

MetadataMetricTask runs this sequence of operations:

  1. Find the metadata key(s) needed to compute the metric by calling the customizable getInputMetadataKeys method.
  2. Search the metadata object passed to run for the keys, and extract the corresponding values.
  3. Process the values by calling the customizable makeMeasurement method, and return the Measurement.

Python API summary

from lsst.verify.tasks.metadataMetricTask import MetadataMetricTask
classMetadataMetricTask(**kwargs)

A base class for tasks that compute metrics from single metadata objects...

attributeconfig

Access configuration fields and retargetable subtasks.

methodrun(metadata)

Compute a measurement from science task metadata...

See also

See the MetadataMetricTask API reference for complete details.

Butler datasets

Input datasets

metadata`
The metadata of the top-level command-line task (e.g., ProcessCcdTask, ApPipeTask) being instrumented. Because the metadata produced by each top-level task is a different Butler dataset type, this dataset must be explicitly configured when running MetadataMetricTask or a MetricsControllerTask that contains it.

Output datasets

measurement
The value of the metric. The dataset type should not be configured directly, but should be set changing the package and metric template variables to the metric’s namespace (package, by convention) and in-package name, respectively. Subclasses that only support one metric should set these variables automatically.

Retargetable subtasks

No subtasks.

Configuration fields

connections

Data type
lsst.pipe.base.config.Connections
Field type
ConfigField
Configurations describing the connections of the PipelineTask to datatypes

metadataDimensions

Default
{'detector', 'visit', 'instrument'}
Field type
str ListField
Override for the dimensions of the ‘metadata’ input, when instrumenting Tasks that don’t produce one metadata object per visit.

saveMetadata

Default
True
Field type
bool Field
Flag to enable/disable metadata saving for a task, enabled by default.