
OpenHCS
io.github.OpenHCSDev由 GitHub 账号 OpenHCSDev 发布v0.8.6更新于 Oct 24, 2026
Inspect, author, validate, and run high-content microscopy workflows.
概览
OpenHCS 的本地 MCP 服务器,让助手检查、编写、校验并运行高内涵显微成像分析流程。
- 可以做什么
- 查看所连接执行服务器可用的函数与能力配置
- 根据图像文件夹或孔板和分析目标构建并校验类型化流程
- 运行流程并检查结果,可在 Napari 或 Fiji 中查看
- 编写与修改生成的 Python 代码,并在受管流程下注册自定义函数
- 以只读方式检查并报告基准测试与实测运行的凭据记录
- 适用场景
- 适合需要跨大量孔、位点、通道、Z 层或时间点一致分析的高内涵研究场景,希望由助手构建、校验、运行并复核流程,同时流程仍可在图形界面和 Python 中编辑。
- 运行要求
- 作为本地 stdio 进程在桌面运行(仅桌面,无网页版)。从 PyPI 安装 openhcs 并带 mcp 附加项,通过 openhcs-mcp 或 uvx 启动;图形安装包已内置。需要 Python 3.11 或 3.12;GPU 附加项需支持的 NVIDIA 平台与 CUDA 12。未声明认证或环境变量。
安装
在 SourceWeft 中
- 打开 控制台中的 OpenHCS,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
OpenHCS
Turn high-content microscopy images into reproducible measurements
One reviewable workflow across the GUI, Python, CellProfiler, and local agents
[PyPI version] [License: MIT] [Python 3.11-3.13] [GPU Accelerated] [Documentation]
OpenHCS is designed for imaging scientists and research software teams running high-content studies where many wells, sites, channels, Z planes, or time points must be analysed consistently. Source selection, processing steps, and result definitions stay together in one validated pipeline instead of being split across interface-only state, scripts, and automation.
It is a good fit when a workflow must remain reviewable across visual editing,
code, and automation. The same pipeline can be edited in the desktop GUI or as
Python, imported from supported CellProfiler .cppipe files, and built or
reviewed through the local MCP surface.
Install
Windows installer · macOS installer · Installation options
The graphical installers set up an isolated CPU-safe desktop environment with the OpenHCS GUI, CellProfiler compatibility, local MCP server, Napari, Fiji/ImageJ, and Bio-Formats. GPU libraries remain optional.
See OpenHCS in use
[OpenHCS desktop application with several assay plates]
Browse the UI and viewer gallery · Watch an agent build, debug, run, and inspect a workflow
OpenHCS processes large microscopy datasets with a compile-then-execute architecture. Pipelines are validated across the selected execution axes before processing starts, preventing late failures after expensive work. Design pipelines in the GUI, export to Python, edit as code, and re-import — switching between visual and programmatic workflows. The local MCP exposes that same workflow model to supported agents, so agent-authored pipelines remain visible, editable, and reviewable in the GUI and generated Python.
⚡ Key Capabilities
🧩 The OpenHCS Ecosystem
OpenHCS is built on 8 purpose-extracted, separately published libraries — each solving a general problem and all composed into one platform:
🔬 Microscope & Function Support
Processing domains: image preprocessing · segmentation · cell counting · stitching (MIST + Ashlar GPU) · neurite tracing · morphology · measurements
Dimensionality is function-defined rather than a global mode: true volumetric segmentation and measurement routes coexist with plane-local functions, whose labels are not silently stitched across Z. See the dimensionality and measurement capability reference.
🚀 Quick Start
For most desktop users, download the Windows installer or macOS installer. Neither download requires ZIP extraction or an existing Python installation. When upgrading OpenHCS 0.7.23 or earlier, follow the one-time installer migration.
If macOS blocks the official bootstrap because it is unsigned and not notarised, try to open OpenHCS Installer.app, then go to System Settings > Privacy & Security, scroll to Security, click Open Anyway, authenticate, and confirm Open. Only override Gatekeeper for the disk image downloaded from the official OpenHCS GitHub release. Apple documents the current recovery steps here.
For a manual installation, create a virtual environment and install the same CPU-safe desktop surface as the graphical installers:
Smaller environments can select only the required features:
The GUI and execution services consume the same list[FunctionStep],
PipelineConfig, and typed execution bundle. See the
API orientation for the explicit
low-level execution call and progress lifecycle.
Maintainers running CellProfiler/OpenHCS comparisons can use the packaged
openhcs-benchmark command. openhcs-benchmark list-cases --manifest PATH
checks declared case sources without acquiring data or starting a run; the
expert openhcs_list_benchmark_cases MCP tool exposes the same selection.
Each comparison run records a typed receipt with
its lifecycle state, exact rerun command, declared work, and structured result
artifacts. Use a new or empty output directory; an occupied one is rejected
before the run loads its manifest. On the expert full MCP surface,
openhcs_inspect_benchmark_run
can inspect an existing result directory allowed by the local read-path policy.
openhcs-benchmark inspect-run --output-dir PATH reads the same typed inspection;
both routes page structured artifacts through artifact_limit and
artifact_offset instead of returning an unbounded inventory.
openhcs_report_benchmark_run and openhcs-benchmark inspect-run --output-dir PATH --report render bounded case outcomes from the typed receipt and
observations. These MCP routes are read-only: they do not launch, resume, cancel, or rerun a
benchmark, and a recorded receipt is provenance rather than a scientific parity
claim.
For a single ordinary measured pipeline, openhcs-benchmark inspect-measured --output-dir PATH
and the expert MCP inspection/report tools read the same
validated-run receipt and check retained source, observation, and summary
digests. Archived receipts without the latter two digests remain readable but
cannot verify those files. These routes do not create a
second pipeline runner or job-status system.
openhcs-benchmark run-measured --plate PLATE --pipeline-source-file PIPELINE.py --output-dir EVIDENCE --run-id ID --wait-timeout-ms 120000 submits that
pipeline through ordinary headless job control, then calls the same receipt
finalizer as MCP. Use --execution-plate PREPARED_PLATE when the input workspace
has been prepared separately; the evidence directory must be empty.
Use --observation-scope outcomes to retain per-axis success and provenance
without transferring runtime arrays; this does not compare output values.
After an ordinary headless job completes, the expert
openhcs_finalize_measured_pipeline_run tool can validate its runtime
observation and retain that receipt from the exact submitted pipeline and
server completion record. It does not submit another job.
📦 All installation options
The gpu extra requires a compatible CUDA 12 environment on a supported
NVIDIA platform. For a CPU-only
desktop installation, install openhcs[gui] without the gpu extra.
🗄️ OMERO integration
OMERO requires zeroc-ice, whose compatible wheels are not published through
the normal project metadata. Install the helper requirements before the extra:
Equivalent requirements-file installation:
Supported on Python 3.11 and 3.12. See Glencoe Software for manual installation.
📖 Documentation
⚙️ Architecture Highlights
Resolved, typed pipeline compilation — catch errors before execution starts
The authoring surface remains an ordered linear step list. ObjectState inheritance keeps defaulted configuration sparse, while compilation derives and exposes the exact source and artifact dependencies required for execution; the derived dependency graph is not a second workflow the user must author.
Pipelines are compiled for every selected execution axis before processing begins. Runtime workers consume the compiled bundle rather than reinterpreting mutable declaration objects. Read more →
Dual-Axis Configuration — context hierarchy × class MRO
Resolution walks two axes simultaneously: the context stack (Global → Pipeline → Step) and the class MRO (inheritance chain). Built on contextvars for thread-safe, scope-isolated resolution. Preserves None vs concrete value distinction for proper field-level inheritance. Powered by ObjectState. Read more →
Bidirectional GUI ↔ Code — code generation at any scope level
Any window holding ObjectState objects can generate and re-import executable Python:
Each scope encapsulates all lower-scope imports. Generated code is fully executable without additional setup. Edit in your IDE or external editor, save, and the GUI re-imports via AST parsing. Powered by pycodify + python-introspect. Read more →
Cross-Window Live Updates — class-level registry + Qt signals
A class-level registry tracks all active form managers. When a value changes in any config window, Qt signals propagate the change to every affected window with debounced, scope-isolated refreshes. Global → Pipeline → Step cascading with per-orchestrator isolation. Powered by PyQT-reactive. Read more →
More patterns — storage, viewer integration, function discovery, memory types
- Storage and viewer streaming: PolyStore owns generic storage and streaming payload primitives; ZMQRuntime owns process, transport, readiness, acknowledgment, and lifecycle protocols; OpenHCS
StreamingConfigdeclarations plus the Napari/Fiji adapters own viewer identity, display, and application policy. - Automatic Function Discovery: registry-discovered functions with contract analysis and type-safe integration via
python-introspect+metaclass-registry - Memory Type Management: Compile-time validation of array type compatibility with zero-copy conversion via
ArrayBridge - Custom Function Registration: Any Python function decorated with
@numpy,@cupy,@pyclesperanto, etc. is auto-integrated with contracts, UI forms, and the function registry - Evolution-Proof UI: Type-based form generation from Python annotations — adapts automatically when signatures change
🤝 Contributing
Contribution areas: microscope formats · processing functions · GPU backends · documentation
📄 License
MIT — see LICENSE.
🙏 Acknowledgments
OpenHCS evolved from EZStitcher and builds on Ashlar (stitching), MIST (phase correlation), pyclesperanto (GPU image processing), and scikit-image (image analysis).
OpenHCS's CellProfiler interoperability and parity validation build on the CellProfiler project's open-source software, documentation, and public example, tutorial, and benchmark materials. We thank the CellProfiler authors and contributors and the authors of the biological datasets they distribute. Please cite CellProfiler following its official citation guidance, including Stirling et al., CellProfiler 4: improvements in speed, utility and usability (2021).
Third-party project names and logos identify supported integrations, compatible clients, or software used by OpenHCS. They remain the property of their respective projects or owners; their appearance does not imply affiliation or endorsement.
来源:README.md,提交 6845c3a
工具
0版本历史
2- v0.8.6最新Sep 20, 2026
- v0.8.5Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分