Updates to Unlabeled Collection Campaigns (Embedding Versions)

We've updated the way that you link your unlabeled indexed search datasets to your seed datasets when running unlabeled collection campaigns.
Rather than specifying seed_dataset_name_for_unlabeled_search when calling create_dataset to upload your unlabeled search dataset, you'll instead grab an embedding version from the UI and specify existing_embedding_version_uuid to do so. See docs for more details.
Otherwise your unlabeled in-app collection campaigns should continue to work as expected.

App Improvements

Filtering By Crops

We now support viewing by crop in the grid view. In addition, we added more granular UI options when parsing crop label filters in the query bar.
Select the crops tab on the left to view only the crops that match a filter
Crop label filters on datasets and inference sets are ANDed for frames and subsequently ORed for crops. For example, for the following query: labelClassification:car, inferenceClassification:pedestrian, we will return all frames that have at least one labeled car and at least one predicted pedestrian, and all crops that are either a labeled car or a predicted pedestrian within those frames.
Embedding Crops View with a dataset label filter and an inference filter applied
If an inference set is selected but not filtered against (eg, only labelClassification:car), then we will return all frames that have at least one labeled car, and all crops that are either a labeled car or any prediction crop within those frames.
It might still be useful to be able to apply crop label filters only to frames, and to be able to view every crop within those frames to give surrounding context to the crops queried for; to support that, we've added a toggle in Display Settings to also show these crops that are "adjacent" to those that match a query.
"Show Adjacent Crops" includes all crops in the filtered frames

Work Queues

We've started rolling out work queues, which can be used to divvy up QA checks or similarly parallelizable tasks. Given a selection of elements to be split into batches of N size, a work queue will create mutually exclusive batches with at most N elements each. People can then review specific batches in parallel.
Review ongoing queues or select a batch to work on
A batch can be marked as "done" at the bottom of the infinite scroll
This is currently a beta feature; please reach out if you'd like to opt in!

Python Client

Fetch Frame Info

The Python client now supports fetching frame ids for a dataset, as well as frame info for an individual frame. See the following example for a sample, or check out the full docs here.
import aquariumlearning as al
al_client = al.Client()
frame_ids = al_client.get_frame_ids(PROJECT, DATASET)
first_frame = al_client.get_frame(PROJECT, DATASET, frame_ids[0])
Last modified 1mo ago