Datum¶
- class lsst.verify.Datum(quantity=None, unit=None, label=None, description=None)¶
Bases:
QuantityAttributeMixin,JsonSerializationMixinA value annotated with units, a plot label and description.
Datum supports natively support Astropy
Quantityand units. In addition, a Datum can also wrap strings, booleans and integers. A Datums’s value can also beNone.- Parameters:
- quantity
astropy.units.Quantity,int,floator iterable. Value of the
Datum.- unit
str Units of
quantityas astrifquantityis not supplied as anastropy.units.Quantity. See http://docs.astropy.org/en/stable/units/. Units are not used bystr,bool,intorNonetypes.- label
str, optional Label suitable for plot axes (without units).
- description
str, optional Extended description of the
Datum.
- quantity
Attributes Summary
Extended description.
Label for plotting (without units).
Units as a LaTeX string, wrapped in
$.Value of the datum (
astropy.units.Quantity,str,bool,None).Read-only
astropy.units.Unitof thequantity.Read-only
astropy.units.Unit-compatiblestrindicating units ofquantity.Methods Summary
deserialize([label, description, value, unit])Deserialize fields from a Datum JSON object into a
Datuminstance.jsonify_dict(d)Recursively build JSON-renderable objects on all values in a dict.
write_json(filepath)Write JSON to a file.
Attributes Documentation
- description¶
Extended description.
- label¶
Label for plotting (without units).
- latex_unit¶
Units as a LaTeX string, wrapped in
$.
- quantity¶
Value of the datum (
astropy.units.Quantity,str,bool,None).
- unit¶
Read-only
astropy.units.Unitof thequantity.
- unit_str¶
Read-only
astropy.units.Unit-compatiblestrindicating units ofquantity.
Methods Documentation
- classmethod deserialize(label=None, description=None, value=None, unit=None)¶
Deserialize fields from a Datum JSON object into a
Datuminstance.- Parameters:
- value
float,int,bool,str, orlist Values, which may be scalars or lists of scalars.
- unit
strorNone An
astropy.units-compatible string with units ofvalue, orNoneif the value does not have physical units.- label
str, optional Label suitable for plot axes (without units).
- description
str, optional Extended description of the
Datum.
- value
- Returns:
- datum
Datum Datum instantiated from provided JSON fields.
- datum
Examples
With this class method, a
Datummay be round-tripped from its JSON serialized form.>>> datum = Datum(50. * u.mmag, label='sigma', ... description="Photometric uncertainty.") >>> print(datum) sigma = 50.0 mmag Photometric uncertainty. >>> json_data = datum.json >>> new_datum = datum.deserialize(**json_data) >>> print(new_datum) sigma = 50.0 mmag Photometric uncertainty.
- 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, })