# DataFilterTool 使用手冊
## 目錄
[TOC]
## 程式目的
此程式將完成以下事項:
1. 創建Label Studio專案 label-studio init project_name …
2. 根據過濾條件,修改Label Studio專案裡的tasks.json
3. 執行Label Studio專案 label-studio start project_name …
4. 以linux service監控專案,並回傳專案設定
5. 以linux service監控專案標定狀況,並回傳標定檔案對應的影像
## 使用方式
使用Command Line執行程式並指定LabelProjectConfig.json路徑
使用範例:
```=shell
/path/to/DataFilterTool/DataFilterConsole LabelProjectConfig.json
```
## LabelProjectConfig.json檔案內容
```gherkin=
{
"ProjectName": "C9C78_9527",
"LabelConfig": "C9C78.xml",
"DataFilterConfig": "DataFilterConfig.json",
"ServerIPAddress": "192.168.98.222",
"ServerPort": "9527"
}
```
* ProjectName:label-studio參數,將開啟的專案名稱
* LabelConfig:label-studio參數,標記定義檔,由AI提供
* DataFilterConfig:過濾條件參數檔路徑(後續說明)
* ServerIPAddress:label-studio參數
* ServerPort:label-studio參數
## DataFilterConfig.json檔案內容
```gherkin=
{
"Address": "127.0.0.1",
"DatabaseName": "FilterTest",
"FilePath": "/home/SSD1TB/IAIoT-DataCenter",
"Date": [ "20201130", "20201201" ],
"MachineID": [ "NOGV0A1102", "NOGV0A1103" ],
"DataMode": [ 0, 1 ],
"ResultType": [ "PASS", "NG" ],
"HoleNum": [ "03", "08", "22", "34" ],
"Region": [
{ "Y": 1, "X": 1 },
{ "Y": 1, "X": 2 },
{ "Y": 1, "X": 4 },
{ "Y": 4, "X": 1 }
]
}
```
* Address:Database 所在主機IP,通常為本機執行,故不需調整
* DatabaseName:Database 名稱,通常為固定名稱,故不需調整
* FilePath:DataCenter存放影像位置,通常為固定位置,故不需調整
* Date:日期條件,僅接受 yyyyMMdd 格式,e.g. 20201130
* MachineID:機台 ID 條件,僅接受機台序號,e.g. NOGV0A1102
* DataMode:運轉模式條件
* ResultType:檢測結果條件, e.g. PASS、NG、ERROR
* HoleNum:穴號條件,e.g. 01、02~99
* Region:位置條件
###### tags: `Label-Studio` `DataFilterTool` `Data Center`