Appearance
Official node-pack extraction
microscope-python is the framework, not the scientific algorithm bundle. It owns the Node SDK, typed values and spatial contracts, graph and nested-composite execution, tile scheduler, localhost companion/authentication, public pack discovery, environment selection, and bounded array/ROI serialization. A clean base installation contains no NumPy, OpenCV, ONNX Runtime, PyTorch, or model weights. The optional [workflows] extra adds NumPy for array execution only.
The four official algorithm packs are independent sibling projects:
| Local project | Responsibility | Runtime dependencies |
|---|---|---|
microscope-nodes-opencv | Image/color conversion, blur, thresholding, morphology, components, mask operations, statistics, and mask/ROI conversions | NumPy, OpenCV |
microscope-nodes-doublepass | User-facing native Python Double-Pass tissue segmentation | NumPy, OpenCV |
microscope-nodes-conflux | Conflux CxTissueSeg inference, preprocessing, blending, and verified local weights | NumPy, ONNX Runtime |
microscope-nodes-instanseg | InstanSeg brightfield nuclei inference and compact labels | NumPy, PyTorch |
Each package has a static microscope-node.toml, stable node IDs, its own dependency metadata and tests. No package is automatically installed. Pack-specific implementation details, scientific assumptions, model attribution, and asset checksums live in that package's README.
The 26 official schemas and their technical documentation are approved for public reference. The four GitLab source repositories are not yet publicly distributed, so the links below do not currently provide anonymous clone/install access. Until their access settings change, users can install compatible packs only from Git repositories they can reach or from trusted local checkouts.
GitLab repositories and installation
The official repositories are optional packs; installing microscope-io[workflows] does not install any of them. Their canonical HTTPS URLs are:
| Pack | GitLab URL |
|---|---|
| OpenCV and NumPy | https://gitlab.com/microscope.io/microscope-nodes-opencv.git |
| Double-Pass | https://gitlab.com/microscope.io/microscope-nodes-doublepass.git |
| Conflux / CxTissueSeg | https://gitlab.com/microscope.io/microscope-nodes-conflux.git |
| InstanSeg | https://gitlab.com/microscope.io/microscope-nodes-instanseg.git |
In the viewer, open Add Nodes from Git, enter one URL, review the manifest and dependencies, then explicitly approve the exact commit. A workflow reference never installs or updates a pack automatically. To update, review the repository again and approve the newly reviewed commit. The runtime installs each pack into its own managed Python environment; model weights remain a separate local user action.
The installer currently accepts HTTPS Git URLs only and invokes Git non-interactively with global Git configuration disabled. Publicly readable repositories can be cloned anonymously. Private GitLab repositories that require a username/token cannot currently be installed through this flow: the operation stops at git clone when Git requests a username. Do not put credentials in a URL or workflow. A supported credential-provider integration is required before private-repository installation can be verified.
Local registration
From each pack checkout, create an isolated interpreter and install the dependency set recorded in its pyproject.toml. Then explicitly register the reviewed checkout with that interpreter:
sh
microscope nodes register /absolute/path/to/microscope-nodes-opencv \
--python /absolute/path/to/microscope-nodes-opencv/.venv/bin/python \
--trustRepeat with a distinct interpreter for each pack. Registration imports local code, so --trust is an explicit local approval. The viewer receives ordinary node descriptors from the authenticated companion; it generates parameter controls and typed ports in the same way it does for third-party packs. WSI pixels remain in the existing browser-to-localhost path.
This developer-registration command is for a trusted local checkout and does not verify GitLab clone, commit-pinned review, or managed dependency installation. Use Add Nodes from Git for a remote repository when its HTTPS URL is accessible to the installer.
The Double-Pass package publishes a static editable composite around its real node. The normal companion catalog discovers that single composite; the normal workflow editor can open it, fork it for local editing, and execute the nested definition through the same engine. Installed definitions remain read-only. No official-only execution path exists.
Saved workflow compatibility
Earlier core schemas used microscope.* node IDs. New public pack nodes use package namespaces such as microscope_opencv.* and declare their old IDs in legacy_ids. The viewer resolves those aliases from the installed catalog for display, connection validation, portable parameter filtering, and missing-node diagnostics. The Python engine resolves an alias only if its owning pack is registered in that job's registry. Saved workflow JSON is not rewritten, and removing a pack returns those node references to the ordinary missing-pack state.
The alias metadata contains no algorithm implementation. Core can validate/run a workflow containing a node only when a registered pack supplies the current schema and implementation.
Model assets
Model packs own dependency declarations and inference wrappers; neither a workflow connection nor a package catalog request downloads model weights. Users provide the upstream model files locally. The pack checks the pinned SHA-256 before inference. This checkout contains no model weights. A real model inference test must be skipped/reported as unavailable unless the pinned files are supplied; synthetic outputs are not model inference.