Skip to main content

Light-sheet Dataset EXploration and Processing

Project description

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 a top-of-the-line NVIDIA graphics card (min 12G to be confortable).

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:

To installs dexp with GPU support (CUDA 11.2), colored console output, and napari support do:

pip install dexp[color, cuda112, napari]

Other available CUDA versions (from CuPy) are: cuda111, cuda110, cuda102, cuda101, cuda100. We recommend using the most recent CUDA version that your system supports, and avoiding versions below 10.0

If instead you do not wish to add CUDA support, you can instead do:

pip install dexp

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

brew install cairo

Quick one-line environment setup and installation:

The following line will delete any existing dexp environment, recreate it, and install dexp with support for CUDA 11.2:

conda deactivate; conda env remove --name dexp; conda create -y --name dexp python=3.8; conda activate dexp; pip install dexp[color,cuda112,napari]

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:

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:

/ (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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dexp-2022.2.1.723.tar.gz (188.1 kB view details)

Uploaded Source

Built Distribution

dexp-2022.2.1.723-py2.py3-none-any.whl (324.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dexp-2022.2.1.723.tar.gz.

File metadata

  • Download URL: dexp-2022.2.1.723.tar.gz
  • Upload date:
  • Size: 188.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.8

File hashes

Hashes for dexp-2022.2.1.723.tar.gz
Algorithm Hash digest
SHA256 02ea839c03a26e3e4920fb015b5583c9b6075133905045311d6b70daa757fd34
MD5 4bab5e1d5bea87f93a8902e290e24f19
BLAKE2b-256 50610241a694a97467e4a6e750e5faef19e8157f11e78e61e2c3ec0aeeed430e

See more details on using hashes here.

File details

Details for the file dexp-2022.2.1.723-py2.py3-none-any.whl.

File metadata

  • Download URL: dexp-2022.2.1.723-py2.py3-none-any.whl
  • Upload date:
  • Size: 324.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.8.8

File hashes

Hashes for dexp-2022.2.1.723-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8377b36e44758c12a6c29f8a8603ef21db14780e28cfc5ef4da906e46030fc05
MD5 8e93c4685ea00ce5695e6058425b13df
BLAKE2b-256 a72a0a64eac60187b2b188dad6727b232b87a0fb1a19d3ec39be373ce6fe2194

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page