Singularity666 commited on
Commit
534753c
·
1 Parent(s): bf93e44

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +3 -19
app.py CHANGED
@@ -56,14 +56,6 @@ model = CLIPModel().to(device)
56
  model.load_state_dict(torch.load("weights.pt", map_location=torch.device('cpu')))
57
  text_embeddings = torch.load('saved_text_embeddings.pt', map_location=device)
58
 
59
- # Add this function to reset the session state
60
- def reset_session_state():
61
- st.session_state.caption = None
62
- st.session_state.report = None
63
- st.session_state.feedback = None
64
- st.session_state.regenerated_report = None
65
-
66
- # Add this function to reset the session state
67
  def reset_session_state():
68
  st.session_state.caption = None
69
  st.session_state.report = None
@@ -79,8 +71,8 @@ def show_predicted_caption(image, top_k=8):
79
  matches = predict_caption(
80
  image, model, text_embeddings, testing_df["caption"]
81
  )[:top_k]
82
- cleaned_matches = [re.sub(r'\s\(ROCO_\d+\)', '', match) for match in matches] # Add this line to clean the matches
83
- return cleaned_matches # Return the cleaned_matches instead of matches
84
 
85
  def generate_radiology_report(prompt):
86
  response = openai.Completion.create(
@@ -92,11 +84,9 @@ def generate_radiology_report(prompt):
92
  temperature=1,
93
  )
94
  report = response.choices[0].text.strip()
95
- # Remove reference string from the report
96
  report = re.sub(r'\(ROCO_\d+\)', '', report).strip()
97
  return report
98
 
99
-
100
  def save_as_docx(text, filename):
101
  document = Document()
102
  document.add_paragraph(text)
@@ -124,7 +114,6 @@ if uploaded_file is not None:
124
  st.image(image, caption="Uploaded Image", use_column_width=True)
125
  st.write("")
126
 
127
- # Replace the 'if st.button("Generate Caption"):' block with the following code
128
  if st.button("Generate Caption") or st.session_state.caption:
129
  if not st.session_state.caption:
130
  with st.spinner("Generating caption..."):
@@ -133,26 +122,21 @@ if uploaded_file is not None:
133
 
134
  st.success(f"Caption: {st.session_state.caption}")
135
 
136
- # Generate the radiology report
137
  if not st.session_state.report:
138
  st.session_state.report = generate_radiology_report(f"Write Complete Radiology Report for this with clinical info, subjective, Assessment, Finding, Impressions, Conclusion and more in proper order : {st.session_state.caption}")
139
 
140
- # Add personal information to the radiology report
141
  radiology_report_with_personal_info = f"Patient Name: {first_name} {last_name}\nAge: {age}\nGender: {gender}\n\n{st.session_state.report}"
142
 
143
  st.header("Radiology Report")
144
  st.write(radiology_report_with_personal_info)
145
  st.markdown(download_link(save_as_docx(radiology_report_with_personal_info, "radiology_report.docx"), "radiology_report.docx", "Download Report as DOCX"), unsafe_allow_html=True)
146
 
147
- feedback_options = ["Satisfied", "Not Satisfied"]
148
- st.session_state.feedback = st.radio("Please provide feedback on the generated report:", feedback_options, key="feedback")
149
  feedback_options = ["Satisfied", "Not Satisfied"]
150
 
151
  if not 'feedback' in st.session_state:
152
  st.session_state.feedback = feedback_options[0]
153
  st.session_state.feedback = st.radio("Please provide feedback on the generated report:", feedback_options, key="feedback")
154
 
155
-
156
  if st.session_state.feedback == "Not Satisfied":
157
  if st.button("Regenerate Report") or st.session_state.regenerated_report:
158
  if not st.session_state.regenerated_report:
@@ -164,4 +148,4 @@ if uploaded_file is not None:
164
 
165
  st.header("Regenerated Radiology Report")
166
  st.write(regenerated_radiology_report_with_personal_info)
167
- st.markdown(download_link(save_as_docx(regenerated_radiology_report_with_personal_info, "regenerated_radiology_report.docx"), "regenerated_radiology_report.docx", "Download Regenerated Report as DOCX"), unsafe_allow_html=True)
 
56
  model.load_state_dict(torch.load("weights.pt", map_location=torch.device('cpu')))
57
  text_embeddings = torch.load('saved_text_embeddings.pt', map_location=device)
58
 
 
 
 
 
 
 
 
 
59
  def reset_session_state():
60
  st.session_state.caption = None
61
  st.session_state.report = None
 
71
  matches = predict_caption(
72
  image, model, text_embeddings, testing_df["caption"]
73
  )[:top_k]
74
+ cleaned_matches = [re.sub(r'\s\(ROCO_\d+\)', '', match) for match in matches]
75
+ return cleaned_matches
76
 
77
  def generate_radiology_report(prompt):
78
  response = openai.Completion.create(
 
84
  temperature=1,
85
  )
86
  report = response.choices[0].text.strip()
 
87
  report = re.sub(r'\(ROCO_\d+\)', '', report).strip()
88
  return report
89
 
 
90
  def save_as_docx(text, filename):
91
  document = Document()
92
  document.add_paragraph(text)
 
114
  st.image(image, caption="Uploaded Image", use_column_width=True)
115
  st.write("")
116
 
 
117
  if st.button("Generate Caption") or st.session_state.caption:
118
  if not st.session_state.caption:
119
  with st.spinner("Generating caption..."):
 
122
 
123
  st.success(f"Caption: {st.session_state.caption}")
124
 
 
125
  if not st.session_state.report:
126
  st.session_state.report = generate_radiology_report(f"Write Complete Radiology Report for this with clinical info, subjective, Assessment, Finding, Impressions, Conclusion and more in proper order : {st.session_state.caption}")
127
 
 
128
  radiology_report_with_personal_info = f"Patient Name: {first_name} {last_name}\nAge: {age}\nGender: {gender}\n\n{st.session_state.report}"
129
 
130
  st.header("Radiology Report")
131
  st.write(radiology_report_with_personal_info)
132
  st.markdown(download_link(save_as_docx(radiology_report_with_personal_info, "radiology_report.docx"), "radiology_report.docx", "Download Report as DOCX"), unsafe_allow_html=True)
133
 
 
 
134
  feedback_options = ["Satisfied", "Not Satisfied"]
135
 
136
  if not 'feedback' in st.session_state:
137
  st.session_state.feedback = feedback_options[0]
138
  st.session_state.feedback = st.radio("Please provide feedback on the generated report:", feedback_options, key="feedback")
139
 
 
140
  if st.session_state.feedback == "Not Satisfied":
141
  if st.button("Regenerate Report") or st.session_state.regenerated_report:
142
  if not st.session_state.regenerated_report:
 
148
 
149
  st.header("Regenerated Radiology Report")
150
  st.write(regenerated_radiology_report_with_personal_info)
151
+ st.markdown(download_link(save_as_docx(regenerated_radiology_report_with_personal_info, "regenerated_radiology_report.docx"), "regenerated_radiology_report.docx", "Download Regenerated Report as DOCX"), unsafe_allow_html=True)