ObservationFilter

class gammapy.data.ObservationFilter(time_filter=None, event_filters=None)[source]

Bases: object

Holds and applies filters to observation data.

Parameters:
time_filter : astropy.time.Time

Start and stop time of the selected time interval. For now we only support a single time interval.

event_filters : list of dict

An event filter dictionary needs two keys:

The filtered event list will be an intersection of all filters. A union of filters is not supported yet.

Examples

>>> from gammapy.data import ObservationFilter, DataStore, DataStoreObservation
>>> from astropy.time import Time
>>> from astropy.coordinates import Angle
>>>
>>> time_filter = Time(['2021-03-27T20:10:00', '2021-03-27T20:20:00'])
>>> phase_filter = {'type': 'custom', 'opts': dict(parameter='PHASE', band=(0.2, 0.8))}
>>>
>>> my_obs_filter = ObservationFilter(time_filter=time_filter, event_filters=[phase_filter])
>>>
>>> ds = DataStore.from_dir("$GAMMAPY_DATA/cta-1dc/index/gps")
>>> my_obs = DataStoreObservation(obs_id=111630, data_store=ds, obs_filter=my_obs_filter)

Attributes Summary

EVENT_FILTER_TYPES

Methods Summary

copy(self) Copy the ObservationFilter object.
filter_events(self, events) Applies the filters to an event list
filter_gti(self, gti) Applies the filters to a GTI table

Attributes Documentation

EVENT_FILTER_TYPES = {'circular_region': 'select_circular_region', 'custom': 'select_parameter'}

Methods Documentation

copy(self)[source]

Copy the ObservationFilter object.

filter_events(self, events)[source]

Applies the filters to an event list

Parameters:
events : EventListBase

Event list to which the filters will be applied

Returns:
filtered_events : EventListBase

The filtered event list

filter_gti(self, gti)[source]

Applies the filters to a GTI table

Parameters:
gti : GTI

GTI table to which the filters will be applied

Returns:
filtered_gti : GTI

The filtered GTI table