EventDataBase#

class jinwu.core.EventDataBase(path: Path, header: Dict[str, Any], meta: Any, headers_dump: Any, time: np.ndarray = <factory>, time_raw: np.ndarray = <factory>, time_rel: np.ndarray = <factory>, timezero: float = 0.0, timezero_obj: Optional[Any] = None, telescop: Optional[str] = None, pi: Optional[np.ndarray] = None, channel: Optional[np.ndarray] = None, x: Optional[np.ndarray] = None, y: Optional[np.ndarray] = None, gti_start: Optional[np.ndarray] = None, gti_stop: Optional[np.ndarray] = None, gti_start_obj: Optional[Any] = None, gti_stop_obj: Optional[Any] = None, gti: Optional[list] = None, raw_columns: Optional[Dict[str, np.ndarray]] = None, colmap: Optional[Dict[str, Optional[str]]] = None, energy: Optional[np.ndarray] = None, ebounds: Optional[Tuple[np.ndarray, np.ndarray, np.ndarray]] = None, columns: Tuple[str, ...] = ())[source]#

Bases: OgipTimeSeriesBase

Pure field-only base dataclass for event data.

Attributes Summary

Methods Summary

extract_gti(hdul)

Extension point: parse GTI from an opened HDUList and return list of (start, stop) tuples.

get_keyword_ci(key[, default])

大小写不敏感地从 header 中读取关键字(若 header 为 dict).

validate()

通用层:仅检查路径与 header 存在性。子类会扩展。

Attributes Documentation

CRITICAL_KEYS = ['TIMESYS', 'TIMEUNIT']#
OPTIONAL_KEYS = ['OBJECT', 'OBS_ID', 'MJDREF', 'MJDREFI', 'MJDREFF', 'TIMEZERO', 'TREFPOS', 'DATE-OBS']#
REQUIRED_COLUMNS_ANY = [['TIME']]#
REQUIRED_KEYS = ['TELESCOP', 'INSTRUME', 'TIMESYS', 'TIMEUNIT']#
channel: np.ndarray | None#
colmap: Dict[str, str | None] | None#
columns: Tuple[str, ...]#
ebounds: Tuple[np.ndarray, np.ndarray, np.ndarray] | None#
energy: np.ndarray | None#
gti: list | None#
gti_start: np.ndarray | None#
gti_start_obj: Any | None#
gti_stop: np.ndarray | None#
gti_stop_obj: Any | None#
header#
headers_dump#
kind: ClassVar[Literal['evt']] = 'evt'#
meta#
path#
pi: np.ndarray | None#
raw_columns: Dict[str, np.ndarray] | None#
telescop: str | None#
time: np.ndarray#
time_raw: np.ndarray#
time_rel: np.ndarray#
timezero: float#
timezero_obj: Any | None#
validation#
x: np.ndarray | None#
y: np.ndarray | None#

Methods Documentation

extract_gti(hdul: Any) list | None#

Extension point: parse GTI from an opened HDUList and return list of (start, stop) tuples.

Default implementation searches for an extension named ‘GTI’ (case-insensitive) and, if present, returns a list of (START, STOP) pairs. Readers should call this to populate event objects’ GTI field.

get_keyword_ci(key: str, default: Any | None = None) Any#

大小写不敏感地从 header 中读取关键字(若 header 为 dict).

返回关键字值或提供的 default。便于统一处理 FITS 关键字的大小写差异。

validate() ValidationReport#

通用层:仅检查路径与 header 存在性。子类会扩展。