Skip to main content

A framework for working with Partial Wave Spectroscopic microscopy files.

Project description

PWSpy

A Python module dedicated to analysis of Partial Wave Spectroscopic Microscopy data.

Statement of need

Any analysis of raw data generated by PWS and related imaging modes requires loading image data and metadata from a large variety of file formats, performing complex pre-processing steps before any of the real analysis begins. Any minor variations in how this pre-processing is performed can result in major differences in final analysis results. PWSpy provides an object-oriented interface for performing all common file I/O and analysis tasks related to PWS. This allows users to write succinct and readable scripts/software that function identically regardless of the file format of the raw data and which are guaranteed to perform all basic operations properly. The analysis steps described in previous publications (1, 2, 3) can be found written out clearly in Python under the analysis package. Classes providing uniform file handling for the current file format used by the PWS Acquisition plugin for Micro-Manager as well as all known legacy formats can be found under the dataTypes package. This library provides support for the backend code of PWSpy_GUI.

Documentation

API documentation is hosted online at ReadTheDocs

Installation

PWSpy is most easily installed with the Conda package manager. It is advisable to install PWSpy into it's own Conda environment to avoid dependency conflicts. Create a new environment with the command: conda create -n {environmentName} python=3.7. You can then make the new environment active in your terminal with conda activate {environmentName}.

More information here.

Installing from Anaconda Cloud (recommended)

PWSpy is published online to the "backmanlab" Anaconda Cloud channel. It can be installed from Conda with the command conda install -c conda-forge -c backmanlab pwspy

Installing with Pip

PWSpy is available on PyPi and can be installed using Pip, however some of its dependencies may not automatically install properly. Installing via conda is the easiest method.

Building from source and distributing

For information on creating a Conda package yourself see here.

Testing

Automated tests using the pytest framework reside under the tests directory. The default configuration for pytest can be found in pyproject.toml. Pytest 6.0 or greater is required. For more information on running pytest from the commandline or IDE integration please see the pytest documentation. The tests require that you first install the test dataset under tests/resources. Due to the size of the test dataset it is hosted externally rather than being included in the Git repository. Please check here for up to date information on how to acquire the test dataset.

Contributing

Read the contributing section in the documentation if you want to help us improve and further develop PWSpy!

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

pwspy-1.0.0.tar.gz (178.8 kB view details)

Uploaded Source

File details

Details for the file pwspy-1.0.0.tar.gz.

File metadata

  • Download URL: pwspy-1.0.0.tar.gz
  • Upload date:
  • Size: 178.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.1 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for pwspy-1.0.0.tar.gz
Algorithm Hash digest
SHA256 55fa5150c337ad07bdefb6496b95ace683228d1e1a8b5c59c27c7f54265e54d7
MD5 124f5372c03f517de8b7739bc81f5135
BLAKE2b-256 5aad5ea9a1ca3beabf745738dea710d36b884d28340810a37be2793539476156

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