Skip to main content

Command-line tool and python library for visualising small 3D datasets

Project description

Simple matplotlib-based tool for viewing small amounts of 3D image data; helpful for debugging. Supports python 2.7 and 3.4+.

Adapted from this matplotlib recipe.

Installation

pip install smalldataviewer

Some file types require additional dependencies:

  • HDF5: h5py

    • pip install h5py

  • zarr, N5: z5py

    • conda install -c cpape -c conda-forge z5py

Usage

As executable

usage: smalldataviewer [-h] [-i INTERNAL_PATH] [-t TYPE] [-o ORDER]
                       [-f OFFSET] [-s SHAPE] [-v]
                       path

positional arguments:
  path                  Path to HDF5, N5, zarr, npy, npz or JSON file
                        containing a 3D dataset

optional arguments:
  -h, --help            show this help message and exit
  -i INTERNAL_PATH, --internal_path INTERNAL_PATH
                        Internal path of dataset inside HDF5, N5, zarr or npz
                        file. If JSON, assumes the outerobject is a dict, and
                        internal_path is the key of the array
  -t TYPE, --type TYPE  Dataset file type. Inferred from extension if not
                        given.
  -o ORDER, --order ORDER
                        Order of spatial axes for axis labelling purposes.
                        Data is not transposed: dimension 0 will be scrolled
                        through, dimension 1 will be on the up-down axis,
                        dimension 2 will be on the left-right axis,
                        anddimension 3, if it exists, will be used as the
                        colour channels. Default "zyx".
  -f OFFSET, --offset OFFSET
                        3D offset of ROI from (0, 0, 0) in pixels, in the form
                        "<scroll>,<vertical>,<horizontal>"
  -s SHAPE, --shape SHAPE
                        3D shape of ROI in pixels, in the form
                        "<scroll>,<vertical>,<horizontal>"
  -v, --verbose         Increase logging verbosity
smalldataviewer my_data.hdf5 -i /my_group/my_volume

Note: because of the circumstances under which python holds file descriptors open, and under which matplotlib blocks, the executable form reads the data into memory in its entirety. If your data are too big for this, look at small chunks with the oFfset and Shape options.

As library

from smalldataviewer import DataViewer, dataviewer_from_file

import numpy as np
data = np.random.random((30, 100, 100))

viewer = DataViewer(data)
viewer.show()  # or matplotlib.pyplot.show()

viewer2 = dataviewer_from_file(dataviewer, "my_data.npz", "volume")
viewer2.show()

Note: dataviewer_from_file reads the requested data into memory. DataViewer does not, by default. However, you may need to, depending on the rest of your script.

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

smalldataviewer-0.3.2.tar.gz (7.2 kB view details)

Uploaded Source

Built Distribution

smalldataviewer-0.3.2-py2.py3-none-any.whl (9.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file smalldataviewer-0.3.2.tar.gz.

File metadata

File hashes

Hashes for smalldataviewer-0.3.2.tar.gz
Algorithm Hash digest
SHA256 7439dee037c2faad28701ae2b2c932474a0a46b2cec864c3cb8c7eacf32a60b6
MD5 e36415d7ff85d2dcf0cb49323c92bf4d
BLAKE2b-256 ebf7b096dcb441e90db174004922fc217abc33abe854bb837d61bdbcacf8f14d

See more details on using hashes here.

File details

Details for the file smalldataviewer-0.3.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for smalldataviewer-0.3.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9a8b106e492b7c1ba55e3df2a08e5435c49fb8164c26f730c85dbee512442652
MD5 6649c550a692858e59d0564afc97e22b
BLAKE2b-256 220dd6e4fb9cb326a2934fbf18729fcbd6c2d08def86cb63b20e5ed6d90bdb67

See more details on using hashes here.

Supported by

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