Vepy23 / tugas-khusus

MIT License
0 stars 0 forks source link

Pre-processing #2

Open Vepy23 opened 1 year ago

Vepy23 commented 1 year ago

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).

  1. 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()

  1. 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()

  1. ### Filter Edges import cv2 import numpy as np import pydicom import matplotlib.pyplot as plt

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()

Edges Filter Laplacian Gaussian

Vepy23 commented 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