JSON Format
JSON format of exported data
DICOM Metadata
Top Level
- The top level consists of id, createdAt, updatedAt, name, description, isPrivate and datasets
Datasets
- The datasets have an id, type, createdAt, updatedAt, name, description, studies, dicomMetadata and videoMetadata.
- The videoMetadata attribute is included only when the dataset contains video files.
Studies
- The studies have a StudyInstanceUID (corresponds to DICOM study unique identifier), number (corresponds to assigned exam number in project), and findings.
- datasets -> studies
DICOM Metadata
- The dicomMetadata has a StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID and dicomTags
- datasets -> dicomMetadata
Video Metadata
- The videoMetadata has a StudyInstanceUID, SeriesInstanceUID, origFileName and fileExtension
- datasets -> videoMetadata
Annotations
Top Level
- The top level consists of id, createdAt, updatedAt, name, description, isPrivate, labelGroups and datasets
Label Groups
- The labelGroups have an id, createdAt, updatedAt, name, description, type and labels
Labels
- The labels have an id, parentId, createdAt, updatedAt, name, shortName, description, color, type, scope, annotationMode, and radlexTagIds
- labelGroups -> labels
Datasets
- The datasets have an id, type, createdAt, updatedAt, name, description, studies and annotations.
Studies
- The studies have a StudyInstanceUID (corresponds to DICOM study unique identifier), number (corresponds to assigned exam number in project), and findings.
- datasets -> studies
Annotations
- The annotations have an id, parentId, isImported, isInterpolated, clonedFromModelOutputId, createdAt, createById, updatedAt, updatedById, updateHistory, StudyInstanceUID, SeriesInstanceUID, SOPInstanceUID, frameNumber, timestamp (only for videos), labelId (corresponds to labels), annotationNumber, height (of image), width (of image), data, note, radlexTagIds, reviews, reviewsPositiveCounts , reviewsNegativeCounts, groupId
- datasets -> annotations
Data depends on the annotationMode:
- Bounding box: x, y, width, height
- Freeform, polygon, line: vertices - [ [x,y] ]
- Mask: mask - [[0,...,0],[0,...,0], ...]
- Location: x, y point
datasets -> annotations -> data
Options:
- annotationMode - bounding box, freeform, polygon, line, location
- type - local or global
- scope - for global labels, does the label apply to the image, series, or entire exam
- isPrivate - projects can be public or private
Model Outputs
Top Level
- The top level consists of id, createdAt, updatedAt, name, description, isPrivate, labelGroups, models and datasets
Label Groups
- The labelGroups have an id, createdAt, updatedAt, name, description, type and labels.
Labels
- The labels have an id, parentId, createdAt, updatedAt, name, shortName, description, color, type, scope, annotationMode, and radlexTagIds
- labelGroups -> labels
Models
- The models have an id, createdAt, createdById, updatedAt, name, description, scope, labelClasses, versions and tasks
Label Classes
- The labelClasses have a classIndex and labelId.
- models -> labelClasses
Versions
- The versions have an id, isDefault, versionNumber, createdAt, dockerImageName, dockerImageTag, config and args (key-value pair added via the UI)
- models -> versions
Config (Versions)
- The config has a cpuLimit, cpuRequest, memoryLimit, memoryRequest and acceleratorType
- models -> versions -> config
Tasks
- The tasks have an id, modelVersionId, type, config, args, createdAt, status, startTime, endTime, progress and summary
- models -> tasks
Config (Tasks)
- The config has a resourceIds, resourceType and dicomDatasetId
- models -> tasks -> config
Summary
- The summary has an errorCount and successsCount
- models -> tasks -> summary
Datasets
- The datasets have an id, type, createdAt, updatedAt, name, description, studies and modelOutputs.
Studies
- The studies have a StudyInstanceUID (corresponds to DICOM study unique identifier), number (corresponds to assigned exam number in project), and findings.
- datasets -> studies
Model Outputs
- The modelOutputs have an id, modelId, modelVersionId, modelTaskId, type, createdAt, labelId, data, probability, StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID
- datasets -> modelOutputs
Data depends on the annotationMode:
- Bounding box: x, y, height, width.
- Freeform, polygon, line: vertices - [ [x,y] ]
- Mask: mask - [[0,...,0],[0,...,0], ...]
- Location: x, y point
datasets -> modelOutputs -> data
Models
The exported .zip
model file with following structure:
The model.json
schema file with following structure:
Top Level
- The top level consists of model and labels.
Model
- The model has an id, name, description, scope, autoRunInference, labelClasses and versions
Label Classes
- The labelClasses have a classIndex and labelId.
- model -> labelClasses
Versions
- The versions have an id, isDefault, versionNumber, dockerImageName, dockerImageTag, config, isDefault, args (key-value pair added via the UI), status and source.
- model -> versions
Config
- The config has a cpuLimit, cpuRequest, memoryLimit, memoryRequest, acceleratorType, gpuCount, batchSize and fileType
- model -> versions -> config
Labels
- The labels have an id, parentId, name, shortName, description, color, type, scope, annotationMode, and radlexTagIds