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.
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
withrecursive=false
, or browsing a folder element in the frontend, can be up to 50% faster. - Using
ListElements
with thefolder
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.
The details panel has been redesigned to make its various sections look more consistent and readable.
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.
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.
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.