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])