MeasurementSet

class lsst.verify.MeasurementSet(measurements=None)[source]

Bases: lsst.verify.jsonmixin.JsonSerializationMixin

A collection of Measurements of Metrics.

MeasurementSet provides a dict-like interface for getting, setting, and iterating over Measurements.

Parameters:

measurements : list of lsst.verify.Measurements

Measurements to include in the set.

Attributes Summary

json A dict that can be serialized as JSON.

Methods Summary

deserialize([measurements, blob_set, metric_set]) Create a measurement set from a parsed JSON dataset.
insert(measurement) Insert a measurement into the set.
items() Iterete over (Name, Measurement) pairs in the set.
jsonify_dict(d) Recursively build JSON-renderable objects on all values in a dict.
keys() Get a sequence of metric names contained in the measurement set.
refresh_metrics(metric_set) Refresh Measurement.metric attributes in Measurements contained by this set.
update(other) Merge another MeasurementSet into this one.
write_json(filepath) Write JSON to a file.

Attributes Documentation

json

A dict that can be serialized as JSON.

Methods Documentation

classmethod deserialize(measurements=None, blob_set=None, metric_set=None)[source]

Create a measurement set from a parsed JSON dataset.

Parameters:

measurements : list, optional

A list of Measurement JSON serializations.

blob_set : BlobSet, optional

A BlobSet instance that support measurement deserialization.

metric_set : MetricSet, optional

A MetricSet that supports measurement deserialization. If provided, measurements are validated for unit consistency with metric definitions. Measurement instances also gain a Measurement.metric attribute.

Returns:

instance : MeasurementSet

A MeasurementSet instance.

insert(measurement)[source]

Insert a measurement into the set.

items()[source]

Iterete over (Name, Measurement) pairs in the set.

Yields:

item : tuple

Tuple containing:

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 sequence of metric names contained in the measurement set.

Returns:

keys : sequence of Name

Sequence of names of metrics for measurements in the set.

refresh_metrics(metric_set)[source]

Refresh Measurement.metric attributes in Measurements contained by this set.

Parameters:

metric_set : MetricSet

Metrics from this set are inserted into corresponding Measurements contained in this MeasurementSet.

Notes

This method is especially useful for inserting Metric instances into Measurements that weren’t originally created with Metric instances. By including a Metric in a Measurement, the serialized units of a measurment are normalized to the metric’s definition.

update(other)[source]

Merge another MeasurementSet into this one.

Parameters:

other : MeasurementSet

Another MeasurementSet. Measurements in other that do exist in this set are added to this one. Measurements in other replace measurements of the same metric in this one.

write_json(filepath)

Write JSON to a file.

Parameters:

filepath : str

Destination file name for JSON output.