---
# System prepended metadata

title: 6/8 Micro 影像處理模組改善討論

---

# 6/8 Micro 影像處理模組改善討論
## [待修正項目]
- [ ] 1. 各自的演算法應該各自帶出參數調整的 UserControl 而非共用, 否則會讓人困惑
    - 已說明, 待修正
- [x] ~~2. var_threshold 的 MaskSize 目前是固定0.0為 15x15 , 必須開放出來做參數
   否則大面積的變異瑕疵會抓不出來~~
    - 已說明, 會開, 但是當Mask 的大小很大的時候有可能Halcon 會參考到奇怪的值 
    - 目前先以SS 的Region 瑕疵做測試 
    - (6/13) 已修正，已驗證
- [ ] 3. 應在"變異模型法" 內獨立新增"設定模型影像"，避免與定位設定的模型影像共用
    - 已說明, 待修正

:::danger
- [ ] 4. 第一道曝光外的定位模型影像直接disable，改成不用再設定
    - ~~已說明, 待修正, 移動到 PM 設定頁面~~
    - ==(6/17) 關於此議題的調整方式，待(6/22) 開會時討論==
:::
- [x] 5. ~~多個 Region 對應不同的演算法時, 只有第一個 Region 有做檢測,其餘 Region 的檢測都沒有做~~
    - (6/8) 更新 , 但是新增區域時，檢測參數會亂掉 
    - (6/9) 已修正，已驗證
- [x] ~~6. 變異模型法測試失敗，待改善~~
    - (6/8) 先略過, 還需重複驗證
    - (6/13) 後續驗證皆無異常，先結案

- [X] ~~7. 檢測後按下<顯示 ROI Defect > 按鈕時都是以模型影像做顯示,而不是以當前影像做顯示~~
    - (6/8) 已修正，已驗證
- [x] ~~8. 檢測時, 定位框與檢測框會偏移~~
    - 已說明, 待修正, 應該是都抓到之前 Golden 的 ROI 框 
    - (6/9) 已修正，但在檢測跑完完整程序前都拿不到affine ROI；需改成定位成功後就能拿到affine ROI
    - [x] ~~(6/10) 需給出啟用Flag由外部控制，方能完整避開拿到null的問題~~
    - (6/13) 已修正，已驗證
- [x] 9. 測雙門檻法在調scrollbar的時候會因為numericUpDown的上限導致
   exception
    - (6/8) 有更新, 但是修正版不會跳exception，但有可能造成Low > High 
     可能是UI執行緒更新的問題所導致的
    - (6/22) 已修正，已驗證
- [x] ~~10. 從6/7影片可以看到
   a. 把目前編完的recipe按檢測，檢不出東西
   b. 勾選"長短皆符合"後，可以檢出，但定位框的顏色從紅色變成綠色
   c. 再次拿掉"長短皆符合"後，卻不能還原成(a)的狀態~~
    - 已說明, 待修正 
    - (6/13) 已修正，已驗證

- [x] ~~11. ROI編輯的順序會亂掉~~
    - 已說明, 待修正 
    - (6/9) 已修正，已驗證
- [x] ~~12. ROI編輯，刪除時影像會不同步~~
    - 已說明, 待修正
    - (6/9) 已修正，已驗證

- [x] ~~13. 過濾條件~~
    - [x] 在沒勾選時要Disable 控件 
    - (6/9) ~~"型態過濾"按鍵有問題~~
        - 按下"型態過濾"後，再按檢測，狀態並沒有變化
        - 但若我回"檢測參數"頁面隨便調一個值之後，就會做動了
    - (6/10) 昨日(6/9) 型態過濾的問題已解決，尚需新增先前提的disable控件
    - 已修正，已驗證

- [x] ~~14. 卡控條件~~
    - 這頁面的功能都需要重新確認過
    - [x] ~~(6/9) 需新增radiobox讓使用者選擇要卡上界or無上限~~
    - (6/10) 功能確認正常；尚需新增切換設定上限/無上限按鈕
    - 另外，"個數0檢查"是甚麼?
    - [x] ~~(6/13) 避免客戶調參誤會，先把"個數0檢查"的visible = false，若往後有需求再開出來~~
    - (6/15) 異常->"無上限"Flag不會存到Recipe裡面
    - (6/17) 已修正，已驗證

