def showFrame(self, image_widget, dimensions):
        if self.positions_df is None:
            return
        self.set_unit_scaling()

        scaleFactor = image_widget.scaleFactor
        self.clearAll(image_widget)
        frame_no = dimensions['t'].position

        selection = self.positions_df[self.positions_df['frame'] == frame_no]

        for i, row in selection.iterrows():
            x = float(row[self.x_name]) * self.unit_scaling
            y = float(row[self.y_name]) * self.unit_scaling

            r = float(row[self.r_name]) * self.unit_scaling
            if np.isnan(r):
                r = 10.0

            ellipse = QGraphicsEllipseItem(
                self.rect_from_xyr(x, y, r, scaleFactor))
            pen = ellipse.pen()
            pen.setWidth(2)
            pen.setColor(Qt.red)
            ellipse.setPen(pen)
            image_widget.addItemToScene(ellipse)
            self.items.append(ellipse)