Metadata-Version: 2.1
Name: pyminflux
Version: 0.4.1
Summary: Reader, processor, and viewer of MINFLUX raw data.
Home-page: https://github.com/bsse-scf/pyMINFLUX
License: Apache-2.0
Keywords: MINFLUX,Visualization,Filtering,Analysis,Python
Author: Aaron Ponti
Author-email: aaron.ponti@bsse.ethz.ch
Requires-Python: >=3.10,<3.12
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: End Users/Desktop
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Scientific/Engineering
Requires-Dist: h5py (>=3.9.0,<4.0.0)
Requires-Dist: numpy (>=1.23.4,<2.0.0)
Requires-Dist: pandas (>=2.2.0,<3.0.0)
Requires-Dist: pyarrow (>=15.0.0,<16.0.0)
Requires-Dist: pyqtgraph (>=0.13.2,<0.14.0)
Requires-Dist: pyside6 (>=6.4.0.1)
Requires-Dist: requests (>=2.31.0,<3.0.0)
Requires-Dist: scikit-learn (>=1.2.0,<2.0.0)
Requires-Dist: scipy (>=1.9.3,<2.0.0)
Project-URL: Bug Tracker, https://github.com/bsse-scf/pyMINFLUX/issues
Project-URL: Documentation, https://github.com/bsse-scf/pyMINFLUX/wiki
Project-URL: Repository, https://github.com/bsse-scf/pyMINFLUX
Description-Content-Type: text/markdown

# ![](pyminflux/ui/assets/Logo_v3_small.png)&nbsp;&nbsp;&nbsp;pyMINFLUX

Reader, analyzer, and viewer of MINFLUX raw data.

<p align="center">
  <img width="800" src="https://pyminflux.ethz.ch/img/pyminflux.png">
</p>

## Installation

### Apps

Compiled executables (apps) for Linux, macOS and Windows can be downloaded from the [release page](https://github.com/bsse-scf/pyMINFLUX/releases/latest). 

**Please note**: since pyMINFLUX on macOS comes from an *unidentified developer*, you might need to make an exception in the macOS security settings when launching it for the first time. To do this, right-click on the application icon and select `Open`. After this initial setup, you can simply double-click the icon to launch pyMINFLUX normally.

### pip

The latest version of pyMINFLUX can also be installed from [pypi.org](https://pypi.org/project/pyminflux/). pyMINFLUX is compatible with and tested on Python 3.10 and 3.11. It is recommended to install pyMINFLUX in a conda environment as follows:

```sh
$ conda create -n pyminflux-env python=3.11  # or 3.10
$ conda activate pyminflux-env
$ pip install --upgrade pyminflux
```

pyMINFLUX can then easily be run from the command line:

```sh
$ pyminflux
```

## For developers and tinkerers

pyMINFLUX is compatible with and tested on Python 3.10 and 3.11. For development, it is recommended to install pyMINFLUX in editable mode in a [conda](https://docs.conda.io/en/latest/miniconda.html#latest-miniconda-installer-links) environment as follows:

```sh
$ conda create -n pyminflux-env python=3.11  # or 3.10
$ conda activate pyminflux-env
$ git clone https://github.com/bsse-scf/pyMINFLUX /path/to/pyminflux
$ cd /path/to/pyminflux
$ python -m pip install -e .
$ pip install -r dev-requirements.txt
```

If you want to participate to the development of pyMINFLUX, please have a look at [how you can contribute](CONTRIBUTING.md) and at our [code of conduct](CODE_OF_CONDUCT.md).

### Running pyMINFLUX from console

```sh
$ cd /path/to/pyminflux
$ python pyminflux/main.py  # As a Python script, or
$ pyminflux                 # as a standalone tool
```

### Using the pyMINFLUX API from Python scripts or Jupyter Notebooks

The graphical user interface is not the only way to use pyMINFLUX. Indeed, the pyMINFLUX core library can be integrated in Python scripts or Jupyter Notebooks. The documentation for the pyMIMFLUX core API can be found on [https://pyminflux.ethz.ch/api/pyminflux/](https://pyminflux.ethz.ch/api/pyminflux/); an example Jupyter Notebook is [bundled with the code](/examples/processing.ipynb).

## User manual

The user manual is hosted in the [project wiki](https://github.com/bsse-scf/pyMINFLUX/wiki/pyMINFLUX-user-manual).

## Official website

The official pyMINFLUX website is on https://pyminflux.ethz.ch.

## pyMINFLUX mailing list

Join the [pyMINFLUX mailing list](https://sympa.ethz.ch/sympa/subscribe/pyminflux) for release announcements and further discussions.

## Contributing to pyMINFLUX

We value the contribution of our community members, and to make sure that everyone can profit from this collaboration, we ask you to have a look at our [CONTRIBUTING](./CONTRIBUTING.md) and [CODE OF CONDUCT](./CODE_OF_CONDUCT.md) documents.

## Citing pyMINFLUX

If you use pyMINFLUX in your research, please cite this repository as follows:

> Aaron Ponti, Javier Casares Arias, & Thomas Horn. (2023). pyMINFLUX. Zenodo. [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.7895501.svg)](https://doi.org/10.5281/zenodo.7895501)




