Communitygithub.com

huangjn58/scientific-plot-digitizer

Codex 스킬: 과학 연구 플롯 이미지를 부드러운 CSV/Excel 데이터로 디지털화하며, 축 보정, QA 재플롯, 축 절단 표기를 지원합니다. 科研曲线图片数据提取 Codex skill,支持坐标标定、平滑数据导出、复绘检查与断轴说明。

scientific-plot-digitizer란 무엇인가요?

이 스킬은 과학 및 공학 분야에서 흔히 접하는 플롯(곡선 그래프) 이미지에서 데이터를 추출하여 정형화된 CSV 또는 Excel 파일로 변환해주는 Codex 스킬입니다. 특히 이미지 내 축 스케일과 좌표계를 보정(calibrate)하는 기능을 제공하여, 단순한 픽셀 좌표가 아닌 실제 물리량(예: 시간, 주파수, 전압 등)으로 변환된 정확한 데이터를 얻을 수 있습니다. 또한 추출된 데이터를 기반으로 QA 재플롯을 생성하여 원본 이미지와 시각적으로 비교함으로써 정확도를 검증할 수 있으며, 축이 잘린(broken axis) 이미지의 경우 해당 부분에 대한 별도 주석을 포함시켜 데이터 사용자에게 명확한 맥락을 제공합니다. 이 스킬은 OpenAI Codex 환경에서 동작하며, 사용자는 이미지 파일 경로와 축 정보(예: 범위, 단위)를 제공하기만 하면 나머지 처리를 자동화할 수 있습니다. 결과적으로 연구자나 엔지니어가 과거 논문이나 보고서의 그래프 데이터를 재현하거나 추가 분석에 활용할 때 매우 유용하며, 수동 데이터 추출의 시간과 오류를 크게 줄여줍니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add huangjn58/scientific-plot-digitizer

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

scientific-plot-digitizer은(는) 무엇을 하나요?

Codex 스킬: 과학 연구 플롯 이미지를 부드러운 CSV/Excel 데이터로 디지털화하며, 축 보정, QA 재플롯, 축 절단 표기를 지원합니다. 科研曲线图片数据提取 Codex skill,支持坐标标定、平滑数据导出、复绘检查与断轴说明。

개요

이 스킬은 과학 논문 및 보고서에 사용되는 곡선 그래프(플롯) 이미지에서 데이터 포인트를 추출하여 수치화합니다. 사용자가 제공한 이미지를 분석하여 축 좌표계를 보정하고, 곡선을 따라 데이터를 샘플링한 후 부드러운(smooth) CSV 또는 Excel 파일로 내보냅니다. 또한 추출된 데이터를 재플롯하여 원본 이미지와의 정합성을 검증(QA)하고, 축이 절단된 그래프의 경우 해당 정보를 메타데이터로 포함합니다.

작동 방식

  1. 이미지 입력: 사용자는 플롯 이미지 파일(예: PNG, JPG) 경로를 제공합니다.
  2. 축 보정(Calibration): 사용자가 지정한 축 범위와 단위를 바탕으로 픽셀 좌표를 실제 물리량으로 변환합니다.
  3. 데이터 추출: 이미지 처리 기법(예: 엣지 검출, 색상 분리)을 사용하여 곡선을 따라 데이터 포인트를 자동 또는 반자동으로 추출합니다.
  4. 내보내기: 추출된 데이터를 부드러운 보간(interpolation) 처리하여 CSV 또는 Excel 파일로 저장합니다.
  5. QA 재플롯: 추출된 데이터를 다시 그래프로 그려 원본 이미지 위에 오버레이하여 정확성을 시각적으로 확인합니다.
  6. 축 절단 표기: 원본 이미지에서 축이 절단된(broken axis) 경우, 해당 구간에 대한 주석(예: '//')을 데이터 파일에 포함시킵니다.

전제 조건

  • OpenAI Codex 환경(예: Codex CLI, VSCode 확장 등)
  • Python 3.8 이상
  • 필수 Python 패키지: numpy, pandas, matplotlib, opencv-python, scipy, openpyxl

사용 방법

예시 명령어

# 디지털화할 이미지 경로와 축 보정 정보를 제공
codex digitize --image "path/to/plot.png" \
               --x-min 0 --x-max 10 --x-label "Time (s)" \
               --y-min 0 --y-max 50 --y-label "Amplitude (V)"

주요 플래그

플래그설명필수
--image입력 이미지 파일 경로예
--x-min, --x-maxX축 실제 최소/최대값예
--y-min, --y-maxY축 실제 최소/최대값예
--x-label, --y-label축 레이블 (선택 사항)아니오
--output출력 파일 이름 (기본값: extracted_data.csv)아니오
--smooth데이터 평활화 정도 (기본값: True)아니오
--qa-plotQA 재플롯 생성 여부 (기본값: True)아니오

출력 구조

  • extracted_data.csv (또는 .xlsx): 아래 열을 포함
    • x_value: 보정된 X축 값
    • y_value: 보정된 Y축 값
    • broken_axis_note (해당 시): 축 절단 구간 표시 (예: "Axis broken between x=3.5 and x=4.0")
  • qa_plot.png: QA 재플롯 이미지 (원본 이미지 위에 오버레이)

한계 및 주의사항

  • 복잡한 3D 그래프나 컬러맵 플롯은 현재 지원하지 않습니다(2D 선 플롯만 해당).
  • 이미지 해상도가 낮거나 곡선이 겹치는 경우 정확도가 떨어질 수 있습니다.
  • 축 절단 지점은 사용자가 수동으로 지정할 수 있습니다(--broken-axis 플래그 사용).
  • 추출된 데이터는 항상 QA 재플롯으로 시각적 검증을 권장합니다.

예시 출력 (CSV)

x_value,y_value,broken_axis_note
0.0,1.23,
1.0,4.56,
2.0,9.87,
3.5,15.21,
4.0,,"Axis broken between x=3.5 and x=4.0"
5.0,22.34,Broken axis end

라이선스

이 스킬은 MIT 라이선스 하에 공개됩니다. 자유롭게 사용, 수정, 배포할 수 있습니다.

관련 스킬