dcmmklut: Criar tabelas de correspondência DICOM
SINOPSE
dcmmklut [options] dcmimg-out
DESCRIÇÃO
O aplicativo dcmmklut permite criar diversas tabelas de correspondência (LUT) DICOM do tipo Modality, Presentation e VOI, sendo destinado à criação de imagens de teste. O aplicativo é capaz de ler um arquivo de imagem DICOM existente, criar uma tabela de correspondência de acordo com as opções de linha de comando e regravar o novo objeto em um arquivo. Também é possível criar um novo objeto contendo a LUT especificada sem ler um arquivo de imagem DICOM existente, o que é útil, por exemplo, para simplesmente armazenar diferentes tabelas de correspondência em uma estrutura semelhante à do DICOM. Por padrão, o arquivo de saída é codificado com a mesma sintaxe de transferência usada no arquivo de entrada, mas a sintaxe de transferência também pode ser especificada por meio de uma opção de linha de comando.
Os dados da LUT podem ser derivados da forma de uma curva gama (o padrão para o fator gama é 1) ou importados de um arquivo (atualmente há suporte para o formato MAP do PhotoImpact da Ulead e para um formato de texto simples). A largura de entrada e de saída da LUT também pode ser especificada dentro do intervalo permitido pelo padrão DICOM. A interpolação do intervalo de entrada é feita por meio de um algoritmo de ajuste de curva polinomial.
Além do arquivo de saída DICOM, os dados da LUT também podem ser exportados para um arquivo de texto separado por tabulações, o que permite visualizar facilmente as curvas com um aplicativo de planilha comum (por exemplo, o Microsoft Excel).
PARÂMETROS
dcmimg-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 criação de LUT
+Tm --modality- cria como Modality LUT
+Tp --presentation- cria como Presentation LUT
+Tv --voi- cria como VOI LUT (padrão) posicionamento da LUT:
+Pa --add- adiciona à transformação existente (padrão apenas com --voi)
+Pr --replace- substitui a transformação existente (padrão para --modality e --presentation) conteúdo da LUT:
+Cg --gamma [g]amma: float- usa o valor gama (padrão: 1.0)
+Cm --map-file [f]ilename: string- lê os dados de entrada de um arquivo MAP
+Ct --text-file [f]ilename: string- lê os dados de entrada de um arquivo de texto opções da LUT:
+Og --inverse-gsdf- aplica a GSDF inversa (expressa a Presentation LUT em OD)
--min-density [v]alue: integer (0..65535, default: 20)- define a densidade mínima como v (em centésimos de OD)
--max-density [v]alue: integer (0..65535, default: 300)- define a densidade máxima como v (em centésimos de OD)
+Oi --illumination [v]alue: integer (0..65535, default: 2000)- define a iluminação como v (em cd/m^2)
+Or --reflection [v]alue: integer (0..65535, default: 10)- define a luz ambiente refletida como v (em cd/m^2) estrutura da LUT:
-b --bits [n]umber: integer- cria uma LUT com valores de n bits (8..16, padrão: 16)
-e --entries [n]umber: integer- cria uma LUT com n entradas (1..65536, padrão: 256)
-f --first-mapped [n]umber: integer- primeiro valor de entrada mapeado (-31768..65535, padrão: 0)
-r --random [n]umber: unsigned integer- realiza n permutações selecionadas aleatoriamente na LUT
-rs --random-seed [n]umber: unsigned integer- inicializa o gerador de números aleatórios com n (padrão: 0, para resultados reproduzíveis)
-o --order [n]umber: integer- usa o algoritmo de ajuste de curva polinomial com ordem n (0..99, padrão: 5)
-E --explanation [n]ame: string- explicação da LUT (padrão: criada automaticamente) alinhamento dos dados da LUT:
-a --byte-align- cria uma LUT alinhada em byte (padrão apenas com valores de 8 bits)
+a --word-align- cria uma LUT alinhada em palavra (padrão para valores de 9 a 16 bits) VR dos dados da LUT:
+Dw --data-ow- grava os dados da LUT como OW (padrão)
+Du --data-us- grava os dados da LUT como US
+Ds --data-ss- grava os dados da LUT como SS (suporte mínimo)
opções de arquivo
+Fi --dicom-input [f]ilename: string- lê o conjunto de dados do arquivo DICOM f
+Fo --text-output [f]ilename: string- grava os dados da LUT no arquivo de texto separado por tabulações f
NOTAS
Consulte o padrão DICOM para conhecer outras restrições aplicáveis à estrutura da tabela de correspondência. Em particular, o número de bits por entrada da tabela pode ser limitado em determinados IODs.
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 dcmmklut 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 embutido no 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.
ARQUIVOS
< datadir>/philips.lut - exemplo de LUT em formato de texto
COPYRIGHT
Copyright (C) 1998-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.