
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 分