dexp

Dataset EXploration & Processing

https://github.com/royerlab/dexp

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 1 DOI reference(s) in README
  • Academic publication links
    Links to: biorxiv.org
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.3%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Dataset EXploration & Processing

Basic Info
Statistics
  • Stars: 32
  • Watchers: 8
  • Forks: 6
  • Open Issues: 12
  • Releases: 1
Created over 6 years ago · Last pushed almost 3 years ago
Metadata Files
Readme License Citation

README.md

fishcolorproj

dexp | light-sheet Dataset EXploration and Processing

dexp is a napari, CuPy, Zarr, and DASK based library for managing, processing and visualizing light-sheet microscopy datasets. It consists in light-sheet specialised image processing functions (equalisation, denoising, dehazing, registration, fusion, stabilization, deskewing, deconvolution), visualization functions (napari-based viewing, 2D/3D rendering, video compositing and resizing, mp4 generation), as well as dataset management functions (copy, crop, concatenation, tiff conversion). Almost all functions are GPU accelerated via CuPy but also have a numpy-based fallback option for testing on small datasets. In addition to a functional API, DEXP offers a command line interface that makes it very easy for non-coders to pipeline large processing jobs all the way from a large multi-terabyte raw dataset to fully processed and rendered video in MP4 format.

How to install dexp

Prerequisites:

dexp works on OSX and Windows, but it is recomended to use the latest version of Ubuntu. We recommend a machine with NVIDIA graphics card with at least 12G.

First, make sure to have a working python installation. Second, make sure to have a compatible and functional CUDA installation

Once these prerequisites are satified, you can install dexp.

Installation:

dexp can simply be installed with:

pip install dexp

To installs dexp with GPU support, the optional features and colored console output: conda install cupy pip install dexp[optional,colored]

For OSX users: Before installating dexp, you will first need to install cairo: brew install cairo

Quick conda environment setup and installation:

There are multiple options when using a conda environment:

  • You can create our suggested DEXP (and some additional packages) environment by, it requires GPU:

conda env create --name dexp --file env-linux-gpu.yaml

  • Or create your own conda environment from scratch with the following commands delete any existing dexp environment, recreate it, install dexp with CUDA support and napari: conda deactivate conda env remove --name dexp conda create -y --name dexp python=3.9 conda activate dexp conda install cupy pip install dexp[optional,colored] pip install napari[all]

If you are having problems with the cuda/cuda-toolkit the best is to use conda to install the correct version of the cudatoolkit: conda install -c conda-forge cudatoolkit==11.2.2 You can check here for the best matching version.

Notes: - You might get some error messages recommending you install missing libraries such as CUDNN, CuTensor, nccl, etc... These messages often come with instructions on what to do. - Adjust your driver version (here 11.2) to your card(s) and drivers. - Windows users should call conda install -c conda-forge pyopencl before running the second to last step.

Leveraging extra CUDA libraries for faster processing:

If you want you dexp CUDA-based processing to be even faster, you can install additional libraries such as CUDNN and CUTENSOR with the following command:

conda install -y -c conda-forge cudnn cutensor nccl

or

dexp-install cudalibs 11.2

Change the CUDA version accordingly.

dexp Zarr dataset structure

The zarr datasets injested and written by dexp are organized as below:

bash / (root) └── channel1 (group) ├── channel1 (array) ├── channel1_projection_0 (optional) ├── channel1_projection_1 (optional) └── channel1_projection_2 (optional) └── channel2 (group) ├── channel2 (array) ├── channel2_projection_0 (optional) ├── channel2_projection_1 (optional) └── channel2_projection_2 (optional) └── more channels ...

Channels (zarr group) could be of a particular emission color (e.g. DAPI, GFP, etc), or/and of a particular imaging views (e.g. view1 and view2 in a dual view acquisition). Under each channel group, there could be multiple zarr array. The array that has the same name as the group name is typically a n-dimentional stack (e.g. time-z-y-x). The projections of that nd array are optional (useful for quick exploration of the nd stack). When writting output datasets dexp automatically generates these projections. Future versions of dexp might add more such convenience arrays, high in the list is of course downscaled version sof the stacks for faster visualisation and browsing...

Note: Our goal is to eventually transition to a ome-zarr and/or ngff storage by defaut for both reading and writting. For reading we have also support for specific dataset produced by our light-sheet microscopes, see here for supported microscopes and formats. This is currently limited but contributions are very welcome!

DaXi

DEXP supports processing datasets acquired on the DaXi microscope (paper). You can test processing of DaXi data using an example dataset

