class Prediction:
    def __init__(self, cls: float, conf: float, xyxyn: list[float]):
        self.cls: int = int(cls)
        self.conf: float = conf
        self.xyxyn: list[float] = xyxyn

class PredictionCollection:
    def __init__(self, result):
        cls_data = result.boxes.cls.cpu().numpy()
        conf_data = result.boxes.conf.cpu().numpy()
        box_data = result.boxes.xyxyn.cpu().numpy()
        self.visualization = result.plot()
        self.predictions: list[Prediction] = [Prediction(cls_data[i], conf_data[i], box_data[i]) for i in range(len(cls_data))]