Skip to main content

Python Image Sequence

Project description

pims: Python Image Sequence

What Problem Does PIMS Solve?

Scientific video can be packaged in various ways: familiar video formats like .AVI and .MOV, folders full of numbered images, or "stacks" of TIFF images. Each of these requires a separate Python module. And, once loaded, they have different methods for accessing individual images, looping through the images in bulk, accessing a specific range, or dealing with multidimensional files. PIMS can do all of these using a consistent interface, handling the differences between different inputs invisibly.

Formats readable by pims include:

  • Directories or zipfiles of still images (most formats, including TIFF, JPEG, PNG, BMP), and TIFF stacks
  • Microscope images supported by the Bio-formats project, including Leica, Nikon, Olympus, and Zeiss formats. Requires separate installation; see below.
  • Movie formats and codecs supported by ffmpeg, including AVI, QuickTime MOV, and H.264 (MP4). May require separate installation; see below.
  • CINE files from Vision Research cameras
  • SEQ files from NorPix StreamPix software

PIMS is based on readers by:

  • scikit-image
  • ffmpeg and PyAV (video formats such as AVI, MOV)
  • jpype (interface with Bio-formats)
  • Pillow (improved TIFF support)
  • tifffile (alterative TIFF support)
  • pims_nd2 (improved Nikon .nd2 support)
  • imageio (a multi-purpose reader package that reads and writes many formats)
  • moviepy (a Python module that supports video editing)
  • nd2reader (a Pure Python module for reading Nikon NIS Elements ND2 images and metadata)

Examples & Documentation

Everything is demonstrated in this IPython notebook.

Read the documentation for installation instructions, examples, and further reference.

Core Contributors

  • Daniel Allan founding contributor, slicing and iteration logic, basic readers, display tools
  • Thomas Caswell major refactor, abstract base class
  • Casper van der Wel bioformats readers, display tools
  • Thomas Dimiduk filetype-detecting dispatch logic

Support

This package was developed in part by Daniel Allan, as part of his PhD thesis work on microrheology in Robert L. Leheny's group at Johns Hopkins University in Baltimore, MD. The work was supported by the National Science Foundation under grant number CBET-1033985. Later work was supported by Brookhaven National Lab. Dan can be reached at dallan@bnl.gov.

This package was developed in part by Thomas A Caswell as part of his PhD thesis work in Sidney R Nagel's and Margaret L Gardel's groups at the University of Chicago, Chicago IL. This work was supported in part by NSF Grant DMR-1105145 and NSF-MRSEC DMR-0820054. Later work was supported by Brookhaven National Lab. Tom can be reached at tcaswell@gmail.com.

This package was developed in part by Casper van der Wel, as part of his PhD thesis work in Daniela Kraft's group at the Huygens-Kamerlingh-Onnes laboratory, Institute of Physics, Leiden University, The Netherlands. This work was supported by the Netherlands Organisation for Scientific Research (NWO/OCW).

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

pims-0.7.tar.gz (87.8 kB view details)

Uploaded Source

File details

Details for the file pims-0.7.tar.gz.

File metadata

  • Download URL: pims-0.7.tar.gz
  • Upload date:
  • Size: 87.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.19

File hashes

Hashes for pims-0.7.tar.gz
Algorithm Hash digest
SHA256 55907a4c301256086d2aa4e34a5361b9109f24e375c2071e1117b9491e82946b
MD5 663b9b4f502678c255ef28cb23f6aab0
BLAKE2b-256 b8025bf3639f5b77e9b183011c08541c5039ba3d04f5316c70312b48a8e003a9

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