diff --git a/docs/demo_slides.html b/docs/demo_slides.html
new file mode 100644
index 0000000..d5bf6b6
--- /dev/null
+++ b/docs/demo_slides.html
@@ -0,0 +1,516 @@
+
+
+
+
+
+pyADR — DiagramPlot & Argon Pipeline 功能介紹
+
+
+
+
+
+
+ Academia Sinica · NTNU ⁴⁰Ar/³⁹Ar Lab
+ pyADR
DiagramPlot & Argon Pipeline 功能介紹
+
+ 把 ⁴⁰Ar/³⁹Ar data reduction 的 isochron 數學對齊現代文獻,
並做成可檢視、可調參的自動化流程與互動式判讀工具。
+
+ DiagramPlot 數學修正
+ 互動式 isochron
+ Argon Pipeline 自動化
+ 內建判讀輔助
+
+ 報告人:An-Jun (Andrew) Liu · pyADR v3.8.88 · 2026
+
+ 01
+
+
+
+
+ 定位
+ 我做了兩件事
+
+
+
+
① DiagramPlot — 把數學做對
+
+ - 修正沿用多年、影響每一份歷史 Int age 與 WMA 的 isochron 公式 bug
+ - 全部對齊 community standard:
Vermeesch 2018/2024、Schaen 2021、IsoplotR
+ - 再把出圖升級成互動判讀工具(切方法、選 group、查公式)
+
+
+
+
② Argon Pipeline — 把流程自動化
+
+ - 從
.dat 一路到年代,三頁式流程全自動
+ - T₀ / MassRatio / AgeCalc 每一步都看得到、改得動
+ - 內建 z-score、σ budget、MSWD 顏色等判讀輔助
+
+
+
+ 先講「正確性」(有文獻撐腰的硬實力),再講「自動化與好用」。
+ 02
+
+
+
+
+ DiagramPlot · 數學核心
+ 修正 5 類 公式 bug,每條都有 primary literature
+
+
+ | 項目 | 舊版(錯) | 修正後 | 文獻 |
+ | Inverse isochron F | F = 1/slope;LS 用 trapped 36/40 當 F(物理錯誤) | F = −slope / intercept(York convention) | Vermeesch 2024 / 2018 |
+ | WMA 加權平均 | loop 內 1/σ² 互消 → 退化成 ΣTᵢ(純加總) | Σ(T/σ²) / Σ(1/σ²) | Schaen 2021 |
+ | MSWD 參考點 | 算術平均 | 改用 WMA | Schaen 2021 |
+ | σ_J 誤差傳播 | 括號錯位 → σ_J 高估數個數量級 | (e^λt−1)/F_r² 正確偏導 | Bevington & Robinson 1992 |
+ | σ₃₆ / σ₃₉ | corrections σ 被雙重計算 | 從 raw component 扣回 σ²₃₆ₘ=σ²₃₆ₐ−σ²₃₆c… | quadrature 一致化 |
+
+ 這幾條不是我自己想的,是把程式對齊 IsoplotR / Schaen 的 community convention。
+ 03
+
+
+
+
+ DiagramPlot · 影響範圍
+ 這些 bug 影響每一份過去的結果
+
+
+
+
+ - SH 樣品 Int age:舊版 F 用 1/slope → age 系統性偏低
+ - LS 樣品 Int age:舊版 F 用 trapped 36/40 → 完全錯
+ - 所有 WMA:舊版等同 ΣTᵢ,不是加權平均
+ - 所有 MSWD:舊版用算術平均當參考點
+ - 所有 σ_age:舊版 σ_J 高估 → σ_age 整條系統性高估
+
+
※ age 中心值修正後不變 的只有 σ_J 那條(只縮小誤差)。
+
+
+
⚠ 給老師的提醒
+
已投稿 / 已發表結果若用到舊的 Int age 或 WMA,建議評估是否需要 erratum。
+
+
✓ 怎麼證明修對了
+
SYL31 LS(Sylhet Trap 玄武岩)
論文值 115.4 ± 3.9 Ma
修正後 Date / WMA ≈ 115 Ma ✔
+
+
+ 04
+
+
+
+
+ DiagramPlot · 互動功能
+ 從「靜態出圖」升級成 互動判讀工具
+
+
+
+
+
+
Inverse isochron:滑鼠座標 + 回歸方法/MSWD 併入上方 infoLabel;大氣值與 group 交點用紅/彩 X。
+
+
+
+ - 方法可切換:OLS ↔ York 2004 dropdown,即時 re-render
+ - 互動選點:圖上直接點 data point 分 group,各自算 isochron(初開頁面就能點)
+ - infoLabel:即時顯示滑鼠資料座標 + 回歸 MSWD
+ - marker 修正:大氣值紅圓→紅 X、group 交點→彩色 X,不再被誤認 data point
+ - Int age std 標籤補回(之前被截斷空白)
+
+
+
+ 05
+
+
+
+
+ DiagramPlot · 控制與輔助
+ 軸全可調,公式當場查得到
+
+
+
+
Plot Controls 面板
+
+ - X/Y 軸範圍 per-panel 獨立(isochron 與三譜尺度天差地遠,不再綁同一組軸)
+ - Style:pyADR / Classic PDF 兩種出圖風格
+ - Log Y(Ca/K、Cl/K、Degassing)、Group Span
+ - legend / group fits / overall fit 開關
+
+
+
+
Main / Help 選單 + 內建公式
+
menubar:Main(回首頁)· Help → Formulas & References
+
Help 對話框 7 個 tab,HTML 渲染含表格 / 上下標 / 文獻外連:
+
+ Plateau / WMAIsochron
+ MSWDAge formula
+ Ar components3D Plane Fit
+ References
+
+
「看圖看到一半想確認公式,當場查得到,引文都列好。」
+
+
+ 7 張圖:Age Spectrum · ⁴⁰Ar(r)% · Inverse Isochron · Normal Isochron · Ca/K · Cl/K · Degassing
+ 06
+
+
+
+
+ Argon Pipeline · 總覽
+ 三頁式流程:.dat → 年代,每步可檢視
+
+
+ 不是黑盒子:T₀ 挑哪些 cycle、用哪條 σ、plateau 選哪幾階,全部攤在 UI 上可檢視、可手動覆蓋。
+ 07
+
+
+
+
+ Argon Pipeline · ① Calculate T₀
+ 智慧挑訊號,每顆 cycle 都看得到為什麼
+
+
+
+
+
+
+
+
+ - Serial 挑 cycle:按物理依賴順序 Ar37→Ar36→Ar38/39/40,不再各 isotope 獨立亂挑
+ - z-score 著色:MAD-based robust z,藍/琥珀/紅一眼看出 outlier,hover 顯示 t / mV / z
+ - σ 雙軌可切換:pcov[-1,-1](Li 2019)vs std(|r|)/√n,圖上同時印兩式
+ - T₀ Range 盒鬚圖:blank box + 各 step T₀±σ,黃帶標目前 step,輔助挑 blank cycle
+
+
+
對老師強調:AutoPipeline 的 σ_T0 改 SE-from-covariance,但主程式 CalcT0Page 您指定的 std(|r|)/√n 我沒動。
+
+
+
+ 08
+
+
+
+
+ Argon Pipeline · ③ AgeCalc + Datum
+ Excel 風格 9 分頁:左圖 + 右資訊面板
+
+
+
+
+
+
+
+ - 9 分頁:Summary · Datum · Age Spectrum · ⁴⁰Ar(r)% · Inverse · Normal · Ca/K · Cl/K · Degassing
+ - York 2004 isochron + Wendt-Carl 1991 √MSWD 外部誤差(MSWD>1 誠實放大 σ)
+ - plateau 可手動勾 或 Auto-plateau;改完即時更新
+ - 可編輯 J + Recalculate:走完整 pipeline 重算,表 / banner / 圖 / datum 一致更新
+ - Plot Controls:軸範圍、Style、Log Y、Group Span 全可調
+
+
+
+ 09
+
+
+
+
+ Argon Pipeline · 判讀輔助
+ 不用心算就知道數據健不健康
+
+
+
+
σ uncertainty budget
+
total fusion σ² 拆三來源,一眼分 J-limited / signal-limited
+
+
+
+
³⁶Ar blank → Inverse Isochron 敏感度
+
+ - 滑桿拉 ³⁶ blank ×k,看點垂直滑動、trapped ⁴⁰/³⁶ 與 age 怎麼動
+ - 即時讀數 trapped = 1/intercept、age (F=−slope/intercept)
+ - 純 what-if 預覽,不改任何科學輸出
+
+
+
+
+
MSWD 顏色提示
MSWD>1 → banner 標「ext」,σ_age ×√MSWD(對齊 IsoplotR model-1)
+
⁴⁰Ar(r)% > 100% 警示
net ³⁶Ar(atm)<0 自動標紅,提示 ³⁶ blank 扣過頭
+
+ 10
+
+
+
+
+ 驗證
+ 怎麼讓老師相信數字
+
+
+
+
標準樣品(K-rich 雲母)
+
NO.65 muscovite
+
irradiation 0621-01C
+
9.77± 0.28 Ma
+
plateau WMA 目標值
+
+
+
論文對照(玄武岩)
+
SYL31 LS
+
Sylhet Trap 玄武岩
+
115.4± 3.9 Ma
+
修正後 Date / WMA ≈ 115 Ma ✔
+
+
+
第三方交叉比對
+
IsoplotR
+
同一份 0621-01C
+
MSWD · p(χ²)
對得上
+
York / inverse isochron 一致
+
+
+ 11
+
+
+
+
+ 小結
+ 把 pyADR 從「能跑」做到「能信、好用」
+
+
+
+
+ - DiagramPlot:5 類 isochron 公式對齊文獻 + 互動選點 / 切方法 / 內建公式查詢
+ - Argon Pipeline:.dat→年代三頁自動化,每步可檢視、可調 J 重算
+ - 判讀輔助:z-score、σ budget、MSWD 顏色、敏感度 what-if
+ - 驗證:NO.65 9.77 Ma、SYL31 115 Ma、IsoplotR 交叉比對
+
+
+
+
下一步(已知 backlog)
+
+ - LAMBDA_K 正式定義為 Renne 2010 (5.531e-10)
+ - plateau 的 σ budget + w/o-J 分析誤差
+ - Errorchron Model 3 / anchored isochron(少 step 備援)
+
+
+
+ 謝謝老師,歡迎指教 🙏
+ 12
+
+
+← / → 翻頁 · F 全螢幕 · P 列印 (匯出 PDF) · G 一覽模式
+
+
+
+
diff --git a/docs/demo_slides.pdf b/docs/demo_slides.pdf
new file mode 100644
index 0000000..54354ec
Binary files /dev/null and b/docs/demo_slides.pdf differ
diff --git a/docs/demo_slides.pptx b/docs/demo_slides.pptx
new file mode 100644
index 0000000..1dd352a
Binary files /dev/null and b/docs/demo_slides.pptx differ