DICOM 플러그인

DicomPlugin으로 의료 이미지를 보기

DICOM 플러그인은 Doconut에 의료 이미지 뷰어 기능을 추가합니다: 다중 프레임 DICOM 파일은 애니메이션 개요, 개별 프레임, 혹은 두 가지 모두로 렌더링됩니다. DICOM은 플러그인 전용 포맷이며 — 이 플러그인(및 해당 라이선스 기능) 없이는 .dcm 파일을 전혀 열 수 없습니다.

패키지 설치

bash
dotnet add package Doconut.NET8.Dicom

버전이 지정되지 않은 명령은 최신 안정 버전을 설치합니다. 플러그인을 현재 26.7.0 릴리스에 고정하려면 버전을 별도로 전달하십시오:

bash
dotnet add package Doconut.NET8.Dicom --version 26.7.0

DICOM 패키지를 Doconut.NET8과 동일한 버전으로 유지하십시오. 패키지 ID는 Doconut.NET8.Dicom이며, .26.7.0은 다운로드된 .nupkg 파일 이름에만 나타납니다.

플러그인 등록

csharp
builder.Services.AddDoconut(options =>
{
    options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});

플러그인(Name: "Doconut DICOM Viewer")은 .dcm.ima 확장자를 위한 뷰어를 Dicom 기능에 의해 제한하여 등록합니다. 누락되었거나 충분하지 않은 비임시 권한은 일반적으로 AddDoconut() 중에 실패합니다. 이러한 포맷을 처리하는 내장 뷰어가 없기 때문에, 기능이 나중에 사용할 수 없게 되면 런타임 게이트도 강제로 실패합니다:

text
LicenseException: This document type requires the 'Dicom' plugin license.

DICOM 파일 열기

csharp
var token = await viewer.OpenDocumentAsync(path, new DicomConfig
{
    DisplayMode = DicomDisplayMode.AnimationAndFrames
});

표시 모드

다중 프레임 DICOM 파일은 세 가지 방식(DicomDisplayMode)으로 표시될 수 있습니다:

모드생성 페이지사용 용도
AnimationOnly페이지 1 = 모든 프레임을 순환하는 애니메이션 GIF빠른 시네마틱 검토
FramesOnly페이지 1..N = 프레임당 하나의 정적 PNG프레임별 진단 탐색
AnimationAndFrames (기본)페이지 1 = 애니메이션 GIF, 페이지 2..N = 정적 프레임한 문서에서 개요 + 상세

애니메이션 타이밍은 AnimationFrameDelayMs(기본값 100 ms = 10 FPS; GIF 세분화는 10 ms 단위)와 LoopCount(0 = 무한 반복)로 제어됩니다.

해상도

DicomConfig는 기본적으로 축당 100 DPI로 렌더링합니다. 해상도 속성에는 알아두면 좋은 대체 체인이 있습니다: HorizontalResolution/VerticalResolution을 명시적으로 설정하지 않으면, 설정된 경우 BaseConfig.ImageResolution을 따르고, 그 다음에 100으로 대체됩니다.

csharp
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };

// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };

DICOM 메타데이터 읽기

이 플러그인을 통해 열린 세션에 대해 Viewer는 태그 메타데이터를 노출합니다:

csharp
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document

전체 구성 참조

DicomConfig 전체 속성 표는 API Reference → Format Configs에 있습니다. 레퍼런스 앱의 확장자별 스위치에서 가져온 실제 예시는 다음과 같습니다:

csharp
".DCM" or ".IMA" => new DicomConfig { DisplayMode = DicomDisplayMode.AnimationAndFrames },

워터마크 및 메모리 동작

일반 페이지 워터마크 결정은 DICOM 출력에도 적용됩니다. 애니메이션 출력의 경우 각 GIF 프레임에 워터마크가 찍혀 재생 전체에 걸쳐 표시됩니다. 커스텀 DocOptions.Watermark는 라이선스 경로가 커스텀 워터마크를 허용할 때만 사용되며, 평가용 워터마크를 대체할 수 없습니다.

다중 프레임 연구는 애니메이션과 프레임당 정적 페이지를 모두 생성할 수 있습니다. AnimationAndFrames는 가장 풍부한 탐색을 제공하지만 렌더링 및 캐시 비용이 가장 높습니다. 대규모 연구의 경우:

  • FramesOnly를 사용하십시오. 프레임 검사가 시네마틱 재생보다 중요할 때;
  • 메모리를 측정하지 않고 해상도 축을 모두 늘리는 것을 피하십시오;
  • 연구가 더 이상 열려 있지 않을 때 세션을 명시적으로 닫으십시오;
  • CachePages는 반복 접근 이점이 보관된 이미지보다 클 때만 활성화하십시오.

문제 해결

증상점검
.dcm이 지원되지 않음으로 보고됨DicomPlugin 등록 및 패키지 배포
플러그인 추가 후 시작 실패로드된 라이선스가 Dicom을 부여함
한 페이지만 표시됨소스가 단일 프레임이거나 DisplayModeAnimationOnly일 수 있음
애니메이션이 너무 빠르거나 느림AnimationFrameDelayMs; 실제 GIF 타이밍은 10 ms 단위 사용
대형 다중 프레임 파일에서 메모리 증가표시 모드, 해상도, 페이지 캐시 및 명시적 세션 종료
메타데이터가 null토큰이 DICOM 플러그인을 통해 열리지 않았거나 만료됨

이 페이지가 도움이 되었나요?