Spaces:
Runtime error
Runtime error
| import streamlit as st | |
| import numpy as np | |
| import matplotlib.pyplot as plt | |
| from PIL import Image | |
| from cellpose import models | |
| def load_model(model_path): | |
| inf_model = models.CellposeModel(gpu=False, pretrained_model=model_path) | |
| return inf_model | |
| #def inference(img, model_path, **model_params): | |
| # inf_model = models.CellposeModel(gpu=False, pretrained_model=model_path) | |
| # preds, flows, _ = inf_model.eval([img], **model_params) | |
| # return preds, flows | |
| if __name__ == "__main__": | |
| st.title("Sartorius Neuronal Cell Segmentation") | |
| model_path = "./cellpose_residual_on_style_on_concatenation_off_fold1_ep_649_cv_0.2834" | |
| inf_model = models.CellposeModel(gpu=False, pretrained_model=model_path) | |
| uploaded_img = st.file_uploader(label="Upload neuronal cell image") | |
| with st.expander("View input image"): | |
| if uploaded_img is not None: | |
| st.image(uploaded_img) | |
| else: | |
| st.warning("Please upload an image") | |
| segment = st.button("Perform segmentation") | |
| if uploaded_img is not None and segment: | |
| img = Image.open(uploaded_img) | |
| img = np.array(img) | |
| model_params = { | |
| "diameter": 19.0, | |
| "channels": [0, 0], | |
| "augment": True, | |
| "resample": True, | |
| } | |
| with st.spinner("Performing segmentation. This might take a while..."): | |
| #preds, flows = inference( | |
| # img=img, | |
| # model_path="./cellpose_residual_on_style_on_concatenation_off_fold1_ep_649_cv_0.2834", | |
| # **model_params | |
| #) | |
| preds, flows, _ = inf_model.eval([img], **model_params) | |
| fig, (ax1, ax2, ax3) = plt.subplots(1, 3) | |
| ax1.axis("off") | |
| ax2.axis("off") | |
| ax3.axis("off") | |
| ax1.set_title("Original Image") | |
| ax1.imshow(img, cmap="gray") | |
| ax2.set_title("Segmented image") | |
| ax2.imshow(preds[0]) | |
| ax3.set_title("Image flows") | |
| ax3.imshow(flows[0][0]) | |
| st.pyplot(fig) | |