## [2026-05-30]

### 수행 내용
- HepatoMRQuant MVP 초기 빌드. rodent in vivo 간 MRI(multi-echo PDFF / ¹H-MRS / MRE·SWE)
  정량 standalone 도구(MASLD 도메인, 동물실험 in vivo 이미지 정량).
- 핵심 5기능 구현: (1) 다중 readout ingest+ROI/QC, (2) PDFF T2* 보정 엔진,
  (3) MRS line fitting+MRE stiffness, (4) 종단 within-animal+histology 상관+모델 reference,
  (5) cohort 통계+국/영문 리포트.
- Streamlit 앱(app.py, 5탭) + 표준 라이브러리 전용 오프라인 CLI(main.py) 구현.
- 합성 샘플 데이터 3종 생성(multi-echo 72행, MRS/MRE 12행, histology 6행).
- 검수 수행 후 QA.md 기록. 손계산 3종(stiffness 3.1684 kPa / MRS 28.80% / T2* PDFF 2.04%)
  코드 출력 일치 확인.

### 주요 결정 사항
- main.py 를 **표준 라이브러리만**으로 구현: T2* 적합은 log-linear 선형회귀, paired t-test 의
  p-value 는 불완전 베타함수(Numerical Recipes 연분수)로 직접 구현 → scipy 없이 검수 환경에서
  실제 실행 가능. app.py 는 동일 엔진(main.py)을 import 해 로직 중복 제거.
- T2* 보정 PDFF 는 2-pool(water=적합 단일지수, fat=비음수 잔차) 분해로 근사하고,
  single-echo 비보정값(마지막/첫 echo 비)을 함께 출력해 보정 효과를 시연. 원시 fat/water 위상
  분리 full 구현은 24h 범위 외로 제외(정량 CSV ingest 전제).
- stiffness 는 전단탄성 근사 μ=ρ·c²(ρ=1000)로 단순화, MRE 가진 주파수 기록.
- 합성데이터를 CDAHFD(steatosis 가역 시연) vs Control 로 구성해 반응 분류·종단 변화·상관이
  모두 의미 있는 값을 내도록 설계.

### 변경된 파일
- `main.py` - 표준 라이브러리 CLI + 공유 계산 엔진(T2*적합/MRS/stiffness/통계/상관/리포트)
- `app.py` - Streamlit 5탭 앱(업로드 + 샘플 로드 버튼, plot 포함)
- `requirements.txt` - Streamlit 앱 의존성(전역 설치 금지, venv 권장)
- `data/sample_multiecho.csv` - multi-echo 신호 합성(6 echo × 6마리 × 2시점)
- `data/sample_mrs_mre.csv` - MRS lipid/water + MRE 전단파 속도 합성
- `data/sample_histology.csv` - terminal NAS/Sirius Red%/CPA% 합성
- `README.md` - 목적/도메인/기능/실행법/검수 체크리스트/출처 맥락/모델 가정
- `QA.md` - 검수 로그(손계산 대조 포함)

### 재현 방법
1. `cd projects/2026-05-30-3-hepatomrquant`
2. CLI 검수: `python3 main.py --help` → `python3 main.py --demo` (표준 라이브러리만, 설치 불필요)
3. 앱 실행: `python3 -m venv .venv && source .venv/bin/activate && pip install -r requirements.txt && streamlit run app.py`
4. 앱에서 "샘플 데이터 로드(합성)" 버튼 클릭 또는 CSV 업로드.
