Metadata-Version: 2.4
Name: dopes
Version: 2025.0.3
Summary: Data analysis and operation software
Project-URL: Repository, https://forge.uclouvain.be/welcome/dopes
Author-email: Nicolas Roisin <nicolas.roisin@uclouvain.be>, Loïc Lahaye <loic.lahaye@uclouvain.be>
License-Expression: CC-BY-NC-SA-4.0
License-File: LICENSE-CC-BY-NC-SA
Requires-Python: >=3.0
Requires-Dist: numpy
Requires-Dist: pyserial
Requires-Dist: pyvisa
Requires-Dist: scipy
Description-Content-Type: text/markdown

  <img src="https://forge.uclouvain.be/welcome/dopes/-/raw/main/logo.png" width="350">

## Description
Data analysis and Operation Software (DOpeS) provides a set of tools for 
1. the analysis of data coming from lab equipment such as Raman spectrometer, white-light interferometer, semiconductor analyzer, ...
2. the control of lab equipment such as multimeter, source measurement units, pressure generator, climatic chamber, monochromator, ...

For more advanced software for equipment control, the user can refer to <a href=https://pymeasure.readthedocs.io/> **PyMeasure** </a> software.

## Structure
- **data_analysis** for the analysis of lab equipment:
    - Data processing function such as baseline removal, interpolation, filtering, ...
    - File handling to read data files and writting processed data in files
    - Specific functions to analyse measurements such as Raman specroscopy, white-light interferometer, semiconductor analyzer, ...
    - Modeling of electronic device and material such as diode and MOS transistor
- **equipment_control** for the control of various lab equipment:
    - Digital multimeter (DMM) *DMM7510*, *DMM6500* and *K2000*
    - Source Measurement Unit (SMU) *K2400* and *K2450* 
    - Semiconductor analyser *HP4145* and *K4200*
    - Monochromator *CM110*
    - Pressure generator and monitor *KAL100* 
    - Climatic chamber *SH242* (sh242.py)
    - ...

## Requirements
DOpeS is made from functions, classes and scripts based on Python programming lanquage. The following packages are required for the data analysis and the equipment control:
- <a href=https://pypi.org/project/numpy/> **Numpy** </a> for the data handling and processing
- <a href=https://pypi.org/project/scipy/> **SciPy** </a> for the data processing tools such as interpolation and filtering (only for *data_analysis* part)
- <a href=https://pypi.org/project/PyVISA/> **Pyvisa** </a> for the communication with equipment (only for *equipment_control* part)
- <a href=https://pypi.org/project/pyserial/> **Pyserial** </a> for the serial communication with equipment (only for *equipment_control* part)


## Installation
DOpeS is easily installed through the Python Index Package (PyPI) available at <a href=https://pypi.org/project/dopes/> **dopes** </a>:
```
pip install dopes
```

If you want to keep track of the latest versions, you can download the gitlab repository and keep it synchronized with the gitlab project:
To download it, you just have to type the following command in a terminal:
```
git clone https://forge.uclouvain.be/welcome/dopes.git
```

To update it with the gitlab project, you can type:
```
cd path/to/dopes
git pull
```

## Usage
DOpeS is built as a set of python classes and functions.
To use it, you only have to create a python script in you favorite IDE and import the dopes package installed through the Python Index Package (PyPI).

A global import can be made to import all the functionnalities:
```
import dopes
```

The various tools can also bee specifically accessed as any python package:
```
import dopes.equipment_control.equipment as eq
import dopes.equipment_control.k2400 as k2400
import dopes.data_analysis.raman as ram
```

If the package has been locallly downloaded on your laptop with git command or not, the path to DOpeS folder has to be added at the beginning of the script:
```
import sys
sys.path.insert(1, '/path/to/dopes')
```
The various tools can then be accessed as any python package and class:
```
import equipment_control.equipment as eq
import equipment_control.k2400 as k2400
import data_analysis.raman as ram
```

Lots of examples for the data analysis and equipment control can be found in the <a href=https://forge.uclouvain.be/welcome/dopes/-/tree/main/examples> **examples** </a>  folder ("examples/data_analysis/" and "/examplesequipment_control").
Furthermore, an markdown (.md) or html (.html) documentation can be found in the <a href=https://forge.uclouvain.be/welcome/dopes/-/tree/main/doc> **doc** </a>" folder with a description of all classes and functions present in the software.

## Support and contributing
We welcome any feedback on issue, missing operation or equipment but also idea for further improvements.

## Authors and acknowledgment
The initial idea of this project has been thought by **Loïc Lahaye** and **Nicolas Roisin**.

## License
 DOpeS © 2025 by Loïc Lahaye and Nicolas Roisin is licensed under <a href=https://creativecommons.org/licenses/by-nc-sa/4.0/> Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International </a> (<a href=https://creativecommons.org/licenses/by-nc-sa/4.0/> CC BY-NC-SA 4.0</a>) 
## Project status
Still alive