Complemento DICOM

Ver imágenes médicas con DicomPlugin

El complemento DICOM agrega visualización de imágenes médicas a Doconut: los archivos DICOM de varios fotogramas se renderizan como una vista animada, fotogramas individuales o ambos. DICOM es un formato solo de complemento — sin este complemento (y su capacidad de licencia), los archivos .dcm no pueden abrirse en absoluto.

Instalar el paquete

bash
dotnet add package Doconut.NET8.Dicom

El comando sin versión instala la última versión estable. Para fijar el complemento a la versión actual 26.7.0, pase la versión por separado:

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

Mantenga el paquete DICOM en la misma versión que Doconut.NET8. El ID del paquete es Doconut.NET8.Dicom; .26.7.0 aparece solo en el nombre de archivo .nupkg descargado.

Registrar el complemento

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

El complemento (Name: "Doconut DICOM Viewer") registra visores para las extensiones .dcm y .ima, controlados por la capacidad Dicom. Una autorización faltante o insuficiente no temporal normalmente falla durante AddDoconut(). Debido a que ningún visor incorporado maneja estos formatos, la puerta de tiempo de ejecución también falla de forma crítica si la capacidad se vuelve indisponible más adelante:

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

Abrir un archivo DICOM

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

Modos de visualización

Los archivos DICOM de varios fotogramas pueden presentarse de tres maneras (DicomDisplayMode):

ModoPáginas producidasUso
AnimationOnlyPágina 1 = GIF animado que reproduce todos los fotogramas en bucleRevisión cinematográfica rápida
FramesOnlyPáginas 1..N = un PNG estático por fotogramaNavegación diagnóstica fotograma a fotograma
AnimationAndFrames (default)Página 1 = GIF animado, páginas 2..N = fotogramas estáticosVisión general + detalle en un solo documento

El tiempo de animación se controla con AnimationFrameDelayMs (por defecto 100 ms = 10 FPS; la granularidad del GIF es de unidades de 10 ms) y LoopCount (0 = bucle infinito).

Resolución

DicomConfig renderiza a 100 DPI por eje por defecto. Las propiedades de resolución tienen una cadena de respaldo que vale la pena conocer: si no establece HorizontalResolution/VerticalResolution explícitamente, siguen a BaseConfig.ImageResolution cuando está configurado, y solo entonces vuelven a 100.

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

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

Lectura de metadatos DICOM

Para sesiones abiertas a través de este complemento, Viewer expone los metadatos de etiquetas:

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

Referencia completa de configuración

La tabla completa de propiedades de DicomConfig se encuentra en API Reference → Format Configs. Un ejemplo de producción del conmutador por extensión de la aplicación de referencia:

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

Marca de agua y comportamiento de memoria

La decisión normal de marca de agua de página también se aplica a la salida DICOM. Para salida animada, cada fotograma GIF se marca para que la marca permanezca visible durante la reproducción. Un DocOptions.Watermark personalizado se usa solo cuando la ruta de licencia permite marcas de agua personalizadas; no puede reemplazar una marca de agua de evaluación.

Los estudios multiframe pueden generar tanto una animación como una página estática por fotograma. AnimationAndFrames brinda la navegación más completa pero también tiene el mayor costo de renderizado y caché. Para estudios grandes:

  • use FramesOnly cuando la inspección de fotogramas es más importante que la reproducción cinematográfica;
  • evite aumentar ambos ejes de resolución sin medir la memoria;
  • cierre la sesión explícitamente cuando el estudio ya no esté abierto;
  • mantenga CachePages habilitado solo cuando los beneficios del acceso repetido superen a las imágenes retenidas.

Solución de problemas

SíntomaVerificación
.dcm se informa como no compatibleRegistro de DicomPlugin y despliegue del paquete
El inicio falla después de agregar el complementoLa licencia cargada otorga Dicom
Solo aparece una páginaLa fuente puede ser de un solo fotograma, o DisplayMode es AnimationOnly
La animación es demasiado rápida o lentaAnimationFrameDelayMs; el tiempo efectivo del GIF usa unidades de 10 ms
La memoria crece en archivos multiframe grandesModo de visualización, resolución, caché de páginas y cierre explícito de la sesión
Los metadatos son nullEl token no se abrió a través del complemento DICOM o ha expirado

¿Fue útil esta página?