File size: 2,771 Bytes
42fa7ec
 
14e27af
 
4a8e930
 
 
14e27af
70583d3
 
 
 
 
ec42e29
2428a43
 
 
 
 
 
 
 
 
 
 
 
 
 
ec42e29
14e27af
ec42e29
70583d3
 
 
 
 
 
 
 
 
14e27af
ec42e29
14e27af
c02063c
 
70583d3
 
 
 
 
 
 
c02063c
 
 
 
2428a43
 
c02063c
2428a43
 
c02063c
2428a43
 
c02063c
2428a43
 
c02063c
2428a43
 
 
14e27af
42fa7ec
70583d3
 
 
 
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
75
76
77
78
import gradio as gr

from backend import Infer


DEBUG = False

infer = Infer(DEBUG)
example_image_path = [
    "assets/example_1.jpg",
    "assets/example_2.jpg",
    "assets/example_3.jpg",
]

outputs = [
    gr.Image(label="Thumb"),
    gr.Number(label="DeepNAPSI Thumb", precision=0),
    gr.Image(label="Index"),
    gr.Number(label="DeepNAPSI Index", precision=0),
    gr.Image(label="Middle"),
    gr.Number(label="DeepNAPSI Middle", precision=0),
    gr.Image(label="Ring"),
    gr.Number(label="DeepNAPSI Ring", precision=0),
    gr.Image(label="Pinky"),
    gr.Number(label="DeepNAPSI Pinky", precision=0),
    gr.Number(label="DeepNAPSI Sum", precision=0),
]

with gr.Blocks(analytics_enabled=False, title="DeepNAPSI") as demo:
    with gr.Column():
        gr.Markdown("## Welcome to the DeepNAPSI application!")
        gr.Markdown(
            "Upload an image of the one hand and click **Predict NAPSI** to see the output."
        )
        gr.Markdown(
            "*Note*: Make sure there are no identifying information present in the image. The prediction can take up to 4.5 minutes."
        )
        gr.Markdown(
            "*Note*: This is not a medical product and cannot be used for a patient diagnosis in any way."
        )
        with gr.Column():
            with gr.Row():
                with gr.Column():
                    with gr.Row():
                        image_input = gr.Image()
                        example_images = gr.Examples(
                            example_image_path,
                            image_input,
                            outputs,
                            fn=infer.predict,
                            cache_examples=True,
                        )
                    with gr.Row():
                        image_button = gr.Button("Predict NAPSI")
                    with gr.Row():
                        with gr.Column():
                            outputs[0].render()
                            outputs[1].render()
                        with gr.Column():
                            outputs[2].render()
                            outputs[3].render()
                        with gr.Column():
                            outputs[4].render()
                            outputs[5].render()
                        with gr.Column():
                            outputs[6].render()
                            outputs[7].render()
                        with gr.Column():
                            outputs[8].render()
                            outputs[9].render()
                        outputs[10].render()
        image_button.click(infer.predict, inputs=image_input, outputs=outputs)

demo.launch(
    share=True if DEBUG else False,
    favicon_path="assets/favicon-32x32.png",
)