# Module: preset-measurement — 預設與測量

掃描參數預設（preset）與臨床測量（measurement）是超聲設備的兩大業務核心。

## Preset（`handprobe.application.preset`）

- `PresetServer.java` — 預設服務（加載/保存/分發）
- `PresetData.java` / `PresetParams.java` — 預設數據模型；`MITIObservable` 熱指數觀察
- `PresetFile.java` / `PresetFileManipulation.java` / `SystemPresetFile.java` — 預設檔案持久化
- `ExamMode/` + `ExamModeAliases.java` — 檢查模式（腹部/心臟/產科/血管…）與別名
- `ExamToPid.java` — 檢查模式 → 探頭 PID 映射
- `ExamImg/ExamImgParaPerMode.java` — 每模式影像參數（含 `ProbeParameter` 嵌套）
- `DicomPresetPara.java` / `JDicomPresetPara.java` / `DicomMPPSServicePara.java` / `NetworkPresetData.java` — DICOM/網絡配置
- `DisableProbeBtnPreset.java` — OEM 禁用按鈕配置

預設資產：`assets/presetPara/`（16 檔）、`assets/SonoiQ6/`、`assets/SonoiQ6Vet/`、`assets/SonoiQVet/`、`assets/SonoiQ/`（型號默認預設）。

## Measurement（`handprobe.application.measurement`）

- `MeasManager.java` — 測量總管
- `MeasureLib.java` / `VetMeasureLib.java` — 人/獸醫測量庫（`MeasurePackage/`、`VetMeasurePackage/`）
- `MeasurePreset.java` / `MeasOBCalcPreset.java` — 測量預設
- `MeasAutoCalc.java` / `MeasVolCalc.java` — 自動計算/體積計算
- `MeasResultMng.java` — 結果管理（報表輸出）
- `ExpressionParser.java` — 測量公式解析（Java 側；native 版見 `jni.MeasFormulaParser`）
- `MeasureView/`、`measurebase/`、`measMenu/` — 測量 UI
- `MEASID.java` — 測量 ID 常量
- `obInfo/` — 產科信息：`OBInfoMng`、`OBTableUtil`、`TestOBTable`（GA 孕周/生長曲線查表）
- `PWAutoCalc/` — PW 多普勒自動計算

### 產科表資產

`assets/OB_table/` 177 檔（9.6 MB），按標準命名：`CHINA`、`CHITTY(DERIVED)`、`CHITTY(O-O)`、`CFEF`、`BERTAGNOLI`、`ASUM`（澳洲超聲醫學會）等——各國/各學會胎兒生物測量參考表。

## Dependencies

- **Used by:** `Ultrasys`（MITI、PresetServer）、`gui.*`（測量 UI）、報告系統
- **Uses:** `jni.HPresetIf` / `HPidIf`（native 側預設/探頭查詢）、`xutils`（JSON 序列化）

## Notable Patterns / Gotchas

- 預設檔案在 native 與 Java 兩側都有概念：Java 管持久化/UI，native（`HPresetIf`）管實際掃描參數生效
- `VetMeasureLib` 與 `MeasureLib` 平行——獸醫測量套件獨立維護
- 產科孕周計算依賴 `OB_table` 參考表，跨地區合規需正確選表
