DICOM 플러그인
DicomPlugin으로 의료 이미지를 보기
DICOM 플러그인은 Doconut에 의료 이미지 뷰어 기능을 추가합니다: 다중 프레임 DICOM 파일은 애니메이션 개요, 개별 프레임, 혹은 두 가지 모두로 렌더링됩니다. DICOM은 플러그인 전용 포맷이며 — 이 플러그인(및 해당 라이선스 기능) 없이는 .dcm 파일을 전혀 열 수 없습니다.
패키지 설치
dotnet add package Doconut.NET8.Dicom버전이 지정되지 않은 명령은 최신 안정 버전을 설치합니다. 플러그인을 현재 26.7.0 릴리스에 고정하려면 버전을 별도로 전달하십시오:
dotnet add package Doconut.NET8.Dicom --version 26.7.0DICOM 패키지를 Doconut.NET8과 동일한 버전으로 유지하십시오. 패키지 ID는 Doconut.NET8.Dicom이며, .26.7.0은 다운로드된 .nupkg 파일 이름에만 나타납니다.
플러그인 등록
builder.Services.AddDoconut(options =>
{
options.AddPlugin<Doconut.Plugins.Dicom.DicomPlugin>();
});플러그인(Name: "Doconut DICOM Viewer")은 .dcm 및 .ima 확장자를 위한 뷰어를 Dicom 기능에 의해 제한하여 등록합니다. 누락되었거나 충분하지 않은 비임시 권한은 일반적으로 AddDoconut() 중에 실패합니다. 이러한 포맷을 처리하는 내장 뷰어가 없기 때문에, 기능이 나중에 사용할 수 없게 되면 런타임 게이트도 강제로 실패합니다:
LicenseException: This document type requires the 'Dicom' plugin license.DICOM 파일 열기
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으로 대체됩니다.
// Uniform bump via the base property…
new DicomConfig { ImageResolution = 150 };
// …or per-axis control
new DicomConfig { HorizontalResolution = 200, VerticalResolution = 150 };DICOM 메타데이터 읽기
이 플러그인을 통해 열린 세션에 대해 Viewer는 태그 메타데이터를 노출합니다:
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM document전체 구성 참조
DicomConfig 전체 속성 표는 API Reference → Format Configs에 있습니다. 레퍼런스 앱의 확장자별 스위치에서 가져온 실제 예시는 다음과 같습니다:
".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 플러그인을 통해 열리지 않았거나 만료됨 |
이 페이지가 도움이 되었나요?