- [ ] 15. VisionControl 曝光切換防呆
    - (6/9) 切曝光combobox上限需與曝光最大張數連動
    - (6/10) 你好像是在designer改nud的maximum而已...這樣不算連動

- [x] ~~16. 雙門檻法檢測問題~~
    - (6/9) 選暗區時，因影像Invert後才進hysteris_threshold，導致門檻值與原圖對不上
    - (6/10) 已修正，已驗證

- [x] ~~17. ROI複製功能異常~~
    - (6/14) 如影片所示，按下"複製ROI"後並將ROI改名；完成設定的兩個ROI會皆變成改名後名稱
    - (6/15) 已修正，已驗證

- [x] ~~18. 開放IsCompleted Flag~~
    - (6/14) 供我司在Runtime & Recipe Editor階段各自做防呆
    - (6/15) 有兩個問題
        - 1. 在還沒學PM以前，先啟用"不定位"，再關閉"不定位"，會造成拿預設ROI定位，且IsCompleted flag 變true
        - 2. 若畫了ROI，但模型影像還沒被設定，一樣會變True

        - 以上兩個問題會造成，只要我切過"不定位"的checkbox，不管我的PM Model有沒有被"成功"學習，他後面永遠都會是true
    - (6/17) 已修正，已驗證

- [ ] 19. 切換曝光時會造成啟用flag亂掉
    - (6/14) 當一個ROI的檢測Recipe還沒編輯完時，切換曝光會讓啟用的flag亂掉，需要修正

- [x] ~~20. 模型影像設定防呆~~
    - (6/14) 如影片所述，當第二個之後的曝光沒設定模型影像時，開啟ROI編輯並按下確認會跳異常
    - 可與項目(3)、(4) 一起完成
    - (6/17) 已不會跳異常，剩餘相關項目由項目(4)進行討論
    - 
- [ ] 21. ROI編輯優化
    - [x] (6/17) 按下新增形狀的ComboBox時，Focus就對應到新產生的ROI，並直接編輯
    - (6/22) 已修正，已驗證
    - [ ] (6/22) ROI複製功能異常，會讓既有的ROI Name被洗掉
    - [ ] (6/22) ROI Name需改成[區域名稱(SS/LS/PAD), 測項名稱(自定義)]的資料結構

- [ ] 22. 局部變異法優化
    - 客戶有發現當Mask大到一定程度時，在ROI邊緣會有大面積誤檢情況；故演算法流程應從reduce domain改為crop+affine trans (or expand_domain_gray)的形式去避掉
    
## [待新增功能]

- [x] ~~1. 定位Bypass --> bypass需拿不到定位ROI~~
   - (6/8) 已修正，已驗證
- [ ] 2. 拿到目前設定的曝光張數 --> Active Index邏輯修正
   - 已說明, 待修正 , Add 之後Active Index馬上++ 
- [ ] 3. VisionControl跳號防呆
   - 2 如果做完就可以防呆 
- [x] ~~4. "啟用"的check預設開啟~~
   - 已說明, 待修正 
   - (6/13) 已修正，已驗證
## [問題]

1. 有無辦法拿到特定光、特定檢測ROI的Defect Region，並加入SS、LS、PAD的Tag ?
    - 現在就可以做得到, 但是如果要操作較為方便(在DataGridView 多加一個欄位)需要變更資料結構,所以先以其他錯誤與功能做修正 

2.	< 瑕疵區域前處理 > 是甚麼時候處理? 是影像灰階值的前處理還是檢測後的 Region 後處理?
    - 是 Region 的處理, 須修正成後處理 

3. 定位設定可以選 使用哪一通道嗎?
    - 定位的影像目前都是 rgbToGray 
4. 解析度同步
    - [x] ~~在UserControl 上的像素尺寸直接隱藏,由我們處理~~
    - 在RecipeEdit 時收到Master 的倍率時我們直接對 PixelSize 屬性設值
5. 設定變異模型影像是用哪一通道的影像
    - 是先設定為彩色, 然後根據Region 的設定做通道的選擇

## [Demo]
1. variation model
    - 已確認
3. var_threshold
    - 已確認
4. 刮傷、崩邊
    - 目前的差別只有在於瑕疵顯示的顏色 
    - 但是刮傷的部分有Line Gauss 的演算法,目前是關起來的

