Metric¶
- class lsst.verify.Metric(name, description, unit, tags=None, reference_doc=None, reference_url=None, reference_page=None)¶
Bases:
JsonSerializationMixinContainer for the definition of a metric.
Metrics can either be instantiated programatically, or from a metric YAML file through
lsst.verify.MetricSet.- Parameters:
- name
str Name of the metric (e.g.,
'PA1').- description
str Short description about the metric.
- unit
strorastropy.units.Unit Units of the metric.
Measurements of this metric must be in an equivalent (that is, convertable) unit. Argument can either be anastropy.unit.Unitinstance, or aUnit-compatible string representation. Use an empty string,'', orastropy.units.dimensionless_unscaledfor a unitless quantity.- tags
listofstr Tags associated with this metric. Tags are user-submitted string tokens that are used to group metrics.
- reference_doc
str, optional The document handle that originally defined the metric (e.g.,
'LPM-17').- reference_url
str, optional The document’s URL.
- reference_page
str, optional Page where metric in defined in the reference document.
- name
Attributes Summary
Short description of the metric (
str).dictthat can be serialized as semantic JSON, compatible with the SQUASH metric service.Metric's name (
Name).Documentation reference as human-readable text (
str, read-only).Name of the document that specifies this metric (
str).Page number in the document that specifies this metric (
int).URL of the document that specifies this metric (
str).The metric's unit (
astropy.units.Unit).The string representation of the metric's unit (
Unit-compatiblestr).Methods Summary
check_unit(quantity)Check that a
Quantityhas equivalent units to this metric.deserialize([name, description, unit, tags, ...])Create a Metric instance from a parsed YAML/JSON document.
jsonify_dict(d)Recursively build JSON-renderable objects on all values in a dict.
write_json(filepath)Write JSON to a file.
Attributes Documentation
- reference¶
Documentation reference as human-readable text (
str, read-only).Uses
reference_doc,reference_page, andreference_url, as available.
- unit¶
The metric’s unit (
astropy.units.Unit).
Methods Documentation
- check_unit(quantity)¶
Check that a
Quantityhas equivalent units to this metric.- Parameters:
- quantity
astropy.units.Quantity Quantity to be tested.
- quantity
- Returns:
- classmethod deserialize(name=None, description=None, unit=None, tags=None, reference=None)¶
Create a Metric instance from a parsed YAML/JSON document.
- Parameters:
- kwargs
dict Keyword arguments that match fields from the
Metric.jsonserialization.
- kwargs
- Returns:
- metric
Metric A Metric instance.
- metric
- static 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.
- d
- Returns:
- json_dict
dict Dictionary that can be serialized to JSON.
- json_dict
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, })