Versions

The list of released versions can be found here. The version format is: YYYY.MM.DD.M where YYYY is the year, MM the month, dd the day, and M is the number of elapsed minutes of the day. Git tags are automatically set to link pipy versions to github tagged versions so that the corresponding code can be inspected on github, probably the most important feature. This is a very simple and semantically clear versionning scheme that accomodates for a rapid rate of updates.

How to use dexp ?

In depth documentation can be found here for both command line commands and for the python API.

Contributors:

Jordao Bragantini, Ahmet Can Solak, Bin Yang, and Loic A Royer

Owner

  • Name: Royer Lab
  • Login: royerlab
  • Kind: organization
  • Email: loic.royer@czbiohub.org

Official repository of the Royer Lab where all the freaking cool stuff is cooked

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use DEXP, please cite it as below."
authors:
- family-names: "Royer"
  given-names: "Loic"
  orcid: "https://orcid.org/0000-0002-9991-9724"
- family-names: "Bragantini"
  given-names: "Jordao"
  orcid: "https://orcid.org/0000-0001-7652-2735"
- family-names: "Solak"
  given-names: "Ahmet Can"
  orcid: "https://orcid.org/0000-0002-1381-8309"
- family-names: "Haase"
  given-names: "Robert"
  orcid: "https://orcid.org/0000-0001-5949-2327"
- family-names: "Yang"
  given-names: "Bin"
  orcid: "https://orcid.org/0000-0001-5138-4663"
title: "DEXP"
version: 2022.06.29.552
doi: 10.5281/zenodo.7039059
date-released: 2022-08-31
url: "https://github.com/royerlab/dexp"

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 436
  • Total Committers: 9
  • Avg Commits per committer: 48.444
  • Development Distribution Score (DDS): 0.622
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Loic Royer l****r@c****g 165
Loic Royer r****c@g****m 119
Jordão Bragantini j****i@c****g 116
Scope1 r****b@c****g 14
Ahmet Can Solak a****4@k****r 13
royerlab r****b@e****s 4
AhmetCanSolakCZBiohub a****k@c****g 3
Robert Haase h****f 1
bin.yang b****x@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 18
  • Total pull requests: 82
  • Average time to close issues: 7 months
  • Average time to close pull requests: 8 days
  • Total issue authors: 6
  • Total pull request authors: 5
  • Average comments per issue: 0.89
  • Average comments per pull request: 0.24
  • Merged pull requests: 73
  • Bot issues: 0
  • Bot pull requests: 1
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • JoOkuma (10)
  • AhmetCanSolak (3)
  • BinYangOptics (2)
  • pranathivemuri (1)
  • XarlesMicro (1)
  • ornekofbf (1)
  • haesleinhuepf (1)
Pull Request Authors
  • JoOkuma (77)
  • AhmetCanSolak (2)
  • haesleinhuepf (1)
  • dependabot[bot] (1)
  • royerloic (1)
Top Labels
Issue Labels
enhancement (4) bug (3) good first issue (2) documentation (1)
Pull Request Labels
dependencies (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 257 last-month
  • Total dependent packages: 1
    (may contain duplicates)
  • Total dependent repositories: 1
    (may contain duplicates)
  • Total versions: 43
  • Total maintainers: 2
pypi.org: dexp

Light-sheet Dataset EXploration and Processing

  • Versions: 39
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 257 Last month
Rankings
Downloads: 2.6%
Dependent packages count: 10.1%
Average: 11.9%
Stargazers count: 11.9%
Forks count: 13.3%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 7 months ago
conda-forge.org: dexp
  • Versions: 4
  • Dependent Packages: 1
  • Dependent Repositories: 0
Rankings
Dependent packages count: 28.8%
Dependent repos count: 34.0%
Average: 38.5%
Stargazers count: 43.4%
Forks count: 47.7%
Last synced: 6 months ago

Dependencies

docs/requirements-docs.txt pypi
  • docutils ==0.16
  • furo ==2022.1.2
  • m2r2 ==0.3.2
  • mistune ==0.8.4
  • numpydoc ==1.1.0
  • sphinx ==4.4.0
  • sphinx-click ==3.0.2
  • sphinx-copybutton ==0.3.1
  • sphinx-js *
  • sphinx-rtd-theme ==1.0.0
.github/workflows/publish_docs.yml actions
  • EndBug/add-and-commit main composite
  • actions/checkout main composite
  • actions/setup-python v2 composite
.github/workflows/pull_requests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • codecov/codecov-action v3 composite
pyproject.toml pypi
setup.py pypi