Skip to main content

A Python Library estimating somatic signals in 2-photon data

Project description

Join the FISSA chat Latest PyPI release Travis Build Status Documentation Status Codecov Coverage Coveralls Coverage Download Counter

FISSA

FISSA (Fast Image Signal Separation Analysis) is a Python library for decontaminating somatic signals from two-photon calcium imaging data. It can read images in tiff format and ROIs in zips as exported by ImageJ; or operate with numpy arrays directly, which can be produced by importing files stored in other formats.

For details of the algorithm, please see our companion paper published in Scientific Reports. For the code used to generate the simulated data in the companion paper, see the SimCalc repository.

FISSA is compatible with both Python 2.7 and Python 3.5+. Using Python 3 is strongly encouraged, as Python 2 will no longer be maintained starting January 2020.

FISSA has been tested on Ubuntu 17.04 and on Windows Windows 10 with the Anaconda distribution.

Documentation, including the full API, is available online at https://fissa.readthedocs.io.

If you encounter a specific problem please open a new issue. For general discussion and help with installation or setup, please see the Gitter chat.

Usage

A general tutorial on the use of FISSA can be found at: https://rochefort-lab.github.io/fissa/examples/Basic%20usage.html

An example workflow with another Python toolbox (SIMA): https://rochefort-lab.github.io/fissa/examples/SIMA%20example.html

An example workflow importing data exported from a MATLAB toolbox (cNMF): https://rochefort-lab.github.io/fissa/examples/cNMF%20example.html

These notebooks can also be run on your own machine. To do so, you will need to download a copy of the repository, unzip it and browse to the examples directory. Then, start up a jupyter notebook server to run our notebooks. If you’re new to jupyter notebooks, an approachable tutorial can be found at https://www.datacamp.com/community/tutorials/tutorial-jupyter-notebook.

Installation

Installation on Windows

Basic prerequisites

Download and install, in the following order:

Installing FISSA

Open Anaconda Prompt.exe, which can be found through the Windows start menu or search, and type or copy-paste (by right clicking) the following:

conda install -c conda-forge shapely tifffile

Then, install FISSA by running the command

pip install fissa

You can check to see if FISSA is installed by running the command

python -c "import fissa; print(fissa.__version__)"

You will see your FISSA version number printed in the terminal.

If you want to use the interactive plotting from the notebooks, you should also install the HoloViews plotting toolbox, as follows

conda install -c ioam holoviews

See usage above for details on how to use FISSA.

Installation on Linux

Before installing FISSA, you will need to make sure you have all of its dependencies (and the dependencies of its dependencies) installed.

Here we will outline how to do all of these steps, assuming you already have both Python and pip installed. It is highly likely that your Linux distribution ships with these.

Dependencies of dependencies

These packages can be installed on Debian/Ubuntu with the following shell commands.

sudo apt-get update
sudo apt-get install gfortran libopenblas-dev liblapack-dev libatlas-dev libatlas-base-dev
sudo apt-get install libgeos-dev
sudo apt-get install libjpeg-dev
Installing FISSA

For normal usage of FISSA, you can install the latest release version on PyPI using pip:

pip install fissa

To also install fissa along with the dependencies required to run our sample notebooks (which include plots rendered with holoviews) you should run the following command:

pip install fissa['plotting']

You can check to see if FISSA is installed by running the command

python -c "import fissa; print(fissa.__version__)"

You will see your FISSA version number printed in the terminal.

Folder Structure

A clone of this repository will contain directories detailed below.

docs/

Contains the source for the documentation, which is available online at https://fissa.readthedocs.io. You can build a local copy of the documentation by running the command

make -C docs html

examples/

Contains example code. You can load the notebooks as .ipynb directly in GitHub, or on your system if you know how to use jupyter notebooks.

examples/exampleData/

Contains example data. It a zipfile with region of interests from ImageJ. It also contains three tiff stacks, which have been downsampled and cropped from full data from the Rochefort lab.

fissa/

Contains the toolbox.

fissa/tests/

Contains tests for the toolbox, which are run to ensure it will work as expected.

.ci/

Contains files necessary for deploying tests on continuous integration servers. Users should ignore this directory.

Citing FISSA

If you use FISSA for your research, please cite the following paper in any resulting publications:

S. W. Keemink, S. C. Lowe, J. M. P. Pakan, E. Dylda, M. C. W. van Rossum, and N. L. Rochefort. FISSA: A neuropil decontamination toolbox for calcium imaging signals, Scientific Reports, 8(1):3493, 2018. doi: 10.1038/s41598-018-21640-2.

For your convenience, the FISSA package ships with a copy of this citation in bibtex format, available at citation.bib.

License

Unless otherwise stated in individual files, all code is Copyright (c) 2015, Sander Keemink, Scott Lowe, and Nathalie Rochefort. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fissa-0.6.3.tar.gz (25.5 kB view details)

Uploaded Source

Built Distribution

fissa-0.6.3-py2.py3-none-any.whl (40.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file fissa-0.6.3.tar.gz.

File metadata

  • Download URL: fissa-0.6.3.tar.gz
  • Upload date:
  • Size: 25.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for fissa-0.6.3.tar.gz
Algorithm Hash digest
SHA256 5b75e81769e28f8183bcb47ea51595da7c2d494d330f13a2fb74f2b8a9e5fa2f
MD5 34efad41b9d46347ff59cbebde60f168
BLAKE2b-256 55099f3f50c78edaaf70a9d522db4cc832829a5b108d32a9e032c703acf62904

See more details on using hashes here.

File details

Details for the file fissa-0.6.3-py2.py3-none-any.whl.

File metadata

  • Download URL: fissa-0.6.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for fissa-0.6.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 760e9e187b36d2385a30b9039c0781577abe299fc630c71c435a0d88bdde824d
MD5 7358022b6585e7ceee4fe2214fc7c1c9
BLAKE2b-256 76e927a65db4a6179ace5df7e077131ecd9d100e416167865118dbb1eacd66e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page