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

xml2dsr: Converter documento XML em arquivo DICOM SR

SINOPSE

xml2dsr [options] xmlfile-in dsrfile-out

DESCRIÇÃO

O utilitário xml2dsr converte o conteúdo de um documento XML (Extensible Markup Language) para o formato DICOM Structured Reporting (SR) (formato de arquivo ou conjunto de dados bruto). O esquema XML dsr2xml.xsd ainda não segue nenhum formato padrão. No entanto, o aplicativo xml2dsr pode ser aprimorado nesse aspecto no futuro (por exemplo, oferecendo suporte a HL7/CDA - Clinical Document Architecture).

Um arquivo XML apropriado pode ser criado com a ferramenta dsr2xml (recomenda-se a opção +Xn para adicionar a declaração de namespace XML ao elemento raiz).

PARÂMETROS

xmlfile-in   XML input filename to be converted ("-" for stdin)

dsrfile-out  DICOM SR 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

encoding:

  +Ee  --template-envelope
         template element encloses content items

opções de processamento

+Vs --validate-schema
valida o documento XML em relação ao esquema (não compatível com --template-envelope) # requer que a libxml seja compilada com suporte a XML Schema
+Vn --check-namespace
verifica o namespace XML na raiz do documento identificadores exclusivos:
+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 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 a TS explicit VR 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 a TS explicit VR little endian deflated representações de valor pós-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

Conformidade DICOM

O utilitário xml2dsr oferece suporte às seguintes classes SOP:

SpectaclePrescriptionReportStorage           1.2.840.10008.5.1.4.1.1.78.6
MacularGridThicknessAndVolumeReportStorage   1.2.840.10008.5.1.4.1.1.79.1
BasicTextSRStorage                           1.2.840.10008.5.1.4.1.1.88.11
EnhancedSRStorage                            1.2.840.10008.5.1.4.1.1.88.22
ComprehensiveSRStorage                       1.2.840.10008.5.1.4.1.1.88.33
Comprehensive3DSRStorage                     1.2.840.10008.5.1.4.1.1.88.34
ProcedureLogStorage                          1.2.840.10008.5.1.4.1.1.88.40
MammographyCADSRStorage                      1.2.840.10008.5.1.4.1.1.88.50
KeyObjectSelectionDocumentStorage            1.2.840.10008.5.1.4.1.1.88.59
ChestCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.65
XRayRadiationDoseSRStorage                   1.2.840.10008.5.1.4.1.1.88.67
RadiopharmaceuticalRadiationDoseSRStorage    1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRStorage                    1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage                  1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage                 1.2.840.10008.5.1.4.1.1.88.72
PatientRadiationDoseSRStorage                1.2.840.10008.5.1.4.1.1.88.73
PlannedImagingAgentAdministrationSRStorage   1.2.840.10008.5.1.4.1.1.88.74
PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75
WaveformAnnotationSRStorage                  1.2.840.10008.5.1.4.1.1.88.77

RenditionSelectionDocumentRealTimeCommunication 1.2.840.10008.10.4 (*)

(*) Esta não é uma classe SOP de armazenamento, mas é usada para Real-Time Communication.

Observe que, atualmente, há suporte apenas para os atributos obrigatórios e alguns atributos opcionais.

Codificação de caracteres

A codificação de caracteres DICOM é determinada automaticamente a partir do elemento com a tag "0008,0005" (Specific Character Set), caso presente. Atualmente, há suporte para os seguintes conjuntos de caracteres (requer que a libxml inclua suporte a iconv, veja a saída de –version):

ASCII         (ISO_IR 6)    (UTF-8)
UTF-8         "ISO_IR 192"  (UTF-8)
ISO Latin 1   "ISO_IR 100"  (ISO-8859-1)
ISO Latin 2   "ISO_IR 101"  (ISO-8859-2)
ISO Latin 3   "ISO_IR 109"  (ISO-8859-3)
ISO Latin 4   "ISO_IR 110"  (ISO-8859-4)
ISO Latin 5   "ISO_IR 148"  (ISO-8859-9)
ISO Latin 9   "ISO_IR 203"  (ISO-8859-15)
Cyrillic      "ISO_IR 144"  (ISO-8859-5)
Arabic        "ISO_IR 127"  (ISO-8859-6)
Greek         "ISO_IR 126"  (ISO-8859-7)
Hebrew        "ISO_IR 138"  (ISO-8859-8)
Thai          "ISO_IR 166"  (TIS-620)
Japanese      "ISO 2022 IR 13\ISO 2022 IR 87"  (ISO-2022-JP)
Korean        "ISO 2022 IR 6\ISO 2022 IR 149"  (ISO-2022-KR)
Chinese       "ISO 2022 IR 6\ISO 2022 IR 58"   (ISO-2022-CN)
Chinese       "GB18030"     (GB18030)
Chinese       "GBK"         (GBK)

Compressão

Se a libxml for compilada com suporte a zlib, o arquivo de entrada (xmlfile-in) também pode ser comprimido em ZIP, o que geralmente resulta em arquivos muito menores. Veja a saída da opção –version para verificar se o suporte a zlib está disponível.

Limitações

O esquema XML dsr2xml.xsd não oferece suporte a todas as variações do formato de saída do dsr2xml. No entanto, o formato de saída padrão (mais a opção –use-xml-namespace) deve funcionar.

Diferentes versões da libxml parecem ter limites diferentes para o comprimento máximo do valor de um elemento XML. Portanto, deve-se evitar o uso de valores de elemento muito longos. Um limite típico para a libxml versão 2.7.3 (e posteriores) é de 10 MB para um único valor de elemento.

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 xml2dsr 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 incorporado ao 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>/dsr2xml.xsd - arquivo de esquema XML

VEJA TAMBÉM

dsr2xml(1)

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