annotation import¶
Description¶
アノテーションをプロジェクトにインポートします。 アノテーシンzipまたはzipを展開したディレクトリをインポートできます。 作業中または完了状態のタスクに対してはインポートできません。
Examples¶
インポート対象のアノテーションのフォーマット¶
インポート対象のアノテーションのフォーマットは、アノテーションzipまたはzipを展開したディレクトリと同じディレクトリ構成です。
ルートディレクトリ/
├── {task_id}/
│ ├── {input_data_id}.json
│ ├── {input_data_id}/
│ ├── {annotation_id}............ 塗りつぶしPNG画像
{input_data_id}.json
のサンプルをは以下の通りです。各キーの詳細は https://annofab.com/docs/api/#section/Simple-Annotation-ZIP を参照してください。
{
"details": [
{
"label": "car",
"data": {
"left_top": {
"x": 878,
"y": 566
},
"right_bottom": {
"x": 1065,
"y": 701
},
"_type": "BoundingBox"
},
"attributes": {}
},
{
"label": "road",
"data": {
"data_uri": "b803193f-827f-4755-8228-e2c67d0786d9",
"_type": "SegmentationV2"
},
"attributes": {}
},
{
"label": "weather",
"data": {
"_type": "Classification"
},
"attributes": {
"sunny": true
}
}
]
}
以下のように annotation_id
が指定されている場合、annotation_id
もインポートされます。
{
"details": [
{
"label": "car",
"annotation_id": "12345678-abcd-1234-abcd-1234abcd5678",
"data": {
"left_top": {
"x": 878,
"y": 566
},
"right_bottom": {
"x": 1065,
"y": 701
},
"_type": "BoundingBox"
},
"attributes": {}
},
...
]
}
基本的な使い方¶
--annotation
に、アノテーションzipまたはzipを展開したディレクトリのパスを指定してください。
$ annofabcli annotation import --project_id prj1 --annotation annotation.zip
インポート対象のタスクを指定する場合は、--task_id
にインポート対象のタスクのtask_idを指定してください。
$ annofabcli annotation import --project_id prj1 --annotation annotation.zip \
--task_id file://task_id.txt
デフォルトでは、すでにアノテーションが存在する場合はスキップします。
既存のアノテーションを残してインポートする場合は、 --merge
を指定してください。
インポート対象のアノテーションのannotation_idが、既存のアノテーションのannotation_idに一致すればアノテーションを上書きします。一致しなければアノテーションを追加します。
$ annofabcli annotation import --project_id prj1 --annotation annotation.zip \
--merge
既存のアノテーションを削除してからインポートする場合は、 --overwrite
を指定してください。
$ annofabcli annotation import --project_id prj1 --annotation annotation.zip \
--overwrite
デフォルトでは「担当者が自分自身でない AND 担当者が割れ当てられたことがある」タスクは、アノテーションのインポートをスキップします。
--force
を指定すると、担当者を一時的に自分自身に変更して、アノテーションをインポートすることができます。
$ annofabcli annotation import --project_id prj1 --annotation annotation.zip \
--force
Usage Details¶
アノテーションをインポートします。アノテーションのフォーマットは、Simpleアノテーションと同じフォルダ構成のzipファイルまたはディレクトリです。ただし、作業中/完了状態のタスクはインポートできません。
usage: annofabcli annotation import [-h] [--yes] [--endpoint_url ENDPOINT_URL]
[--logdir LOGDIR] [--disable_log]
[--debug] -p PROJECT_ID --annotation
ANNOTATION [-t TASK_ID [TASK_ID ...]]
[--overwrite | --merge] [--force]
[--parallelism PARALLELISM]
Named Arguments¶
- -p, --project_id
対象のプロジェクトのproject_idを指定します。
- --annotation
Simpleアノテーションと同じフォルダ構成のzipファイル or ディレクトリのパスを指定してください。タスクの状態が作業中/完了の場合はインポートしません。
- -t, --task_id
対象のタスクのtask_idを指定します。
file://
を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。- --overwrite
アノテーションが存在する場合、
--overwrite
を指定していれば、すでに存在するアノテーションを削除してインポートします。指定しなければ、アノテーションのインポートをスキップします。- --merge
アノテーションが存在する場合、
--merge
を指定していればアノテーションをannotation_id単位でマージしながらインポートします。annotation_idが一致すればアノテーションを上書き、一致しなければアノテーションを追加します。指定しなければ、アノテーションのインポートをスキップします。- --force
過去に割り当てられていて現在の担当者が自分自身でない場合、タスクの担当者を自分自身に変更してからアノテーションをインポートします。
- --parallelism
並列度。指定しない場合は、逐次的に処理します。指定した場合は、
--yes
も指定してください。
global optional arguments¶
- --yes
処理中に現れる問い合わせに対して、常に
yes
と回答します。- --endpoint_url
Annofab WebAPIのエンドポイントを指定します。
Default: "https://annofab.com"
- --logdir
ログファイルを保存するディレクトリを指定します。
Default: .log
- --disable_log
ログを無効にします。
- --debug
HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。
チェッカーまたはオーナロールを持つユーザで実行してください。