Obsolete (or not) the numerous parameters of detect_cycle, and instead program:
detect_cycles(ts, event_name1, event_name2, thresholds, min_duration1, max_duration1, ....) -> TimeSeries
find_cycles(ts, event_name1, event_name2, min_duration1, max_duration1, ...) -> List[int]
remove_cycles(ts, event_name1, event_name2, i_cycles: List[int]) -> TimeSeries
We put criteria in detect_cycles to avoid detecting glitches, but we search for cycles using find_cycles to remove cycles that are cycles, but that we don't want to analyze.

Obsolete (or not) the numerous parameters of detect_cycle, and instead program:
detect_cycles(ts, event_name1, event_name2, thresholds, min_duration1, max_duration1, ....) -> TimeSeries
find_cycles(ts, event_name1, event_name2, min_duration1, max_duration1, ...) -> List[int]
remove_cycles(ts, event_name1, event_name2, i_cycles: List[int]) -> TimeSeries
We put criteria in detect_cycles to avoid detecting glitches, but we search for cycles using find_cycles to remove cycles that are cycles, but that we don't want to analyze.