Skip to main content

PiSCAT: An open source package in Python for interferometric Scattering Microscopy

iSCAT microscopy was introduced in our laboratory about two decades ago (1) and demonstrated to be the method of choice for label-free imaging and tracking of matter at nanometric scale (2), with a wide range of applications such as detection of gold nanoparticles, single dye molecules, viruses, and small proteins (3). The image of a nanoparticle in iSCAT microscopy is formed via the interference between the light scattered from the particle and a reference field which is a part of the incident laser light. The photostable scattering signal from nanoparticles allows for very long measurements at high speeds, all the way up to megahertz, limited only by the available technology, e.g. of cameras or scanners. Recording fast and long videos however, produces a large volume of data which needs to undergo several stages of computationally demanding analysis. We introduce PiSCAT as a python-based package for the analysis of variuos iSCAT measurements and related experiments. PiSCAT aims to facilitate high-performance quantitative analysis of big data and provide a generally open-access platform to enable and speed up the research in iSCAT and related communities. To facilitate the use of PiSCAT, we offer tutorials with live-code features in which we present state-of-the-art algorithms for iSCAT microscopy. These cover important educative materials in jupyter notebooks, supported with a web-based documentation page.

In this first release, we provide analysis tools for the sensitive detection of single unlabelled proteins via wide-field iSCAT microscopy. Proteins are only a few nanometers in size with a molecular weight of a few to several hundred kDa. They were detected via iSCAT already in 2014 for small proteins down to the Bovines Serumalbumin (BSA) protein with a mass of 65 kDa (4). iSCAT microscopy is since employed in several more advanced applications such as real-time investigation of cellular secretion (5,6) and quantitative mass spectrometry of single proteins (7).

Documentation

The documentation webpage of PiSCAT modules can be found here.

The outputs from most of the PiSCAT localization and tracking methods are of Panda data frame type. This data structure has the ability to be easily appended/extended with more information based on different levels of analysis. The data structures containing the results of localization and tracking routines can be saved as csv, mat and HDF5 files. This helps users to work with the analyzed information using different softwares namely, MATLAB and Microsoft Excel. HDF5 is a well-known format that is readable in different programming languages and supports large, complex, heterogeneous data. HDF5 uses a "file directory" like structure that allows users to organize data within the file in structured ways and to embed metadata as well, making it self-describing.

Core Contributors

  1. Houman Mirzaalian Dastjerdi: The main contributor and developer of this package (including GUI) is Houman Mirzaalian Dastjerdi. PiSCAT is part of his Ph.D. thesis in collaboration between the Sandoghdar group at Max Planck Institute for the science of light and the Chair for Computer Science 10 (LSS). Houman can be reached at houman.mirzaalian-dastjerdi@mpl.mpg.de.

  2. Reza Gholami Mahmoodabadi: Reza contributed in the design and development of the following modules: Analysis, Background Correction, InputOutput, Localization, Preprocessing and trajectory. He can be reached at reza.gholami@mpl.mpg.de.

  3. iSCAT team: Over the years, many people in our group have contributed to progress in iSCAT science. We are particularly thankful to the group members that have actively helped in the development of PiSCAT, either through experiments, analysis development or comments: M. Dahmardeh, A. Gemeinhardt, A. Kashkanova, K. König, R. Gholami Mahmoodabadi, H. Mazal and H. Mirzaalian Dastjerdi.

Installation

From PyPi

To install PiSCAT using PyPi, enter the following command in the console:

pip install piscat

Local installation of PiSCAT

Clone/download this repository and unzip it. In the project directory enter the following command

pip install -e .

Running PiSCAT GUI

Once the installation is done and the python environment is activated, enter the following command in the console:

python -m piscat

Citing PiSCAT

TODO

Testing

To run the tests, please activate the PiSCAT virtual environment. In the project directory, in the console, enter the following command:

python setup.py test

Installation of PiSCAT virtual environment in the PyCharm IDE:

  1. Follow the hyper links and the install Python 3.7 and PyCharm.
  2. Create a virtual environment based on the instructions provided here.
  3. Follow this link to select PiSCAT venv as the interpreter, to install the setup.py file and then to run a setup.py task.

Metadata

Release files for piscat 0.1.0.post14

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

Source distribution (sdist)

Source distribution for piscat 0.1.0.post14
File Size Uploaded Provenance Actions
piscat-0.1.0.post14.tar.gz 874.0 kB Without provenance Details for piscat-0.1.0.post14.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for piscat 0.1.0.post14
File Interpreter ABI Platform Actions
piscat-0.1.0.post14-py3-none-any.whl Python 3 none any Details for piscat-0.1.0.post14-py3-none-any.whl

Total release size: 1.8 MB

Release files / piscat-0.1.0.post14.tar.gz

Download URL piscat-0.1.0.post14.tar.gz
Size 874.0 kB
Tags Source
SHA-256 checksum
How to use checksums
19b19ff0a32cec083705fecd6071876cfbdac80b9d2b9d162139da953d9d018e
BLAKE2b-256 checksum
How to use checksums
8a504a19002e0e1e1f8bad07ebc60be7061d08558a4fdb71557655794a496726
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

Release files / piscat-0.1.0.post14-py3-none-any.whl

Download URL piscat-0.1.0.post14-py3-none-any.whl
Size 920.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e8ec8c1befd2dd4ce42495fcc621ed85d734b20fb6f92d58c2fbe637fe36fe48
BLAKE2b-256 checksum
How to use checksums
daa26e8181c9c143c97642ffe8e57c25bc9e56ef2540fb74bba4cc488881f891
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

Security for piscat 0.1.0.post14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0.post14 This release

2 release files No provenance

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