⚠️ 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/dump2dcm.html).

dump2dcm: converter dump ASCII em arquivo DICOM

SINOPSE

dump2dcm [options] dumpfile-in dcmfile-out

DESCRIÇÃO

O aplicativo dump2dcm converte um arquivo de dump ASCII em um arquivo DICOM. O arquivo de dump tem o mesmo formato da saída do dcmdump. Assim, é possível capturar a saída do dcmdump em um arquivo, modificar alguns atributos e criar um novo arquivo DICOM.

PARÂMETROS

dumpfile-in  dump input filename

dcmfile-out  DICOM output filename ("-" for 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-meta-info
lê as informações de meta se presentes (padrão)
-f --ignore-meta-info
ignora as informações de meta do arquivo. ordem dos bytes do conteúdo do arquivo:
+rl --read-file-little
lê os dados OW em little endian (padrão)
+rb --read-file-big
lê os dados OW do arquivo em big endian. outras opções de entrada:
+l --line [m]ax-length: integer
comprimento máximo de linha m (padrão: 4096)

opções de processamento

+Ug --generate-new-uids
gera um novo Study/Series/SOP Instance UID
-Uo --dont-overwrite-uids
não sobrescreve os UIDs existentes (padrão)
+Uo --overwrite-uids
sobrescreve os UIDs existentes

opções de saída

+F --write-file
grava no formato de arquivo (padrão)
-F --write-dataset
grava o conjunto de dados sem as informações de meta do arquivo
+Fu --update-meta-info
atualiza determinadas informações de meta do arquivo. sintaxe de transferência de saída:
+t= --write-xfer-same
grava com a mesma TS da entrada (padrão)
+te --write-xfer-little
grava com VR explícita little endian
+tb --write-xfer-big
grava com a TS explicit VR big endian
+ti --write-xfer-implicit
grava com a TS implicit VR little endian
+td --write-xfer-deflated
grava com TS de VR explícita little endian deflate. tratamento de erros:
-E --stop-on-error
não grava se o dump estiver corrompido (padrão)
+E --ignore-errors
tenta gravar mesmo que o dump esteja corrompido. representações de valor posteriores a 1993:
+u --enable-new-vr
habilita o suporte a novos VRs (UN/UT) (padrão)
-u --disable-new-vr
desabilita o suporte a novos VRs, converte para OB. codificação do comprimento de grupo:
+g= --group-length-recalc
recalcula os comprimentos de grupo, se presentes (padrão)
+g --group-length-create
sempre grava com elementos de comprimento de grupo
-g --group-length-remove
sempre grava sem elementos de comprimento de grupo. codificação de comprimento em sequências e itens:
+e --length-explicit
grava com comprimentos explícitos (padrão)
-e --length-undefined
grava com comprimentos indefinidos preenchimento final do conjunto de dados (não com --write-dataset):
-p= --padding-retain
não altera o preenchimento (padrão se --write-dataset não for usado)
-p --padding-off
sem preenchimento (implícito com --write-dataset)
+p --padding-create [f]ile-pad [i]tem-pad: integer
alinha o arquivo em um múltiplo de f bytes e os itens em um múltiplo de i bytes. nível de compressão deflate (somente com --write-xfer-deflated):
+cl --compression-level [l]evel: integer (default: 6)
0=sem compressão, 1=mais rápido, 9=melhor compressão

NOTAS

Descrição do arquivo de dump

O arquivo de entrada pode ser uma saída do dcmdump (somente no formato recuado padrão). Cada elemento (tag, VR, valor) deve ser escrito em uma única linha, separado por qualquer número de espaços ou tabulações. Um '#' inicia um comentário que termina no final da linha. Linhas vazias são permitidas.

As partes individuais de uma linha seguem a seguinte sintaxe:

Tag:   (gggg,eeee)
       with gggg and eeee are 4 character hexadecimal values
       representing group and element tag.  Spaces and tabs can be
       anywhere in a tag specification.
VR:    Value Representation must be written as 2 characters as in
       Part 6 of the DICOM standard.  No spaces or tabs are allowed
       between the two characters.  If the VR can be determined from
       the tag, this part of a line is optional.
Value: There are several rules for writing values:
       1. US, SS, UL, SL, UV, SV, FD, FL, OD, OF, OL and OV are written
          as decimal strings that can be read by scanf().
       2. AT is written as '(gggg,eeee)' with additional spaces
          stripped off automatically and gggg and eeee being decimal
          strings that can be read by scanf().
       3. OB and OW values are written as byte or word hexadecimal
          values separated by '\' character.  Alternatively, OB or OW
          values can be read from a separate file by writing the
          filename prefixed by a '=' character (e.g. '=largepix.dat').
          The contents of the file will be read as is.  By default, OW
          data is expected to be little endian ordered and will be
          swapped if necessary.  No checks will be made to ensure that
          the amount of data is reasonable in terms of other attributes
          such as Rows or Columns.
          In case of compressed pixel data, the line should start with
          '(7fe0,0010) OB (PixelSequence' in order to distinguish from
          uncompressed pixel data.
       4. UI is written as '=Name' in data dictionary or as unique
          identifier string (see 6.), e.g. '[1.2.840.....]'.
       5. Strings without () <> [] spaces, tabs and # can be written
          directly.
       6. Other strings must be surrounded by '[' and ']'.  No bracket
          structure is passed.  The value ends at the last ']' in the
          line.  Anything after the ']' is interpreted as comment.
       7. '(' and '<' are interpreted special and may not be used when
          writing an input file by hand as beginning characters of a
          string.  Multiple Value are separated by '\'.  The lines
          need not be sorted into ascending tag order.  References in
          DICOM Directories are not supported.  Semantic errors are
          not detected.

Exemplos

As linhas a seguir mostram exemplos válidos da sintaxe descrita acima:

 (0008,0020) DA [19921012]            #  8, 1 StudyDate
 (0008,0016) UI =MRImageStorage       # 26, 1 SOPClassUID
 (0002,0012) UI [1.2.276.0.7230010.100.1.1]
 (0020,0032) DS [0.0\0.0]             #  8, 2 ImagePositionPatient
 (0028,0009) AT (3004,000c)           #  4, 1 FrameIncrementPointer
 (0028,0010) US 256                   #  4, 1 Rows
 (0002,0001) OB 01\00

Limitações

Observe que atualmente o dump2dcm não oferece suporte total a arquivos DICOMDIR. Especificamente, o valor dos diversos elementos de dados de deslocamento (offset) não é atualizado automaticamente por esta ferramenta.

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 aplicativo dump2dcm tenta 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 integrado ao aplicativo (padrão no 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.

VEJA TAMBÉM

dcmdump(1)

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