Files
VesiscanClinicalAndroid/app
dw.jang 15993aa839 feat(verify): Posture event CSV logger + ground-truth annotation 버튼
알고리즘 검증 인프라.

신규 PostureEventLogger.kt:
  - PiezoMonitoring 진입 시 새 CSV 파일 자동 생성
    경로: Downloads/VesiScan_Posture/yyyy-MM-dd_HHmmss.csv
  - 매 cycle 자세/walking 결과 + 신호값 1 row
  - 알람 발동 시 별도 row (walking_start, walking_end, wakeup_alarm_lying_Ns)
  - 사용자 annotation row (ground truth marker)
  - 컬럼: timestamp_ms, type, posture, isWalking, pitch, wmean, wstd,
          accMag, gyroMag, alarm_event, annotation

PiezoMonitoring 연결:
  - LaunchedEffect(Unit) 에서 startSession 호출
  - imuCollector.onComplete: logCycle 매 cycle 호출
  - WALKING 전이: logAlarm("walking_start" / "walking_end")
  - Wakeup alarm: logAlarm("wakeup_alarm_lying_Ns")

Dev settings — Verification 섹션:
  - 5개 annotation 버튼: LIE / STAND / WALK↑ / WALK↓ / SIT
  - 누르면 timestamp + 라벨이 CSV 에 ANNOTATION row 로 기록
  - Toast 로 "Marked: 걷기시작" 같은 피드백
  - 파일 경로 안내 텍스트

사용 흐름:
  1. PiezoMonitoring 진입 (파일 자동 생성)
  2. 동작 직전 dev settings 의 해당 버튼 누름 (예: WALK↑)
  3. 동작 수행 (걷기)
  4. CSV 회수: adb pull /sdcard/Download/VesiScan_Posture/
  5. Excel / pandas 에서 분석:
     - ANNOTATION row 의 timestamp = ground truth
     - CYCLE row 의 isWalking 변화 = detection
     - 두 시간 차 = latency
     - 미발동 = FN, 과발동 = FP → confusion matrix

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-24 14:05:43 +09:00
..