Spaces:
Sleeping
Sleeping
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])
|