Update app.py
Browse files
app.py
CHANGED
@@ -125,11 +125,12 @@ def decompose_cavity(pred, th2=0.7, amin=10):
|
|
125 |
|
126 |
return cavities
|
127 |
|
128 |
-
|
129 |
-
def
|
130 |
-
|
131 |
-
|
132 |
-
|
|
|
133 |
|
134 |
bordersize = 0.6
|
135 |
_, col, _ = st.columns([bordersize, 3, bordersize])
|
@@ -161,14 +162,12 @@ if uploaded_file is not None:
|
|
161 |
col1.subheader("Input image")
|
162 |
col3.subheader("Prediction")
|
163 |
col5.subheader("Decomposed")
|
164 |
-
|
165 |
-
st.session_state.default = 0.0
|
166 |
|
167 |
with col1:
|
168 |
|
169 |
# st.markdown("""<style>[data-baseweb="select"] {margin-top: -26px;}</style>""", unsafe_allow_html=True)
|
170 |
max_scale = int(data.shape[0] // 128)
|
171 |
-
scale = st.selectbox('Scale:',[f"{(i+1)*128}x{(i+1)*128}" for i in range(max_scale)], label_visibility="hidden"
|
172 |
scale = int(scale.split("x")[0]) // 128
|
173 |
|
174 |
with col3:
|
@@ -186,7 +185,7 @@ if uploaded_file is not None:
|
|
186 |
|
187 |
with col4:
|
188 |
st.markdown("""<style>[data-baseweb="select"] {margin-top: -36px;}</style>""", unsafe_allow_html=True)
|
189 |
-
threshold = st.slider("", 0.0, 1.0,
|
190 |
|
191 |
if detect or threshold:
|
192 |
y_pred, wcs = cut_n_predict(data, wcs, scale)
|
@@ -214,17 +213,12 @@ if uploaded_file is not None:
|
|
214 |
ccd = CCDData(cav, unit="adu", wcs=wcs)
|
215 |
ccd.write(f"predictions/predicted_{i+1}.fits", overwrite=True)
|
216 |
image_decomposed += (i+1) * np.where(cav > 0, 1, 0)
|
217 |
-
|
218 |
-
shutil.make_archive("predictions.zip", 'zip', "predictions")
|
219 |
-
|
220 |
-
shutil.make_archive("predictions", 'zip', "predictions")
|
221 |
-
|
222 |
try: _ = image_decomposed
|
223 |
except: image_decomposed = np.zeros((128,128))
|
224 |
plot_decomposed(image_decomposed)
|
225 |
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
download = st.download_button(label="Download", data=res, file_name='prediction.fits', mime="application/octet-stream")
|
|
|
125 |
|
126 |
return cavities
|
127 |
|
128 |
+
@st.cache
|
129 |
+
def zip_predictions():
|
130 |
+
shutil.make_archive("predictions.zip", 'zip', "predictions")
|
131 |
+
with open('predictions.zip', 'rb') as f:
|
132 |
+
res = f.read()
|
133 |
+
return res
|
134 |
|
135 |
bordersize = 0.6
|
136 |
_, col, _ = st.columns([bordersize, 3, bordersize])
|
|
|
162 |
col1.subheader("Input image")
|
163 |
col3.subheader("Prediction")
|
164 |
col5.subheader("Decomposed")
|
|
|
|
|
165 |
|
166 |
with col1:
|
167 |
|
168 |
# st.markdown("""<style>[data-baseweb="select"] {margin-top: -26px;}</style>""", unsafe_allow_html=True)
|
169 |
max_scale = int(data.shape[0] // 128)
|
170 |
+
scale = st.selectbox('Scale:',[f"{(i+1)*128}x{(i+1)*128}" for i in range(max_scale)], label_visibility="hidden")
|
171 |
scale = int(scale.split("x")[0]) // 128
|
172 |
|
173 |
with col3:
|
|
|
185 |
|
186 |
with col4:
|
187 |
st.markdown("""<style>[data-baseweb="select"] {margin-top: -36px;}</style>""", unsafe_allow_html=True)
|
188 |
+
threshold = st.slider("", 0.0, 1.0, 0.0, 0.05, label_visibility="hidden")
|
189 |
|
190 |
if detect or threshold:
|
191 |
y_pred, wcs = cut_n_predict(data, wcs, scale)
|
|
|
213 |
ccd = CCDData(cav, unit="adu", wcs=wcs)
|
214 |
ccd.write(f"predictions/predicted_{i+1}.fits", overwrite=True)
|
215 |
image_decomposed += (i+1) * np.where(cav > 0, 1, 0)
|
216 |
+
|
|
|
|
|
|
|
|
|
217 |
try: _ = image_decomposed
|
218 |
except: image_decomposed = np.zeros((128,128))
|
219 |
plot_decomposed(image_decomposed)
|
220 |
|
221 |
+
with col6:
|
222 |
+
res = zip_predictions()
|
223 |
+
st.markdown("""<style>[data-baseweb="select"] {margin-top: 16px;}</style>""", unsafe_allow_html=True)
|
224 |
+
download = st.download_button(label="Download", data=res, file_name='prediction.fits', mime="application/octet-stream")
|
|