File size: 1,594 Bytes
bdf752c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import streamlit as st
import numpy as np
from inference.model import run_inference

st.set_page_config(page_title="DeepECG PDF Demo", layout="centered")

st.title("🩸 DeepECG – PDF Analyse (Demo)")
st.markdown(
    """
    **Hinweis:**  
    Diese Demo analysiert EKG-PDFs zu Evaluations- und Forschungszwecken.  
    Kein Medizinprodukt. Keine Patientendaten speichern.
    """
)

uploaded_file = st.file_uploader(
    "📄 EKG-PDF hochladen",
    type=["pdf"]
)

if uploaded_file is not None:
    st.success("PDF erfolgreich hochgeladen")

    if st.button("🤖 Analyse starten"):
        with st.spinner("Analyse läuft … bitte warten"):
            # Placeholder: generiere Dummy-Signal für 12 Ableitungen mit 5000 Samples
            dummy_signal = np.random.randn(12, 5000)

            results = run_inference(dummy_signal)

        st.subheader("📊 Ergebnis")

        st.metric(
            label="Gesamtrisiko",
            value=f"{results['risk_score']} %"
        )

        st.subheader("Top-Diagnosen")
        for d in results["top_diagnoses"]:
            st.write(f"- {d['label']} ({d['probability']} %)")

        st.subheader("🚦 Einschätzung")
        # Zeige Interpretation als Erfolg/Warnung/Fehler basierend auf Risiko
        risk = results['risk_score']
        if risk < 40:
            st.success(results["interpretation"])
        elif risk < 70:
            st.warning(results["interpretation"])
        else:
            st.error(results["interpretation"])

        st.subheader("📈 Beispiel-EKG (Lead I)")
        st.line_chart(dummy_signal[0])