[DAR-3333][External] Import raster layer annotations even if classes are created or updated #918
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
When importing annotations, if any class needs to be created or assigned to the target dataset (not just masks), no raster layer annotations are actually imported
This is because if this happens, we create / update the classes as needed, then we re-fetch them here
The problem is when we re-fetch the classes, we only fetch classes assigned to the dataset with
dataset.fetch_remote_classes()
Previously we were looking at team-wide classes with
dataset.fetch_remote_classes(team_wide=True)
. It seems that the__raster_layer__
class is never assigned to any dataset. This is a problem because despite containing the actual annotation data, it's not assigned to the dataset so we skip importing itSolution
Always return the
__raster_layer__
class when fetching remote classes, because it's always available in every datasetChangelog
Remove the need for a 2nd import to import mask annotations when classes are created or updated during import