Skip to content

Release notes

The current release is 1.9.0 (2026-10-06).

Version Date Highlights
1.9.0 2026-10-06 One installer for every machine. If the PC has an NVIDIA GPU, training and auto-annotation run on it. If not, they run on the CPU. There is nothing to configure; The training log says which one you got. Its first line reads, for example, "Training on GPU: NVIDIA RTX 2000 Ada Generation (16 GB)" or "Training on CPU (no NVIDIA GPU found)"; If a GPU is fitted but can't be used, the log says why. The usual cause is an old driver. A GPU that is not being used can no longer pass for a slow one; Works with NVIDIA GPUs from the RTX 20-series (Turing) onwards, with NVIDIA driver 580 or newer.; Training runs in full precision on the GPU for now. Faster mixed-precision training is planned for a later release; The code that holds the model architecture and training, the ONNX and Hailo export, and the licence check is compiled to native code. It is no longer shipped as readable source; The installer is checked automatically before every release to confirm none of that source is inside it; Rotate polygons, with a handle or the [ and ] keys; Pinch to zoom, two-finger scroll, Space + drag and other trackpad and mouse navigation that behaves the way you expect; A list of every keyboard shortcut, one key (?) away; A new start-up screen and sign-in, with the light theme by default; The licence dialog now shows the ctrlX WORKS steps instead of asking ctrlX Store customers for a key; Projects. Create as many as you like. Each has its own label classes, images, review state and trained model versions; Folders. A project can hold more than one image set, so each set can be worked on separately without making a second project. Auto-annotation and exports can be limited to a single folder; Bring images in.; Find your way around a large set.; Delete one or many images at once; Bounding box (B): drag a rectangle; Polygon (P): click each corner in turn. Finish with Enter, a double-click, a right-click, or by clicking the first point again. Backspace takes back the last point and Esc discards the shape. A polygon needs at least three points that enclose an area; Rotated box (O): drag out a rectangle, then spin it. The rectangle is guaranteed, so opposite sides are always equal, which makes measurements cleaner than four free clicks; Select / pan (Esc); Move and resize any shape; Polygon corners. Drag a corner handle to move it, double-click an edge to add a corner, and Alt+click a corner to remove it, so a polygon with the wrong number of corners no longer has to be redrawn; Rotate polygons and rotated boxes with the round handle above them (hold Shift to snap to 15°), or with [ and ] (1°; Shift for 15°); Nudge the selection with the arrow keys (1 px; Shift for 10 px). Ctrl+D duplicates it; Copy and paste annotations across images (Ctrl+C, Ctrl+V, Ctrl+A to select all); Undo and redo every edit, including moves and relabelling, even when several shapes move together; Autosave. Work is saved automatically every 30 seconds, and Ctrl+S saves now; Any names you like, each with its own colour. There is no built-in class list; Apply Class to Selected (L) relabels shapes you have already drawn, singly or several at once; Merge classes, so "Carton" and "Cartons" do not stay two classes; Press 1 to 9 to pick a class, and the selection takes it; Mark Reviewed (R) says "a person has checked this". Only reviewed annotations are used for training.; Clear Unreviewed Annotations removes only the unchecked machine labels, so a retrained model can have another go at those images. Reset Review State is also available under Tools; Mouse wheel zooms at the cursor. On a trackpad, pinch zooms at your fingers and two-finger scroll pans; Hold Space and drag, or middle-drag, to pan from any tool; +, - and 0 zoom in, zoom out and fit to window; Dragging a shape that is not selected pans the image instead of moving the shape, so a pan never carries annotations along by accident; A model that learns your classes. Whatever classes you define in the project, that is what it learns; Before you start: at least 50 reviewed images per project. The app checks your dataset and tells you what is missing; Settings.; Optional model abilities. These shape the model, so they must be chosen before training and cannot be added afterwards:; Versions. Each training run is a new model version. A new run warm-starts from the previous version's weights when the classes and settings match, so retraining after more review is faster; Watch it and stop it. A live log streams into the dialog, and you can close the dialog and reopen it mid-run. Stop Training finishes the current epoch and saves a checkpoint first, so cancelling never loses work; Keep or bring weights.; Auto-Annotate runs your latest model over the images that have no annotations yet. Because it uses your own trained model, each round of "review, then retrain" improves it; The loop: annotate and review at least 50 images, train, auto-annotate the rest, review the results, correct them, and train again. There is no limit on how many times you repeat it; Machine labels stay unreviewed until a person checks them, so they cannot quietly feed back into training; With corner or outline models, auto-annotation places four corners or a traced polygon instead of a box; Draw or auto-annotate a four-corner shape, enter either a known scale (mm per pixel) or a depth reading plus the camera's horizontal field of view, and press Measure (M); You get length, breadth, all four edge lengths and squareness, shown beside the image that produced them so each number can be checked; A capture from a time-of-flight camera such as the Helios2 (.ply or .npz) comes in as an image, so every annotation tool, class, training run and export works on it unchanged; An outline drawn on that image selects the 3D points under it, one point per pixel, and the measurement is taken from those real points; Depth and geometry views (press D) show the shape of the scene, not just its brightness, so a badly fitted ground plane, or two objects at different heights read as one, show up before a measurement comes back wrong; CSV or Excel (Tools menu). One row per reviewed four-corner annotation: file name, class, length, breadth and squareness. The Excel version also has a photo of the capture on every row; An option includes unreviewed auto-annotations, which is what you need to check a model's predictions against known dimensions; ONNX export for ctrlX (Standard). Converts your model to the ONNX Runtime format a ctrlX app loads. The file describes itself: your class names and the exact pre-processing it expects are stored inside it. The export checks that the converted model gives the same answers as the original. You can also save a .zip with the class list, a metadata.json and setup notes; NVIDIA GPU target (CUDA / TensorRT) (Pro). A model shaped so TensorRT can build an engine from it directly. The bundle includes run_nvidia.py, a complete worked example that runs the model and prints which provider it really used. It stops with an error instead of quietly falling back to the CPU, so a GPU deployment can never turn out to have been a slow CPU one; Hailo accelerator target (Pro). Produces a bundle for the Hailo Dataflow Compiler: a graph built for the chip, a calibration set made from your own images, and a model script; Compile to .hef (Pro, Tools ▸ Compile Hailo Bundle to .hef…). Runs the compile for you; Accounts. The first account created is automatically the administrator; later ones are annotators. Administrators manage users and their roles from the Admin dashboard, and everyone can change their own password; Licensing. Help ▸ Licence… shows what you have; A navy start-up screen that says what it is doing and for how long, so a slow first start never looks like a frozen app, and a sign-in with a brand panel beside the form; Light theme by default; Ctrl+T switches to dark; Everything stays on your PC. The app only listens on 127.0.0.1. Your data lives in %USERPROFILE%\AnnotationTool: the database, the images and the trained models; Every build tests itself before it is released: the packaged program is run automatically and must pass a self-check of the libraries it depends on, including the NVIDIA ones, and the installer is installed and checked the same way; The installer is large because the NVIDIA GPU libraries are included on every machine, whether or not it has an NVIDIA GPU; Training on the GPU uses full precision in this release; Compiling for Hailo needs the Hailo Dataflow Compiler installed separately, as described above; This release is for Windows. There is no 1.9.0 build for macOS; Earlier installers (1.5.0 to 1.8.0) have been withdrawn. Please move to 1.9.0.
1.7.1 2026-10-01 ONNX and Hailo export no longer close the app (export runs in its own process); parcel models with package corners export to Hailo; dgqp.npz back in the Hailo bundle. Licensing unchanged.
1.7.0 2026-10-01 First commercial release. Licensing through the ctrlX Store and ctrlX WORKS (Standard / Pro); Import ctrlX Captures from a deployed Visual Detector.
1.6.0 2026-09-24 Object outline (polygon) prediction; copy and paste annotations across images; measurement export to Excel with a photo per row; ToF measurement fixes from first field captures.
1.5.1 2026-09-22 Measurement export returns L × B × H per package; works behind corporate proxies; measurement defaults corrected from real Helios2 captures.
1.5.0 2026-09-21 NVIDIA GPU (CUDA / TensorRT) export target; polygon re-editing; 2.5D ToF capture ingest and measurement; static input shape by default.

Known limitations in 1.7.x

  • The installer is not yet code-signed, so Windows SmartScreen warns on first launch (More info ▸ Run anyway).
  • Licensing is Windows only; there is no licensed macOS build.
  • Models trained with object outlines cannot be exported yet.
  • Training runs on the CPU in the shipped build.