Installation¶
Dependencies¶
C libraries¶
Python¶
scons (to build the C libraries).
Installing using wheels¶
Wheels for 64 bit Windows are here. Despite their names, these will not work with 32 bit Python as the C libraries are 64bit.
Christoph Gohlke is one source for Windows wheels for this project’s Python dependencies.
An example 64 bit Windows / Python3 installation
# Create a virtual environment:
$ \path\to\Python3.X\python.exe -m venv pyenv\sa_python3
$ pyenv\sa_python3\Scripts\activate
# Install dependencies, wheel files downloaded from Gohlke.
$ pip install \path\to\wheels\xyz_amd64.whl
$ ...
$ pip install randomcolor
$ pip install pyqt5
# Install the storm-analysis wheel.
$ pip install \path\to\wheels\storm_analysis-X.X-py3-none-any.whl
# (Optional) test the install.
$ pip install pytest
$ cd pyenv\sa_python3\Lib\site-packages\storm_analysis\test
$ pytest
Note
In this install the code in the storm_analysis project can be found in pyenv\sa_python3\Lib\site-packages\storm_analysis so if you would like to run something from the command line this is the place to look.
Installing from source¶
Virtual environments¶
In order to isolate the storm-analysis from other Python projects, or if you are attempting to install this package on a computer where you do not have root access the use of Python virtual environments is highly recommended. Two good resources are:
Note
Link (2) above describes the best way to create the virtual environment on Windows in a way that they will work with PyQt5.
Using setup.py¶
The C libraries are built using SCons.
Basic installation
$ git clone https://github.com/ZhuangLab/storm-analysis.git
$ cd storm-analysis
$ python -m pip install scons
$ scons
$ python -m pip install .
Linux / OS-X example
$ cd storm-analysis
$ python -m pip install scons
$ scons
$ python -m pip install .
Windows (mingw64) example
$ cd storm-analysis
$ python -m pip install scons
$ scons -Q compiler=mingw
$ python -m pip install .
nuwen is one source for mingw64.
Note
The OS-X build assumes that the lapack and fftw libraries are installed in the standard homebrew location, /usr/local/. If this is not the case you may need to edit storm-analysis/SConstruct.
Note
The OS-X build requires a fairly recent version of XCode, v8.1+? v8.3.3 is known to work.
Note
For mingw64 on Windows builds, use the CMD environment provided by mingw64.
Using Anaconda¶
(Optional) create an environment to keep your main Python installation clean
$ conda create -n my_env python=X.Y
$ conda activate my_env # or activate my_env under Windows
Install dependencies (Linux / OS-X)
$ conda config --add channels conda-forge
$ conda install gcc numpy pytest pytest-runner tifffile scipy matplotlib h5py astropy pillow shapely randomcolor pywavelets scons
Note
Anaconda gcc and XCode gcc may clash. If you have XCode installed you may have better luck not using gcc from Anaconda.
Install dependencies (Windows)
$ conda config --add channels conda-forge
$ conda install numpy pytest pytest-runner m2w64-toolchain tifffile scipy h5py astropy matplotlib pillow shapely randomcolor pywavelets scons
Get the storm-analysis source code using git
$ git clone https://github.com/ZhuangLab/storm-analysis.git
$ cd storm-analysis
Install storm-analysis
# Windows / mingw
$ scons -Q compiler=mingw
$ python setup.py install
# Linux / OS-X
$ scons
$ python setup.py install
Testing¶
Test the (source) installation (this requires pytest and will take a few minutes to run)
$ cd storm-analysis
$ pytest