SEONGGUK.SYS
◀ BOSS STAGE
BOSS 1

심초음파 DICOM 뷰어 SDK

2026.03 ~ 현재 · 기여율 80% · 측정 계층 단독

문제 정의

동시 재생 성능 저하, 장비별 압축 형식, 제품마다 달라지는 측정 규칙. 기존 오픈소스 뷰어의 확장 구조로 세 요구를 함께 수용하기 어려워, 성능과 기능 확장을 제품 요구에 맞게 제어할 기반이 필요했습니다.

해결 과정

  1. 01

    WebGL2 2D Array Texture와 뷰포트별 scissor 렌더링을 적용해 여러 클립을 한 렌더링 흐름에서 재생했습니다.

  2. 02

    WebCodecs 하드웨어 디코딩을 우선 사용하고 Safari에서는 createImageBitmap으로 전환되는 이중 경로를 구성했습니다.

  3. 03

    브라우저가 지원하지 않는 JPEG Lossless·JPEG 2000·RLE·Deflate 디코더를 JavaScript로 구현했습니다.

  4. 04

    대용량 클립은 GPU 텍스처 예산을 할당 전에 판정해, 실패가 검은 화면으로 남지 않도록 오류 상태와 연결했습니다.

  5. 05

    측정 도구의 스타일과 조작 규칙을 옵션으로 분리해 제품별 정책을 SDK 수정 없이 적용할 수 있게 했습니다.

검증 결과

16개 → 100개뷰포트 동시 재생 @ 60fps
5.2만 LOCcore + react 두 패키지를 사내 npm으로 발행·운영
지원 포맷 로드 실패 0브라우저가 지원하지 않는 압축 형식 4종을 JavaScript 디코더로 처리

측정 도구 데모

Morgana에서 구현한 Volume contour·VTI trace·라인 그룹핑 규칙을 인터랙션 예제로 확인할 수 있습니다.

측정 도구 데모 보기 ▶
◀ BOSS STAGE