## 病虫害判定メソッド [POST]
### 病虫害判定メソッド 概要
画像をPOSTすると、病害判定情報が返ってきます。
- 本判定エンジンのAPIのurlは以下の通りです。
- `https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/<engine>`
- Example
- `https://api.wagri.net/API/Individual/Naro/PRISM/plant_disease/hosei/v4/strawberry/haomote`
- `<engine>`により、作目やエンジンを指定することが可能です。
- 現在公開されている`<engine>`のリストは以下の通りです。
病害:
|`<engine>`|説明|バージョン|
|---|---|---|
|hosei/v4/cucumber/haomote|キュウリ(法政大、葉表)|4.0|
|hosei/v4/strawberry/haomote|イチゴ(法政大、葉表)|4.0|
|hosei/v4/eggplant/haomote|ナス(法政大、葉表)|4.0|
|hosei/v4/tomato/haomote|トマト(法政大、葉表)|4.0|
虫害:
|`<engine>`|説明|バージョン|
|---|---|---|
|nss/v3/cucumber/haomote|キュウリ(ノーザンシステムサービス、葉表)|3.0|
|nss/v3/strawberry/haomote|イチゴ(ノーザンシステムサービス、葉表)|3.0|
|nss/v3/eggplant/haomote|ナス(ノーザンシステムサービス、葉表)|3.0|
|nss/v3/tomato/haomote|トマト(ノーザンシステムサービス、葉表)|3.0|
- 補足説明
- `<engine>`のサブディレクトリは「開発組織」「バージョン」「作目名」「判定部位」の順に並んでいます。
- `<organization>/<version>/<crop>/<shooting_part>`
- Example
- 「法政大」「バージョン4」「キュウリ」「葉表」の場合は以下の通りです。
- `hosei/v4/cucumber/haomote`
### 病虫害判定メソッド リクエスト
#### 病虫害判定メソッド リクエスト(Header)
|key|value|comment|
|---|---|---|
|X-User-Id|String|ユーザーID|
|Authorization|String|トークンタイプ+アクセストークン|
- 補足説明
- `Authorization`(必須)
- ベンダー様に別途お知らせしております。
- ベンダー様毎に異なる値を用いております。
- 秘密の情報ですので、取り扱いには十分注意してください。
- `X-User-Id`(必須)
- エンドユーザのIDを入れてください。(※エンドユーザとは、ベンダー様が管理するユーザのことです。)
- 値は任意ですが、なるべく個別のIDを入れるようにしてください。
- `Content-Type`(必須)
- Supported Media Types: `application/json`
#### 病虫害判定メソッド リクエスト(Body)
##### Root
|key|value|comment|
|---|---|---|
|assets|Dictionary[]|リクエスト情報|
##### assets
|key|value|comment|
|---|---|---|
|id|String|データID|
|X-User-Id|String|ユーザーID|
|options|Dictionary|開発者向け設定|
|images|Dictionary[]|画像情報|
##### assets/options
|key|value|comment|
|---|---|---|
|YOLOv3|String|病害判定に判定枠を使用するかどうか(True: 枠を使う, False: 枠を使わない)|
|diagnosis|Boolean|病害判定するかどうか(True: 判定する, False: 判定しない)|
##### assets/images
|key|value|comment|
|---|---|---|
|filename|String|写真ファイル名|
|data|String|画像情報(base64エンコード)|
|date|String|判定日時|
|filedate|String|撮影日時|
|annotations|Dictionary[]|付加情報|
##### assets/images/annotations
|key|value|comment|
|---|---|---|
|damage|String|病害名|
|plant|String|作目名|
|place|String|撮影場所|
|boundingBoxes|Dictionary[]|判定枠情報|
- 補足説明
- `boundingBoxes`は判定枠の情報が含まれます。
- 'bbox': 判定枠の始点並びに終点の座標。順に始点のx、y座標、終点のx、y座標と記述します。
- 'ratio': 枠の拡大縮小倍率。アプリ上では画像は縮小表示されるので、後に復元できるよう拡大縮小倍率を記録します。
##### assets/images/boundingBoxes
|key|value|comment|
|---|---|---|
|bbox|Int[]|枠座標情報|
|byhand|Boolean|自身で囲った枠かどうか(True: 手動, False: 自動)|
|comment|String|備考|
|conf|Int|未使用プロパティ|
|ratio|Double|枠の拡大倍率|
### 病害判定メソッド レスポンス
#### 病害判定メソッド レスポンス(Body)
リクエストが正常に送信できた場合、ステータスコード`200`とともに判定結果が返ってきます。
##### Root
|key|value|comment|
|---|---|---|
|assets|Dictionary[]|レスポンス情報|
##### assets
|key|value|comment|
|---|---|---|
|id|String|データID|
|predictionID|String|予測結果ID|
|images|Dictionary[]|画像情報|
##### assets/images
|key|value|comment|
|---|---|---|
|results|Dictionary[]|判定結果|
##### assets/images/results
|key|value|comment|
|---|---|---|
|classfier_id|String|判定エンジンID|
|ranking|Dictionary[]|判定結果(降順)|
##### assets/images/results/ranking
|key|value|comment|
|---|---|---|
|probability|Number|確度(0-1)|
|estimated|String|判定結果|
#### 病害判定メソッド エラーハンドリング
##### statusCode: 400
|key|value|comment|
|---|---|---|
|user_name|String|ユーザー名|
|message|String|エラーメッセージ|
|result|Int|エラーコード|
##### statusCode: 401
|key|value|comment|
|---|---|---|
|message|String|エラーメッセージ|
|result|Int|エラーコード|
##### statusCode: 403
|key|value|comment|
|---|---|---|
|message|String|エラーメッセージ|
|result|Int|エラーコード|
|