三個 Widgets,一條龍的檢測分析
安裝後 Orange 工具箱會多一個 Assay 分類。輸出都是一般 Orange 資料表,可接 Data Table、散佈圖、PCA、以及 orange-spectra 的 PLS-DA。
Microplate Reader
讀微孔盤照片(6–384 孔)成每孔一列的表:平均亮度或閾值面積,附 A1…H12 孔位。
Coffee-Ring Reader
量化點樣(咖啡環)盤:逐格面積/強度、除以 blank、平均重複列 → 濃度/比值表。
Dose-Response Fit
對任何濃度/訊號表擬合 3PL/4PL 邏輯曲線,回報 EC50、LOD、R²,並疊曲線於資料點。
典型工作流
Dose-Response Fit 是共用 widget:兩個 reader 的輸出、或你已在試算表裡的 比色法/ELISA 數據都能接。
安裝
可在 Windows、macOS(Apple 晶片與 Intel)、Linux 執行——純 Python (numpy / scipy / matplotlib / Pillow / Orange3)。
A. 桌面版 App
Options ▸ Add-ons… ▸ Add more… 輸入 orange-assay → 打勾 → OK → 重啟。
macOS 到 orangedatamining.com 下載 Mac 版 .dmg。
B. pip 版 Orange
pip install orange-assay
python -m Orange.canvas
UnicodeDecodeError: 'cp950' codec…):
改用命令列 "…\Programs\Orange\python.exe" -m pip install orange-assay 再重開 Orange,
或設環境變數 PYTHONUTF8=1。詳見 orange-spectra FAQ。重啟後工具箱出現 Assay 分類(3 個 widgets)。每個 widget 左上角有 「ℹ 說明」盒子,選取後按 F1 會開對應說明頁。
Widget 逐一教學
Microplate Reader — 微孔盤讀取
- 按 Choose plate image… 選盤面照片。
- 選 Format(6/12/24/48/96/384);規則網格自動疊上。
- Measure:mean(平均亮度,最穩)、thresholded count / intensity(需選閾值法:Otsu / manual / per-well Otsu)。
- Border margin 修盤緣;Row fill 調小避免上下鄰孔互擾。
- Wells 接 Data Table,或把孔對應到濃度後接 Dose-Response Fit。
Coffee-Ring Reader — 咖啡環讀取
- 選點樣/咖啡環盤照片。
- 設 Rows(重複列)與 Columns(第 0 欄=blank);可勾 Auto-detect grid 從亮點自動抓格。
- Measure:count 或 intensity;Threshold:manual(預設 0.43)/ Otsu / per-cell Otsu。
- 勾 Divide by blank:每格除以同列第 0 欄、平均重複列;Concentrations 填第 1 欄起的濃度。
- Cells 接 Dose-Response Fit 求 EC50 / LOD。
Dose-Response Fit — 劑量反應曲線
- 選 Concentration 與 Signal 欄;濃度跨數量級時勾 log10。
- Model:3PL(y = L/(1+e−k(x−x₀)))或 4PL(含下/上漸近線)。
- 讀 EC50(=拐點 x₀)、LOD(訊號超過基線+3σ 的濃度)、R²。
- Fit summary 接 Data Table;Fitted curve 可疊圖或匯出。
常見問題
支援哪些影像格式?
PNG / JPG / TIFF / BMP(用 Pillow 讀取)。彩色會以 ITU-R 601 luma 轉灰階。
為什麼比值出現 inf 或 NaN?
Coffee-Ring 的 blank(第 0 欄)量到 0(例如閾值太高、blank 沒有訊號)→ 除以 0。 降低 manual threshold、或確認第 0 欄真的有 blank 點樣。
EC50 / LOD 單位是什麼?
與你輸入的濃度同單位。若勾了 log10,widget 會把結果轉回線性濃度顯示。
可以接到 orange-spectra 的 widgets 嗎?
可以——輸出是一般 Orange 資料表,可接 PLS-DA、PCA、Data Table 等。兩個套件互補。