diff --git a/fixtracks/widgets/detectionview.py b/fixtracks/widgets/detectionview.py index 56b945a..80765c1 100644 --- a/fixtracks/widgets/detectionview.py +++ b/fixtracks/widgets/detectionview.py @@ -1,3 +1,4 @@ +import enum import logging import numpy as np @@ -8,6 +9,14 @@ from PySide6.QtGui import QPixmap, QBrush, QColor, QImage from fixtracks.info import PACKAGE_ROOT from fixtracks.utils.signals import DetectionSignals, DetectionViewSignals, DetectionSceneSignals + +class DetectionData(enum.Enum): + ID = 0 + FRAME = 1 + COORDINATES = 2 + TRACK_ID = 3 + + class Detection(QGraphicsEllipseItem): signals = DetectionSignals() @@ -130,10 +139,10 @@ class DetectionView(QWidget): c.setAlpha(int(i * 255 / num_detections)) brush.setColor(c) item = Detection(image_rect.left() + x, image_rect.top() + y, 20, 20, brush=brush) - item.setData(0, track_ids[i]) - item.setData(1, detection_ids[i]) - item.setData(2, coordinates[i, :, :]) - item.setData(3, frames[i]) + item.setData(DetectionData.TRACK_ID.value, track_ids[i]) + item.setData(DetectionData.ID.value, detection_ids[i]) + item.setData(DetectionData.COORDINATES.value, coordinates[i, :, :]) + item.setData(DetectionData.FRAME.value, frames[i]) item = self._scene.addItem(item) logging.debug("DetectionView: Number of items in scene: %i", len(self._scene.items()))