목록 보기
HTML Canvas로 기가 픽셀 데이터 시각화하기
프론트엔드

HTML Canvas로 기가 픽셀 데이터 시각화하기

루닛
루닛
2019년 2월 14일

두줄요약

기가픽셀 병리 슬라이드의 AI 예측 결과를 Canvas 기반으로 시각화한 방식을 소개했습니다.\nTissue 사전 렌더링과 Structure·Cell 공간 인덱싱으로 렌더링 성능을 확보했습니다.

문제 상황

  • 27.5기가픽셀 병리 슬라이드의 AI 예측 결과를 웹에서 확대·축소·이동하며 탐색해야 하는 요구
  • 빈번한 시점 이동과 다중 조직·구조·세포 레이어 표시 중 프레임 저하 최소화 필요

구조와 흐름

  • React 기반 UI와 OpenSeadragon 기반 타일 슬라이드 뷰어 위에 Canvas 시각화 레이어 구성
  • Tissue는 색상별 bitmap mask를 이미지로 전송한 뒤 픽셀 값을 분리해 마스크 생성
  • Structure·Cell은 Polygon·Point 데이터를 MessagePack으로 전송하고 좌표 기반 인덱스에 적재

선택 이유

  • Tissue 데이터는 이미지 코덱 압축, 브라우저 네이티브 디코딩, 이미지 뷰어 기반 디버깅 활용
  • Tissue는 OffscreenCanvas 사전 렌더링과 ImageBitmap 합성으로 시점 변경 비용 절감
  • Structure·Cell은 K-d 트리로 현재 뷰포트 요소만 조회해 픽셀 정밀도와 메모리 효율 확보

성능/운영 포인트

  • 기가픽셀 Canvas 메모리 한계를 피하기 위한 Tissue downsampling 적용
  • 저배율 Structure·Cell 미표시와 수 ms 수준의 뷰포트 내 요소 렌더링
  • OffscreenCanvas와 웹 워커 활용으로 메인 UI 스레드 반응성 유지

다음 읽기

#React 주제를 다룬 다른 회사 글

Spatial index를 이용한 웹 어플리케이션 최적화

병리 슬라이드 뷰어의 대량 Gland Canvas 렌더링 지연을 분석했습니다. Spatial index와 화면별 필터링·그룹화로 렌더링 대상을 줄였습니다.

뷰노
뷰노
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...