Documentation is available here.
Stimfit is a free, fast and simple program for viewing and analyzing electrophysiological data. It's currently available for GNU/Linux, Mac OS X and Windows. The standard version of Stimfit features an embedded Python shell that allows you to extend the program functionality by using numerical libraries such as NumPy and SciPy. A standalone Python module for file i/o that doesn't depend on the graphical user interface is also available. The "lite" version of Stimfit comes without an embedded Python shell. Stimfit-lite is more lite-weight, easier to build and install. Stimfit is using the Import filters of Biosig which supports reading of over 50 different dataformats.
The repository uses two upstream lines and two Debian packaging lines:
master: primary development branch for the modern CMake-based toolchain0.16: legacy-maintenance branch for the historical 0.16/autotools linedebian/sid: Debian unstable packaging branch trackingmasterdebian/sid-0.16: Debian packaging branch tracking0.16
Contributor and maintainer workflow details are documented in BRANCHES.md.
In this link you can find a list of publications that used Stimfit for analysis. We'd appreciate if you could cite the following publication when you use Stimfit for your research:
Guzman SJ, Schlögl A, Schmidt-Hieber C (2014) Stimfit: quantifying electrophysiological data with Python. Front Neuroinform doi: 10.3389/fninf.2014.00016
you can get Stimfit and the stfio module from the standard repositories:
$ sudo apt-get install stimfit python-stfio
This approach works also on WSL2 of the most recent version of Windows10 (build: 10.0.19045.2546 ). Stimfit is also available through a number of distros
- Stimfit for OS X is available through MacPorts. After installation of MacPorts, run
$ sudo port install stimfit py27-stfio
- Stimfit-lite (w/o python) can be also installed through HomeBrew. Afer installing homebrew, run
$ brew install schloegl/biosig/stimfit
There are several options to install Stimfit on Windows. Each has its own advantages (+) and disadvantages (-):
The traditional version of Stimfit v0.15.8-beta1
including the python-stfio module, is available from releases. It is quite dated, there are a number of known issues with import filters.
- import filter not up-to-date [issues: 93, 95, 97]
affected formats: ABF2, ATF, AXG, CNT, EDF+, HEKA, IBW, MFER, RHD/RDS
- python2 only, python2 has reached end-of-live, (issue 88)
- warning from windows defender (issue 98 [3])
+ works with all versions of Windows7 and later.
The lite-version of Stimfit (w/o embedded Python) is available as part of the Biosig-tools. Download, unzip and copy ../bin/stimfit.exe to your desktop.
+ import filters are up-to-date (chances are this would address the issues: 93, 95, 97 [3]).
- no embedded python (CLI, printing not available)
- warning from windows defender (issue 98 [3])
+ works with all versions of Windows7 and later.
With the most recent version of Windows10 (build: 10.0.19045.2546 ), Stimfit for Linux can be installed through WSL2. e.g. when using Ubuntu in WSL2 (see GNU/Linux above).
+ import filters are up-to-date
+ python3 embedded
+ no warnings from windows defender, checksum of download is checked by "apt"
- requires most recent Windows10 (version 10.0.19045.2546) with WSL2; certain functionality (e.g. copy/paste, file access) might require a non-standard workflow.
The CMake build can produce a distributable Windows installer with CPack.
Prerequisites:
- Inno Setup 6 installed (for the
INNOSETUPCPack generator) - Visual Studio 2022 build tools
- Python environment matching the selected configure preset when embedded Python is enabled
Example workflow for a Python-enabled Windows release build:
cmake --preset vs2022-vcpkg-wx-hdf5-python314-biosig-patched
cmake --build --preset vs2022-release-stimfit-python314-biosig-patched
cmake --install ../stimfit-out/vs2022-vcpkg-wx-hdf5-python314-biosig-patched --config Release
cd ../stimfit-out/vs2022-vcpkg-wx-hdf5-python314-biosig-patched
cpack -C Release -G INNOSETUP
cpack -C Release -G ZIPThe resulting artifacts are written into the build directory and include:
- an Inno Setup installer executable
- a ZIP fallback package from the same install tree
| Directory | Description |
|---|---|
| ./src/libstfio | File i/o library for common electrophysiology formats |
| ./src/libstfnum | Mathematical operations for measurements and fittings |
| ./src/pystfio | Python wrapper around libstfio |
| ./src/stimfit | Stimfit program |
| ./src/stimfit/py | stf module that gets imported into the embedded Python shell |
libstfio is a private library that won't be installed system-wide. You may therefore end up with two copies of libstfio.so: One in the private stimfit library directory (/usr/lib/stimfit/ or similar), the other one in the Python site packages path for pystfio. libstfio may turn into a system-wide library in the future.
An initial CMake bootstrap layer is available to support migration from Autotools.
See CMAKE_MIGRATION.md for details.