annotation create#

Description#

各アノテーションを新規作成します。既存アノテーションは更新または削除しません。 作成するアノテーションの annotation_id が既存アノテーションと一致する場合、そのアノテーションは作成せずにスキップします。 外部ファイルが必要な塗りつぶしアノテーションなどは、このコマンドではサポートしていません。

Examples#

JSON形式で指定する#

--json に、作成するアノテーションの情報をJSON形式で指定します。

annotations.json#
[
    {
        "task_id": "t1",
        "input_data_id": "i1",
        "annotation_id": "new-car-001",
        "label": "car",
        "data": {
            "_type": "BoundingBox",
            "left_top": {"x": 100, "y": 200},
            "right_bottom": {"x": 300, "y": 400}
        },
        "attributes": {"occluded": false},
        "editor_props": {"can_delete": false}
    }
]
$ annofabcli annotation create --project_id p1 --json file://annotations.json --backup backup_dir/

annotation_id は通常、省略してください。画像・動画プロジェクトの全体アノテーションでは、指定された値に関係なく、ラベルの label_id を使用します。 異なる値を指定した場合は警告を出力します。既存の全体アノテーションがある場合は作成をスキップします。

矩形などのアノテーションでは、省略した場合は新しいIDを自動で採番します。同じ入力を再実行したときの重複を避けるには、固定の annotation_id を指定してください。

休憩中状態のタスクは既定ではスキップします。作成対象に含めるには --include_break_task を指定してください。

CSV形式で指定する#

--csv にはヘッダ行付きのCSVファイルを指定します。

列名

必須

備考

task_id

Yes

input_data_id

Yes

label

Yes

ラベル名(英語)

data

Yes

アノテーションdata(JSON形式)

annotation_id

No

画像・動画の全体アノテーションでは指定不要(label_idを使用)

attributes

No

属性名と値のオブジェクト(JSON形式)

editor_props

No

エディタ用プロパティのオブジェクト(JSON形式)

editor_props をまとめて指定する#

--editor_props を指定すると、作成するすべてのアノテーションに同じエディタ用プロパティを付与します。入力JSONまたはCSVの editor_props に同じキーを指定した場合は、その値が優先されます。

$ annofabcli annotation create --project_id p1 --json file://annotations.json \
  --editor_props '{"can_delete": false}' --backup backup_dir/

バックアップ#

--backup に実行前のアノテーション情報を保存するディレクトリを指定できます。作成したアノテーションを取り消すには、 annotation restore コマンドを使用してください。

Usage Details#

各アノテーションを新規作成します。既存アノテーションは更新または削除しません。既存のannotation_idと一致する場合、そのアノテーションは作成せずにスキップします。画像・動画プロジェクトの全体アノテーションのannotation_idは指定不要です。指定された値に関係なく、ラベルのlabel_idを使用します。

usage: annofabcli annotation create [-h] [--yes] [--endpoint_url ENDPOINT_URL]
                                    [--annofab_user_id ANNOFAB_USER_ID]
                                    [--annofab_password ANNOFAB_PASSWORD]
                                    [--annofab_pat ANNOFAB_PAT]
                                    [--logdir LOGDIR] [--disable_log]
                                    [--debug] -p PROJECT_ID
                                    (--json JSON | --csv CSV)
                                    [-t TASK_ID [TASK_ID ...]]
                                    [--editor_props EDITOR_PROPS]
                                    [--include_complete_task]
                                    [--include_break_task]
                                    [--include_on_hold_task] [--backup BACKUP]

Named Arguments#

-p, --project_id

対象のプロジェクトのproject_idを指定します。

--json

各アノテーションの作成内容を記載したJSONリストを指定します。file:// を先頭に付けるとJSON形式のファイルを指定できます。

--csv

各アノテーションの作成内容を記載したCSVファイルを指定します。task_id, input_data_id, label, data カラムが必要です。

-t, --task_id

作成対象のアノテーションをtask_idで絞り込みます。 --json や --csv で指定したデータのうち、一致した task_id のみを処理します。 file:// を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。ファイルを読み込む場合は、ファイル指定を1個だけ渡してください。直接指定するIDや別のファイル指定とは併用できません。

--editor_props

作成する全アノテーションに付与するエディタ用プロパティをJSON形式で指定します。file:// を先頭に付けるとJSON形式のファイルを指定できます。

--include_complete_task

完了状態のタスクにもアノテーションを作成します。オーナーロールが必要です。

--include_break_task

休憩中状態のタスクにもアノテーションを作成します。

--include_on_hold_task

保留中状態のタスクにもアノテーションを作成します。

--backup

アノテーションのバックアップを保存するディレクトリのパス。アノテーションの復元は annotation restore コマンドで実現できます。

common options (after the subcommand)#

--yes

処理中に現れる問い合わせに対して、常に yes と回答します。

--endpoint_url

Annofab WebAPIのエンドポイントを指定します。

--annofab_user_id

Annofabにログインする際のユーザーID

--annofab_password

Annofabにログインする際のパスワード

--annofab_pat

Annofabにログインする際のパーソナルアクセストークン

--logdir

ログファイルを保存するディレクトリを指定します。

Default: .log

--disable_log

ログを無効にします。

--debug

HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。

オーナーロールまたはチェッカーロールを持つユーザーで実行してください。