Spaces:
Build error
Build error
File size: 2,820 Bytes
9730689 8e31541 02021c1 328e188 9730689 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import gradio as gr
import kornia as K
from kornia.core import Tensor
def edge_detection(filepath, detector):
img: Tensor = K.io.load_image(filepath, K.io.ImageLoadType.RGB32)
img = img[None]
x_gray = K.color.rgb_to_grayscale(img)
if detector == '1st order derivates in x':
grads: Tensor = K.filters.spatial_gradient(x_gray, order=1)
grads_x = grads[:, :, 0]
grads_y = grads[:, :, 1]
output = K.utils.tensor_to_image(1. - grads_x.clamp(0., 1.))
elif detector == '1st order derivates in y':
grads: Tensor = K.filters.spatial_gradient(x_gray, order=1)
grads_x = grads[:, :, 0]
grads_y = grads[:, :, 1]
output = K.utils.tensor_to_image(1. - grads_y.clamp(0., 1.))
elif detector == '2nd order derivatives in x':
grads: Tensor = K.filters.spatial_gradient(x_gray, order=2)
grads_x = grads[:, :, 0]
grads_y = grads[:, :, 1]
output = K.utils.tensor_to_image(1. - grads_x.clamp(0., 1.))
elif detector == '2nd order derivatives in y':
grads: Tensor = K.filters.spatial_gradient(x_gray, order=2)
grads_x = grads[:, :, 0]
grads_y = grads[:, :, 1]
output = K.utils.tensor_to_image(1. - grads_y.clamp(0., 1.))
elif detector == 'Sobel':
x_sobel: Tensor = K.filters.sobel(x_gray)
output = K.utils.tensor_to_image(1. - x_sobel)
elif detector == 'Laplacian':
x_laplacian: Tensor = K.filters.laplacian(x_gray, kernel_size=5)
output = K.utils.tensor_to_image(1. - x_laplacian.clamp(0., 1.))
else:
x_canny: Tensor = K.filters.canny(x_gray)[0]
output = K.utils.tensor_to_image(1. - x_canny.clamp(0., 1.0))
return output
title = "Basic Image Processing for Medical Imaging"
description = "<p style='text-align: center'>Ini adalah contoh Image Processing dasar yang dapat diterapkan pada citra medis.</p><p style='text-align: center'>Untuk menggunakannya, cukup upload citra yang akan diolah atau pilih citra contoh di bawah, kemudian tentukan metode pengolahan citra yang ingin diterapkan.</p>"
article = "<p style='text-align: center'>Created by <a href='http://mahasin.tech/' target='_blank'> Muhammad Masdar Mahasin</a> | <a href='http://mahaseenlab.com/' target='_blank'>MahaseenLab</a>"
iface = gr.Interface(edge_detection,
[
gr.Image(type="filepath"),
gr.Dropdown(choices=["1st order derivates in x", "1st order derivates in y", "2nd order derivatives in x", "2nd order derivatives in y", "Sobel", "Laplacian", "Canny"])
],
"image",
title=title,
description=description,
article=article
)
iface.launch() |