Coverage for src/evutils/transforms/__init__.py: 100%

6 statements  

« prev     ^ index     » next       coverage.py v7.15.1, created at 2026-07-18 05:24 +0000

1"""Data augmentation transforms for events. 

2 

3torchvision/tonic-style transformations for event streams: random and 

4deterministic operations for augmenting data during training (drops, spatial 

5flips, jitter, time skew, refractory filtering, ...). 

6 

7Each transform pairs a Numba-JIT ``functional`` kernel (dispatched over both 

8plain structured arrays and :class:`~evutils.types.EventArray`) with a 

9composable :class:`Transform` class. :class:`Compose` unwraps/rewraps events 

10only once around each contiguous block of JIT transforms. 

11""" 

12 

13from .compose import Compose 

14from .transforms import ( 

15 Transform, 

16 DropEvent, 

17 DropRandomEvents, 

18 DropEventByTime, 

19 RandomFlipLR, 

20 SpatialJitter, 

21 TimeSkew, 

22 TimeNormalize, 

23 TimeJitter, 

24 RefractoryPeriod, 

25) 

26import evutils.transforms.functional as functional 

27 

28# Keep backward compatibility for users who imported functionals directly. 

29drop_random_events = functional.drop_random_events 

30drop_event = functional.drop_event 

31 

32__all__ = [ 

33 "Compose", 

34 "Transform", 

35 "DropEvent", 

36 "DropRandomEvents", 

37 "DropEventByTime", 

38 "RandomFlipLR", 

39 "SpatialJitter", 

40 "TimeSkew", 

41 "TimeNormalize", 

42 "TimeJitter", 

43 "RefractoryPeriod", 

44 "functional", 

45 "drop_random_events", 

46 "drop_event", 

47]