MetricSet¶
-
class
lsst.verify.
MetricSet
(metrics=None)[source]¶ Bases:
lsst.verify.jsonmixin.JsonSerializationMixin
A collection of
Metric
s.Parameters: metrics : sequence of
Metric
instances, optionalMetric
s to be contained within theMetricSet
.Attributes Summary
json
A JSON-serializable object ( list
).Methods Summary
deserialize
([metrics])Deserialize metric JSON objects into a MetricSet instance. insert
(metric)Insert a Metric
into the set.items
()Iterate over (name, metric)
pairs in the set.jsonify_dict
(d)Recursively build JSON-renderable objects on all values in a dict. keys
()Get a list of metric names included in the set load_metrics_package
([package_name_or_path, ...])Create a MetricSet from a Verification Framework metrics package. load_single_package
(metrics_yaml_path)Create a MetricSet from a single YAML file containing metric definitions for a single package. subset
([package, tags])Create a new MetricSet
with metrics belonging to a single package and/or tag.update
(other)Merge another MetricSet
into this one.write_json
(filepath)Write JSON to a file. Attributes Documentation
Methods Documentation
-
classmethod
deserialize
(metrics=None)[source]¶ Deserialize metric JSON objects into a MetricSet instance.
Parameters: metrics :
list
List of metric JSON serializations (typically created by
MetricSet.json
).Returns: metric_set :
MetricSet
MetricSet
instance.
-
insert
(metric)[source]¶ Insert a
Metric
into the set.Any pre-existing metric with the same name is replaced
Parameters: metric :
Metric
A metric.
-
jsonify_dict
(d)¶ Recursively build JSON-renderable objects on all values in a dict.
Parameters: d :
dict
Dictionary to convert into a JSON-serializable object. Values are recursively JSON-ified.
Returns: json_dict :
dict
Dictionary that can be serialized to JSON.
Examples
Subclasses can use this method to prepare output in their
json
-method implementation. For example:def json(self): return JsonSerializationMixin.jsonify_dict({ 'value': self.value, })
-
keys
()[source]¶ Get a list of metric names included in the set
Returns: List of
Name
s included in the set.
-
classmethod
load_metrics_package
(package_name_or_path='verify_metrics', subset=None)[source]¶ Create a MetricSet from a Verification Framework metrics package.
Parameters: package_name_or_path :
str
, optionalName of an EUPS package that hosts metric and specification definition YAML files or the file path to a metrics package.
'verify_metrics'
is the default package, and is where metrics and specifications are defined for most packages.subset :
str
, optionalIf set, only metrics for this package are loaded. For example, if
subset='validate_drp'
, onlyvalidate_drp
metrics are included in theMetricSet
. This argument is equivalent to theMetricSet.subset
method. Default isNone
.Returns: metric_set :
MetricSet
Notes
EUPS packages that host metrics and specification definitions for the Verification Framework have top-level directories named
'metrics'
and'specs'
. The metrics package chosen with thepackage_name_or_path
argument. The default metric package for LSST Science Pipelines isverify_metrics
.To make a
MetricSet
from a single package’s YAML metric definition file that is not contained in a metrics package, useload_single_package
instead.
-
classmethod
load_single_package
(metrics_yaml_path)[source]¶ Create a MetricSet from a single YAML file containing metric definitions for a single package.
Returns: metric_set :
MetricSet
Notes
The YAML file’s name, without extension, is taken as the package name for all metrics.
For example,
validate_drp.yaml
contains metrics that are identified as belonging to thevalidate_drp
package.
-
subset
(package=None, tags=None)[source]¶ Create a new
MetricSet
with metrics belonging to a single package and/or tag.Parameters: package :
str
orlsst.verify.Name
, optionalName of the package to subset metrics by. If the package name is
'pkg_a'
, then metric'pkg_a.metric_1'
would be included in the subset, while'pkg_b.metric_2'
would be excluded.tags : sequence of
str
, optionalTags to select metrics by. These tags must be a subset (
<=
) of theMetric.tags
for the metric to be selected.Returns: metric_subset :
MetricSet
Subset of this metric set containing only metrics belonging to the specified package and/or tag.
Notes
If both
package
andtag
are provided then the resultingMetricSet
contains the intersection of the package-based and tag-based selections. That is, metrics will belong topackage
and posess the tagtag
.
-
classmethod