21 from __future__
import annotations
23 from dataclasses
import dataclass, asdict, field
24 from typing
import List
28 from ..typehandling
import Storable, StorableHelperFactory
31 __all__ = (
"ExposureSummaryStats", )
34 def _default_corners():
35 return [float(
'nan')]*4
40 _persistence_name =
'ExposureSummaryStats'
42 _factory = StorableHelperFactory(__name__, _persistence_name)
48 psfArea: float =
float(
'nan')
50 psfIxx: float =
float(
'nan')
52 psfIyy: float =
float(
'nan')
54 psfIxy: float =
float(
'nan')
56 ra: float =
float(
'nan')
58 decl: float =
float(
'nan')
60 zenithDistance: float =
float(
'nan')
62 zeroPoint: float =
float(
'nan')
64 skyBg: float =
float(
'nan')
66 skyNoise: float =
float(
'nan')
68 meanVar: float =
float(
'nan')
70 raCorners: List[float] =
field(default_factory=_default_corners)
72 decCorners: List[float] =
field(default_factory=_default_corners)
74 astromOffsetMean: float =
float(
'nan')
76 astromOffsetStd: float =
float(
'nan')
79 Storable.__init__(self)
84 def _getPersistenceName(self):
87 def _getPythonModule(self):
91 return yaml.dump(asdict(self), encoding=
'utf-8')
95 yamlDict = yaml.load(bytes, Loader=yaml.SafeLoader)
99 for _field
in list(yamlDict.keys()):
100 if _field
not in ExposureSummaryStats.__dataclass_fields__:
101 droppedFields.append(_field)
103 if len(droppedFields) > 0:
104 droppedFieldString =
', '.join([str(f)
for f
in droppedFields])
105 warnings.warn((f
"Could not read summary fields [{droppedFieldString}]. "
106 "Please use a newer stack."), FutureWarning)
virtual bool isPersistable() const noexcept
Return true if this particular object can be persisted using afw::table::io.
Interface supporting iteration over heterogenous containers.
daf::base::PropertyList * list