EventData#

class jinwu.core.EventData(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: EventDataBase

Concrete event data class with local behavior implementation.

Attributes Summary

Methods Summary

clear_all(*[, use_original])

clear_energy(*[, use_original])

clear_region(*[, use_original])

clear_time(*[, use_original])

extract_curve(binsize, **kwargs)

extract_gti(hdul)

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

extract_image(**kwargs)

extract_spectrum(**kwargs)

filter_energy([pi_min, pi_max])

filter_region(region)

filter_time([tmin, tmax])

get_energy([rmf])

get_keyword_ci(key[, default])

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

get_time_object([index])

plot([ax, bins, cmap, title, invert_ra, ...])

rebin(binsize, *[, tmin, tmax])

save(outpath[, kind, overwrite])

slice([tmin, tmax, pi_min, pi_max, ch_min, ...])

timescale(*[, background, alpha])

创建独立的 timescale 分析器。

validate()

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

xselect()

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']#
absolute_time#
channel#
colmap#
columns#
duration#
ebounds#
energy#
gti#
gti_exposure#
gti_start#
gti_start_obj#
gti_stop#
gti_stop_obj#
header#
headers_dump#
kind = 'evt'#
meta#
n#
path#
pi#
raw_columns#
telescop#
time#
time_raw#
time_rel#
timezero#
timezero_obj#
validation#
x#
y#

Methods Documentation

clear_all(*, use_original: bool = True) EventData[source]#
clear_energy(*, use_original: bool = True) EventData[source]#
clear_region(*, use_original: bool = True) EventData[source]#
clear_time(*, use_original: bool = True) EventData[source]#
extract_curve(binsize: float, **kwargs) LightcurveData[source]#
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.

extract_image(**kwargs)[source]#
extract_spectrum(**kwargs) PhaData[source]#
filter_energy(pi_min: int | None = None, pi_max: int | None = None) EventData[source]#
filter_region(region) EventData[source]#
filter_time(tmin: float | None = None, tmax: float | None = None) EventData[source]#
get_energy(rmf: RmfData | None = None) ndarray | None[source]#
get_keyword_ci(key: str, default: Any | None = None) Any#

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

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

get_time_object(index: int | None = None) Any | None[source]#
plot(ax: Any | None = None, *, bins: int | Tuple[int, int] = 300, cmap: str = 'viridis', title: str | None = None, invert_ra: bool = True, show_grid: bool = True, show_colorbar: bool = True, **kwargs)[source]#
rebin(binsize: float, *, tmin: float | None = None, tmax: float | None = None) LightcurveData[source]#
save(outpath: str | Path, kind: str = 'evt', overwrite: bool = False, **kwargs) Path[source]#
slice(tmin: float | None = None, tmax: float | None = None, *, pi_min: int | None = None, pi_max: int | None = None, ch_min: int | None = None, ch_max: int | None = None) EventData[source]#
timescale(*, background: EventDataBase | str | Path | None = None, alpha: float | None = None) Any[source]#

创建独立的 timescale 分析器。

validate() ValidationReport[source]#

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

xselect() Any[source]#