File size: 1,648 Bytes
8b09a43
 
 
 
ab2daf3
813f1ec
 
 
 
 
 
 
 
67a7a25
7d0b787
813f1ec
 
8b09a43
 
 
7d0b787
8b09a43
ab2daf3
67a7a25
 
8b09a43
3c6e4e4
ab2daf3
9cbea71
ab2daf3
9cbea71
8b09a43
9bfcbab
9aff346
d698815
1de730f
 
 
 
e88956d
ab2daf3
9aff346
d698815
 
8b09a43
ab2daf3
e11d30e
ab2daf3
9cbea71
 
b6fe5fc
 
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
import gradio as gr
from fastai.vision.all import *
import skimage

# parámetros para el recorte
#x,y = 280,70
#ancho,alto = 1024,715

# en la nueva versión solo entrenamos con la primera imagen, no con las cuatro
# esquina superior
x,y = 383,113
# esquina inferior
ancho,alto = 628,356
box = (x,y,ancho,alto)

#learn = load_learner('cirref.pkl')
learn = load_learner('cref-10e.pkl')

labels = learn.dls.vocab
def predict(img):
    
    img = PILImage.create(img)
    #recortamos la parte de la imagen que nos interesa    
    img =img.crop(box)
    
    pred,pred_idx,probs = learn.predict(img)
    prediccion = {labels[i]: float(probs[i]) for i in range(len(labels))}
    # si queremos mostrar la imagen recortada haremos esto
    #return prediccion,img
    # si no, mostramos solo la predicción con su probabilidad
    return prediccion

title = "Operado o no operado"

description = """
    Demostración creada por StarBótica
    
    Academia de Nuevas Tecnologías en Sevilla
    
    Clasificador de topografías
    A partir de una topografía de Oculus Pentacam muestra la probabilidad de que el ojo haya sido sometido a cirugía refractiva o no.
    """
interpretation='default'
enable_queue=True

# como entrada usamos una topografía generada por Oculus Pentacam
entrada = gr.Image(shape=(1024, 715))
# si queremos mostrar la imagen recortada colocamos un componente adicional
#salida = [gr.Label(num_top_classes=2),gr.Image(type='pil')]
salida = gr.Label(num_top_classes=2)

gr.Interface(fn=predict,inputs=entrada,outputs=salida,title=title,description=description,interpretation=interpretation,enable_queue=enable_queue).launch()