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
dotnet add package Doconut.NET8.DicomO 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:
dotnet add package Doconut.NET8.Dicom --version 26.7.0Mantenha 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
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:
LicenseException: This document type requires the 'Dicom' plugin license.Abrindo um arquivo DICOM
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):
| Modo | Páginas produzidas | Uso |
|---|---|---|
AnimationOnly | Página 1 = GIF animado em loop de todos os quadros | Revisão cinematográfica rápida |
FramesOnly | Páginas 1..N = um PNG estático por quadro | Navegação diagnóstica quadro a quadro |
AnimationAndFrames (default) | Página 1 = GIF animado, páginas 2..N = quadros estáticos | Visã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.
// 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:
var metadata = await viewer.GetDicomMetadataAsync(token);
// null when the session isn't a DICOM documentReferê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:
".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
FramesOnlyquando 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
CachePageshabilitado somente quando os benefícios de acesso repetido superarem as imagens retidas.
Solução de problemas
| Sintoma | Verificação |
|---|---|
.dcm é relatado como não suportado | Registro do DicomPlugin e implantação do pacote |
| Falha na inicialização após adicionar o plugin | A licença carregada concede Dicom |
| Aparece apenas uma página | A fonte pode ser de quadro único, ou DisplayMode está AnimationOnly |
| A animação está muito rápida ou lenta | AnimationFrameDelayMs; o tempo efetivo do GIF usa unidades de 10 ms |
| A memória aumenta em arquivos multiquadro grandes | Modo de exibição, resolução, cache de páginas e fechamento explícito da sessão |
Metadados são null | O token não foi aberto através do plugin DICOM ou expirou |
Esta página foi útil?