21from __future__
import annotations
23from dataclasses
import dataclass, asdict, field
24from typing
import List
28from ..typehandling
import Storable, StorableHelperFactory
31__all__ = (
"ExposureSummaryStats", )
34def _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')
80 psfStarDeltaE1Median: float =
float(
'nan')
82 psfStarDeltaE2Median: float =
float(
'nan')
84 psfStarDeltaE1Scatter: float =
float(
'nan')
86 psfStarDeltaE2Scatter: float =
float(
'nan')
88 psfStarDeltaSizeMedian: float =
float(
'nan')
90 psfStarDeltaSizeScatter: float =
float(
'nan')
92 psfStarScaledDeltaSizeScatter: float =
float(
'nan')
95 Storable.__init__(self)
100 def _getPersistenceName(self):
103 def _getPythonModule(self):
107 return yaml.dump(asdict(self), encoding=
'utf-8')
111 yamlDict = yaml.load(bytes, Loader=yaml.SafeLoader)
115 for _field
in list(yamlDict.keys()):
116 if _field
not in ExposureSummaryStats.__dataclass_fields__:
117 droppedFields.append(_field)
119 if len(droppedFields) > 0:
120 droppedFieldString =
', '.join([str(f)
for f
in droppedFields])
121 warnings.warn((f
"Could not read summary fields [{droppedFieldString}]. "
122 "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