От массива NUMPY к DICOM - PullRequest
       75

От массива NUMPY к DICOM

0 голосов
/ 11 октября 2019

Мой код читает файл DICOM, переносит информацию о пикселях в массив NumPy, а затем модифицирует массив NUMPY. Он использует списки, потому что я пытаюсь работать с несколькими файлами DICOM одновременно. Я не нашел никакой информации о том, как взять мой измененный массив NumPy и сделать его снова файлом DICOM, чтобы я мог использовать его вне Python.

#IMPORT
import cv2
import numpy as np
from matplotlib import pyplot as plt
import matplotlib.pyplot as plt
import SimpleITK as sitk  
from glob import glob
import pydicom as dicom

data_path = "C:\\Users\\oliva\\Desktop\\Py tesis\\dicom\\"
output_path = working_path = "C:\\Users\\oliva\\Desktop\\Py tesis\\dicom1\\"
path = glob(data_path + '/*.dcm')

#Checks if we are in the correct path
print ("Total of %d DICOM images.\nFirst 5 filenames:" % len(path))
print ('\n'.join(path[:14]))

data_set = []
for element in path:
    imagen=sitk.ReadImage(element) 
    #imagen = cv2.imread(element)
    array_imagen = sitk.GetArrayViewFromImage(imagen)
    array2_imagen=array_imagen[0] 
    imagen_array_norm = np.uint8(cv2.normalize(array2_imagen, None, 0, 255, cv2.NORM_MINMAX))
    data_set.append(imagen_array_norm)     
#Check
print(len(data_set))    
print(type(data_set[1]))
plt.imshow(data_set[4], cmap=plt.cm.gray)


#Equalization
data_set_eq = equal(data_set)
print(len(data_set_eq))    
print(type(data_set_eq[6]))
plt.imshow(data_set_eq[7], cmap=plt.cm.gray)

#Filtering
data_set_m = median(data_set)
print(len(data_set_m))    
print(type(data_set_m[6]))
plt.imshow(data_set_m[8], cmap=plt.cm.gray)




#Functions
def equal(data):
    data_set_eq = []
    for element in data_set:
    imagen_array_eq = cv2.equalizeHist(element)
    data_set_eq.append(imagen_array_eq)
    return data_set_eq

def median(data):
    data_set_m = []
    for element in data_set:
        imagen_array_m =cv2.medianBlur(element,5)
        data_set_m.append(imagen_array_m)
    return data_set_m

Я хотел бы получить некоторое представление о том, как создать файл DICOMмой модифицированный массив NumPy.

...