Plugin DICOM

Visualize imagens médicas com DicomPlugin

O plugin DICOM adiciona visualização de imagens médicas ao Doconut: arquivos DICOM multiquadro são renderizados como uma visão geral animada, quadros individuais ou ambos. DICOM é um formato somente de plugin — sem este plugin (e sua capacidade de licença), arquivos .dcm não podem ser abertos de forma alguma.

Instalar o pacote

bash
dotnet add package Doconut.NET8.Dicom

O comando sem versão instala a versão estável mais recente. Para fixar o plugin na versão atual 26.7.0, passe a versão separadamente:

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

Mantenha o pacote DICOM na mesma versão que Doconut.NET8. O ID do pacote é Doconut.NET8.Dicom; .26.7.0 aparece apenas no nome do arquivo .nupkg baixado.

Registrar o plugin

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

O plugin (Name: "Doconut DICOM Viewer") registra visualizadores para as extensões .dcm e .ima, controlados pela capacidade Dicom. Uma autorização ausente ou insuficiente não temporária normalmente falha durante AddDoconut(). Como nenhum visualizador interno lida com esses formatos, o gate de tempo de execução também falha de forma crítica se a capacidade ficar indisponível posteriormente:

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

Abrindo um arquivo DICOM

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

Modos de exibição

Arquivos DICOM multiquadro podem ser apresentados de três maneiras (DicomDisplayMode):

ModoPáginas produzidasUso
AnimationOnlyPágina 1 = GIF animado em loop de todos os quadrosRevisão cinematográfica rápida
FramesOnlyPáginas 1..N = um PNG estático por quadroNavegação diagnóstica quadro a quadro
AnimationAndFrames (default)Página 1 = GIF animado, páginas 2..N = quadros estáticosVisão geral + detalhe em um único documento

O tempo da animação é controlado por AnimationFrameDelayMs (padrão 100 ms = 10 FPS; a granularidade do GIF é de unidades de 10 ms) e LoopCount (0 = loop infinito).

Resolução

DicomConfig renderiza a 100 DPI por eixo por padrão. As propriedades de resolução têm uma cadeia de fallback importante de saber: se você não definir HorizontalResolution/VerticalResolution explicitamente, elas seguem BaseConfig.ImageResolution quando configurado, e só então retornam a 100.

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

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

Lendo metadados DICOM

Para sessões abertas através deste plugin, Viewer expõe os metadados de tags:

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

Referência completa de configuração

A tabela completa de propriedades do DicomConfig está em API Reference → Format Configs. Um exemplo de produção da troca por extensão do aplicativo de referência:

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

Marca d'água e comportamento de memória

A decisão normal de marca d'água da página também se aplica à saída DICOM. Para saída animada, cada quadro GIF recebe a marca para que ela permaneça visível durante a reprodução. Um DocOptions.Watermark personalizado é usado somente quando o caminho de licença permite marcas d'água personalizadas; ele não pode substituir uma marca d'água de avaliação.

Estudos multiquadro podem gerar tanto uma animação quanto uma página estática por quadro. AnimationAndFrames oferece a navegação mais rica, mas também tem o maior custo de renderização e cache. Para estudos grandes:

  • use FramesOnly quando a inspeção de quadros for mais importante que a reprodução cinematográfica;
  • evite aumentar ambos os eixos de resolução sem medir a memória;
  • feche a sessão explicitamente quando o estudo não estiver mais aberto;
  • mantenha CachePages habilitado somente quando os benefícios de acesso repetido superarem as imagens retidas.

Solução de problemas

SintomaVerificação
.dcm é relatado como não suportadoRegistro do DicomPlugin e implantação do pacote
Falha na inicialização após adicionar o pluginA licença carregada concede Dicom
Aparece apenas uma páginaA fonte pode ser de quadro único, ou DisplayMode está AnimationOnly
A animação está muito rápida ou lentaAnimationFrameDelayMs; o tempo efetivo do GIF usa unidades de 10 ms
A memória aumenta em arquivos multiquadro grandesModo de exibição, resolução, cache de páginas e fechamento explícito da sessão
Metadados são nullO token não foi aberto através do plugin DICOM ou expirou

Esta página foi útil?