initial commit

This commit is contained in:
ClovertaTheTrilobita 2025-09-16 18:47:38 +03:00
parent 274f30ffc5
commit 39c3dbd51c
2 changed files with 23 additions and 5 deletions

4
.gitignore vendored
View file

@ -1 +1,3 @@
*.png
*.png
test_output
test_output/*

View file

@ -1,5 +1,8 @@
from cellpose import models
from cellpose import models, plot
from cellpose.io import imread, save_masks
from PIL import Image
import numpy as np
import os, datetime
def test():
model = models.CellposeModel(gpu=True)
@ -8,8 +11,21 @@ def test():
masks, flows, styles = model.eval(
imgs, flow_threshold=0.4, cellprob_threshold=0.0
)
for i, m in enumerate(masks):
print(
f"[{i}] mask max={int(getattr(m, 'max', lambda: 0)()) if hasattr(m, 'max') else int(np.max(m))}, unique={np.unique(m)[:5]} ..."
)
ts = datetime.datetime.now().strftime("%Y-%m-%d-%H-%M-%S")
outdir = os.path.join(os.path.dirname(__file__), "test_output", ts)
os.makedirs(outdir, exist_ok=True) # 自动创建目录
for img, mask, flow, name in zip(imgs, masks, flows, files):
out = name.rsplit('.', 1)[0] + "_output"
save_masks(imgs, mask, flow, out, png=True)
base = os.path.join(outdir, os.path.splitext(os.path.basename(name))[0])
#使用内置绘图生成蒙版
out = base + "_output"
save_masks(imgs, mask, flow, out, tif=True)
# 用 plot 生成彩色叠加图(不依赖 skimage
rgb = plot.image_to_rgb(img, channels=[0, 0]) # 原图转 RGB
over = plot.mask_overlay(rgb, masks=mask, colors=None) # 叠加彩色实例
Image.fromarray(over).save(base + "_overlay.png")