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을 부여함
한 페이지만 표시됨소스가 단일 프레임이거나 DisplayMode가 AnimationOnly일 수 있음
애니메이션이 너무 빠르거나 느림AnimationFrameDelayMs; 실제 GIF 타이밍은 10 ms 단위 사용
대형 다중 프레임 파일에서 메모리 증가표시 모드, 해상도, 페이지 캐시 및 명시적 세션 종료
메타데이터가 null토큰이 DICOM 플러그인을 통해 열리지 않았거나 만료됨

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