PWSpy

PWSpy: A Python library dedicated to the analysis of Partial Wave Spectroscopic Microscopy data. - Published in JOSS (2022)

https://github.com/backmanlab/pwspy

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: ncbi.nlm.nih.gov, nature.com, joss.theoj.org, zenodo.org
  • Committers with academic emails
    2 of 4 committers (50.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Scientific Fields

Mathematics Computer Science - 37% confidence
Last synced: 4 months ago · JSON representation

Repository

A Python library dedicated to the analysis of Partial Wave Microscopy (PWS) data.

Basic Info
  • Host: GitHub
  • Owner: BackmanLab
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 202 MB
Statistics
  • Stars: 4
  • Watchers: 1
  • Forks: 3
  • Open Issues: 1
  • Releases: 19
Created almost 5 years ago · Last pushed about 2 years ago
Metadata Files
Readme Contributing License Citation Codemeta

README.md

PWSpy

A Python module dedicated to analysis of Partial Wave Spectroscopic Microscopy data. Read the paper here

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!

DOI

Owner

  • Name: Backman Lab
  • Login: BackmanLab
  • Kind: organization
  • Location: United States of America

JOSS Publication

PWSpy: A Python library dedicated to the analysis of Partial Wave Spectroscopic Microscopy data.
Published
April 01, 2022
Volume 7, Issue 72, Page 3957
Authors
Nicholas M. Anthony ORCID
Department of Biomedical Engineering, Northwestern University, Evanston, IL, USA.
Vadim Backman ORCID
Department of Biomedical Engineering, Northwestern University, Evanston, IL, USA.
Editor
Jeff Gostick ORCID
Tags
Microscopy Hyperspectral Imaging

CodeMeta (codemeta.json)

{
  "@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
  "@type": "Code",
  "author": [
    {
      "@id": "0000-0003-2882-2471",
      "@type": "Person",
      "email": "nicholas.anthony@northwestern.edu",
      "name": "Nicholas M. Anthony",
      "affiliation": "Department of Biomedical Engineering, Northwestern University, Evanston, IL, USA."
    }
  ],
  "identifier": "",
  "codeRepository": "https://github.com/nanthony21/PWSpy",
  "datePublished": "2021-11-09",
  "dateModified": "2021-11-09",
  "dateCreated": "2021-11-09",
  "description": "A Python library dedicated to the analysis of Partial Wave Spectroscopic Microscopy data.",
  "keywords": "Python, Microscopy, Hyperspectral Imaging",
  "license": "GPS v3.0",
  "title": "PWSpy",
  "version": "1.0.0"
}

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 2,186
  • Total Committers: 4
  • Avg Commits per committer: 546.5
  • Development Distribution Score (DDS): 0.102
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Nick Anthony n****y@n****u 1,962
Nick n****y@h****m 222
Kyle Niemeyer k****r@f****m 1
nai5790 n****6@u****u 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 5
  • Total pull requests: 18
  • Average time to close issues: 6 days
  • Average time to close pull requests: about 12 hours
  • Total issue authors: 2
  • Total pull request authors: 2
  • Average comments per issue: 3.6
  • Average comments per pull request: 0.0
  • Merged pull requests: 18
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pr4deepr (3)
  • hamsamilton (2)
Pull Request Authors
  • nanthony21 (17)
  • kyleniemeyer (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 242 last-month
  • Total dependent packages: 1
  • Total dependent repositories: 1
  • Total versions: 18
  • Total maintainers: 1
pypi.org: pwspy

A framework for working with Partial Wave Spectroscopic microscopy files.

  • Versions: 18
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 242 Last month
Rankings
Dependent packages count: 4.8%
Downloads: 16.1%
Average: 16.5%
Forks count: 16.9%
Dependent repos count: 21.6%
Stargazers count: 23.1%
Maintainers (1)
Last synced: 4 months ago

Dependencies

setup.py pypi
  • h5py *
  • jsonschema *
  • matplotlib *
  • numpy *
  • opencv-python *
  • pandas *
  • psutil *
  • rasterio *
  • scikit-image *
  • scipy *
  • shapely *
  • tifffile *
docs/requirements.txt pypi
  • setuptools_scm *
  • sphinx-autodoc-typehints *
  • sphinx_rtd_theme *
.github/workflows/JOSSPaper.yml actions
  • actions/checkout v2 composite
  • actions/upload-artifact v1 composite
  • openjournals/openjournals-draft-action v.1.0 composite
.github/workflows/conda-publish.yml actions
  • actions/checkout v2 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/pypi-publish.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
pyproject.toml pypi