# Register your template

Make the template available, deploy it to your web server, and register it in the Annotation Tool to make it available

# Template icon

You need to have 2 icons

# Small template icon (24px x 24px)

/icon24.svg

icon24

# Normal template icon (35px x 35px)

/icon35.svg

icon35

# Manifest file

Example

{
  "version": 2,
  "name": "Object Detection",
  "image": "/template_image.png",
  "optionsSchema": {
    "select_mode": {
      "type": "string"
    }
  },
  "labels": {
    "default": [
      {
        "id": 0,
        "name": "Category1",
        "labels": [
          {
            "id": 0,
            "name": "dog",
            "color": "#ff879c"
          },
          {
            "id": 1,
            "name": "cat",
            "color": "#908eff"
          }
        ]
      },
      {
        "id": 1,
        "name": "Category2",
        "labels": [
          {
            "id": 2,
            "name": "penguin",
            "color": "#ffe355"
          },
          {
            "id": 3,
            "name": "duck",
            "color": "#52ff68"
          }
        ]
      }
    ]
  },
  "i18n": {
    "en": {
      "description": "It enables you to extract text information from an image. You can assign free text information on images.",
      "usecase": "e.g., text recognition (OCR), assigning metadata to images",
      "options": {
        "select_mode": {
          "title": "Label Type",
          "values": {
            "single_select": "Single Labeling",
            "multiple_select": "Multiple Labeling"
          }
        }
      }
    },
    "ja": {
      "description": "画像から文字情報を抽出できます。画像に、フリーテキストで情報をつけていきます",
      "usecase": "例: 文字認識(OCR)、画像へのメタ情報の付与",
      "options": {
        "select_mode": {
          "title": "選択方法",
          "values": {
            "single_select": "単一ラベリング",
            "multiple_select": "マルチラベリング"
          }
        }
      }
    }
  }
}

Name Type Description
version number You need to specify version 2, otherwise it will be seen as version 1
name string Template name
image string Path to template thumbnail
labels object You can set labels.default to config default label when creating a new project. Don't need to set if project doesn't require labels.
optionsSchema object Additional information for project. It can be any object. it should follow JSON Schema specification (opens new window). Please check the example below
i18n object Provide string value and translations. Please check below section for more details

# optionsSchema (optional)

optionsSchema provide instructions to display templateOptions.

For example, to register select_mode as a templateOptions:

{
  ...
  "optionsSchema": {
    "type": "object",
    "properties": {
      "select_mode": {
        "type": "string"
      }
    }
  },
  ...
}

At the moment, only "type": "string" is supported.

# i18n

We need to provide description and usecase for each language.

Besides, you can also specify localization for templateOptions's title and values.

{
  ...
  "i18n": {
    "en": {
      "description": "It enables you to extract text information from an image. You can assign free text information on images.",
      "usecase": "e.g., text recognition (OCR), assigning metadata to images",
      "options": {
        "select_mode": {
          "title": "Label Type",
          "values": {
            "single_select": "Single Labeling",
            "multiple_select": "Multiple Labeling"
          }
        }
      }
    },
    "ja": {
      "description": "画像から文字情報を抽出できます。画像に、フリーテキストで情報をつけていきます",
      "usecase": "例: 文字認識(OCR)、画像へのメタ情報の付与",
      "options": {
        "select_mode": {
          "title": "選択方法",
          "values": {
            "single_select": "単一ラベリング",
            "multiple_select": "マルチラベリング"
          }
        }
      }
    }
  }
  ...
}

This manifest supports 2 languages, English(en) and Japanese(ja). We need to provide description and usecase, which are required for each language.

Translation for optionsSchema should be under options key, which you can provide title and values for each option.

# Version 1 (deprecated)

Need to host some files to serve as your templates

# template.manifest.json

/template.manifest.json

{
  "name": "Object Detection",
  "image": "/template_image.png",
  "description": {
    "ja": "画像内のオブジェクトを検出し、画像上にボックスを描画することができます.",
    "en": "It enables you to detect objects in an image and draw bounding boxes on an image."
  },
  "usecase": {
    "ja": "商品検出、物体カウント、顔検出に使用することができます",
    "en": "e.g., product detection, counting objects, face detection"
  }
}

# template image (260px x 160px)

/template_image.png This file can be renamed in template.manifest.json

TemplateImage

# Prepare result schema

You must have a JSON Schema to check the results for inconsistent data.

Segmentation template example.

{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "type": "array",
  "minItems": 1,
  "items": [
    {
      "type": "object",
      "properties": {
        "labels": {
          "type": "array",
          "minItems": 1,
          "items": [
            {
              "type": "object",
              "properties": {
                "label_id": {
                  "type": "integer"
                },
                "category_id": {
                  "type": "integer"
                }
              },
              "required": ["label_id", "category_id"]
            }
          ]
        },
        "meta": {
          "type": "object",
          "properties": {
            "image": {
              "type": "string"
            },
            "color": {
              "type": "string",
              "pattern": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"
            }
          },
          "required": ["image"]
        }
      },
      "required": ["labels", "meta"]
    }
  ]
}

# Deploy to your server

Deploy the template application to your server

TIP

Please make allow that template.manifest.json, template image and icon files are cross-origin access

# Request the admin to register

Please ask the Annotation Tool administrator to register with the information required for registration.

# Information required for registration

  • Your organization name
  • Template name
  • Host URL (URL)
  • Data type (Image/Audio/Video/Text)
  • Result schema file (json file)
  • Include files in result (Yes/No)