Skip to main content

napari-time_series_plotter

License Python Version PyPI Anaconda-Server Badge napari hub tests codecov

Description

Napari-time_series_plotter (TSP) is a plugin for the napari ndimensional image viewer.

TSP adds live plotting of time-resolved images to napari. You can select and visualize pixel/voxel or ROI mean values from one or multiple image layers as intensity-over-time line plots (The first image dimension is handled as time) and save the figures or the underlying time series data as CSV file. TSP supports 3D to nD images (3D: t+2D, nD: t+nD).

Plotting is handeled by the Explorer widget, it offers three different plotting modes: Voxel, Shapes, Points
--> Voxel mode offers live plotting while moving the cursor over an image layer
--> Shapes mode offers shape-based ROI plotting the ROI combination method can be one of [Mean, Median, STD, Sum, Min, Max]; multiple ROIs can be plotted simultaneously
--> Points mode offers simultaneous, point-based plotting of multiple voxels
You can modify and save the plots through the canvas toolbar.
Plotting powered by napari-matplotlib.

Viewing the time series as a table is handled by the Inspector widget. You can load the data you've plotted and inspect the single time point values of each selection. The columns are named like the plots in the Explorer. You can copy the whole tabe or a selection to the clipboard or directly expot it to a CSV file to save the time series.


Installation

You can either install the latest version via pip or conda.

pip:

pip install napari-time-series-plotter

or download the packaged tar.gz file from the release assets and install it with

pip install /path/to/file.tar.gz

conda:

conda install -c conda-forge napari-time-series-plotter

Alternatively, you can install the plugin directly in the napari viewer plugin manager, the napari hub, or the release assets.


To install the latest development version install directly from the relevant GitHub branch.

Usage

Basics and Live plotting

basic_demo

  1. Select the TSPExplorer widget in the Plugins tab of the napari viewer
  2. Use the LayerSelector to choose the image layers you want to source for plotting
  3. Move the corsor over the layer while holding "Shift"

The Options tab offers multiple options to customize your plot.

  • Set custom title or axe labels
  • Switch between autoscaling and manually defined max and min values of the axes
  • Switch to label truncation in the options tab if your layer names are too long for the figure legend (set max length manually)
  • Set a scaling factor for the X-axis

The plot can be modified and saved through its toolbar above.

Plotting ROIs

roi_demo

  1. Select the Shapes plotting mode via the Options tab (Voxel mode is the default).
  2. Use the LayerSelector to choose the image layers you want to source for plotting.
  3. Add one ore more shapes to the "ROI Selection" layer.
    The "ROI Selection" shapes are 2D only, effecting the currently displayed slice.
    (newly added shapes might have to be moved before they are correctly plottet)
  4. Reposition or remove shapes if needed.
  5. Change the ROI mode in the Options tab (Default: mean).

Plotting multiple Points

points_demo

  1. Select the Shapes plotting mode via the Options tab (Voxel mode is the default).
  2. Use the LayerSelector to choose the image layers you want to source for plotting.
  3. Add one or more points to the "Point selection" layer.
    The points can be on different slices (3D and 4D support only) or images (grid mode)
  4. Reposition or remove points if needed.

View time series as table

points_demo

  1. Select the TSPInspector widget in the Plugins tab of the napari viewer
  2. Press the load from plot button to load the currently displayed plots into the Inspector

You can copy the whole table or a selection to your clipboard or export it to CSV file through the buttons above.

ToDo (help welcome)

  • Add Sphinx documentation

Version 0.1.0 Milestones

  • Update to napari-plugin-engine2 #5
  • Update widget GUI #6
  • Add widget to save pixel/voxel time series to file #7
  • Add ROI and multi-voxel plotting #14
  • Evaluate and close remaining issues (#22, #25,)

Contributing

Contributions are very welcome. Tests can be run with tox, please ensure the coverage at least stays the same before you submit a pull request.

License

Distributed under the terms of the BSD-3 license, "napari-time_series_plotter" is free and open-source software

Issues

If you encounter any problems, please file an issue along with a detailed description.


References

This napari plugin was generated with Cookiecutter using @napari's cookiecutter-napari-plugin template.

Images used in the demo gif were taken from The Cancer Imaging Archive

DOI: https://doi.org/10.7937/K9/TCIA.2015.VOSN3HN1
Images: 1.3.6.1.4.1.9328.50.16.281868838636204210586871132130856898223
        1.3.6.1.4.1.9328.50.16.254461916058189583774506642993503110733

Metadata

Release files for napari-time-series-plotter 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for napari-time-series-plotter 0.0.6
File Size Uploaded
napari-time_series_plotter-0.0.6.tar.gz 2.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for napari-time-series-plotter 0.0.6
File Interpreter ABI Platform
napari_time_series_plotter-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / napari-time_series_plotter-0.0.6.tar.gz

Download URL napari-time_series_plotter-0.0.6.tar.gz
Size 2.5 MB
Tags Source
SHA-256 checksum
How to use checksums
49b5727bb2362a4c01316c90d7039e76f1337e13170c2e25b8ed171afac09181
BLAKE2b-256 checksum
How to use checksums
69d29525335d1fd8a63ef10d3ca2dec852532afc52814e7f4d857f019548a1f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / napari_time_series_plotter-0.0.6-py3-none-any.whl

Download URL napari_time_series_plotter-0.0.6-py3-none-any.whl
Size 25.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2cb638d5453266a4ba578005d15d10912250d2c993319f4268e3780e0a49da90
BLAKE2b-256 checksum
How to use checksums
3c0df2cc147d58663662229ebfe67a8223db31555f842ca8e9208290ffd82bc9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

2 release files

0.0.4

1 release file

0.0.3

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page