Spaces:
Runtime error
Runtime error
import os | |
from PIL import Image | |
import streamlit as st | |
import ast | |
import numpy as np | |
import pandas as pd | |
from cellpose import models, io, plot | |
from pathlib import Path | |
def rle_decode(mask_rle, shape=(520, 704)): | |
""" | |
mask_rle: run-length as string formated (start length) | |
shape: (height,width) of array to return | |
Returns numpy array, 1 - mask, 0 - background | |
""" | |
s = mask_rle.split() | |
starts, lengths = [np.asarray(x, dtype=int) for x in (s[0:][::2], s[1:][::2])] | |
starts -= 1 | |
ends = starts + lengths | |
img = np.zeros(shape[0] * shape[1], dtype=np.uint8) | |
for lo, hi in zip(starts, ends): | |
img[lo:hi] = 1 | |
return img.reshape(shape) | |
def rle_encode(img): | |
pixels = img.flatten() | |
pixels = np.concatenate([[0], pixels, [0]]) | |
runs = np.where(pixels[1:] != pixels[:-1])[0] + 1 | |
runs[1::2] -= runs[::2] | |
return " ".join(str(x) for x in runs) | |
def inference(image, model_path, **model_params): | |
img = image | |
model_inference = models.CellposeModel(gpu=False, pretrained_model=model_path) | |
preds, flows, _ = model_inference.eval(img, **model_params) | |
print(preds.shape) | |
print(flows.shape) | |
return preds, flows | |
if __name__ == "__main__": | |
st.title("Sartorius Cell Segmentation") | |
uploaded_img = st.file_uploader(label="Upload neuronal cell image") | |
if uploaded_img is not None: | |
img = Image.open(uploaded_img) | |
st.image(img) | |
model_params = { | |
"diameter": 19.0, | |
"channels": [0, 0], | |
"augment": True, | |
"resample": True, | |
} | |
preds, flows = inference( | |
image=img, | |
model_path="cellpose_residual_on_style_on_concatenation_off_fold1_ep_649_cv_0.2834", | |
**model_params | |
) | |
print(preds) |