Skip to content

Commit 1602f84

Browse files
authored
Merge pull request #31 from neuroinformatics-unit/improve-docs
Improve homepage of photon-mosaic website
2 parents 8a0272a + 6c9aa08 commit 1602f84

File tree

7 files changed

+32
-35
lines changed

7 files changed

+32
-35
lines changed

README.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,37 @@
1-
# `photon-mosaic`
1+
[![Python Version](https://img.shields.io/pypi/pyversions/photon-mosaic.svg)](https://pypi.org/project/photon-mosaic)
2+
[![PyPI Version](https://img.shields.io/pypi/v/photon-mosaic.svg)](https://pypi.org/project/photon-mosaic)
3+
[![License](https://img.shields.io/badge/License-BSD_3--Clause-orange.svg)](https://opensource.org/licenses/BSD-3-Clause)
4+
[![CI](https://img.shields.io/github/actions/workflow/status/neuroinformatics-unit/photon-mosaic/test_and_deploy.yml?label=CI)](https://github.com/neuroinformatics-unit/photon-mosaic/actions)
5+
[![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/format.json)](https://github.com/astral-sh/ruff)
6+
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
27

3-
`photon-mosaic` is a Snakemake-based pipeline for the automated and reproducible analysis of multiphoton calcium imaging datasets. It currently integrates [Suite2p](https://suite2p.readthedocs.io/en/latest/) for image registration and signal extraction, with plans to support additional analysis modules in the future.
8+
9+
# <img src="docs/source/_static/logo.png" alt="photon-mosaic logo" width="36" style="vertical-align: middle; margin-right:8px"> `photon-mosaic`
10+
`photon-mosaic` is a Snakemake-based toolkit for processing multiphoton datasets. It orchestrates a curated collection of algorithms to transform your raw data (e.g., TIFF files) into analysis-ready outputs, such as ΔF/F traces, NWB files, or inferred spikes.
11+
12+
Each analysis step is integrated into an automated workflow, allowing you to chain preprocessing, registration, signal extraction, and post-processing steps into a single, reproducible pipeline. The design prioritizes usability for labs that process many imaging sessions and need to scale across an HPC cluster.
413

514
<p align="center">
6-
<img src="https://raw.githubusercontent.com/neuroinformatics-unit/photon-mosaic/main/docs/source/_static/photon-mosaic.png" alt="photon-mosaic" width="30%"/>
15+
<img src="https://raw.githubusercontent.com/neuroinformatics-unit/photon-mosaic/refs/heads/improve-docs/docs/source/_static/pm_illustration1.png" alt="photon-mosaic"/>
716
</p>
817

9-
&nbsp;
10-
## Overview
11-
`photon-mosaic` can leverage SLURM job scheduling, allows standardized and reproducible workflows configurable via a simple YAML config file and produces standardized output folder structures following the [NeuroBlueprint](https://neuroblueprint.neuroinformatics.dev/latest/index.html) specification.
18+
This is made possible by [Snakemake](https://snakemake.readthedocs.io/en/stable/), a workflow management system that provides a powerful and flexible framework for defining and executing complex data processing pipelines. Snakemake automatically builds a directed acyclic graph (DAG) of all the steps in your analysis, ensuring that each step is executed in the correct order and that intermediate results are cached to avoid redundant computations. `photon-mosaic` also includes a [SLURM executor plugin for Snakemake](https://github.com/snakemake/snakemake-executor-plugin-slurm) to seamlessly scale your analysis across an HPC cluster. To ensure consistency and reproducibility, `photon-mosaic` writes processed data according to the [NeuroBlueprint](https://neuroblueprint.neuroinformatics.dev/latest/index.html) data standard for organizing and storing multiphoton imaging data.
19+
20+
The goal of `photon-mosaic` is to provide a modular, extensible, and user-friendly framework for multiphoton data analysis that can be easily adapted to different experimental designs and analysis requirements. For each processing step, we aim to vet and integrate the best available open-source tools, providing sensible defaults tailored to the specific data type and experimental modality.
21+
22+
## Roadmap
23+
### Current features
24+
- Preprocessing: [derotation](https://github.com/neuroinformatics-unit/derotation) and contrast enhancement (see `photon_mosaic/preprocessing`).
25+
- Registration & source extraction using [Suite2p](https://github.com/MouseLand/suite2p).
26+
- Cell detection / anatomical ROI extraction using [Cellpose (v3 or v4, including Cellpose-SAM)](https://github.com/MouseLand/cellpose).
1227

13-
This tool is especially suited for labs that store their data on servers directly connected to an HPC cluster and want to batch-process multiple imaging sessions in parallel.
28+
### Planned additions
29+
- Registration using [NoRMCorre](https://github.com/flatironinstitute/NoRMCorre) for non-rigid motion correction.
30+
- ROI matching using [ROICat](https://github.com/RichieHakim/ROICaT) for inter-session / inter-plane ROI matching.
31+
- Neuropil subtraction / decontamination: methods from the [AllenSDK](https://allensdk.readthedocs.io/en/latest/allensdk.brain_observatory.r_neuropil.html) and [AST-model](https://github.com/znamlab/2p-preprocess).
32+
- Spike deconvolution: [OASIS](https://github.com/j-friedrich/OASIS) and [CASCADE](https://github.com/HelmchenLabSoftware/Cascade).
1433

15-
The current structure sets the stage for future modular integration of preprocessing, neuropil decontamination and deconvolution of choice, and more.
34+
See [issues on GitHub](https://github.com/neuroinformatics-unit/photon-mosaic/issues) and the [project board](https://github.com/orgs/neuroinformatics-unit/projects/17) for more details and participate in planning. Please refer to our [guidelines](https://photon-mosaic.neuroinformatics.dev/contributing.html) to understand how to contribute.
1635

1736
## Installation
1837

@@ -24,19 +43,8 @@ conda activate photon-mosaic
2443
pip install photon-mosaic
2544
```
2645

27-
To install developer tools (e.g., testing and linting):
46+
To install with developer tools (e.g., testing and linting):
2847

2948
```bash
3049
pip install 'photon-mosaic[dev]'
3150
```
32-
33-
## Contributing
34-
35-
We welcome issues, feature suggestions, and pull requests. Please refer to our [contribution guidelines](https://photon-mosaic.neuroinformatics.dev/user_guide/index.html) in the documentation for more information.
36-
37-
## References & Links
38-
39-
- [Snakemake Docs](https://snakemake.readthedocs.io/en/stable/)
40-
- [Suite2p Docs](https://suite2p.readthedocs.io/en/latest/)
41-
- [SLURM Executor Plugin](https://snakemake.github.io/snakemake-plugin-catalog/plugins/executor/slurm.html)
42-
- [NeuroBlueprint Standard](https://neuroblueprint.neuroinformatics.dev/latest/index.html)

docs/source/_static/logo.png

3.64 KB
Loading
-134 KB
Binary file not shown.
164 KB
Loading

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,7 @@
156156
]
157157

158158
html_favicon = "_static/light-logo-niu.png"
159+
html_logo = "_static/logo.png"
159160

160161
# # Configure Sphinx gallery
161162
# sphinx_gallery_conf = {

docs/source/index.md

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,15 @@
1-
# photon-mosaic
1+
# <img src="_static/logo.png" alt="photon-mosaic logo" width="36" style="vertical-align: middle; margin-right:8px"> photon-mosaic
22

33
```{include} ../../README.md
4-
:start-after: '# `photon-mosaic`'
5-
:end-before: '<p align="center">'
6-
```
7-
8-
```{figure} _static/photon-mosaic.png
9-
:alt: photon-mosaic
10-
:width: 50%
4+
:start-after: '# <img src="docs/source/_static/logo.png" alt="photon-mosaic logo" width="36" style="vertical-align: middle; margin-right:8px"> `photon-mosaic`'
5+
:end-before: '## Installation'
116
```
127

138
```{include} ../../README.md
149
:start-after: '&nbsp;'
1510
:end-before: '## Installation'
1611
```
1712

18-
## Contributing
19-
```{include} ../../README.md
20-
:start-after: '## Contributing'
21-
:end-before: '## References & Links'
22-
```
23-
2413
```{toctree}
2514
:maxdepth: 2
2615
:hidden:

docs/source/user_guide/installation.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,4 @@
33

44
```{include} ../../../README.md
55
:start-after: '## Installation'
6-
:end-before: '## Contributing'
76
```

0 commit comments

Comments
 (0)