Complemento DICOM

Ver imágenes médicas con DicomPlugin

El complemento DICOM añade visualización de imágenes médicas a Doconut: los archivos DICOM de varios fotogramas se renderizan como una vista previa 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 26.7.0 actual, pasa la versión por separado:

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

Mantén 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 descargado .nupkg.

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, controladas 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 tarde:

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 para
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áticosResumen + detalle en un solo documento

El tiempo de animación está controlado por 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 reserva que vale la pena conocer: si no estableces HorizontalResolution/VerticalResolution explícitamente, siguen a BaseConfig.ImageResolution cuando está configurado, y solo entonces vuelven a 100.

csharp
// Bump uniforme a través de la propiedad base…
new DicomConfig { ImageResolution = 150 };

// …o control por eje
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 cuando la sesión no es un documento DICOM

Referencia completa de configuración

La tabla completa de propiedades 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 lleva la marca para que 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 ofrece la navegación más completa pero también tiene el mayor costo de renderizado y caché. Para estudios grandes:

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

Solución de problemas

SíntomaVerificación
.dcm se informa como no compatibleDicomPlugin registro 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 está AnimationOnly
La animación es demasiado rápida o lentaAnimationFrameDelayMs; el tiempo efectivo del GIF usa unidades de 10 ms
La memoria crece con archivos multiframe grandesModo de visualización, resolución, caché de página 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?