## 20250204
Times: 5 Hours
### 完成:'
1. 串接 python script 和 主程式
### 尚未完成 / bug:
1. 主程式傳遞 python script 需要的資料

## 20250205
Times: 7 Hours
### 完成:
1. 添加 call python script 的 workflow
2. 修改目前的格式標準
### 尚未完成 / bug:
1. 開啟相機後上傳資料會出現 crush -> 將相機啟動的時間改為選擇模式且該模式 input 需要鏡頭 (input_format: Thread?)
2. script 端需要修正傳入需要處理的資料 -> 分解 param
3. 將結果顯示在 APP 中 而不是 terminal
4. 目前還沒有 bounding box 的 script 所以沒辦法嘗試相關的資料， 可以先寫一個簡單回傳 [(a,b), (c,d)] 的 sample code 進行 output 的 UI 串接和開發 (需要訂下bounding box 的 output format and parameter)
5. 處理不同的 dongle 需要使用不同的 fw (偵測不同的資料夾) 


## 20250206
Times: 8.5 Hours
### 完成事項
1. 將視訊鏡頭啟動時間修改成使用者選擇需要使用視訊鏡頭的模式
2. 解決 once mode 在沒開啟鏡頭時沒辦法傳遞資料給 python script -> 將上傳的資料加入 frame 佇列 (相關細節在 select tool中)
3. 修正 main app 傳遞的資料內容
4. 添加 dongle 型號的辨認 -> 根據 configs.json 使用不同的 FW 對應到不同的 dongle, device box 中的圖片也是
5. 添加 inference output 的 message box -> 之後要改成 Figma 中的 UI 樣式

### 尚未完成 / bug:
1. 增加錄音的功能處理
2. 增加不同 input format for python script -> 目前是用 numpy 的方式
3. 修改 popup windows 中顯示的 dongle 型號 -> 使用類似 完成事項4 的方式使用之前的 mapping
4. 修改 inference output format including bb and single model
5. multi-dongle inference



## 20250324
1. 推論引擎優化
幀尺寸不匹配問題修復
修復了在暫停視頻模式後上傳圖片時出現的尺寸不匹配錯誤
在 InferenceWorkerThread 的 run 方法中添加了幀尺寸檢查
實現了比較當前幀與上一幀尺寸的機制，當尺寸不同時重置緩存
解決了 "operands could not be broadcast together with shapes" 錯誤
推論佇列管理優化
添加了 _clear_inference_queue 方法，實現安全清空推論佇列
在模式切換時清空佇列，避免使用舊數據
在處理新上傳圖片前清空佇列
重構了 process_uploaded_image 方法，提高可讀性和錯誤處理
2. Utilities 畫面功能增強
驅動程式安裝功能
添加了紫色的「Install Driver」按鈕
實現了 install_drivers 方法，支援多種 Kneron 裝置
使用 kp.core.install_driver_for_windows API 安裝驅動程式
添加了進度條顯示和詳細的錯誤處理
Purchased Items 頁面改進
移除了登入要求，讓用戶無需登入即可查看已購買項目
修改了頁面佈局，使其在同一個視窗中顯示，而非彈出視窗
添加了表格顯示已購買項目，包含產品、模型、版本和相容裝置資訊
實現了「Refresh Items」按鈕功能
表格功能增強
添加了勾選框功能，允許用戶選擇多個項目
實現了整行選擇功能，點擊任一單元格時整行變色
修改了「Download Selected Items」按鈕功能，實現批量下載選中項目
簡化了表格結構，移除了單獨的「Action」列和下載按鈕
3. 用戶界面優化
視覺設計改進
統一了頁面風格和配色
改進了按鈕和表格的樣式
優化了佈局結構，提供更一致的用戶體驗
導航優化
實現了 Utilities 和 Purchased Items 頁面之間的無縫切換
改進了頁面標題和描述，提供更清晰的功能說明