Qual poderia ser o motivo do gráfico de imagem dicom incorreto
Qual poderia ser a razão pela qual o arquivo dicom desse raio-x usual está sendo plotado de uma maneira bagunçada:
O algoritmo usado é o seguinte:
A matriz da imagem original é 3d:
int [1:2014, 1:2014, 1:3] 110 51 99 113 52 101 111 53 102 110 ...
Este rgb é convertido em escala de cinza pela fórmula:
gray = 0.3*mat[,,1] + 0.59*mat[,,2] + 0.11*mat[,,3] ;
E depois é plotado após a especificação das cores como:
grey(0:64/64)
Onde poderia estar o erro?
Estou usando o pacote oro.dicom no R com a função:
jj = readDICOMFile(fname, endian = "little", flipud = TRUE, DICM = TRUE, skipSequence = FALSE, pixelData = TRUE, warn = -1, debug = FALSE)
e retorna a matriz jj $ img cuja estrutura é:
int [1:2014, 1:2014, 1:3] 110 51....
Eu então o converto para cinza e plotei. Se fosse rgba, a matriz teria sido 2014 * 2014 * 4 em vez de * 3. O cabeçalho da imagem dicom menciona "PhotometricInterpretation" como "RGB". O cabeçalho também menciona linhas e colunas como 2014 cada. Pode estar relacionado ao problema de bit: leadtools.com/sdk/medical/dicom-spec17.htm
Edit: Bits alocados é 8, bits armazenados são 8 e highBit é 7.
A seguir, é apresentado o link da imagem dicom de amostra com matriz de imagem semelhante e com erro semelhante:http://www.barre.nom.fr/medical/samples/files/US-RGB-8-esopecho.gz