엔지니어링 · 2023

시간 분해 분광 측정용 카메라 제어 프로그램

나노초 단위 게이트 촬영부터 파장 보정, 내보내기까지 한 화면에서 처리하는 데스크톱 앱

촬영할 때마다 장비 설정을 따로 적어 두고 결과는 외부 도구로 다시 계산하던 측정 작업을, 조건과 함께 기록하고 화면에서 바로 확인한 뒤 내보낼 수 있도록 하나의 프로그램으로 묶었습니다.

고객
서울대학교
분야
엔지니어링
촬영한 2차원 이미지와 파장으로 환산한 스펙트럼을 위아래로 함께 보여 주는 메인 화면

개요

  • 짧은 빛을 내는 시료를 나노초 단위로 끊어 촬영하고, 그 빛을 파장별로 나눠 보는 측정에 쓰는 프로그램
  • 실험대에서 장비를 직접 다루는 측정 담당자가 사용 대상
  • 카메라 연결 → 촬영 조건 설정 → 촬영 → 화면 확인 → 파일 저장·내보내기까지 한 창에서 진행
  • 촬영 조건과 분광 설정이 이미지와 같은 파일에 함께 저장되어, 나중에 열어도 어떤 조건의 결과인지 확인 가능
메인 화면
이미지와 스펙트럼 동시 확인

과제

  • 장비 제공 프로그램은 촬영만 담당 → 설정값은 측정자가 따로 받아 적고 결과 파일과 손으로 짝지음
  • 지연 시간을 바꿔 가며 여러 번 찍는 측정에서 조건 입력과 저장을 매번 반복
  • 촬영한 이미지가 쓸 만한지 판단하려면 별도 도구로 열어 봐야 함 → 현장에서 바로 알 수 없음
  • 픽셀 번호를 파장으로 바꾸는 계산을 매번 수작업으로 반복
  • 설정을 잘못 넣어 카메라 내부 메모리를 넘기면 촬영 중간에 실패

해결 방법

  • 노출·지연 시간, 트리거 방식, 촬영 영역, 비닝, 증폭 전압, 게이트 동작을 한 패널에서 설정하고 한 번에 적용
  • 촬영 모드를 목적에 따라 선택 - 고정 조건 연속 촬영, 타임테이블 반복 촬영, 실시간 미리보기
  • 촬영 결과를 2차원 이미지와 파장 스펙트럼 두 형태로 즉시 표시, 두 가지를 동시에 띄우는 것도 가능
  • 장비 상태(연결, 촬영 중, 판독 중)와 세 지점의 온도를 상단에 계속 표시
  • 장비가 올리는 경고·오류 신호를 사람이 읽을 수 있는 문장으로 바꿔 로그에 기록
  • 촬영 데이터를 설정값과 묶어 하나의 파일로 저장, 여러 파일을 한꺼번에 불러와 이어서 비교
스펙트럼 보기
촬영 조건을 함께 표시

시스템 구조

측정 흐름

  • 카메라 연결 → 조건 설정 → 촬영 → 화면 확인 → 파일 저장 → 필요한 형식으로 내보내기
  • 타임테이블 촬영은 표에 적은 조건을 위에서부터 순서대로 적용하며 자동 진행

화면 구성

  • 상단에 촬영 시작·중지 버튼과 장비 상태 표시
  • 가운데에 이미지와 스펙트럼 표시 영역, 오른쪽에 보기 옵션
  • 오른쪽 패널에 촬영 조건 설정, 아래에 장비 로그

내보내는 것

  • 이미지와 스펙트럼을 그림 파일 또는 수치 파일로 저장
  • 촬영 조건 전체를 별도 표 파일로 저장 → 보고서 작성 시 그대로 인용 가능
내보내기
구간과 형식 선택

구현

지연 시간을 바꿔 가며 반복 촬영

  • 노출과 지연 시간의 조합을 표에 적어 두고, 조합마다 정해진 장수를 자동으로 촬영
  • 표를 파일로 저장·불러오기 → 같은 측정 조건을 다음 실험에서 그대로 재현
  • 조합이 바뀔 때마다 그 조건이 결과에 함께 기록되어, 나중에 어느 지연에서 찍은 것인지 구분 가능
타임테이블
지연 시간을 바꿔 가며 반복 촬영

촬영 전 메모리 확인

  • 요청한 장수가 카메라 내부 메모리로 감당되는지 촬영 시작 전에 확인
  • 넘칠 경우 가능 장수와 요청 장수를 함께 보여 주고 중단 → 촬영 도중 실패 방지

빈 화면을 걸러 내는 촬영 모드

  • 모든 픽셀이 기준값보다 어두우면 신호가 없는 것으로 보고 저장하지 않음
  • 건너뛴 장수를 촬영 중에 계속 표시 → 신호가 드물게 들어오는 측정에서 쓸 만한 장면만 남김

한 장씩 확인하는 안전 모드

  • 한 장 촬영 → 즉시 전송·표시 → 다음 장 순서로 진행
  • 센서가 포화된 화면이 나오면 경고를 띄우고 촬영 중단 → 과도한 빛으로부터 증폭부 보호

픽셀을 파장으로 환산

  • 알려진 파장의 기준선을 픽셀 위치와 짝지어 입력하고 1차에서 4차까지 다항식으로 환산식 계산
  • 환산 품질을 결정계수로 함께 표시 → 보정이 제대로 되었는지 입력 화면에서 바로 확인
  • 계산한 환산식이 촬영 결과에 함께 저장되어 다시 열었을 때 같은 파장 축으로 표시
파장 보정
보정점 입력과 환산 곡선

화면에서 바로 하는 피크 분석

  • 스펙트럼의 한 구간을 지정해 세 가지 선 모양 중 하나로 맞추고 중심 위치와 폭을 산출
  • 배경 성분을 1차에서 4차까지 함께 맞춰 분리
  • 여러 장을 평균한 뒤 분석하는 것도 가능 → 신호가 약한 측정에서 잡음 영향 감소

설정 유지

  • 분광 설정과 타임테이블을 자동으로 저장하고 다음 실행 때 복원
  • 카메라를 새로 연결할 때 장비에 남아 있던 설정을 백업한 뒤 초기화하고 되돌림 → 재연결로 조건이 사라지지 않음

결과

  • 촬영과 확인, 분석, 내보내기를 한 프로그램에서 끝내게 되어 측정 중 외부 도구 전환이 없어짐
  • 설정값을 따로 받아 적고 결과와 짝짓는 수작업이 사라짐
  • 저장 파일만 열면 어떤 조건에서 찍은 것인지 확인 가능 → 과거 측정 재현과 비교가 가능해짐
  • 지연 시간을 바꿔 가며 찍는 반복 측정을 표 하나로 정의하고 자동 진행
  • 조건 오류로 촬영이 중간에 실패하는 상황을 시작 전 검사로 차단
  • 실험 노트에 손으로 옮겨 적던 촬영 조건을 표 파일로 바로 내보내 보고서에 사용

사용 기술

  • Python
  • wxPython
  • NumPy
  • SciPy
  • VisPy
  • matplotlib

화면

해결이 필요한 문제가 있으신가요?

소프트웨어 개발부터 장비 연동과 엔지니어링까지, 프로젝트의 요구사항에 적합한 해결 방안을 함께 검토합니다.

프로젝트 문의하기