(self, events, factor)
| 476 | return events[valid_events] |
| 477 | |
| 478 | def scale(self, events, factor): |
| 479 | scale_events = copy.deepcopy(events) |
| 480 | H, W = self.resolution |
| 481 | x_min, x_max = scale_events[:, 0].min().item(), scale_events[:, 0].max().item() |
| 482 | y_min, y_max = scale_events[:, 1].min().item(), scale_events[:, 1].max().item() |
| 483 | x_mid, y_mid = (x_max + x_min) / 2, (y_max + y_min) / 2 |
| 484 | scale_events[:, 0] = torch.round((scale_events[:, 0] - x_mid) * factor + x_mid) |
| 485 | scale_events[:, 1] = torch.round((scale_events[:, 1] - y_mid) * factor + y_mid) |
| 486 | valid_events = (scale_events[:, 0] >= 0) & (scale_events[:, 0] < W) & (scale_events[:, 1] >= 0) & (scale_events[:, 1] < H) |
| 487 | scale_events = scale_events[valid_events] |
| 488 | if scale_events.shape[0] == 0: |
| 489 | return events |
| 490 | return scale_events |
| 491 | |
| 492 | def event_drop(self, events): |
| 493 | raw_events = events |
no test coverage detected