A new release is available for Arkindex instances. You can test it on our demo instance: demo.arkindex.org.

You can learn more about Arkindex on its official documentation.

Best class removal

The concept of best classes has been removed. Best classes were ML classes on elements that were considered to be the correct classes for this element, and not just some generic machine learning model output stored for debugging purposes. This concept was generally confusing to both developers and users, and its implementation had performance issues.

The best class filter in all element list APIs has been replaced by three simpler filters:

  • Filter by a specific class
  • Filter by classification confidence, using comparison operators (<, <=, =, =>, >)
  • Filter by a classification's high_confidence attribute

These new filters are more performant and allow for more complex queries than what best classes could previously offer.

The new class filters
The new class filters

Optimisations

We are working on optimizing some of the most commonly used endpoints of the Arkindex API, which usually involve browsing through the element hierarchy, as some performance issues have been creeping in on large instances. This work is still ongoing, but this release already includes some performance improvements:

  • Deleting worker results on a parent element can now be up to 30 times faster.
  • Using ListElementChildren with recursive=false, or browsing a folder element in the frontend, can be up to 50% faster.
  • Using ListElements with the folder filter, or browsing a project without a configured top-level type, can be up to 30% faster.

Frontend

Elements

It is now possible to filter child elements by worker version in the annotations tree, just like the type filter.

Filtering by worker version in the annotations tree
Filtering by worker version in the annotations tree

The details panel has been redesigned to make its various sections look more consistent and readable.

The redesigned details panel
The redesigned details panel

Annotation

The annotation panel introduced in the previous release now includes a new batch annotation mode, which can be used to draw rectangles and polygons more quickly by skipping the element creation modal and not waiting for the API to finish saving each element.

The batch annotation settings
The batch annotation settings

Some refactoring has been done on the annotation components, fixing some bugs such as extra points being added when closing a polygon or right clicks being processed as left clicks. This background work will allow us to add more annotation features in later releases.

Processes

The optional process name is now much more useful: a new name filter has been introduced to quickly find a process by its name. A bug has also been fixed with the process name edition modal, ensuring the name you are typing does not get erased when the process' state changes.

Worker configurations are now managed in a separate modal, making it possible to view a JSON configuration before applying it.

The new configuration modal
The new configuration modal

Some small improvements have been made to process templates, namely reporting when a template has been successfully created and ordering templates alphabetically when selecting them.

Misc

Our backend was upgraded to Django 4.0.1, allowing some of the API performance improvements as well as a switch to the new built-in Redis cache support.