## [2026-06-01]

### 수행 내용
- HepatoFabric3D MVP 구현 (MASLD/MASH, 동물실험 도구 - ex vivo 3D 이미지 정량).
- `main.py` Python CLI 진입점: 합성 fibrosis 볼륨(F1~F4) 절차적 생성 →
  collagen 3D segmentation·skeleton·그래프 topology → 연결성분/bridging septa/
  연결성 지수, portal-central(PP/PC) 분류, ductular reaction 3D 분기,
  지방 droplet zonation gradient, "2D 면적% 같아도 3D 연결성 다른" 비교 리포트.
- `data/fibrosis_reference.json`: NASH-CRN(Kleiner 2005)/Ishak(1995) staging 매핑,
  연결성 지수 band 임계값, 합성 스테이지 파라미터, 볼륨 기본값.
- `README.md`, `QA.md` 작성. 모든 출력/문서에 연구용 디스클레이머 포함.

### 주요 결정 사항
- scikit-image/skan/tifffile가 환경에 미설치 → 전부 optional import로 처리하고
  numpy 단독 fallback 경로 구현 (union-find 연결성분, BFS 거리변환, distance-map
  medial-axis 스켈레톤, manual 그래프 요약). `python3 main.py`가 numpy만으로도
  무조건 실행되도록 보장.
- networkx/scipy는 있으면 사용, 없으면 fallback. 각 백엔드를 출력에 라벨링.
- 연결성 지수는 ground-truth bridging edge 기반이라 백엔드 무관하게 안정적.
  voxel-level 수치만 fallback에서 달라짐(라벨로 명시).
- "면적 같아도 연결성 다른" KEY INSIGHT 쌍 선택: area 유사도를 강하게 보상하도록
  `conn_gap*(1-area_gap/area_span)` 스코어 사용 → F3 vs F4 선택.

### 변경된 파일
- `main.py` - CLI 진입점 + 전체 분석 파이프라인 (신규)
- `data/fibrosis_reference.json` - reference 파라미터 (신규)
- `README.md` - 목적/실행법/체크리스트/디스클레이머 (신규)
- `QA.md` - 검수 로그 (신규)

### 재현 방법
1. `cd projects/2026-06-01-3-hepatofabric3d`
2. `python3 main.py` (기본: F1~F4 합성 demo 전체 리포트 + 비교)
3. `python3 main.py --summary` / `--stage F3` / `--top 2` / `--json`
4. fallback 검증: scipy/skimage/networkx를 PYTHONPATH로 가려도 동작 확인
5. 사용자 데이터: `python3 main.py --input stack.tif` (tifffile 필요)
