Schedule.filter

Schedule.filter(*filter_funcs, channels=None, instruction_types=None, time_ranges=None, intervals=None)[source]

Return a new Schedule with only the instructions from this Schedule which pass though the provided filters; i.e. an instruction will be retained iff every function in filter_funcs returns True, the instruction occurs on a channel type contained in channels, the instruction type is contained in instruction_types, and the period over which the instruction operates is fully contained in one specified in time_ranges or intervals.

If no arguments are provided, self is returned.

Parameters
  • filter_funcs (List[Callable]) – A list of Callables which take a (int, ScheduleComponent) tuple and return a bool.

  • channels (Optional[Iterable[Channel]]) – For example, [DriveChannel(0), AcquireChannel(0)].

  • instruction_types (Optional[Iterable[Type[qiskit.pulse.Instruction]]]) – For example, [PulseInstruction, AcquireInstruction].

  • time_ranges (Optional[Iterable[Tuple[int, int]]]) – For example, [(0, 5), (6, 10)].

  • intervals (Optional[Iterable[Tuple[int, int]]]) – For example, [(0, 5), (6, 10)].

Return type

Schedule