Spaces:
Sleeping
Sleeping
| # imports | |
| import logging, numpy as np, matplotlib.pyplot as plt, os | |
| from pathlib import Path | |
| from model.run_cellpose import CellposeBatchProcessor | |
| from utils.constants import * | |
| from skimage.measure import label | |
| from tifffile import imwrite | |
| from utils.generate_masks import MaskStitcher | |
| from PIL import Image | |
| from cellpose.io import imread | |
| from cellpose import models, core, io, plot | |
| from tqdm import trange | |
| from natsort import natsorted | |
| image_ext = ".tif" | |
| masks_ext = ".png" if image_ext == ".png" else ".tif" | |
| flow_threshold = 0.8 | |
| cellprob_threshold = 0.0 | |
| tile_norm_blocksize = 0 | |
| if core.use_gpu()==False: | |
| raise ImportError("No GPU access, change your runtime") | |
| model = models.CellposeModel(pretrained_model="/Users/discovery/Desktop/spinal_cord_segmentation/model/cellpose_sam_neun", gpu=True) | |
| # print(models.model_path("/Users/discovery/Desktop/spinal_cord_segmentation/model/cellpose_sam_neun")) | |
| input_dir = Path("/Users/discovery/Downloads/xenium_testing_jit/spinal_cord_samples_fr/cellpose_imgs/data") | |
| output_dir = Path("/Users/discovery/Downloads/xenium_testing_jit/spinal_cord_samples_fr/cellpose_outs") | |
| output_dir.mkdir(parents=True, exist_ok=True) | |
| files = natsorted([f for f in input_dir.glob("*"+image_ext) if "_masks" not in f.name and "_flows" not in f.name]) | |
| if(len(files)==0): | |
| raise FileNotFoundError("no image files found, did you specify the correct folder and extension?") | |
| else: | |
| print(f"{len(files)} images in folder:") | |
| # for f in files: | |
| # print(f) | |
| imgs = [io.imread(files[i]) for i in trange(len(files))] | |
| masks, flows, styles = model.eval(imgs, batch_size=32, flow_threshold=flow_threshold, cellprob_threshold=cellprob_threshold, normalize={"tile_norm_blocksize": tile_norm_blocksize}) | |
| print("saving masks") | |
| for i in trange(len(files)): | |
| f = files[i] | |
| io.imsave(output_dir / (f.stem + "_pred_masks" + masks_ext), masks[i]) |