Export Structure
Last updated
Was this helpful?
Last updated
Was this helpful?
RedBrick AI offers several ways to structure exports based on the needs of your annotation workflow.
These variations in export directly impact the contents of the subdirectory that is generated when exporting your annotation files (or, optionally, images) from RedBrick AI, and occasionally the tasks.json
file as well.
Please see the following walkthrough for example structures, explanations, and other clarifications regarding export structures.
For the purposes of this documentation, a standard export is any RedBrick AI export that does not include or such as semantic_mask
or binary_mask
.
For Tasks with a single Series or object (e.g. a single 2D DICOM X-ray), RedBrick AI generates a single NIfTI file upon export.
Each file contains all of the individual annotations associated with a particular Series as defined by the segmentMap
, which can be found in the tasks.json
file.
For Tasks with multiple Series, RedBrick AI generates a single NIfTI file per Series upon export.
Each file contains all of the individual annotations associated with a particular Series as defined by the segmentMap
, which can be found in the tasks.json
file.
For Tasks with overlapping segmentations, RedBrick AI generates the following for each Series:
an aggregated annotation file containing all of the annotations in the Series;
a subdirectory that has the same name as the Series;
within the subdirectory, an individual annotation file for each segmentation;
Please note that the annotation files in the subdirectory are generated incrementally based on the order in which annotations were created by the labeler.
SDK Mastery: RedBrick AI automatically enables binary_mask
for Tasks that have overlapping segmentations.
The Semantic Export enforces a direct mapping between an Object Label and the segmentMap
value. While this does not change the structure of the export subdirectory itself, Semantic Export does bring significant changes to the tasks.json
file generated upon export.
Please compare the two sample segmentMap
outputs below.
segmentMap
? When a Taxonomy is created, each Object Label is assigned an immutable and unique integer value - a Category Number.
Unlike Standard Export, which generates the segmentMap
integer incrementally based on the order the labeler created the annotations, the Semantic Export directly correlates this Category Number to your annotation within the NIfTI file, regardless of how the annotator did their work.
In other words (and using the example above), any Glioma annotation will always have a segmentMap
value of 3 upon semantic export, any Abscess will always have a value of 6, and so on.
In this case, only the Object Label Attributes of the very first Entity will be preserved.
The output format will be the same, but the output annotation files will be named according to their Category Number.
segmentMap
for Semantic Export?No. The Category Number is immutable for all Object Labels, regardless of how you re-order or otherwise manipulate the contents of your Taxonomy in the UI.
Your export subdirectory will contain the annotation files for all users who generated and saved annotations on RedBrick AI. Each individual annotation file is marked with a numeric index (e.g. "_1" at the end of the file name, and you can map this file to the corresponding user by referencing your tasks.json
file.
You can read more about the binary_mask parameter and how it affects exports .
If you would prefer to map your annotations directly to the corresponding Object Label of your , you can use the semantic_mask
parameter of the Python SDK's function.
Semantic Export will strictly enforce the principles of even in the presence of human error.
If you attempt to use Semantic Export on a Task that has multiple associated with a single Object Label, RedBrick AI will aggregate all of the Entities into a single annotation file.
When exporting annotations from a , the tasks.json
file and the segmentations/
directory will have a unique structure.