LibMI Project Schema
A LibMI Project is a directory which contains all affiliate data. It can be created using the libmi-init command line tool. Several parameters can be assigned while generating the project:
|-i file||The input whole-slide image file path|
|-o dir||The output project directory|
|-s num||The pixel-level annotation pixel size|
|-t num||The pixel-level annotation tile size|
|-g num||The grading data tile size|
|-c||Copy the whole-slide image to project directory|
Currently, Each LibMI Project contains three files:
- project.json: A JSON file that contains image properties and geometrical annotations data.
- segm.mmsi: A MMSI file that contains pixel-level annotation data.
- grade.db: A SQLite file that contains grading data.
The schema of this file can be found at GitLab. This file contains all the geometrical annotations, image properties of the whole-slide image provided by OpenSlide, and all the parameters assigned when generating the project.
This SQLite file contains only one table. The SQL command can be found at GitLab. This file stores tile-based grading data for every segmentation region. Each region contains a grading level, which is stored as a byte in an array which grading level data of successive region IDs constitute. Tile 0 contains grading data of region ID 0 to (tile_size - 1), tile 1 contains grading data of region ID tile_size to (2 * tile_size - 1) and etc. These data are compressed with ZLIB library to save disk space. At first, there are no tiles in the table. New tiles are created only if a new grading level is written to ungenerated tiles. Reading operations of ungenerated tiles will just return zero, which means the grading level is not assigned.
The format of MMSI file is explained at MMSI File Format Schema.