Skip to content

Add documentation site (Sphinx / Read the Docs) and API reference#60

Draft
Marei33 wants to merge 42 commits into
devfrom
docs
Draft

Add documentation site (Sphinx / Read the Docs) and API reference#60
Marei33 wants to merge 42 commits into
devfrom
docs

Conversation

@Marei33

@Marei33 Marei33 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds a complete documentation site for matchmaker, built with Sphinx and wired up
for Read the Docs, plus the supporting docstrings and naming/consistency cleanups
that the API reference surfaced.

Documentation

New Sphinx site under docs/ (Read the Docs config, conf.py, requirements):

  • Home – overview of the framework and the 5-step pipeline, with workflow figure
  • Installation – setup + what pytest -s actually does (runs the rigid example
    pipeline, downloads reference data, manual fallback)
  • Quick Start – runnable end-to-end walkthrough with a complete registration
    config and a "try it on the example data" command
  • Usage – the three ways to use matchmaker: Snakemake workflow, individual CLI
    scripts (option tables), and the Python API
  • Configuration Reference – every field of the registration and transform configs
  • Understanding the Outputs – the log_dir tree, per-stage QC plots, and how to
    judge whether a registration succeeded
  • Example data – what data is provided and how the synthetic data is generated
  • Troubleshooting – common failure modes and fixes
  • API Reference – curated public API via autodoc (mock imports so it builds
    without the heavy/GPU deps)

Code changes supporting the docs

  • Docstrings (NumPy style) added/fixed for the curated public functions and the
    pipeline-stage entry points.
  • Naming consistency – pipeline-stage entry points are now uniformly run_*:
    • cpd_from_imagesrun_cpd (and the low-level run_cpdcpd_from_pcds)
    • match_pointsrun_matching
    • elastix_deformable_pointset_alignmentrun_pointset_registration
      (and the low-level run_pointset_registrationelastix_pointset_registration)
    • run_registrationelastix_registration

Config / behaviour changes to note when reviewing

  • output_name removed. The output .n5 name is now the optional
    fixed_image.name / moving_image.name (defaults fixed_image / moving_image).
    registration.smk, the example configs, and tests/test_pipeline.py are updated
    accordingly.
  • Transform config fixed_image is now genuinely optionalapply_transform.smk
    guards it, so the overlay is simply skipped when it's absent.
  • Bug fix: apply_transform.py used from utils import … (only worked in script
    mode); changed to from matchmaker.utils import ….

Previewing the docs

python -m venv /tmp/docs-venv && /tmp/docs-venv/bin/pip install -r docs/requirements.txt
/tmp/docs-venv/bin/sphinx-build -b html docs/source docs/build/html
open docs/build/html/index.html

Builds cleanly with no warnings.

Follow-ups (not in this PR)

  • No LICENSE / CITATION.cff / CONTRIBUTING.md yet.
  • README still needs to be updated/linked to the docs?

zh320 and others added 30 commits May 18, 2026 11:34
Fix missing directory bug for test
Improve visualization and correct small issues in CVXPY matching, apply transforms image by image
@Marei33

Marei33 commented Jul 6, 2026

Copy link
Copy Markdown
Collaborator Author

WIP; needs to be updated when all open PRs are merged

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants