ch-sa/labelCloud

Handle missing class definitions for semantic segmentation

ch-sa opened this issue · 1 comments

ch-sa commented

When opening an existing *.bin point cloud with segmentation labels but not the correct class definitions (missing _classes.json or deleted classes in the welcome dialog) then labelCloud either uses a different class or crashes:

Traceback (most recent call last):
  File "/home/christoph/Development/github/labelCloud/labelCloud/view/viewer.py", line 70, in initializeGL
    self.pcd_manager.pointcloud.create_buffers()  # type: ignore
  File "/home/christoph/Development/github/labelCloud/labelCloud/model/point_cloud.py", line 120, in create_buffers
    (self.label_colors, self.label_vbo),
  File "/home/christoph/Development/github/labelCloud/labelCloud/model/point_cloud.py", line 131, in label_colors
    colors = LabelConfig().color_map[LabelConfig().class_order[self.labels]]
IndexError: index 2 is out of bounds for axis 0 with size 1

Replication

  1. Label a point cloud with semantic segmentation
  2. Restart and delete class definitions

I would say either these missing classes become the default class or a special "missing" class or the user is asked to provide a class name for them.

close this as it's addressed by #125