Viewer for Python IMage Sequence (PIMS).
Project description
A graphical user interface (GUI) for PIMS
This viewer was based on skimage.viewer.CollectionViewer (docs) and is able to work with N-dimensional image files that are opened by PIMS.
Also, it exposes a matplotlib plotting area on which images can be (dynamically) annotated, making use of the Plugin infrastructure.
Starting the viewer
You can start the viewer as follows:
from pimsviewer import Viewer viewer = Viewer() viewer.show()
Optionally you may include a reader:
import pims from pimsviewer import Viewer viewer = Viewer(pims.open('path/to/file')) viewer.show()
Example: evaluating the effect of a processing function
This example adds a processing function that adds an adjustable amount of noise to an image. The amount of noise is tunable with a slider, which is displayed on the right of the image window.
import numpy as np import pims from pimsviewer import Viewer, ProcessPlugin, Slider reader = pims.open('path/to/file') def add_noise(img, noise_level): return img + np.random.random(img.shape) * noise_level / 100 * img.max() AddNoise = ProcessPlugin(add_noise, 'Add noise', dock='right') AddNoise += Slider('noise_level', low=0, high=100, value=10, orientation='vertical') viewer = Viewer(reader) + AddNoise viewer.show()
Example: annotating features on a video
This example annotates features that were obtained via trackpy onto a video.
import trackpy as tp from pimsviewer import Viewer, AnnotatePlugin reader = pims.open('path/to/file') f = tp.batch(reader, diameter=15) (Viewer(reader) + AnnotatePlugin(f)).show()
Example: selecting features on a video
This example annotates features on a video, allows to hide and move features, and returns the adapted dataframe.
import trackpy as tp from pimsviewer import Viewer, SelectionPlugin reader = pims.open('path/to/file') f = tp.batch(reader, diameter=15) f = tp.link_df(f, search_range=10) viewer = Viewer(reader) + SelectionPlugin(f) f_result = viewer.show()
Example: designing a custom plotting function
This dynamically shows the effect of tp.locate.
import trackpy as tp from pimsviewer import Viewer, Slider, PlottingPlugin def locate_and_plot(image, radius, minmass, separation, ax): f = tp.locate(image, diameter=radius * 2 + 1, minmass=minmass, separation=separation) if len(f) == 0: return return ax.plot(f['x'], f['y'], markersize=15, markeredgewidth=2, markerfacecolor='none', markeredgecolor='r', marker='o', linestyle='none') reader = pims.open('path/to/file') Locate = PlottingPlugin(locate_and_plot, 'Locate', dock='right') Locate += Slider('radius', 2, 20, 7, value_type='int', orientation='vertical') Locate += Slider('separation', 1, 100, 7, value_type='float', orientation='vertical') Locate += Slider('minmass', 1, 10000, 100, value_type='int', orientation='vertical') viewer = Viewer(reader) + Locate viewer.show()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pimsviewer-1.0.tar.gz
.
File metadata
- Download URL: pimsviewer-1.0.tar.gz
- Upload date:
- Size: 19.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f78fc0d3431d4c9c19a5e20d05a429cce01fe9c645aa6da7c446b538e5a0473b |
|
MD5 | 623a81adcee7d486c6c1443db629e0e8 |
|
BLAKE2b-256 | 99a995cfd2e45bef01dbf476a86b8dafa8f4c0c7d090cde147dd8b36e4b8b72b |