Metadata-Version: 2.4
Name: dopes
Version: 2025.0.2
Summary: Data analysis and operation software
Project-URL: Repository, https://forge.uclouvain.be/LocLahaye/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

<p align="left">
  <img src="logo.png" width="350" title="hover text">
</p>

## 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, ...

## 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/LocLahaye/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 examples folder ("examples/data_analysis/" and "/examplesequipment_control").
Furthermore, an markdown (.md) or html (.html) documentation can be found in the "doc/" 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