⚠️ Este é um site de tradução não oficial, sem relação com o DCMTK / OFFIS. Para informações oficiais, consulte a página original (https://support.dcmtk.org/docs/dcm2img.html).

dcm2img: converte imagem DICOM para formato de imagem padrão

SINOPSE

dcm2img [options] dcmfile-in [bitmap-out]

DESCRIÇÃO

O utilitário dcm2img lê uma imagem DICOM, converte os dados de pixel de acordo com as opções de processamento de imagem selecionadas e grava novamente uma imagem em um dos seguintes formatos de imagem de uso geral: BMP, PGM/PPM, PNG, TIFF, JPEG ou JPEG-LS. Esse utilitário oferece suporte a imagens DICOM não comprimidas, bem como a imagens DICOM comprimidas em JPEG, JPEG-LS e RLE.

PARÂMETROS

dcmfile-in  DICOM input filename to be converted ("-" for stdin)

bitmap-out  output filename to be written (default: stdout)

OPÇÕES

opções gerais

-h --help
exibe este texto de ajuda e sai
--version
exibe as informações de versão e sai
--arguments
exibe os argumentos de linha de comando expandidos
-q --quiet
modo silencioso, não exibe avisos nem erros
-v --verbose
modo detalhado, exibe os detalhes do processamento
-d --debug
modo de depuração, exibe informações de depuração
-ll --log-level [l]evel: string constant
(fatal, error, warn, info, debug, trace) usa o nível l para o logger
-lc --log-config [f]ilename: string
usa o arquivo de configuração f para o logger

opções de entrada

+f --read-file
lê o formato de arquivo ou o conjunto de dados (padrão)
+fo --read-file-only
lê apenas o formato de arquivo
-f --read-dataset
lê o conjunto de dados sem as informações meta do arquivo. sintaxe de transferência de entrada:
-t= --read-xfer-auto
usa o reconhecimento de TS (padrão)
-td --read-xfer-detect
ignora a TS especificada no cabeçalho meta do arquivo
-te --read-xfer-little
lê com a TS explicit VR little endian
-tb --read-xfer-big
lê com a TS explicit VR big endian
-ti --read-xfer-implicit
lê com a TS implicit VR little endian

opções de processamento de imagem

+F --frame [n]umber: integer
seleciona o frame especificado (padrão: 1)
+Fr --frame-range [n]umber [c]ount: integer
seleciona c frames a partir do frame n
+Fa --all-frames
seleciona todos os frames rotação:
+Rl --rotate-left
gira a imagem para a esquerda (-90 graus)
+Rr --rotate-right
gira a imagem para a direita (+90 graus)
+Rtd --rotate-top-down
gira a imagem de cima para baixo (180 graus) espelhamento:
+Lh --flip-horizontally
espelha a imagem horizontalmente
+Lv --flip-vertically
espelha a imagem verticalmente
+Lhv --flip-both-axes
espelha a imagem horizontal e verticalmente escala:
+a --recognize-aspect
considera a proporção de aspecto do pixel ao escalar (padrão)
-a --ignore-aspect
ignora a proporção de aspecto do pixel ao escalar
+i --interpolate [n]umber of algorithm: integer
usa interpolação ao escalar (1..4, padrão: 1)
-i --no-interpolation
sem interpolação ao escalar
-S --no-scaling
sem escala, ignora a proporção de aspecto do pixel (padrão)
+Sxf --scale-x-factor [f]actor: float
escala o eixo x pelo fator, calcula automaticamente o eixo y
+Syf --scale-y-factor [f]actor: float
escala o eixo y pelo fator, calcula automaticamente o eixo x
+Sxv --scale-x-size [n]umber: integer
escala o eixo x para n pixels, calcula automaticamente o eixo y
+Syv --scale-y-size [n]umber: integer
escala o eixo y para n pixels, calcula automaticamente o eixo x conversão de espaço de cores (somente imagens JPEG comprimidas):
+cp --conv-photometric
converte se a interpretação fotométrica for YCbCr (padrão)
+cl --conv-lossy
converte YCbCr para RGB se for JPEG com perdas
+cg --conv-guess
converte para RGB se a biblioteca presumir YCbCr
+cgl --conv-guess-lossy
converte para RGB se for JPEG com perdas e a biblioteca JPEG subjacente presumir YCbCr
+ca --conv-always
sempre converte YCbCr para RGB
+cn --conv-never
nunca converte o espaço de cores bits stored:
+bs --bits-stored-fix
corrige um valor de bits stored inconsistente (padrão) # Se o valor de BitsStored no bitstream comprimido for menor # que o valor no conjunto de dados DICOM, atualiza o valor no conjunto de dados # (somente imagens JPEG comprimidas)
-bs --bits-stored-keep
preserva um valor de bits stored inconsistente # Mantém o valor de BitsStored mesmo que inconsistente com o # bitstream comprimido. Isso pode ajudar a decodificar corretamente # algumas imagens com defeito (somente imagens JPEG comprimidas) opções de solução alternativa para codificações incorretas (somente imagens JPEG comprimidas):
+w6 --workaround-pred6
ativa a solução alternativa para imagens JPEG sem perdas com estouro no preditor 6 # Foram observadas "na prática" imagens DICOM com 16 bits/pixel # que são comprimidas com JPEG sem perdas e exigem tratamento # especial, porque o encoder gerou um estouro de inteiro de 16 bits # no preditor 6, que precisa ser compensado (reproduzido) durante a # descompressão. Essa flag permite a descompressão correta dessas # imagens defeituosas, mas ao mesmo tempo causará uma descompressão # incorreta de imagens corretamente comprimidas. Use com cuidado.
+wi --workaround-incpl
ativa a solução alternativa para dados JPEG incompletos # Essa opção faz com que o dcm2img ignore dados JPEG incompletos # ao final de um fragmento comprimido e comece a descomprimir # o próximo frame a partir do próximo fragmento (se houver). Isso permite # decodificar imagens com dados JPEG incompletos.
+wc --workaround-cornell
ativa a solução alternativa para imagens Cornell JPEG sem perdas de 16 bits com estouro na tabela de Huffman # Uma das primeiras implementações de código aberto de compressão # JPEG sem perdas, a biblioteca "Cornell", tem um bug conhecido que # gera valores inválidos na tabela de Huffman ao comprimir imagens # com 16 bits/amostra. Essa flag ativa uma solução alternativa que permite # decodificar corretamente essas imagens. transformação LUT de modalidade:
-M --no-modality
ignora a transformação LUT de modalidade armazenada
+M --use-modality
usa a transformação LUT de modalidade (padrão) transformação LUT VOI:
-W --no-windowing
sem janelamento VOI (padrão)
+Wi --use-window [n]umber: integer
usa a n-ésima janela VOI do arquivo de imagem
+Wl --use-voi-lut [n]umber: integer
usa a n-ésima tabela de consulta VOI do arquivo de imagem
+Wm --min-max-window
calcula a janela VOI usando o algoritmo min-max
+Wn --min-max-window-n
calcula a janela VOI usando o algoritmo min-max, ignorando valores extremos
+Wr --roi-min-max-window [l]eft [t]op [w]idth [h]eight: integer
calcula a janela ROI usando o algoritmo min-max, a região de interesse é especificada por l,t,w,h
+Wh --histogram-window [n]umber: integer
calcula a janela VOI usando o algoritmo Histogram, ignorando n por cento
+Ww --set-window [c]enter [w]idth: float
calcula a janela VOI usando o centro c e a largura w
+Wfl --linear-function
define a função LUT VOI como LINEAR
+Wfs --sigmoid-function
define a função LUT VOI como SIGMOID transformação LUT de apresentação:
+Pid --identity-shape
define a forma da LUT de apresentação como IDENTITY
+Piv --inverse-shape
define a forma da LUT de apresentação como INVERSE
+Pod --lin-od-shape
define a forma da LUT de apresentação como LIN OD overlay:
-O --no-overlays
não exibe overlays
+O --display-overlay [n]umber: integer
exibe o overlay n (0..16, 0=todos, padrão: +O 0)
+Omr --ovl-replace
usa o modo de overlay "Replace" (padrão para overlays Graphic)
+Omt --ovl-threshold
usa o modo de overlay "Threshold Replace"
+Omc --ovl-complement
usa o modo de overlay "Complement"
+Omv --ovl-invert
usa o modo de overlay "Invert Bitmap"
+Omi --ovl-roi
usa o modo de overlay "Region of Interest" (padrão para overlays ROI)
+Osf --set-foreground [d]ensity: float
define a densidade de primeiro plano do overlay (0..1, padrão: 1)
+Ost --set-threshold [d]ensity: float
define a densidade de limiar do overlay (0..1, padrão: 0.5) transformação LUT de exibição:
+Dm --monitor-file [f]ilename: string
calibra a saída de acordo com as características do monitor definidas em f
+Dp --printer-file [f]ilename: string
calibra a saída de acordo com as características da impressora definidas em f
+Da --ambient-light [a]mbient light: float
valor de luz ambiente (cd/m^2, padrão: arquivo f)
+Di --illumination [i]llumination: float
valor de iluminação (cd/m^2, padrão: arquivo f)
+Dn --min-density [m]inimum optical density: float
valor de Dmin (padrão: desativado, somente com +Dp)
+Dx --max-density [m]aximum optical density: float
valor de Dmax (padrão: desativado, somente com +Dp)
+Dg --gsd-function
usa GSDF para a calibração (padrão para +Dm/+Dp)
+Dc --cielab-function
usa a função CIELAB para a calibração compatibilidade:
+Ma --accept-acr-nema
aceita imagens ACR-NEMA sem interpretação fotométrica
+Mp --accept-palettes
aceita tags de atributo de paleta incorretas (0028,111x) e (0028,121x)
+Mc --check-lut-depth
verifica o 3º valor do descritor LUT, compara com a profundidade de bits esperada com base nos dados da LUT
+Mm --ignore-mlut-depth
ignora o 3º valor do descritor LUT de modalidade, determina automaticamente os bits por entrada de tabela
+Mv --ignore-vlut-depth
ignora o 3º valor do descritor LUT VOI, determina automaticamente os bits por entrada de tabela formato TIFF:
+Tl --compr-lzw
compressão LZW (padrão)
+Tr --compr-rle
compressão RLE
+Tn --compr-none
sem compressão
+Pd --predictor-default
sem preditor LZW (padrão)
+Pn --predictor-none
preditor LZW 1 (sem predição)
+Ph --predictor-horz
preditor LZW 2 (diferenciação horizontal)
+Rs --rows-per-strip [r]ows: integer (default: 0)
linhas por faixa, padrão de 8K por faixa formato PNG:
+il --interlace
cria um arquivo entrelaçado (padrão)
-il --nointerlace
cria um arquivo não entrelaçado
+mf --meta-file
cria metainformações de arquivo PNG (padrão)
-mf --meta-none
sem metainformações de arquivo PNG formato JPEG:
+Jq --compr-quality [q]uality: integer (0..100, default: 90)
valor de qualidade para a compressão (em porcentagem)
+Js4 --sample-444
amostragem 4:4:4 (sem subamostragem)
+Js2 --sample-422
subamostragem 4:2:2 (subamostragem horizontal dos componentes de crominância, padrão)
+Js1 --sample-411
subamostragem 4:1:1 (subamostragem horizontal e vertical dos componentes de crominância) formato JPEG-LS:
+Trl --rendered-lossless
compressão sem perdas da imagem renderizada (padrão)
+Tll --true-lossless
compressão sem perdas da imagem bruta
+f8 --force-8-bit
força a profundidade de bits de saída para 8 bits (não pode ser usado com --true-lossless) outras transformações:
+G --grayscale
converte imagem colorida em tons de cinza (monocromática)
+P --change-polarity
altera a polaridade (inverte a saída de pixels)
+C --clip-region [l]eft [t]op [w]idth [h]eight: integer
recorta a região da imagem (l, t, w, h)

opções de saída

-im --image-info
exibe os detalhes da imagem (requer o modo detalhado)
-o --no-output
não cria nenhuma saída (útil com -im) geração de nome de arquivo (somente com --frame-range ou --all-frames):
+Fc --use-frame-counter
usa um contador baseado em 0 para os nomes de arquivo (padrão)
+Fn --use-frame-number
usa o número absoluto do frame para os nomes de arquivo formato de imagem:
+oa --write-auto
determina o formato do arquivo pela extensão do nome de arquivo (padrão para arquivos) # Se o nome do arquivo de saída não tiver extensão ou tiver uma # extensão desconhecida ou incompatível, um aviso é exibido e um # arquivo BMP é gravado (veja --write-bmp).
+op --write-raw-pnm
grava um PGM/PPM binário de 8 bits
+opb --write-8-bit-pnm
grava um PGM/PPM ASCII de 8 bits (padrão para stdout)
+opw --write-16-bit-pnm
grava um PGM/PPM ASCII de 16 bits
+opn --write-n-bit-pnm [n]umber: integer
grava um PGM/PPM ASCII de n bits (1..32)
+ob --write-bmp
grava um BMP de 8 bits (monocromático) ou 24 bits (colorido)
+obp --write-8-bit-bmp
grava um BMP de paleta de 8 bits (somente monocromático)
+obt --write-24-bit-bmp
grava um BMP truecolor de 24 bits
+obr --write-32-bit-bmp
grava um BMP truecolor de 32 bits
+ot --write-tiff
grava um TIFF de 8 bits (monocromático) ou 24 bits (colorido)
+on --write-png
grava um PNG de 8 bits (monocromático) ou 24 bits (colorido)
+on2 --write-16-bit-png
grava um PNG de 16 bits (monocromático) ou 48 bits (colorido)
+oj --write-jpeg
grava um JPEG com perdas de 8 bits (baseline)
+ol --write-jpls
grava um JPEG-LS

NOTAS

Os seguintes algoritmos de interpolação preferenciais podem ser selecionados com a opção –interpolate:

  • 1 = algoritmo de escala livre com interpolação do pbmplus toolkit
  • 2 = algoritmo de escala livre com interpolação da revista c't
  • 3 = algoritmo de ampliação com interpolação bilinear de Eduard Stanescu
  • 4 = algoritmo de ampliação com interpolação bicúbica de Eduard Stanescu

A opção –write-tiff só está disponível quando o DCMTK foi configurado e compilado com suporte à biblioteca TIFF externa libtiff. A disponibilidade das opções de compressão TIFF depende da configuração da libtiff.

A opção –write-png só está disponível quando o DCMTK foi configurado e compilado com suporte à biblioteca PNG externa libpng. A opção –interlace permite a visualização progressiva da imagem durante o carregamento do arquivo PNG. Apenas alguns aplicativos levam em conta as metainformações (TEXT) de um arquivo PNG.

SINTAXES DE TRANSFERÊNCIA

dcm2img oferece suporte às seguintes sintaxes de transferência para a entrada (dcmfile-in):

LittleEndianImplicitTransferSyntax             1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax             1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax   1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax                1.2.840.10008.1.2.2
JPEGLSLosslessTransferSyntax                   1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax                      1.2.840.10008.1.2.4.81
JPEGProcess10_12TransferSyntax                 1.2.840.10008.1.2.4.55
JPEGProcess14SV1TransferSyntax                 1.2.840.10008.1.2.4.70
JPEGProcess14TransferSyntax                    1.2.840.10008.1.2.4.57
JPEGProcess1TransferSyntax                     1.2.840.10008.1.2.4.50
JPEGProcess2_4TransferSyntax                   1.2.840.10008.1.2.4.51
JPEGProcess6_8TransferSyntax                   1.2.840.10008.1.2.4.53
RLELosslessTransferSyntax                      1.2.840.10008.1.2.5

(*) se compilado com suporte a zlib habilitado

REGISTRO DE LOG

O nível de detalhamento do log das diversas ferramentas de linha de comando e das bibliotecas subjacentes pode ser especificado pelo usuário. Por padrão, apenas erros e avisos são gravados no fluxo de erro padrão. Ao usar a opção –verbose, mensagens informativas, como detalhes do processamento, também são relatadas. A opção –debug pode ser usada para obter mais detalhes sobre a atividade interna, por exemplo, para fins de depuração. Outros níveis de log podem ser selecionados com a opção –log-level. No modo –quiet, apenas erros fatais são relatados. Nesses casos de erro muito graves, o aplicativo normalmente é encerrado. Para mais detalhes sobre os diferentes níveis de log, consulte a documentação do módulo "oflog".

Caso a saída do log deva ser gravada em arquivo (opcionalmente com rotação de arquivo de log), no syslog (Unix) ou no log de eventos (Windows), pode-se usar a opção –log-config. Esse arquivo de configuração também permite direcionar apenas determinadas mensagens para um fluxo de saída específico e filtrar certas mensagens com base no módulo ou aplicativo em que são geradas. Um arquivo de configuração de exemplo é fornecido em < etcdir>/logger.cfg.

LINHA DE COMANDO

Todas as ferramentas de linha de comando usam a seguinte notação para os parâmetros: colchetes delimitam valores opcionais (0-1), reticências no final indicam que múltiplos valores são permitidos (1-n), e a combinação dos dois significa de 0 a n valores.

As opções de linha de comando se distinguem dos parâmetros por um sinal '+' ou '-' à frente. Normalmente, a ordem e a posição das opções de linha de comando são arbitrárias (ou seja, podem aparecer em qualquer lugar). No entanto, se as opções forem mutuamente exclusivas, é usada a ocorrência mais à direita. Esse comportamento está em conformidade com as regras de avaliação padrão dos shells Unix comuns.

Além disso, um ou mais arquivos de comando podem ser especificados usando um sinal '@' como prefixo do nome do arquivo (por exemplo, @command.txt). Esse argumento de comando é substituído pelo conteúdo do arquivo de texto correspondente (múltiplos espaços em branco são tratados como um único separador, a menos que apareçam entre duas aspas) antes de qualquer avaliação posterior. Observe que um arquivo de comando não pode conter outro arquivo de comando. Essa abordagem simples, mas eficaz, permite agrupar combinações comuns de opções/parâmetros e evita linhas de comando longas e confusas (um exemplo é fornecido no arquivo < datadir>/dumppat.txt).

AMBIENTE

O utilitário dcm2img tentará carregar os dicionários de dados DICOM especificados na variável de ambiente DCMDICTPATH. Por padrão, ou seja, se a variável de ambiente DCMDICTPATH não estiver definida, o arquivo < datadir>/dicom.dic será carregado, a menos que o dicionário esteja embutido no aplicativo (padrão para Windows).

É preferível manter o comportamento padrão e usar a variável de ambiente DCMDICTPATH apenas quando dicionários de dados alternativos forem necessários. A variável de ambiente DCMDICTPATH tem o mesmo formato da variável PATH dos shells Unix, em que dois-pontos (":") separam as entradas. Em sistemas Windows, um ponto e vírgula (";") é usado como separador. O código do dicionário de dados tenta carregar cada arquivo especificado na variável de ambiente DCMDICTPATH. Ocorre um erro se nenhum dicionário de dados puder ser carregado.

ARQUIVOS

< datadir>/camera.lut - exemplo de arquivo de características de uma câmera
< datadir>/monitor.lut - exemplo de arquivo de características de um monitor
< datadir>/printer.lut - exemplo de arquivo de características de uma impressora
< datadir>/scanner.lut - exemplo de arquivo de características de um scanner

VEJA TAMBÉM

img2dcm(1)

Copyright (C) 2001-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.