Open Vepy23 opened 1 year ago
Citra diambil dari website ini pak
https://wiki.cancerimagingarchive.net/pages/viewpage.action?pageId=112591753
Berikut dilampirkan artikel terkait.
s11547-021-01389-x A Deep Radiomics.pdf s41598-023-28819-2 RUJUKAN.pdf
Tahap ini saya mencoba menggunakan Filter pada citra MRI. ada beberapa filter yang dicoba pak, sesuai dengan rekomendasi dari artikel (dilampirkan). Nah cuma saya masih bingung pak, dan masih mempelajari dan mencari tahu karakteristik seperti apa citra MRI perlu dilakukan filter atau pre-processing untuk dilakukan perhitungan radiomik. Berikut ini beberapa filter yang dicobakan pada citra MRI (disini saya belum menandai bagian yang mengalami kelainan).
Filter gaussian
import pydicom import numpy as np from skimage.filters import gaussian
dicom_file = 'C:/Users/lenovo/Vepy/03-06-2005-NA-MR1-26899 coba/6.000000-Ax T1-52413/1-01.dcm' dicom_data = pydicom.dcmread(dicom_file)
pixel_array = dicom_data.pixel_array
sigma = 2 filtered_image = gaussian(pixel_array, sigma=sigma)
import matplotlib.pyplot as plt fig, (ax0, ax1) = plt.subplots(ncols=2, figsize=(10, 5))
ax0.imshow(pixel_array, cmap=plt.cm.gray) ax0.set_title('Original')
ax1.imshow(filtered_image, cmap=plt.cm.gray) ax1.set_title('Gaussian filter, sigma={}'.format(sigma))
plt.show()
Filter Laplacian
import pydicom import numpy as np from scipy import ndimage
dicom_file = 'C:/Users/lenovo/Vepy/03-06-2005-NA-MR1-26899 coba/6.000000-Ax T1-52413/1-01.dcm' dicom_data = pydicom.dcmread(dicom_file)
image = dicom_data.pixel_array.astype(np.float64)
kernel = np.array([[0, 1, 0], [1, -4, 1], [0, 1, 0]])
filtered_image = ndimage.convolve(image, kernel)
import matplotlib.pyplot as plt
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(10, 5)) axs[0].imshow(image, cmap='gray') axs[0].set_title('Original image') axs[1].imshow(filtered_image, cmap='gray') axs[1].set_title('Laplacian filtered image') plt.show()
ds = pydicom.dcmread('C:/Users/lenovo/Vepy/03-06-2005-NA-MR1-26899 coba/6.000000-Ax T1-52413/1-01.dcm')
pixel_array = ds.pixel_array
img = np.array(pixel_array, dtype=np.uint8)
blurred = cv2.GaussianBlur(img, (5,5), 0)
edges = cv2.Canny(blurred, 100, 200)
fig, axs = plt.subplots(1, 2, figsize=(8, 8)) axs[0].imshow(img, cmap='gray') axs[0].set_title('Original') axs[1].imshow(edges, cmap='gray') axs[1].set_title('Edges') plt.show()