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

dcmcjpls: Codificar um arquivo DICOM para a sintaxe de transferência JPEG-LS

SINOPSE

dcmcjpls [options] dcmfile-in dcmfile-out

DESCRIÇÃO

O utilitário dcmcjpls lê uma imagem DICOM não comprimida (dcmfile-in), realiza uma compressão JPEG-LS (ou seja, uma conversão para uma sintaxe de transferência DICOM encapsulada) e grava a imagem convertida em um arquivo de saída (dcmfile-out).

PARÂMETROS

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

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-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 codificação JPEG-LS

+el --encode-lossless
codifica a TS JPEG-LS somente sem perdas (padrão) # Esta opção seleciona a sintaxe de transferência somente sem perdas do # JPEG-LS e realiza uma compressão sem perdas.
+en --encode-nearlossless
codifica a TS JPEG-LS quase sem perdas (NEAR: 2) # Esta opção seleciona a sintaxe de transferência com perdas do JPEG-LS # e realiza uma compressão quase sem perdas. Taxa de bits JPEG-LS (somente quase sem perdas):
+md --max-deviation [d]eviation: integer (default: 2)
define o desvio máximo para um pixel codificado # Esta opção especifica o desvio máximo para um único pixel em relação # ao valor de pixel original. compressão sem perdas:
+pr --prefer-raw
prefere o modo de encoder raw (padrão) # Esta opção habilita o encoder raw. O encoder raw codifica a # célula de pixel completa exatamente como foi lida da imagem de origem sem # realizar nenhuma modificação.
+pc --prefer-cooked
prefere o modo de encoder cooked # Esta opção habilita o encoder cooked. O encoder cooked move os # dados de overlay para tags separadas (60xx,3000) e codifica apenas os # bits armazenados em cada pixel. compressão JPEG-LS:
+t1 --threshold1 [t]hreshhold: integer
define o parâmetro de codificação JPEG-LS threshold 1
+t2 --threshold2 [t]hreshhold: integer
define o parâmetro de codificação JPEG-LS threshold 2
+t3 --threshold3 [t]hreshhold: integer
define o parâmetro de codificação JPEG-LS threshold 3 # Por padrão, os valores de T1, T2, T3 são calculados com base # no número de bits por amostra.
+rs --reset [r]eset: integer (default: 64)
define o parâmetro de codificação JPEG-LS reset entrelaçamento JPEG-LS:
+il --interleave-line
força imagens JPEG-LS entrelaçadas por linha (padrão) # Este sinalizador força o modo entrelaçado por linha para a imagem resultante. # No modo entrelaçado por linha, cada linha da imagem de origem é # comprimida separadamente para cada componente e, em seguida, a próxima # linha é codificada.
+is --interleave-sample
força imagens JPEG-LS entrelaçadas por amostra # Este sinalizador força o modo entrelaçado por amostra para a imagem resultante. # No modo entrelaçado por amostra, os componentes de cada pixel são codificados antes # da codificação do próximo pixel.
+iv --interleave-default
usa o modo de entrelaçamento mais rápido possível # Este sinalizador seleciona um modo de entrelaçamento com base no modo da imagem de origem. # Se possível, a imagem não é convertida para um modo de entrelaçamento diferente. Preenchimento JPEG-LS de bitstreams de comprimento ímpar:
+ps --padding-standard
preenche com marcador EOI estendido (padrão) # Preenche os bitstreams JPEG-LS de comprimento ímpar escrevendo um marcador de fim # de imagem estendido FF FF D9, conforme exigido pelo padrão DICOM.
+pz --padding-zero
preenche com um byte zero (não padrão) # Preenche os bitstreams JPEG-LS de comprimento ímpar escrevendo um byte zero após o # marcador de fim de segmento de imagem, ou seja, FF D9 00. Isso não está em conformidade com o DICOM # mas é necessário para interoperabilidade com a implementação de referência HP LOCO, # que não oferece suporte a bitstreams JPEG-LS estendidos.

opções de codificação de dados de pixel encapsulados

+ff --fragment-per-frame
codifica cada quadro como um único fragmento (padrão) # Esta opção causa a criação de um fragmento comprimido para cada # quadro (recomendado).
+fs --fragment-size [s]ize: integer
limita o tamanho do fragmento a s kbytes # Esta opção limita o tamanho do fragmento, o que pode causar a criação de # múltiplos fragmentos por quadro. codificação da tabela de deslocamento básica:
+ot --offset-table-create
cria a tabela de deslocamento (padrão) # Esta opção causa a criação de uma tabela de deslocamento válida para os # fragmentos JPEG comprimidos.
-ot --offset-table-empty
deixa a tabela de deslocamento vazia # Esta opção causa a criação de uma tabela de deslocamento vazia # para os fragmentos JPEG comprimidos. SOP Class UID:
+cd --class-default
mantém o SOP Class UID (padrão) # Mantém o SOP Class UID da imagem de origem.
+cs --class-sc
converte para Secondary Capture Image (implica --uid-always) # Converte a imagem para Secondary Capture. Além do SOP Class # UID, todos os atributos necessários para uma imagem Secondary Capture válida são # adicionados. Um novo SOP instance UID é sempre atribuído. SOP Instance UID:
+ud --uid-default
atribui um novo UID se a compressão for com perdas (padrão) # Atribui um novo SOP instance UID se a compressão for JPEG-LS com perdas.
+ua --uid-always
sempre atribui um novo UID # Atribui incondicionalmente um novo SOP instance UID.
+un --uid-never
nunca atribui um novo UID # Nunca atribui um novo SOP instance UID.

opções de saída

+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:
-p= --padding-retain
não altera o preenchimento (padrão)
-p --padding-off
sem preenchimento
+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

NOTAS

O utilitário dcmcjpls comprime imagens DICOM de todas as classes SOP. Ele processa todos os elementos Pixel Data (7fe0,0010) do conjunto de dados, ou seja, a compressão também é realizada em uma imagem de ícone. No entanto, dcmcjpls não tenta garantir que a imagem comprimida ainda esteja em conformidade com todas as restrições do IOD do objeto.

É responsabilidade do usuário garantir que as imagens comprimidas que gera estejam em conformidade com o padrão DICOM. Em caso de dúvida, o utilitário dcmcjpls permite converter uma imagem para Secondary Capture — esta classe SOP não impõe restrições como as mencionadas acima.

SINTAXES DE TRANSFERÊNCIA

dcmcjpls oferece suporte às seguintes sintaxes de transferência para 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

(*) se compilado com suporte a zlib habilitado

dcmcjpls oferece suporte às seguintes sintaxes de transferência para saída (dcmfile-out):

JPEGLSLosslessTransferSyntax                   1.2.840.10008.1.2.4.80
JPEGLSLossyTransferSyntax                      1.2.840.10008.1.2.4.81

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 dcmcjpls 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 integrado 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.

VEJA TAMBÉM

dcmdjpls(1)

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