annotation change_attributes#

Description#

アノテーションの属性値を一括で変更します。 ただし、作業中状態のタスクのアノテーションは、属性値を変更できません。

Examples#

基本的な使い方#

--task_id にアノテーション変更対象のタスクのtask_idを指定してください。 プロジェクト内の全タスクを対象にする場合は、代わりに --all_tasks を指定してください。 対象指定の詳細は --all_tasks を参照してください。 全タスク取得が10,000件の上限に達した場合は、変更前に中断します。その場合は --task_id で対象を絞り込んでください。

--annotation_query には、変更対象のアノテーションを検索するする条件をJSON形式で指定してください。 --annotation_query のサンプルは、Command line options を参照してください。

--attributes に、変更後の属性値を指定してください。フォーマットは --annotation_query の attributes キーの値と同じフォーマットです。

以下のコマンドは、ラベル名(英語)の値が"car"であるアノテーションに対して、属性名(英語)が"occluded"である属性値をfalse("occluded"チェックボックスをOFF)に変更します。

$ annofabcli annotation change_attributes --project_id prj1 --task_id file://task.txt \
--annotation_query '{"label": "car"}' \
--attributes '{"occluded": false}' \
--backup backup_dir/

全タスクを対象にする場合の実行例です。

$ annofabcli annotation change_attributes --project_id prj1 --all_tasks \
--annotation_query '{"label": "car"}' \
--attributes '{"occluded": false}' \
--backup backup_dir/

--backup にディレクトリを指定すると、変更対象のタスクのアノテーション情報を、バックアップとしてディレクトリに保存します。 アノテーション情報の復元は、 annofabcli annotation restore コマンドで実現できます。

注釈

間違えてアノテーション属性値を変更したときに復元できるようにするため、--backup を指定することを推奨します。

デフォルトでは完了状態のタスクのアノテーション属性値は変更できません。完了状態のタスクのアノテーション属性値も変更する場合は、 --include_complete_task を指定してください。 ただし、オーナーロールであるユーザーで実行する必要があります。

保留中のタスクは、--include_on_hold_task を指定した場合のみ変更します。 詳細は --include_on_hold_task を参照してください。

Usage Details#

アノテーションの属性値を一括で変更します。ただし、作業中状態のタスクに含まれるアノテーションは変更できません。完了状態のタスクに含まれるアノテーションは、デフォルトでは変更できません。間違えてアノテーション属性値を変更したときに復元できるようにするため、 --backup でバックアップ用のディレクトリを指定することを推奨します。

usage: annofabcli annotation change_attributes [-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
                                               (-t TASK_ID [TASK_ID ...] | --all_tasks)
                                               -aq ANNOTATION_QUERY
                                               --attributes ATTRIBUTES
                                               [--include_on_hold_task]
                                               [--include_complete_task]
                                               [--backup BACKUP]
                                               [--parallelism {2,3,4}]

Named Arguments#

-p, --project_id

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

-t, --task_id

対象のタスクのtask_idを指定します。 file:// を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。 --all_tasks とは同時に指定できません。 ファイルを読み込む場合は、ファイル指定を1個だけ渡してください。直接指定する値や別のファイル指定とは併用できません。

--all_tasks

プロジェクト内の全タスクを対象にします。タスクの状態などによるスキップ条件は適用されます。 --task_id とは同時に指定できません。

-aq, --annotation_query

変更対象のアノテーションを検索する条件をJSON形式で指定します。file:// を先頭に付けると、JSON形式のファイルを指定できます。(ex): {"label": "car", "attributes": {"occluded": true}}

--attributes

変更後の属性をJSON形式で指定します。file:// を先頭に付けると、JSON形式のファイルを指定できます。(ex): {"occluded": false}

--include_on_hold_task

保留中状態のタスクも変更します。未指定の場合は保留中のタスクをスキップします。作業中のタスクは変更しません。

--include_complete_task

完了状態のタスクのアノテーション属性も変更します。ただし、オーナーロールを持つユーザーでしか実行できません。

--backup

アノテーションのバックアップを保存するディレクトリを指定してください。アノテーションの復元は annotation restore コマンドで実現できます。

--parallelism

Possible choices: 2, 3, 4

並列度。指定しない場合は、逐次的に処理します。指定した場合は、--yes も指定してください。

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

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

See also#

終了コード#

終了コードと処理継続の仕様は ラベル・属性の一括変更の終了コード を参照してください。