Core Concepts¶
Data Hierarchy¶
Team
└── ImageSet (one or more)
└── Image (one or more)
└── Annotation (zero or more)
└── Verification (zero or more)
Team¶
A Team is a group of users who share access to a set of ImageSets. Each team has one or more admins who can manage membership. Users can belong to multiple teams.
ImageSet¶
An ImageSet groups related images — for example, all slides from one study or one batch. Key properties:
| Property | Meaning |
|---|---|
| Public | Anyone can view (read-only) without logging in |
| Public collaboration | Anyone can annotate, not just team members |
| Priority | Flags the set as high / low labeling priority |
| Image lock | Prevents new uploads when set |
| Products | Which annotation type groups apply to this set |
Image¶
A single file inside an ImageSet. EXACT stores the file on disk and records metadata (width, height, resolution, number of frames, …) at upload time.
Multi-dimensional images are represented as:
- Z-stacks — multiple focal planes or time points, navigated with a frame slider
- NIfTI volumes — full 3D volumes with axial / coronal / sagittal MPR views
Annotation¶
An Annotation marks a region of interest inside an image. It has:
| Property | Meaning |
|---|---|
| Annotation Type | Shape, label, and color |
| Vector | The coordinates (bounding box corners, polygon vertices, …) |
| Frame | Which frame / plane the annotation lives on |
| Concealed / Blurred | Flags for special rendering |
| Verified | Whether verification has been completed |
Annotation Types and Products¶
An Annotation Type defines the shape and semantic label of a class of annotations. It belongs to a Product.
A Product is a named collection of annotation types for a particular study or labeling task (e.g., "Mitosis detection" with types "Mitotic figure" and "Mitosis-like"). Products are assigned to ImageSets to control which labels are available in the annotator.
Shape types¶
| Type | Description |
|---|---|
| Bounding box | Axis-aligned rectangle |
| Circle | Center + radius |
| Polygon | Arbitrary closed or open contour |
| Line | Open polyline |
| Point | Single coordinate |
| Global | Image-level label (no spatial extent) |
Verification Workflow¶
The verification workflow gives a second annotator a chance to confirm or reject each annotation:
- Annotator A draws an annotation → status: unverified
- Annotator B opens the Verification view
- B clicks ✓ → status: verified (or ✗ → rejected)
Rejected annotations can be corrected and re-submitted for verification. This creates a lightweight quality-control loop without a separate review system.
Plugins¶
Plugins are server-side jobs that process images or annotations automatically. Typical uses:
- Run inference with a trained model and insert predictions as annotations
- Compute statistics over existing annotations
- Generate heatmaps or density maps
Plugins are managed under Administration → Plugins and can be triggered manually from the imageset view or via the REST API.
REST API¶
EXACT exposes a full REST API at /api/v1/. Authentication uses token-based auth:
# Obtain a token
curl -X POST http://localhost:8000/api/auth/token/login/ \
-H 'Content-Type: application/json' \
-d '{"username": "exact", "password": "exact"}'
# Use the token
curl http://localhost:8000/api/v1/images/image_sets/ \
-H 'Authorization: Token <your-token>'
See the API Reference for the full endpoint list.