Metadata-Version: 2.1
Name: nbvv
Version: 1.6.2
Summary: Interactive volumetric voxel viewing
Project-URL: Homepage, https://github.com/allen-cell-animated/nbvv
Author-email: AICS <danielt@alleninstitute.org>
License: Allen Institute Software License – This software license is the 2-clause BSD 
        license plus clause a third clause that prohibits redistribution and use for 
        commercial purposes without further permission. 
        
        Copyright © 2020. Allen Institute.  All rights reserved.
        
        Redistribution and use in source and binary forms, with or without 
        modification, are permitted provided that the following conditions are met:
        
        1. Redistributions of source code must retain the above copyright notice, this 
        list of conditions and the following disclaimer.
        
        2. Redistributions in binary form must reproduce the above copyright notice, 
        this list of conditions and the following disclaimer in the documentation 
        and/or other materials provided with the distribution.
        
        3. Redistributions and use for commercial purposes are not permitted without 
        the Allen Institute’s written permission. For purposes of this license, 
        commercial purposes are the incorporation of the Allen Institute's software 
        into anything for which you will charge fees or other compensation or use of 
        the software to perform a commercial service for a third party. Contact 
        terms@alleninstitute.org for commercial licensing opportunities.
        
        THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 
        ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 
        WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 
        DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 
        FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 
        DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 
        SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 
        CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 
        OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
        OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
License-File: AUTHORS.md
License-File: LICENSE
Keywords: ipython,jupyter,volume rendering,widgets
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: IPython
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Topic :: Multimedia :: Graphics
Requires-Dist: ipydatawidgets>=4.3.2
Requires-Dist: ipywidgets>=8.0.4
Requires-Dist: jupyter-packaging>=0.12.3
Requires-Dist: jupyter>=1.0.0
Requires-Dist: jupyterlab>=3.5.2
Requires-Dist: numpy>=1.14.3
Requires-Dist: scikit-image>=0.13.0
Requires-Dist: scipy>=1.0.0
Description-Content-Type: text/markdown

# Volume Viewer Jupyter Notebook Extension

Embeds the Allen Institute web-based 3d viewer in Jupyter notebooks

---

## Description

Most 3D viewers are far too heavyweight to use for quick visualization tasks when experimenting with tractably-sized (analyzing, checking, ...) 3D volumetric datasets. nbvv is a multichannel volume viewer for interactive data exploration in jupyter. This is a jupyter widget that provides volumetric rendering given a multiple channel zstack as a numpy array.

Envisioned user group is anyone who wants a robust and quick way to interactively interrogate volumetric data as part of their workflows; domain which motivated development is multi-channel volumetric light/fluorescence microscopy datasets. The viewer is optimized for volume data that has finer xy resolution than z resolution.

## Installation

To install from source:
You will need to make sure nodejs and npm are installed on your system.
One way to do this is using `nvm`, for example:

```
nvm install 14.17.0
nvm use 14.17.0
```

Make sure you have jupyterlab, jupyter notebook and nbextensions installed (not necessary in every environment):

```
pip install jupyter_contrib_nbextensions && jupyter contrib nbextension install --user
```

Install nbvv in one of these ways:

- Option 1: Install from PyPi
  ```
  pip install nbvv
  jupyter nbextension install --py nbvv --sys-prefix
  jupyter nbextension enable nbvv --py --sys-prefix
  ```
- Option 2: Run `build.sh` from this repo
- Option 3: Step-by-step, from source:
  ```
  pip install -e .
  jupyter nbextension install --py --overwrite --symlink --sys-prefix nbvv
  jupyter nbextension enable --py --sys-prefix nbvv
  jupyter labextension develop . --overwrite
  ```

## Documentation

Extended documentation is not available yet. When completed it will be made available at: [allen-cell-animated.github.io/nbvv](https://allen-cell-animated.github.io/nbvv/index.html).

## Quick Start

try the demo notebook:

```
jupyter notebook examples/demo.ipynb
```

or likewise with jupyterlab:

```
jupyter lab examples/demo.ipynb
```

In a Jupyter notebook, load or create volume data in a numpy array.
The data should be of shape (Z,Y,X) or (C,Z,Y,X) for multi-channel data.
Display the numpy data using

```
import nbvv
nbvv.volshow(mynumpydata, spacing=(1.0, 1.0, 4.0), channel_names=my_list_of_channel_name_strings)
```

`volshow` also provides an optional `viewer_height` parameter if you want to make the viewer larger in the notebook. Default is 500 and values should be specified in CSS pixels.

## Development

See [CONTRIBUTING.md](CONTRIBUTING.md) for information related to developing the code.
