diff --git a/assets/css/custom.css b/assets/css/custom.css index a910e52..be36570 100644 --- a/assets/css/custom.css +++ b/assets/css/custom.css @@ -14,6 +14,12 @@ html { font-size: 90%; } +/* Header logo: make site mark compact in top nav */ +a.mr-2 > img { + max-height: 1.75rem !important; + max-width: 1.75rem !important; +} + /* Logo dark/light switching. Congo toggles a .dark class on via JS — the native prefers-color-scheme media query inside tags does not respond @@ -131,3 +137,15 @@ html.dark .hero-pill-green { background: #052e16 !important; border-color: #16 html.dark .hero-btn-primary { background: #3b82f6 !important; } html.dark .hero-btn-outline { border-color: #374151 !important; color: #d1d5db !important; } html.dark .hero-secondary-link { color: #6b7280 !important; border-bottom-color: #374151 !important; } + +/* Header breakpoint override: + Use hamburger menu up to 900px (instead of Congo's default 640px). */ +@media (max-width: 900px) { + #menu-button { + display: block !important; + } + + header nav > ul.hidden.sm\:flex { + display: none !important; + } +} diff --git a/assets/img/cytomining-logo.png b/assets/img/cytomining-logo.png new file mode 100644 index 0000000..4bb986e Binary files /dev/null and b/assets/img/cytomining-logo.png differ diff --git a/config/_default/menus.en.toml b/config/_default/menus.en.toml index f415c33..9ac7b2f 100644 --- a/config/_default/menus.en.toml +++ b/config/_default/menus.en.toml @@ -4,7 +4,7 @@ weight = 10 [[main]] - name = "Experimental tools" + name = "Roadmap" pageRef = "experimental" weight = 20 @@ -18,6 +18,11 @@ pageRef = "about" weight = 40 +[[main]] + name = "People" + pageRef = "people" + weight = 50 + [[main]] name = "Contact" diff --git a/config/_default/params.toml b/config/_default/params.toml index 9fe0267..4775cd6 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -9,7 +9,8 @@ enableCodeCopy = false showRecent = false [header] - layout = "fixed" + layout = "hybrid" + logo = "img/cytomining-logo.png" [footer] showCopyright = true diff --git a/content/experimental/_index.md b/content/experimental/_index.md index a49fa0a..e95ee9b 100644 --- a/content/experimental/_index.md +++ b/content/experimental/_index.md @@ -1,6 +1,9 @@ --- -title: "Experimental" +title: "Roadmap" description: "Tools under active development in the WayScience organization, forming the foundation of the next Cytomining ecosystem." +url: /roadmap/ +aliases: + - /experimental/ --- The following tools are under active development in the [WayScience](https://github.com/WayScience) organization and form the backbone of the Cytomining roadmap. diff --git a/content/experimental/buscar.md b/content/experimental/buscar.md index 40f21a4..1d8b577 100644 --- a/content/experimental/buscar.md +++ b/content/experimental/buscar.md @@ -5,11 +5,14 @@ problem: "Population-level hit calling averages away cell-to-cell variation, hid showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/buscar/main/logo/just-icon.png" +githubRepo: "WayScience/buscar" --- buscar logo buscar logo +{{< tool-badges >}} + `buscar` scores perturbations directly on single-cell distributions using Earth Mover's Distance, preserving heterogeneity throughout hit calling. **Problem:** Population-level hit calling averages away biologically meaningful cell-to-cell variation, making heterogeneous responses and rare subpopulations invisible to standard metrics. diff --git a/content/experimental/iceberg-bioimage.md b/content/experimental/iceberg-bioimage.md index 7544771..ef08100 100644 --- a/content/experimental/iceberg-bioimage.md +++ b/content/experimental/iceberg-bioimage.md @@ -5,10 +5,13 @@ problem: "Raw bioimaging archives have no standard catalog — finding, versioni showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/iceberg-bioimage/main/docs/src/_static/iceberg-bioimage-logo.png" +githubRepo: "WayScience/iceberg-bioimage" --- iceberg-bioimage logo +{{< tool-badges >}} + `iceberg-bioimage` scans any image store into a versioned Apache Iceberg catalog that directly exports Cytomining-compatible Parquet warehouses. **Problem:** Raw bioimaging archives have no standard catalog — finding, versioning, and joining images to downstream data requires bespoke scripts per lab. diff --git a/content/experimental/ome-arrow.md b/content/experimental/ome-arrow.md index 926e859..f94a945 100644 --- a/content/experimental/ome-arrow.md +++ b/content/experimental/ome-arrow.md @@ -4,10 +4,13 @@ description: "Image storage — stores microscopy images alongside metadata and problem: "Images and feature tables live in separate systems — linking a numeric outlier back to its source cell requires error-prone manual joins across formats." showDate: false showAuthor: false -logoUrl: "https://raw.githubusercontent.com/WayScience/OME-arrow/main/docs/src/_static/ome-arrow-logo.png" +logoUrl: "https://raw.githubusercontent.com/wayscience/ome-arrow/main/docs/src/_static/ome-arrow-with-text.png?raw=true" +githubRepo: "WayScience/OME-arrow" --- -OME-arrow logo +OME-arrow logo + +{{< tool-badges >}} `OME-arrow` embeds images as first-class columns in Apache Arrow tables, so features, metadata, and pixel data travel together and can be queried or exported as tensors. diff --git a/content/experimental/zedprofiler.md b/content/experimental/zedprofiler.md index 81b0d0f..82a43da 100644 --- a/content/experimental/zedprofiler.md +++ b/content/experimental/zedprofiler.md @@ -5,11 +5,14 @@ problem: "Classical profiling tools only extract 2D features, leaving organoid a showDate: false showAuthor: false logoUrl: "https://raw.githubusercontent.com/WayScience/ZedProfiler/main/logo/logo.png" +githubRepo: "WayScience/zedprofiler" --- ZEDprofiler logo ZEDprofiler logo +{{< tool-badges >}} + `ZEDprofiler` extracts morphological features directly from 3D volumetric images, including anisotropic voxel spacing correction — no GPU required. **Problem:** Classical profiling tools extract only 2D features, leaving organoid, cleared-tissue, and z-stack experiments without a CPU-efficient extractor. diff --git a/content/people/_index.md b/content/people/_index.md new file mode 100644 index 0000000..51fac0a --- /dev/null +++ b/content/people/_index.md @@ -0,0 +1,51 @@ +--- +title: People +description: Contributors, governance, code of conduct, and security stance for the Cytomining community. +showDate: false +showAuthor: false +layout: simple +--- + +The Cytomining ecosystem is maintained by a distributed community of contributors across academia and industry. + +## Contributors + +- Browse contributors and maintainers in the [Cytomining GitHub organization](https://github.com/cytomining) +- See organization members directly in the [People directory](https://github.com/orgs/cytomining/people) +- Explore project-level contribution history in each repository's contributors graph + +We welcome issues, bug reports, documentation improvements, and pull requests from the broader community. + +## Governance + +Cytomining uses a lightweight governance model centered on maintainers and public decision-making. +We keep policy concise and bias toward transparent, repository-native workflows over heavy process. + +- **Stewardship:** Repositories are maintained by designated maintainers in the `Cytomining` organization. +- **Decision-making:** Day-to-day technical decisions happen in public issues, pull requests, and our public [Discord](https://discord.gg/dgEDz6xzfJ). +- **Consensus first:** Maintainers seek rough consensus from active contributors before merging impactful changes. +- **Escalation path:** When consensus is unclear, maintainers make a final call, document rationale, and revisit with new evidence. +- **Scope and ownership:** Changes are reviewed by maintainers closest to the affected project area, as defined by recent commits and other relevant ecosystem initiatives. +- **Openness:** Design direction, roadmap changes, and tradeoffs are discussed in public whenever possible. +- **Evolution:** Governance expectations are updated incrementally as the community and project complexity grow. + +This reflects how the organization operates today and is intentionally compact so contributors can understand how decisions get made without navigating a large policy surface. + +## Code of Conduct + +Participation in Cytomining spaces is expected to follow the organization-wide Code of Conduct: + +- [Cytomining Organization Code of Conduct](https://github.com/cytomining/.github/blob/main/CODE_OF_CONDUCT.md) + +All contributors and community members are expected to uphold a respectful, inclusive, and professional environment. + +## Security Stance + +We take security seriously across our software and community operations. + +- [Cytomining Organization Security Policy](https://github.com/cytomining/.github/blob/main/SECURITY.md) +- If you discover a potential vulnerability, please report it responsibly through GitHub security reporting mechanisms where available +- Avoid opening public issues for unpatched security vulnerabilities +- We aim to triage and respond to credible reports quickly and transparently + +For repository-specific security guidance, check each project's `SECURITY.md` (when present) and GitHub Security tabs. diff --git a/content/tools/_index.md b/content/tools/_index.md index f3e2b06..55fec00 100644 --- a/content/tools/_index.md +++ b/content/tools/_index.md @@ -4,3 +4,5 @@ description: Production-ready tools for image-based profiling bioinformatics. --- The Cytomining ecosystem provides a suite of production-ready tools for every stage of the image-based profiling workflow. + +For upcoming capabilities and in-progress projects, see the [Roadmap](https://cytomining.github.io/experimental/), which includes our experimental tools under active development. diff --git a/content/tools/copairs.md b/content/tools/copairs.md index e656d07..8845d46 100644 --- a/content/tools/copairs.md +++ b/content/tools/copairs.md @@ -3,8 +3,12 @@ title: copairs description: Downstream evaluation — measures how reproducibly perturbation profiles retrieve their matched replicates, quantifying profile quality and similarity. showDate: false showAuthor: false +pypiPackage: copairs +githubRepo: cytomining/copairs --- +{{< tool-badges >}} + `copairs` is a Python package for evaluating the quality of morphology profiles by measuring how well a perturbation's profile can be retrieved relative to controls. It implements mean Average Precision (mAP) and related metrics widely used in the image-based profiling community. diff --git a/content/tools/cosmicqc.md b/content/tools/cosmicqc.md index 8b6b755..6e1db91 100644 --- a/content/tools/cosmicqc.md +++ b/content/tools/cosmicqc.md @@ -4,11 +4,15 @@ description: Quality control step — flags and removes low-quality cells before showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/coSMicQC/main/media/logo/just-icon.png +pypiPackage: cosmicqc +githubRepo: cytomining/coSMicQC --- coSMicQC logo coSMicQC logo +{{< tool-badges >}} + `coSMicQC` (Single-cell Morphology Quality Control) identifies and removes low-quality cells from image-based profiling datasets before downstream analysis. It catches common problems such as over-segmented nuclei, poorly segmented cells, and imaging artifacts. diff --git a/content/tools/cytodataframe.md b/content/tools/cytodataframe.md index 4e5846e..50ac204 100644 --- a/content/tools/cytodataframe.md +++ b/content/tools/cytodataframe.md @@ -4,11 +4,15 @@ description: "Interactive exploration — view and inspect morphology profiles a showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/CytoDataFrame/main/logo/just-icon.png +pypiPackage: cytodataframe +githubRepo: cytomining/CytoDataFrame --- CytoDataFrame logo CytoDataFrame logo +{{< tool-badges >}} + `CytoDataFrame` extends the familiar pandas DataFrame interface to let researchers view and analyze single-cell morphology profiles alongside their corresponding microscopy images and segmentation masks — all within a Jupyter notebook. **Key capabilities:** diff --git a/content/tools/cytotable.md b/content/tools/cytotable.md index 69b0ca2..6caf4e3 100644 --- a/content/tools/cytotable.md +++ b/content/tools/cytotable.md @@ -4,11 +4,15 @@ description: Upstream ingestion — converts raw CellProfiler, DeepProfiler, and showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/CytoTable/main/logo/just-icon.png +pypiPackage: cytotable +githubRepo: cytomining/CytoTable --- CytoTable logo CytoTable logo +{{< tool-badges >}} + `CytoTable` harmonizes output from different high-content image analysis tools — including CellProfiler, `DeepProfiler`, and IN Carta — into a single, analysis-ready format. It scales to large datasets using Apache Parquet, DuckDB, and Parsl under the hood. diff --git a/content/tools/deepprofiler.md b/content/tools/deepprofiler.md index ad7d84a..66711b6 100644 --- a/content/tools/deepprofiler.md +++ b/content/tools/deepprofiler.md @@ -3,10 +3,13 @@ title: DeepProfiler description: Alternative feature extraction — deep learning embeddings from raw microscopy images, bypassing classical segmentation-and-measurement pipelines. showDate: false showAuthor: false +githubRepo: cytomining/DeepProfiler --- DeepProfiler logo +{{< tool-badges >}} + `DeepProfiler` uses deep neural networks to extract morphological features directly from raw microscopy images, bypassing traditional segmentation-and-measurement pipelines. It is designed for high-throughput screens where deep learning representations outperform classical feature sets. diff --git a/content/tools/pycytominer.md b/content/tools/pycytominer.md index 936f743..3e3b7aa 100644 --- a/content/tools/pycytominer.md +++ b/content/tools/pycytominer.md @@ -4,11 +4,15 @@ description: "Core processing pipeline — aggregates, normalizes, and feature-s showDate: false showAuthor: false logoUrl: https://raw.githubusercontent.com/cytomining/pycytominer/main/logo/just-icon.png +pypiPackage: pycytominer +githubRepo: cytomining/pycytominer --- Pycytominer logo Pycytominer logo +{{< tool-badges >}} + `Pycytominer` is the core Python package in the Cytomining ecosystem. It provides a clean, composable API for processing single-cell morphology profiles produced by tools like CellProfiler. diff --git a/layouts/_partials/article-link.html b/layouts/_partials/article-link.html index a08edee..5c144b7 100644 --- a/layouts/_partials/article-link.html +++ b/layouts/_partials/article-link.html @@ -69,6 +69,7 @@

{{ partial "extend-article-link.html" . }} {{ end }}

+ {{ partial "tool-badges.html" (dict "page" . "scope" "list") }}
{{ partial "article-meta.html" . }}
diff --git a/layouts/_partials/tool-badges.html b/layouts/_partials/tool-badges.html new file mode 100644 index 0000000..6cc4590 --- /dev/null +++ b/layouts/_partials/tool-badges.html @@ -0,0 +1,35 @@ +{{- $page := . -}} +{{- $scope := "single" -}} +{{- if reflect.IsMap . -}} + {{- $page = .page -}} + {{- $scope = .scope | default "single" -}} +{{- end -}} +{{- $isTools := eq $page.Section "tools" -}} +{{- $isExperimental := eq $page.Section "experimental" -}} +{{- if and (or $isTools $isExperimental) (or $page.Params.pypiPackage $page.Params.githubRepo) -}} +
+ {{- if $isTools -}} + {{- with $page.Params.pypiPackage -}} + PyPI version for {{ . }} + {{- end -}} + {{- end -}} + {{- with $page.Params.githubRepo -}} + GitHub stars for {{ . }} + {{- end -}} + {{- if and $isTools (ne $scope "list") -}} + {{- with $page.Params.pypiPackage -}} + PyPI monthly downloads for {{ . }} + Total downloads for {{ . }} + {{- end -}} + {{- with $page.Params.githubRepo -}} + GitHub forks for {{ . }} + {{- end -}} + {{- end -}} +
+ +{{- end -}} diff --git a/layouts/experimental/list.html b/layouts/experimental/list.html index ec37af6..0cf924d 100644 --- a/layouts/experimental/list.html +++ b/layouts/experimental/list.html @@ -2,7 +2,7 @@
{{/* Header */}} -

Experimental Tools

+

Roadmap

Next-generation tools under active development in the WayScience organization, forming the foundation of the Cytomining roadmap. @@ -21,7 +21,11 @@

Experimental Tools

{{/* Tool list */}}
-

Tools

+

Experimental tools

+

+ These tools are under active development in the WayScience organization. + For production-ready tools, see the Tools page. +

{{ range .Pages }} {{ partial "article-link.html" . }} {{ end }} diff --git a/layouts/index.html b/layouts/index.html index 84ef57b..67d6b58 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -48,7 +48,7 @@

Explore tools → - + Experimental tools

diff --git a/layouts/shortcodes/tool-badges.html b/layouts/shortcodes/tool-badges.html new file mode 100644 index 0000000..3b6e07d --- /dev/null +++ b/layouts/shortcodes/tool-badges.html @@ -0,0 +1 @@ +{{ partial "tool-badges.html" (dict "page" .Page "scope" "single") }} diff --git a/themes/congo/layouts/list.html b/themes/congo/layouts/list.html index b80fe91..c22c3e7 100644 --- a/themes/congo/layouts/list.html +++ b/themes/congo/layouts/list.html @@ -43,11 +43,5 @@

-

- {{ i18n "list.no_articles" | emojify }} -

- {{ end }} {{ end }}