最終更新: a few seconds agoRemove Netlify-related code from main (grafted, HEAD)

CIRCUS CS プラグイン開発者ガイド

このドキュメントはドラフトです。

Overview

A plug-in for CIRCUS CS is a Docker image with a manifest file called plugin.json.

Each plug-in reads anonymized DICOM image data stored in /circus/in and writes processed data to /circus/out/results.json file.

To see how to actually build a Docker image, see the sample repository.

Plug-in definition file

The plug-in definition file is a JSON file named plugin.json. It must be placed at the root (/) of the Docker image.

{
  "pluginName": "MRA-CAD",
  "version": "1.0.0",
  "description": "Detects aneurysms from MR angiography series.",
  "icon": {
    "glyph": "lung",
    "color": "#ff0000",
    "backgroundColor": "#000000"
  },
  "displayStrategy": [
    {
      "feedbackKey": "lesionCandidates",
      "caption": "Lesion Candidates",
      "type": "LesionCandidates",
      "options": { "maxDisplay": 3, "sortBy": ["rank", "asc"] }
    }
  ]
}

(🔶: Required)

pluginName 🔶
The name of the plug-in.
version 🔶
The incremental version of this plug-in. It must be compatible with semver. For example, "1.3.5" and "2.0.0-alpha" are valid version strings.
description 🔶
A small piece of text that describes what this plug-in does.
icon
The object that describes the icon of this plug-in. It must have glyph, color and backgroundColor values (all of them are required). color and backGroundColor must be lowercase hexadecimal string like #0088aa. The value of glyph can be one of the following.
List of available glyphs
displayStrategy
Controls how the plug-in results will be presented to users and how feedback are collected. See below.

The displayStrategy format

(TBD)

Input Data

The input directry has a structure similar to this:

/circus
  /in
    /0.mhd
    /0.raw
    /0.txt
    /1.mhd
    /1.raw
    /1.txt
*.raw
The anonymized DICOM voxel values with no metadata or header.
*.mhd
A MHD-compatible header file that contains pixel format and dimension data. Many programs support the combination of *.raw and *.mhd files.
*.txt
An ini-like file that contiains a selected set of DICOM tag values. A [common] section holds tag values that are shared across all the images in the corresponding DICOM series. Sections with numbers ([1], [2], ...) holds the other values. Currently, private tags are not exported.

Output

The output directory should have a structure similar to this:

/circus/
  out/
    results.json

results.json

results.json is the most important output of the CIRCUS CS plug-in. It contains all of the calculated results except for large binary data.

  • results holds all of the main CAD results.
  • attributes holds some metadata that help display the results properly.

See this JSON schema file for details. You can check the validity of results.json using any free or onlnine schema validator.

Example of results.json

{
  "results": {
    "lesionCandidates": [
      {
        "rank": 1,
        "confidence": 0.715,
        "volumeId": 0,
        "location": [125, 200, 48.5],
        "volumeSize": 74.863
      },
      {
        "rank": 2,
        "confidence": 0.603,
        "volumeId": 0,
        "location": [72, 383, 75],
        "volumeSize": 12.51
      }
    ]
  },
  "metadata": {
    "displayOptions": [
      {
        "volumeId": 0,
        "window": {
          "level": -600,
          "width": 1500
        },
        "crop": {
          "origin": [81, 108, 17],
          "size": [349, 260, 230]
        }
      }
    ]
  }
}