# version 1.1rc # version 1.0
# 全API共通 # 全API共通
本APIをアプリケーション開発やWebサイトでご利用される際には、アプリケーションソフトウェア毎、あるいはドメイン毎にAPIキーが必要になります。APIキーの発行方法は、https://mihari.net にてお知らせしております。APIキーは、本APIのメソッドをリクエストする際にx-api-keyヘッダに設定することで、正当なメソッドリクエストとして処理されるようになります。 本APIを独自開発のアプリケーションやWebサイトでご利用される際には、アプリケーションソフトウェア毎、あるいはドメイン毎にAPIキーが必要になります。APIキーの発行方法は、https://mihari.net にてお知らせしております。発行されたAPIキーは、本APIのメソッドをリクエストする際にx-api-keyヘッダに設定することで、正当なメソッドリクエストとして処理されるようになります。
また、開発したアプリケーションやWebサイトをエンドユーザーが利用する際には、エンドユーザーによる事前登録が必要です。事前登録は、https://mihari.net の新規登録画面より行います。事前登録には、ユーザ名、メールアドレス、パスワード、決済の方法と情報の登録が必要です。 また、アプリケーションやWebサイト利用は、事前にサインアップが必要です。サインアップは、https://mihari.net より行います。サインアップには、ユーザ名、メールアドレス、パスワード、決済の方法と情報の登録が必要です。
# サインイン SignIn # サインイン SignIn
## 概要 ## 概要
本APIの利用を開始する際には、ユーザー名とパスワードによってサインインし、Accessトークンを取得しておく必要があります。APIによって検出機能を呼び出す場合は、リクエストヘッダにAutorizationヘッダを追加し、取得したAccessトークンをセットする必要があります。Accessトークンの有効期限は取得後4時間です。期限を過ぎた場合は、再度サインインを行い、新しいAccessトークンを取得し直してください。 本APIの利用を開始する際には、ユーザー名とパスワードによってサインインし、Accessトークンを取得しておく必要があります。APIによって検出機能を呼び出す場合は、リクエストヘッダにAutorizationヘッダを追加し、取得したAccessトークンをセットする必要があります。Accessトークンの有効期限は取得後4時間です。期限を過ぎた場合は、再度サインインを行い、新しいAccessトークンを取得し直してください。
サインインによってAccessトークンが取得できない場合は、ユーザーおよび決済に関する登録情報をご確認ください。 サインインによってAccessトークンが取得できない場合は、ユーザーおよび決済に関する登録情報をご確認ください。
## 解説 ## 解説
1. エンドポイント 1. エンドポイント
https://api.mihari.net/v11/users/signin https://api.mihari.net/v1/users/signin
1. メソッド 1. メソッド
POST POST
1. ヘッダ 1. ヘッダ
リクエストヘッダ部に下記のヘッダと値を追加します。APIキーの取得には、アプリケーションごとに事前の利用申請が必要です。追加方法は、ご利用される開発環境の仕様に従ってください。 リクエストヘッダ部に下記のヘッダと値を追加します。APIキーの取得には、アプリケーションごとに事前の利用申請が必要です。追加方法は、ご利用される開発環境の仕様に従ってください。
``` ```
x-api-key APIキー x-api-key APIキー
``` ```
1. メッセージボディ 1. メッセージボディ
ユーザー名とパスワードを以下のJSON形式でセットします。 ユーザー名とパスワードを以下のJSON形式でセットします。
``` ```
{"username": "ユーザー名", {"username": "ユーザー名",
"password”: "パスワード"} "password”: "パスワード"}
``` ```
1. オプション 1. オプション
オプションはありません。 オプションはありません。
1. 応答メッセージ 1. 応答メッセージ
- 成功時 - 成功時
- HTTPレスポンスステータスコードは、200です。 - HTTPレスポンスステータスコードは、200です。
- メッセージ本体は、下記のようなJSONデータです。 - メッセージ本体は、下記のようなJSONデータです。
```javascript ```javascript
{ {
"message": "signed-in", "message": "signed-in",
"userurl": "https://api.mihari.net/v11/users/ユーザー名/", "userurl": "https://api.mihari.net/v1/users/ユーザー名/",
"response": { "response": {
"AccessToken": "アクセストークン文字列", "AccessToken": "アクセストークン文字列",
"ExpiresIn": 14400, "ExpiresIn": 14400,
"TokenType": "Bearer" "TokenType": "Bearer"
}, },
"profile": "登録状況", "profile": "登録状況",
"timestamp": "日時" "timestamp": "日時"
} }
``` ```
- "AccessToken": Authorization用のトークン - "AccessToken": Authorization用のトークン
- "profile": プロフィールの登録状況(通常はcomplete) - "profile": プロフィールの登録状況(通常はcomplete)
- "timestamp": 応答日時(ISO8601形式) - "timestamp": 応答日時(ISO8601形式)
- 失敗時 - 失敗時
- HTTPレスポンスステータスコードは、400です。 - HTTPレスポンスステータスコードは、400です。
- メッセージ本体は、下記のようなJSONデータです。 - メッセージ本体は、下記のようなJSONデータです。
```javascript ```javascript
{ {
"message": "Error: エラーメッセージ", "message": "Error: エラーメッセージ",
"timestamp": "日時" "timestamp": "日時"
} }
``` ```
<br /><br /> <br /><br />
# サインアウト SignOut # サインアウト SignOut
## 概要 ## 概要
API利用を終了する際に実行します。IDトークンが有効期限切れになっている場合は既にサインアウト状態になっていますので、サインアウトを呼び出す必要はありません。 API利用を終了する際に実行します。IDトークンが有効期限切れになっている場合は既にサインアウト状態になっていますので、サインアウトを呼び出す必要はありません。
## 解説 ## 解説
1. エンドポイント 1. エンドポイント
https://api.mihari.net/v11/users/ユーザー名/signout https://api.mihari.net/v1/users/ユーザー名/signout
2. メソッド 2. メソッド
GET GET
3. ヘッダ 3. ヘッダ
リクエストヘッダ部に下記のヘッダと値を追加します。追加方法は、ご利用される開発環境の仕様に従ってください。 リクエストヘッダ部に下記のヘッダと値を追加します。追加方法は、ご利用される開発環境の仕様に従ってください。
``` ```
x-api-key APIキー x-api-key APIキー
Autorization Accessトークン Autorization Accessトークン
``` ```
4. オプション 4. オプション
オプションはありません。 オプションはありません。
5. 応答メッセージ 5. 応答メッセージ
- 成功時 - 成功時
- HTTPレスポンスステータスコードは、200です。 - HTTPレスポンスステータスコードは、200です。
- メッセージ本体は、下記のようなJSONデータです。summaryには、当日(today)と前日までの月次集計(monthly) の値が入ります。ただし、当日のデータは、処理と集計のタイミングのずれによって誤差が生じる可能性があります。利用料算出等精度が要求される処理には月次集計(monthly)をお使いください。 - メッセージ本体は、下記のようなJSONデータです。summaryには、当日(today)と前日までの月次集計(monthly) の値が入ります。ただし、当日のデータは、処理と集計のタイミングのずれによって誤差が生じる可能性があります。利用料算出等精度が要求される処理には月次集計(monthly)をお使いください。
```javascript ```javascript
{ {
"message": "signed-out", "message": "signed-out",
"username": "ユーザー名", "username": "ユーザー名",
"summary": { "summary": {
"calls": "当日の検出リクエスト回数", "today": {
"calls": "検出リクエスト回数",
"uploaded": "当日の入力画像を実際にPUTした回数",     "uploaded": "入力画像を実際にPUTした回数",
"size": "当日のPUTした入力画像のファイルサイズの合計",     "size": "PUTした入力画像のファイルサイズの合計",
"units": "当日の清算ユニット数"     "units": "清算ユニット数"
},
"monthly": {
"calls": "検出リクエスト回数",
"uploaded": "入力画像を実際にPUTした回数",
"size": "PUTした入力画像のファイルサイズ合計",
"units": "清算ユニット数"                        
},     },
"timestamp": "日時"} "timestamp": "日時"}
``` ```
- 失敗時 - 失敗時
- HTTPレスポンスステータスコードは、400または403です。 - HTTPレスポンスステータスコードは、400または403です。
- メッセージ本体は、下記のようなJSONデータです。 - メッセージ本体は、下記のようなJSONデータです。
```javascript ```javascript
{"message": "Error: エラーメッセージ", {"message": "Error: エラーメッセージ",
"username": "", "username": "",
"summary": {}, "summary": {},
"timestamp": "日時"} "timestamp": "日時"}
``` ```
<br /><br /> <br /><br />
# ユーザープロファイル Profile # ユーザープロファイル Profile
## 概要 ## 概要
ユーザープロファイルを取得します。 ユーザープロファイルを取得します。
## 解説 ## 解説
1. エンドポイント 1. エンドポイント
https://api.mihari.net/v11/users/ユーザー名/profile https://api.mihari.net/v1/users/ユーザー名/profile
2. メソッド 2. メソッド
GET GET
3. ヘッダ 3. ヘッダ
リクエストヘッダ部に下記のヘッダと値を追加します。追加方法は、ご利用される開発環境の仕様に従ってください。 リクエストヘッダ部に下記のヘッダと値を追加します。追加方法は、ご利用される開発環境の仕様に従ってください。
``` ```
x-api-key APIキー x-api-key APIキー
Autorization Accessトークン Autorization Accessトークン
``` ```
4. オプション 4. オプション
オプションはありません。 オプションはありません。
5. 応答メッセージ 5. 応答メッセージ
- 成功時 - 成功時
- HTTPレスポンスステータスコードは、200です。 - HTTPレスポンスステータスコードは、200です。
 ```javascript ```
{ {
"message": "accepted", "message": "accepted",
"profile": { "profile": {
"status_code": "profile_get", "status_code": "profile_get",
"happened_at": "2021-00-00T00:00:00.000000+09:00", "happened_at": "2021-00-00T00:00:00.000000+09:00",
"username": "username", "payment_method": "",
"payment_method": "", "calls_all": "99999",
"unit_price": "220", "calls_daily": "99",
"summary": { "calls_monthly": "999",
"calls": "当日の検出リクエスト回数", "uploaded_all": "88888",
             "uploaded_daily": "88",
"uploaded": "当日の入力画像を実際にPUTした回数", "uploaded_monthly": "888",
             "size_all": "123456789",
"size": "当日のPUTした入力画像のファイルサイズの合計", "size_daily": "12345",
             "size_monthly": "1234567",
"units": "当日の清算ユニット数" "unit_price": "200",
             "units_all": "77777",
"units_daily": "77",
"units_monthly": "777",
"unprocessed_all": "88888",
"unprocessed_daily": "88",
"unprocessed_monthly": "888",
"username": "username"
}, },
"timestamp": "2021-00-00T00:00:00.000000+09:00" "timestamp": "2021-00-00T00:00:00.000000+09:00"
} }
``` ```
- 失敗時 - 失敗時
- HTTPレスポンスステータスコードは、内容に応じて400台または500台が返ります。 - HTTPレスポンスステータスコードは、400台または500台す。
<br /><br /> <br /><br />
# ひび割れ検出 Crack Detection # ひび割れ検出 Crack Detection
## 概要 ## 概要
現在は、検出に関する全工程を一括して行うbatchmodeのみ有効です。 現在はbatchmodeのみ稼働してます。検出対象画像のアップロード先と検出結果のダウンロード元の情報を一括取得(JSON形式。以降、チケットと呼びます)し、やりとりするモードです
検出を行う手続きでは、最初にチケットを取得、チケットに記載された情報に従っ所定の受付へ画像を預け、結果を所定の窓口で受け取る必要があります。チケット記載の情報はJSON形式で、リクエスト時に要求した回数分の入力画像のアップロード先URLと検出結果のダウンロード元URL組等が収容されています。
- 手順
    1. GETメソッドによって、チケットを取得。 1. GETメソッドによって、チケットを取得。
    2. 検出対象画像(JPEG形式)を、チケット内の項目「puturis」にあるURIに、PUTメソッドでアップロード。 2. 検出対象画像(JPEG形式)を、チケット内の項目「puturis」にあるURIに、PUTメソッドでアップロード。
    3. アップロードしてから待ち時間(5秒)経過後、チケット内の項目「geturis」にあるURIから、GETメソッドで検出結果(JPEG, DXF, SVG)をダウンロード。 3. アップロードしてから待ち時間(約30秒)経過後、チケット内の項目「geturis」にあるURIから、GETメソッドで検出結果(JPEG, DXF, SVG)をダウンロード。
    * 待ち時間は、画像サイズやサービス稼働状況によって変わります。目安として、7MB以下画像アップロード完了後5秒200MB程度120秒です。実装する際には、5秒経過後、1~3秒間隔でポーリングして取得するような手順を推奨します。 * 待ち時間は、画像サイズやサービス稼働状況によって変わりますので、あくまも目安です。実装する場合は、20秒経過後、5秒間隔でポーリングして取得するような手順を推奨します。
## 解説 ## 解説
1. エンドポイント 1. エンドポイント
https://api.mihari.net/v11/users/ユーザー名/detection https://api.mihari.net/v1/users/ユーザー名/detection
2. メソッド 2. メソッド
GET GET
3. ヘッダ 3. ヘッダ
リクエストヘッダに Authorization を追加し、サインインで取得したIDトークンをセットします。 リクエストヘッダに Authorization を追加し、サインインで取得したIDトークンをセットします。
4. オプション 4. オプション
- 名称: "crack" - 名称: "crack"
- パラメーター:"batchmode" - パラメーター:"batchmode"
- 説明:検出対象の選択。動作モードをオプション指定する。現状、検出対象はcrack、オプションはbatchmodeのみ。省略不可。 - 説明:検出対象の選択。動作モードをオプション指定する。現状、検出対象はcrack、オプションはbatchmodeのみ。省略不可。
- 使用例:[エンドポイント]?crack=batchmode - 使用例:[エンドポイント]?crack=batchmode
- 名称: "repeat" - 名称: "repeat"
- パラメーター:検出回 - パラメーター:
- 説明:検出回数を整数で指定する。上限は50。省略可。省略時は1。応答メッセージ中のputuris、geturisにおいて、各々指定回数分の要素を持つリストが得られる。 - 説明:検出回数を指定する。省略可。省略時は1。応答メッセージ中のputuris、geturisにおいて、各々指定回数分の要素を持つリストが得られる。
- 使用例:[エンドポイント]?crack=batchmode&repeat=3 - 使用例:[エンドポイント]?crack=batchmode&repeat=3
- 名称:"threshold" - 名称:"threshold"
- パラメーター:閾値 - パラメーター:0から255までの整数
- 説明:検出スコアの閾値を0から255までの整数で設定する。省略可。省略時は閾値1に設定。 - 説明:検出スコアの閾値設定。省略可。省略時は閾値1に設定。
- 使用例:[エンドポイント]?crack=batchmode&threshold=128 - 使用例:[エンドポイント]?crack=batchmode&threshold=32
- 名称:"scale" - 名称:"scale"
- パラメーター:スケール - パラメーター:数値
- 説明:ひび割れの幅や長さをミリ換算するためのスケール(縮尺を指定する。画像1ピクセルが被写体の何ミリにあたるかを実数で指定する。本オプションとdistanceオプションの両方とも省略した場合は、幅・長さはピクセル単位になる。負の値など不正な数値を指定した場合は無効。省略可。 - 説明:ひび割れの幅や長さをミリ単位に換算するための縮尺を指定する。画像1ピクセルあたり何ミリかを実数で指定する。本オプションとdistanceオプションの両方とも省略した場合は、幅・長さはピクセル単位になる。負の値など不正な数値を指定した場合は無効。省略可。
- 使用例:[エンドポイント]?crack=batchmode&scale=0.6 - 使用例:[エンドポイント]?crack=batchmode&scale=0.6
- 名称:"distance" - 名称:"distance"
- パラメーター:距離 - パラメーター:数値
- 説明:ひび割れの幅や長さを本オプションで指定した数値と撮影画像に含まれるEXIF情報の35mm換算焦点距離とで算出させる場合に指定する。距離は、カメラから被写体までをミリメートル単位の整数で指定する。負の値や小数など不正な数値を指定した場合は無効。対象画像のEXIF情報に35mm換算焦点距離(FocalLengthIn35mmFilm フィールド)が存在しない、あるは有効な数値でない場合は無効。scaleオプションを指定している場合、本オプションは無視する。省略可。 - 説明:ひび割れの幅や長さを本オプションで指定した数値と撮影画像に含まれるExif35mm換算焦点距離とで算出させる場合に指定する。カメラから被写体までの距離、単位ミリメートルで、整数で指定する。負の値や小数など不正な数値を指定した場合は無効。対象画像のEXIF情報に35mm換算レンズ焦点距離(FocalLengthIn35mmFilm フィールド)が指定されていない場合は無効。scaleオプションを指定している場合は無。省略可。
- 使用例:[エンドポイント]?crack=batchmode&distance=8000 - 使用例:[エンドポイント]?crack=batchmode&distance=8000
- 名称:"indicator" - 名称:"indicator"
- 削除。ver.1.1では本オプションは無効。指定するとエラーになります。 - パラメーター:"minmax"
- 名称:"output"
- 削除。ver.1.1では本オプションは無効。指定するとエラーになります。
- 名称:"jpg"
パラメーター:描線太さ、配色、カラーバーの表示
- 説明:元画像にひび割れ検出結果重畳表示しJPEGフォーマットで出力する。省略可。 - 説明:検出した各ひび割れについて最小値と最大値求めSVGおよびDXF出力ファイル各々のひび割れに対応付ける。出力ファイルオプション指定で値表示を指定していない場合は無効。省略可(省略した場合は最大のみ)
- 描線太さは、検出結果を画像上に描画する際太さを変更する場合に指定する。整数でピクセル数を指定する。省略可(省略した場合は5)。
- 配色は、ひび割れを幅よって色分際の色使いを指定する。省略可(省略した場合はp1)あらかじめ用意している2種類配色パターを指定する場合は、p1, p2のどちらかを指定する。独自の配色を指定する場合は、p9を指定し、その後に0mmから0.05mm毎のRGB値を16進数6桁(RRGGBB)連ねて記述する。最後尾のRGBに対応するひび割れ幅以降は同色を用いる。
- カラーバーの表示は、"c"を指定する。省略可(省略した場合は非表示)。カラーバーは、色に対応する数を示しており、画像右下に表示される
- 使用例:[エンドポイント]?crack=batchmode&jpg=10,p2,c - 使用例:[エンドポイント]?crack=batchmode&indicator=minmax
- 上記は、描線太さ10ピクセル、配色パターンp2カラーバー表示する - 名称:"output"
- 非推奨:旧システム互換ために存続。出力形式ごの個別オプション(jpgdxf、svg)指定推奨
- 使用例[エンドポント]?crack=batchmode&jpg=10,p90000ff00aa008800ff - パラメーターファルタイプ:文字列:"dxf", "svg", "wcmp"の組み合わせ
   - 上記は、描線10ピクセ、配色パターンをユーザーリジナルとし、0以上0.05mm未満を#0000ff0.05mm以上0.10mm未満を#00aa000.10mm以上を#8800ffとする
- 説明:出力タイプ指定。wcmpは幅長を元画像に描画したJPEGファイラメーターは、カマ区切りで複数指定可。本プションを指定た場合は出力タイプ別のオプション(jpgdxfsvg)は無効。省略可
- 使用例:[エンドポイント]?crack=batchmode&output=dxf,svg,wcmp
- 名称:"dxf" - 名称:"jpg"
- パラメーター:ステップ値開始値終了値、数値分離、トリムマーク - パラメーター:文字"w""s""c"および数値
- 説明:ひび割れ検出結果をDXFフォーマットで出力する。省略可。 - 説明:ひび割れ検出結果を元画像に重畳表示した画像をJPEGフォーマットで出力する。省略可。
- ステップ値は、ひび割れ幅でレイヤー分けする際の刻み幅を実数で指定する。省略不可。ステップ値が不要な場合は0指定する。 - "w"は、幅で分けしたひび割れ描画する。
- 開始値は、ステップ値で刻むレイヤーの最初のひび割れ幅を実数で指定する。省略不可。0かはじめる場合は0を指定する。開始値未満の幅のひび割れは、自動生成されたレイヤーにまとめて収容される。 - "s"は、ひび割れコア(ひび割れらしさ点数化した標)で色分けしたひび割れを描画する。
- 終了値は、ステップ値で刻むレイヤーの最後のひび割れ幅を実数で指定する。省略可。終了値以上の幅のひび割れは、1つ自動生成されたレイヤーにまとめて収容される。 - "c"は、ひび割れ幅を色分けに関して、幅と色の対応を表すカラースケールを画像右下に追加する。省略可。
- 数値分離は、検出した形状と数値(テキスト)別レイヤーに分ける場合に、"d"を指定する。省略可省略した場合は、検出した形状と数値(テキストが含まれるレイヤーが出力される - 数値は、検出したひび割れ表す線の幅ピクセルで指定する。整数で1から20の範囲で指定する。省略可省略した場合は5)。
- トリムマークを出力する場合は、"t"を指定する。省略した場合はトリムマーク無し。トリムマークは、元画像の四隅の位置を表す - "w"と"s"のどちらか必ず指定する。同時に指定した場合は"w"が有効
- 使用例:[エンドポイント]?crack=batchmode&dxf=0.1,0.4,1.0,d,t - 使用例:[エンドポイント]?crack=batchmode&jpg=w,c,10
- 上記は、トリムマークを含み、次のひび割れ幅の範囲で形状レイヤーと数値レイヤーが生成される。0.0mm以上0.2mm未満、0.2mm以上0.6未満、0.6以上1.0未満、1.0以上
- 名称:"sxf" - 名称:"dxf"
- パラメーター:ステップ値、開始、終了数値分離、トリムマーク - パラメーター:ステップ値:数,最大数値,トリム有無:文字"t"
- 説明:ひび割れ検出結果をSXFフォーマットで出力する。省略可。 - 説明:ひび割れ検出結果をDXFフォーマットで出力する。省略可。
- ステップ値は、ひび割れ幅レイヤー分けする際の刻み幅実数で指定する。省略不可。ステップ値が不要な場合は0を指定する。 - ステップ値は、指定したひび割れ幅ごとのレイヤーを作成し、ひび割れ結果区分ごとのレイヤーにそれぞ出力する。
- 開始値はステップ値で刻むレイヤーの最初のひび割れ幅を実数で指定する。省略不可。0からはじめる場合は0指定する。開始値未満の幅ひび割れは、自動生成されたレイヤーにまとめて収容される。
- 終了値は、ステップ値で刻むレイヤーの後のひび割れ幅を実数で指定する。省略不可。終了値以上の幅のひび割れは、1つ自動生成されたレイヤーにまとめて収容される。 - 最大値は、最値以上の幅のひび割れを全てそのレイヤーに出力する。
- 数値分離は、検出した形状と数値(テキスレイヤーに分ける場合に、"d"を指定する。省略可。省略した場合、検出した形状と数値(テキス)が含まれるレイヤが出力される。 - "t"は、元画像の四隅の位置を表すリムマーク出力レイヤーに追加する。省略はトリムマク無し)
- トリムマークを出力する場合、"t"を指定する。省略した場合はトリムマークトリムマークは、元画像の四隅の位置を表す。 - ステップ値と最大値かならず両方を指定する。一方だけ指定した場合は無少数で指定
- 使用:[エンドポイント]?crack=batchmode&sxf=t,0.1,0.4,1.0,d     - 例えば、ステップ値0.2、最大値1.0と指定した場合出力ファイルにレイヤー数は6で、0.0以上0.2未満、0.2以上0.4未満、0.4以上0.6未満、0.8以上1.0未満、1.0以上とる。
- 上記はトリムマークをみ、次のひび割幅の範囲で形状レイヤー値レイヤーが生成される。0.0mm以上0.2mm未満、0.2mm以上0.6未満、0.6以上1.0未満、1.0以上
- 名称:"svg"
- パラメーター:
- 説明:ひび割れ検出結果をSVGフォーマットで出力する。省略可。出力ファイルには、各ひび割れの形状ともに幅・長さ等の数値情報が含まれる。
- 使用例:[エンドポイント]?crack=batchmode&svg - 使用例:[エンドポイント]?crack=batchmode&dxf=0.2,1.0,t
- 名称:"csv" - 名称:"svg"
- パラメーター:ステップ値、開始値、終了値 - パラメーター:"レイヤー数","l"
- 説明:検出したひび割れの幅と長さ集計し、CSVフォーマットで出力する。省略可。 - 説明:ひび割れ検出結果をSVGフォーマットで出力する。省略可。
- ステップ値は、集計する際幅を実数で指定する。省略不可。ステップ値が不要な場合は0を指定する。 - レイヤー数は、現在1のみ。省略不可
- 開始値は、ステップ値で刻む最初のひび割れ幅を実数で指定する。省略不可。開始値未満幅のひび割れは、まとめて開始値未満として集計される。 - "l"は、検出したひび割れの脇にのひび割れの長さと幅をを追加する。
- 終了値はステップ値で刻むレイヤーの最後のひび割れ幅を実数で指定る。省略不可。終了値以上の幅のひび割れは、まとめて終了以上として集計される。
- 使用例:[エンドポイント]?crack=batchmode&csv=0.2,0.0,3.0 - 使用例:[エンドポイント]?crack=batchmode&svg=1,l
- 上記は、0mmから0.2mm刻みで3.0mmまで集計する
- 名称:"efflo"
- パラメーター:出力方法
- 説明:遊離石灰を検出する。省略可。
- 出力方法は、ひび割れ検出結果の各出力ファイルに追加で含める場合は"join"を、ひび割れと遊離石灰を別々のファイルに出力する場合は"disjoin"を指定する。
- 使用例:[エンドポイント]?efflo=join
5. 応答メッセージ 5. 応答メッセージ
- 成功時 - 成功時
- HTTPレスポンスステータスコードは、201です。 - HTTPレスポンスステータスコードは、201です。
- メッセージ本体は、下記のようなJSONデータです。 - メッセージ本体は、下記のようなJSONデータです。
```javascript ```javascript
{"message": "accepted", {"message": "accepted",
"body": {"puturis": [{"id": "1" "uri": "アップロード先(ファイル名含む)URI"}], "body": {"puturis": [{"id": "1" "uri": "アップロード先(ファイル名含む)URI"}],
"geturis": [ "geturis": [
{"id": "1", "outputs": [ {"id": "1", "outputs": [
{"type": "jpg", "uri": "ダウンロード先(ファイル名含む)URI"}, {"type": "dxf", "uri": "ダウンロード先(ファイル名含む)URI"},
{"type": "dxf", "uri": "ダウンロード先(ファイル名含む)URI"},
{"type": "sxf", "uri": "ダウンロード先(ファイル名含む)URI"}, {"type": "svg", "uri": "ダウンロード先(ファイル名含む)URI"},
{"type": "csv", "uri": "ダウンロード先(ファイル名含む)URI"},
{"type": "svg", "uri": "ダウンロード先(ファイル名含む)URI"},
{"type": "efl", "uri": "ダウンロード先(ファイル名含む)URI"} {"type": "jpg", "uri": "ダウンロード先(ファイル名含む)URI"}
] ]
}] }]
}, },
 "timestamp": "日時"}  "timestamp": "日時"}
``` ```
- "message":受理された場合は"accepted" - "message":受理された場合は"accepted"
- "body": 入力用画像のアップロードおよび出力結果のダウンロードに必要なURI - "body": 入力用画像のアップロードおよび出力結果のダウンロードに必要なURI
- "puturis":JOB IDと入力用画像のPUT先URIのセット - "puturis":JOB IDと入力用画像のPUT先URIのセット
- "geturis":JOB IDとオプションで指定した出力タイプごとの情報セット - "geturis":JOB IDとオプションで指定した出力タイプごとの情報セット
- "outputs": 出力タイプと出力ファイルURIの組で構成 - "outputs": 出力タイプと出力ファイルURIの組で構成
ただし、typeがjpgである出力ファイルは、オプションによってひび割れ - "timestamp": 受け付けた日時(ISO8601形式)
のみか遊離石灰も含まれる場合がある。また、typeがeflである出力ファイルは、ファイル形式はJPEGであり、遊離石灰のみが出力される。
        - "timestamp": 受け付けた日時(ISO8601形式)
- 失敗時 - 失敗時
- HTTPレスポンスステータスコードは、400です。 - HTTPレスポンスステータスコードは、400です。
- メッセージ本体は、下記のようなJSONデータです。 - メッセージ本体は、下記のようなJSONデータです。
```javascript ```javascript
{"message": "Error: エラーメッセージ", {"message": "Error: エラーメッセージ",
"timestamp": "日時"} "timestamp": "日時"}
``` ```
6. リクエストURIの例 6. リクエストURIの例
https://api.mihari.net/v11/users/(ユーザー名)/detection?crack=batchmode&threshold=24&scale=0.6&jpg=10,p2,c&dxf=0.2,0.1,1.0,t&svg&csv=0.2,0,1.0 https://api.mihari.net/v1/users/(ユーザー名)/detection?crack=batchmode&threshold=24&scale=0.6&unify=10&simplify=10&jpg=w&dxf=0.8,1.0,t&svg=1,l