[e2f830]: / streamlit_app.py

Download this file

141 lines (139 with data), 6.0 kB

  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
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
import streamlit as st
import numpy as np
import pandas as pd
import pickle
st.markdown(
f"""
<style>
.stApp {{
background-image: url("https://images.takeshape.io/f1ba446a-c0cf-4882-b0c9-50298f143ec2/dev/d801bb91-bd2e-4af0-a060-7243ef785476/861915");
background-attachment: fixed;
background-size: cover
}}
</style>
""",
unsafe_allow_html=True
)
html_temp = """
<div style="background-color:orange ;padding:7px">
<h2 style="color:black;text-align:center;"><b>AUTOMATED FETAL CARDIAC ANALYSIS FROM CARDIOTOCOGRAPHY DATA USING ML<b></h2>
</div>
"""
st.markdown(html_temp,unsafe_allow_html=True)
model1= pickle.load(open(r"stage-1.pkl", 'rb'))
model2= pickle.load(open(r"stage-2.pkl", 'rb'))
x1,buff, buff2 = st.columns(3)
x1=st.number_input('Enter the value of start instant',0,4000)
x2=st.number_input('Enter the value of end instant',0,4000)
x3=st.number_input('Enter the value of baseline value of expert',0,160)
x4=st.number_input('Enter the value of baseline of sisporto',0,160)
x5=st.number_input('Enter the value of acceleration of sisporto',0,26)
x6=st.number_input('Enter the value of foetal movement',0,600)
x7=st.number_input('Enter the value of uterine contraction',0,25)
x8=st.number_input('Enter the value of percentage of time with abnormal short term variability',0,100)
x9=st.number_input('Enter the value of mean value of short term variability',0,10)
x10=st.number_input('Enter the value of percentage of time with abnormal long term variability',0,100)
x11=st.number_input('Enter the value of mean value of long term variability',0,60)
x12=st.number_input('Enter the value of light deceleration',0,20)
x13=st.number_input('Enter the value of severe deceleration',0,1)
x14=st.number_input('Enter the value of prolonged deceleration',0,4)
x15=st.number_input('Enter the value of width',0,200)
x16=st.number_input('Enter the value of min',0,200)
x17=st.number_input('Enter the value of max',0,250)
x18=st.number_input('Enter the value of nmax',0,20)
x19=st.number_input('Enter the value of nzeros',0,10)
x20=st.number_input('Enter the value of mode',0,200)
x21=st.number_input('Enter the value of mean',0,200)
x22=st.number_input('Enter the value of median',0,200)
x23=st.number_input('Enter the value of variance',0,200)
x24=st.number_input('Enter the value of tendency',0,300)
inp=pd.DataFrame([[x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24]],columns=['b', 'e', 'LBE', 'LB', 'AC', 'FM', 'UC', 'ASTV', 'MSTV', 'ALTV', 'MLTV','DL','DS','DP','Width','Min','Max','Nmax','Nzeros','Mode','Mean','Median','Variance','Tendency'])
inm=inp.copy()
if st.button('Basic diagnosis'):
op=model1.predict(inp).astype(np.int16)
if op==0:
st.markdown("""
<div style="background-color: green;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">No pathology observed!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif op==1:
st.markdown("""
<div style="background-color: yellow;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Pathology suspected!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif op==2:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Pathology confirmed!!</h2>
</div>
""" ,unsafe_allow_html=True)
st.write()
st.write()
if st.button('Advanced diagnosis'):
out=model2.predict(inm)
if out==0:
st.markdown("""
<div style="background-color: green;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Calm sleep!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==1:
st.markdown("""
<div style="background-color: green;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">REM sleep!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==2:
st.markdown("""
<div style="background-color: yellow;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;"> Calm vigilance!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==3:
st.markdown("""
<div style="background-color: yellow;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Active vigilance!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==4:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Shift pattern!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==5:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Stress!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==6:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Vagus reflex!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==7:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Largely decelerative!!</h2>
</div>
""" ,unsafe_allow_html=True)
elif out==8:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Flat sinusoidal pattern!!</h2>
</div>
""" ,unsafe_allow_html=True)
else:
st.markdown("""
<div style="background-color: red;padding:3px;border: 3px solid;">
<h2 style="color:white;text-align:center;">Suspect pattern!!</h2>
</div>
""" ,unsafe_allow_html=True)
st.write('https://www.linkedin.com/in/sairamadithya')
st.write('https://github.com/sairamadithya')
st.write('https://medium.com/@sairamadithya2002')
st.write('https://www.quora.com/profile/Sairam-Adithya')