Tenho uma tomografia computadorizada com formato de (350, 512, 512) e tamanho de voxel de (2, 1,13, 1,13).
Gostaria de fazer uma interpolação para obter um novo tamanho de voxel de (1,1,1) usando o zoom do scipy.
Aqui está o código que estou usando
volume = np.stack([dcm.pixel_array for dcm in dicom_files]).astype(np.uint16) #3D volume with original data
volume = volume * slope + intercept #convert to Hounsfield Units
full_ct_spacing = [slice_thickness, pixel_spacing[0], pixel_spacing[1]] #shape of a voxel
new_spacing = np.array([1,1,1]) #target spacing
resize_factor = full_ct_spacing / new_spacing #resize factor
volume = zoom(volume.astype(np.uint16), resize_factor, order=1, mode='reflect') #interpolated volume
Eu faço uma nova tomografia computadorizada com um formato de (700, 580, 580), mas quando eu a exponho, os níveis de cinza parecem estar invertidos. O ar é branco e os ossos são pretos.
É devido à função de zoom? Qual é a melhor maneira de interpolar a tomografia computadorizada?