Source code for tonic.functional.time_jitter

import numpy as np


[docs]def time_jitter_numpy( events: np.ndarray, std: float = 1, clip_negative: bool = False, sort_timestamps: bool = False, ): """Changes timestamp for each event by drawing samples from a Gaussian distribution and adding them to each timestamp. Parameters: events: ndarray of shape [num_events, num_event_channels] std: the standard deviation of the time jitter clip_negative: drops events that have negative timestamps sort_timestamps: sort the events by timestamps after jittering Returns: temporally jittered set of events. """ assert "t" in events.dtype.names shifts = np.random.normal(0, std, len(events)) events["t"] = events["t"] + shifts if clip_negative: events = np.delete(events, (np.where(events["t"] < 0)), axis=0) if sort_timestamps: events = events[np.argsort(events["t"])] return events