statistics list_annotation_count#
Description#
ラベルごとまたは属性値ごとにアノテーション数を出力します。
警告
このコマンドは非推奨です。ラベルごとの集計は annotation_zip count_annotation_by_label コマンドを、属性値ごとの集計は annotation_zip count_annotation_by_attribute_value コマンドを使用してください。
statistics list_annotation_count コマンドは2027/01/01以降に廃止予定です。
アノテーション数は、ダウンロードしたアノテーションZIPから算出します。
Examples#
基本的な使い方#
$ annofabcli statistics list_annotation_count --project_id prj1 --output out.json --format pretty_json
[
{
"annotation_count": 130,
"annotation_count_by_label": {
"car": 60,
"bike": 10,
},
"annotation_count_by_attribute": {
"car": {
"occlusion": {
"false": 10,
"true": 20
},
"type": {
"normal": 10,
"bus":20
}
},
"bike": {
"occlusion": {
"false": 10,
"true": 20
}
}
},
"project_id": "project1",
"task_id": "task1",
"task_phase": "acceptance",
"task_phase_stage": 1,
"task_status": "complete",
"input_data_count": 10,
}
]
annotation_count_by_label: ラベルごとのアノテーション数({label_name: annotation_count})annotation_count_by_attribute: 属性値ごとのアノテーション数({label_name: {attribute_name: {attribute_value: annotation_count}}})
集計対象の属性の種類は以下の通りです。
ドロップダウン
ラジオボタン
チェックボックス
上記以外の属性(数値、テキストなど)を集計したい場合は、 --additional_attribute_name または --attribute_name オプションを使用してください。
--additional_attribute_name: デフォルトの選択肢系属性に加えて、指定した属性を集計対象にします。--attribute_name: 指定した属性のみを集計対象にします(デフォルトの選択肢系属性は含まれません)。
デフォルトではタスク単位でアノテーション数を集計します。入力データ単位に集計する場合は、 --group_by input_data_id を指定してください。
--annotation にアノテーションzipまたはzipを展開したディレクトリを指定できます。
$ annofabcli statistics list_annotation_count --project_id prj1 --output_dir out_dir/ \
--annotation annotation.zip
CSV出力#
CSVを出力する場合は、--type で列名をラベル( label )にするか属性値( attribute )にするかを指定してください。
デフォルトは label です。
出力結果#
JSON出力#
タスクごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by task_id \
--format pretty_json --output out_by_task.json
[
{
"annotation_count": 130,
"annotation_count_by_label": {
"car": 60,
"bike": 10,
},
"annotation_count_by_attribute": {
"car": {
"occlusion": {
"false": 10,
"true": 20
},
"type": {
"normal": 10,
"bus":20
}
},
"bike": {
"occlusion": {
"false": 10,
"true": 20
}
}
},
"project_id": "project1",
"task_id": "task1",
"task_phase": "acceptance",
"task_phase_stage": 1,
"task_status": "complete",
"input_data_count": 10
}
]
入力データごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by input_data_id \
--format pretty_json --output out_by_input_data.json
[
{
"annotation_count": 130,
"annotation_count_by_label": {
"car": 60,
"bike": 10,
},
"annotation_count_by_attribute": {
"car": {
"occlusion": {
"false": 10,
"true": 20
},
"type": {
"normal": 10,
"bus":20
}
},
"bike": {
"occlusion": {
"false": 10,
"true": 20
}
}
},
"project_id": "project1",
"task_id": "task1",
"status": "complete",
"phase": "acceptance",
"phase_stage": 1,
"input_data_id": "input1",
"input_data_name": "input1",
"updated_datetime": "2023-10-01T12:00:00.000+09:00",
}
]
CSV出力#
タスクごとラベルごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by task_id \
--format csv --type label --output out_by_task_label.csv
project_id |
task_id |
task_status |
task_phase |
task_phase_stage |
input_data_count |
annotation_count |
car |
bike |
|---|---|---|---|---|---|---|---|---|
project1 |
task1 |
break |
annotation |
1 |
5 |
100 |
20 |
10 |
project1 |
task2 |
complete |
acceptance |
1 |
5 |
80 |
12 |
5 |
タスクごと属性ごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by task_id \
--format csv --type attribute --output out_by_task_attribute.csv
project_id |
task_id |
task_status |
task_phase |
task_phase_stage |
input_data_count |
annotation_count |
car |
car |
|---|---|---|---|---|---|---|---|---|
occlusion |
occlusion |
|||||||
true |
false |
|||||||
project1 |
task2 |
complete |
acceptance |
1 |
10 |
80 |
12 |
5 |
入力データごとラベルごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by input_data_id \
--format csv --type label --output out_by_input_data_label.csv
project_id |
task_id |
task_status |
task_phase |
task_phase_stage |
input_data_id |
input_data_name |
updated_datetime |
frame_no |
annotation_count |
car |
bike |
|---|---|---|---|---|---|---|---|---|---|---|---|
project1 |
task1 |
break |
annotation |
1 |
input1 |
input1 |
2023-10-01T12:00:00.000+09:00 |
1 |
100 |
20 |
10 |
project1 |
task2 |
complete |
acceptance |
1 |
input2 |
input2 |
2023-10-01T12:00:00.000+09:00 |
1 |
80 |
12 |
5 |
入力データごと属性ごとのアノテーション数#
$ annofabcli statistics list_annotation_count --project_id prj1 --group_by input_data_id \
--format csv --type attribute --output out_by_input_data_attribute.csv
project_id |
task_id |
task_status |
task_phase |
task_phase_stage |
input_data_id |
input_data_name |
updated_datetime |
frame_no |
annotation_count |
car |
car |
|---|---|---|---|---|---|---|---|---|---|---|---|
occlusion |
occlusion |
||||||||||
true |
false |
||||||||||
project1 |
task2 |
complete |
acceptance |
1 |
input2 |
input2 |
2023-10-01T12:00:00.000+09:00 |
1 |
80 |
12 |
5 |
Usage Details#
ラベルごとまたは属性値ごとにアノテーション数を出力します。
usage: annofabcli statistics list_annotation_count [-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]
[--annotation ANNOTATION]
-p PROJECT_ID
[--group_by {task_id,input_data_id}]
[--type {label,attribute}]
[-f {csv,json,pretty_json}]
[-o OUTPUT]
[-tq TASK_QUERY]
[-t TASK_ID [TASK_ID ...]]
[--latest]
[--temp_dir TEMP_DIR]
[--additional_attribute_name ADDITIONAL_ATTRIBUTE_NAME [ADDITIONAL_ATTRIBUTE_NAME ...]
| --attribute_name
ATTRIBUTE_NAME
[ATTRIBUTE_NAME ...]]
Named Arguments#
- --annotation
アノテーションzip、またはzipを展開したディレクトリを指定します。指定しない場合はAnnofabからダウンロードします。
- -p, --project_id
対象のプロジェクトのproject_idを指定します。
- --group_by
Possible choices: task_id, input_data_id
アノテーションの個数をどの単位で集約するかを指定してます。
Default:
'task_id'- --type
Possible choices: label, attribute
出力するCSVの種類を指定してください。
--format csvを指定したときのみ有効なオプションです。label: ラベルごとにアノテーション数が記載されているCSV
attribute: 属性値ごとにアノテーション数が記載されているCSV
Default:
'label'- -f, --format
Possible choices: csv, json, pretty_json
出力フォーマットを指定します。
Default:
'csv'- -o, --output
出力先のファイルパスを指定します。未指定の場合は、標準出力に出力されます。
- -tq, --task_query
集計対象タスクを絞り込むためのクエリ条件をJSON形式で指定します。使用できるキーは task_id, status, phase, phase_stage です。
file://を先頭に付けると、JSON形式のファイルを指定できます。- -t, --task_id
対象のタスクのtask_idを指定します。
file://を先頭に付けると、task_idの一覧が記載されたファイルを指定できます。- --latest
--annotationを指定しないとき、最新のアノテーションzipを参照します。このオプションを指定すると、アノテーションzipを更新するのに数分待ちます。- --temp_dir
指定したディレクトリに、アノテーションZIPなどの一時ファイルをダウンロードします。
- --additional_attribute_name
デフォルトで集計される選択肢系の属性(ドロップダウン、ラジオボタン、チェックボックス)に加えて、集計したい属性の英語名を指定します。ラベル名に関係なく、デフォルト属性と指定した属性名を持つ属性が集計対象になります。
file://を先頭に付けると、属性名が記載されたファイルを指定できます。--type attributeを指定したときのみ有効なオプションです。- --attribute_name
集計対象とする属性の英語名を指定します。指定した属性名のみが集計対象になります(デフォルトの選択肢系属性は含まれません)。ラベル名に関係なく、指定した属性名を持つ属性のみが集計対象になります。
file://を先頭に付けると、属性名が記載されたファイルを指定できます。--type attributeを指定したときのみ有効なオプションです。
global optional arguments#
- --yes
処理中に現れる問い合わせに対して、常に
yesと回答します。- --endpoint_url
Annofab WebAPIのエンドポイントを指定します。
Default:
'https://annofab.com'- --annofab_user_id
Annofabにログインする際のユーザーID
- --annofab_password
Annofabにログインする際のパスワード
- --annofab_pat
Annofabにログインする際のパーソナルアクセストークン
- --logdir
ログファイルを保存するディレクトリを指定します。
Default:
.log- --disable_log
ログを無効にします。
- --debug
HTTPリクエストの内容やレスポンスのステータスコードなど、デバッグ用のログが出力されます。
オーナロールまたはアノテーションユーザロールを持つユーザで実行してください。