.. _installation: Installation ============ From PyPI (recommended) ------------------------ You can install directly |slmcontroller|_ from PyPI using the following command: .. code-block:: python pip install SLMcontroller afterwards you can run the following command to start the software: .. code-block:: python python3 -m SLMcontroller or .. code-block:: python SLMcontroller From source ----------- Download the latest stable release `here`_. You can use either the precompiled binaries or compile the source code yourself. Once downloaded move the folder ``SLMcontroller`` to a location of your choice. I will refer to this location as ````. First step is to install all the necessary dependencies (see below). Do so by running the following command: .. code-block:: python pip3 install -r /SLMcontroller/requirements.txt Then, you can run the following command to start the software: .. code-block:: python python3 /SLMcontroller/SLMcontroller.py The following GUI should appear on your screen: .. image:: _static/main.png :width: 300 :alt: GUI :align: center See the :ref:`how-to` section for more information on how to use the software. Dependencies ------------ The following dependencies are required to run |slmcontroller|_: - `Flask `_: Used for remote control of the SLM. - `PyQt6 `_: Used for the GUI. - `Gmsh `_: Used for meshing the SLM surface. - `Numba `_: Used for accelerating the computation of the phase patterns. - `NumPy `_: Handling mathematical operations. - `OpenCV `_: Used for image processing (when optimizing for aberration using a camera). - `Pillow `_: Used to show remotely the phase patterns of the SLM. You can use ``pip install -r docs/requirements.txt`` to install all the required dependencies directly. .. raw:: html .. |slmcontroller| replace:: :mod:`SLM controller` .. _slmcontroller: https://github.com/mmazzanti/SLM_controller .. _here: https://github.com/mmazzanti/SLM_controller