annotation_specs import#

Description#

アノテーション仕様の情報をJSON形式でインポートします。 annotation_specs export コマンドで出力したJSONを利用できます。

既存アノテーションに影響する変更の場合は、デフォルトではインポートできません。 具体的な変更内容と許可する方法は、 既存アノテーションに影響する変更を許可する場合 を参照してください。

Examples#

基本的な使い方#

$ annofabcli annotation_specs import --project_id prj1 --annotation_specs_json_file annotation_specs.json

annotation_specs export と組み合わせる場合#

$ annofabcli annotation_specs export --project_id src_prj --output annotation_specs.json --format pretty_json
$ annofabcli annotation_specs import --project_id dest_prj --annotation_specs_json_file annotation_specs.json

既存アノテーションに影響する変更を許可する場合#

インポート先のプロジェクトにあるアノテーション仕様と、インポートするJSONを比較し、以下のいずれかに該当する場合はインポートを中止します。

インポートを中止する変更と具体例#

変更内容・中止する条件

具体例

既存アノテーションで使われているラベルを削除する

「車」ラベルのアノテーションがある状態で、JSONから「車」ラベルを削除する。

既存アノテーションで使われているラベルのアノテーションの種類を変更する

「車」ラベルのアノテーションがある状態で、「車」の種類を矩形からポリゴンに変更する。

既存アノテーションで使われているラベルに紐づく属性定義を削除する

「車」ラベルに「遮蔽」属性が紐づいていて、「車」のアノテーションがある状態で、「遮蔽」の属性定義をJSONから削除する。

既存アノテーションで使われているラベルに紐づく属性の種類を変更する

「車」ラベルに「遮蔽」属性が紐づいていて、「車」のアノテーションがある状態で、「遮蔽」の種類をラジオボタンからドロップダウンに変更する。

既存アノテーションで使われているラベルから属性の紐づけを削除する

「車」ラベルのアノテーションがある状態で、「遮蔽」の属性定義は残したまま、「車」から「遮蔽」属性の紐づけを削除する。

既存アノテーションの属性値として使われている選択肢を削除する

「遮蔽」属性で「あり」を選択しているアノテーションがある状態で、「あり」の選択肢をJSONから削除する。

属性定義の削除・属性の種類変更は、その属性が紐づくラベルのいずれかが既存アノテーションで使われていれば中止します。 ラベルからの属性の紐づけの削除は、そのラベルが既存アノテーションで使われていれば中止します。 これらは、個々のアノテーションに属性値が入力されているかどうかにかかわらず中止します。 一方、選択肢の削除は、その選択肢を属性値として使っているアノテーションがある場合に中止します。

ラベル・属性・選択肢は名前ではなくIDで比較します。 そのため、名前が同じでもIDが異なるJSONをインポートすると、元の定義の削除と新しい定義の追加として扱われ、上記の条件に該当する場合は中止します。

ラベルの色や名前の変更、ラベル・属性・選択肢の追加、上記の利用条件に該当しない削除・種類変更では、このオプションは不要です。

上記の変更を既存アノテーションへの影響を理解した上で適用する場合は、 --allow_affecting_annotations を指定してください。 このオプションを指定すると、該当する変更内容を警告ログに出力した上でインポートします。

$ annofabcli annotation_specs import --project_id prj1 --annotation_specs_json_file annotation_specs.json --allow_affecting_annotations

Usage Details#

アノテーション仕様の情報をJSON形式でインポートします。

usage: annofabcli annotation_specs import [-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
                                          --annotation_specs_json_file ANNOTATION_SPECS_JSON_FILE
                                          [--comment COMMENT]
                                          [--allow_affecting_annotations]

Named Arguments#

-p, --project_id

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

--annotation_specs_json_file

インポートするアノテーション仕様JSONファイルを指定します。 annotation_specs export コマンドで出力したJSONファイルを指定してください。

--comment

アノテーション仕様の変更内容を説明するコメント。未指定の場合、自動でコメントが生成されます。

--allow_affecting_annotations

指定すると、既存アノテーションに影響する変更でもアノテーション仕様をインポートします。

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リクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。

オーナーロールを持つユーザーで実行してください。色、ショートカットキー、定型指摘のみを変更する場合は、チェッカーロールでも実行できます。