PLEasant ======== .. toctree:: :hidden: :maxdepth: 2 license loaders measurement fitting util Overview -------- This package aims at making the analysis of `photoluminescence excitation `_ (PLE) measurement data a pleasant experience. It's main building block is the ``Measurement`` class. Objects of this class are generated by a loader function. It reads all data files generated by a group of measurements in a directory. At the moment, only one loader for one specific data saving scheme exists. However, if you write your own custom loader function for your data saving scheme, you can still make use of all data analysis features of this package. Attribution ----------- If you are publishing any work based on using PLEasant as an analysis tool, please mention it e.g. in the methods section and consider citing the original scientific work that this package was written for: `Optically coherent nitrogen-vacancy defect centers in diamond nanostructures `_ Features -------- - independent and extendable data loading functions - convenient handling of measurement metadata with the dedicated ``Measurement`` class - access to measurement metadata (scan speed, range, user-defined description, ...) - rebinning of data - simple photon-count threshold filtering - typical PLE analysis routines, e.g. for the extraction of linewidths - fitting and plotting a sum of all PLE scans with `lmfit `_ and `matplotlib `_ - fitting of individual PLE scans with a peak-like model (Gaussian, Lorentzian, Voigt, Pseudo-Voigt) - plotting of scans with or without fit - straight-forward export of scan fit results as a `pandas `_ dataframe retaining all measurement metadata - computation of time-normalized spectral jumps for extraction of the spectral diffusion rate Installation ------------ PLEasant is provided as a pip-installable Python package. You can clone or download this repository to your local machine and install the package by running .. code-block:: console $ pip install -e . in the package directory. Note that a recent version of ``pip`` is required for the installation. Try updating ``pip`` in case this step fails. To run the demo notebook or work in notebooks in general, you need to install `Jupyter Lab `_ or the classic Jupyter Notebook if it is not already installed in your environment. You might want to copy the ``examples`` directory to wherever you are going to work on your data analysis for easier access and to leave the package directory clean. The main resource for getting started is the demo notebook. It is located in the ``examples`` directory.