The image annotation tool freezes for a short time whenever a new annotation is created (after the request returns), once there are a couple of thousand annotations on an image (tested with ~3000 point annotations). This is an edge case for regular images but could happen easily for gigapixel images.
The freeze is caused by the update of the annotations array which is made reactive by Vue. This can probably be implemented more efficiently, e.g. by bypassing reactivity/props and access component methods directly, or by using Object.freeze on the annotation objects. However, this is a significant amount of work and requires thorough testing, as the annotation canvas is a core component which is also used elsewhere in BIIGLE (e.g. MAIA, ananas).
We also had a similar report for a video with more than 10k annotations. Maybe there is a similar bottleneck in the video annotation tool? See also https://github.com/biigle/core/issues/417
The image annotation tool freezes for a short time whenever a new annotation is created (after the request returns), once there are a couple of thousand annotations on an image (tested with ~3000 point annotations). This is an edge case for regular images but could happen easily for gigapixel images.
The freeze is caused by the update of the annotations array which is made reactive by Vue. This can probably be implemented more efficiently, e.g. by bypassing reactivity/props and access component methods directly, or by using
Object.freeze
on the annotation objects. However, this is a significant amount of work and requires thorough testing, as the annotation canvas is a core component which is also used elsewhere in BIIGLE (e.g. MAIA, ananas).