File size: 798 Bytes
d73ae17
fc8df74
40598e4
 
 
 
3810747
40598e4
 
 
d0f7752
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dc6f2cb
 
40598e4
 
 
fc8df74
40598e4
 
 
 
 
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
import gradio as gr

# Import build functions from the tools (they are guarded to not auto-launch)
import CFA
import JPEG_Ghost
import PRNU
import shadows


def build_app():
    
    
    # Use TabbedInterface to avoid double-rendering nested Blocks
    demos = [
        CFA.build_demo(),
        JPEG_Ghost.build_demo(),
        PRNU.build_demo(),
        shadows.build_gradio_interface(),
    ]
    titles = [
        "CFA Artifacts",
        "JPEG Ghost / Double Compression",
        "PRNU (Camera Fingerprint)",
        "Vanishing Points (Shadows/Geometry)",
    ]
    demo = gr.TabbedInterface(demos, titles, theme=gr.themes.Soft(), title="🔍 Image Forensics Toolkit")
    return demo


    return demo


if __name__ == "__main__":
    app = build_app()
    app.queue()
    app.launch()