Annotation Files

The files are byte-identical to those of the desktop tool LumiScan Annotation, so LumiScan Training and every other tool that reads them work unchanged.

Next to each image

For an image <name>.png (or .jpg, .bmp, .tif; a page of a multi-page TIFF uses <name>_page002 and so on, see Image Formats):

<name>.csv

The boxes (reference annotation): one line per box.

<name>.json

The save history: who saved when.

CSV: the boxes

Tab-separated, with a header line, one line per box:

 centerX	 centerY	   width	  height	angleRad	   label	metadata
 +1106.6	  +149.1	   +68.3	   +59.0	  +0.857	     nut	    null
  +681.4	  +613.1	  +210.6	   +64.8	  +2.512	 bracket	    null

centerX, centerY

Centre of the box in image pixels; x to the right, y downwards from the top left corner of the image.

width

Along the box’s own x axis, in pixels.

height

Along the box’s own y axis, in pixels.

angleRad

Rotation in radians, clockwise in image coordinates. 0: the top of the box points up. The bottom edge (drawn green) is the edge at +height/2.

label

The class of the object.

metadata

Additional data as compact JSON, null if none.

Numbers have a sign and one decimal (angle: three), right-aligned in 8 characters; label and metadata are right-aligned in 8 characters too. Line endings as the desktop tool writes them: CRLF on Windows, LF on Linux.

JSON: the save history

An array with one entry per save:

[
    {
        "user": "anna",
        "timestamp": 1794009447,
        "imageName": "part_003.png",
        "annotationName": "part_003.csv"
    },
    {
        "user": "david",
        "timestamp": 1794009449,
        "imageName": "part_003.png",
        "annotationName": "part_003.csv"
    }
]

timestamp is the time of the save in seconds since 1970-01-01 UTC (Unix time).

auto-consensus marks a reference written automatically because all annotators agreed.

Several annotators per image

The annotators' own versions are kept apart, so training does not read them:

<folder>/.annotations/<name>/<user>.tsv        an annotator's version (same format as the CSV)
<folder>/.annotations/<name>/consensus.json   who decided the reference, when

Project settings

<project folder>/.lumiscan-annotation/settings.json: labels, region of interest, box line thickness, several annotators per image, box suggestions. The keys labels and roiSettings are those of the desktop tool’s settings.json.

What is kept in the database

Everything else is in the server’s database: accounts, sessions, projects and members, the history of every saved version, revision notes and an index of the images. See Backup and Restore.