Metadata-Version: 2.4
Name: SimEx-Lite
Version: 1.0.1
Summary: The core package of the SIMEX platform providing the calculator interfaces.
Home-page: https://github.com/PaNOSC-ViNYL/SimEx-Lite
Author: Juncheng E
Author-email: juncheng.e@xfel.eu
License: GNU General Public License v3
Keywords: SimEx-Lite
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: numpy
Requires-Dist: matplotlib
Requires-Dist: scipy
Requires-Dist: h5py
Requires-Dist: ase
Requires-Dist: pint
Requires-Dist: future-fstrings
Requires-Dist: libpyvinyl>=1.4.0
Requires-Dist: extra-geom>=1.5
Requires-Dist: cfelpyutils>=2.0.0
Requires-Dist: setuptools
Requires-Dist: tqdm
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

==========
Quickstart
==========


.. image:: https://img.shields.io/pypi/v/SimEx-Lite.svg
        :target: https://pypi.python.org/pypi/SimEx-Lite
.. image:: https://travis-ci.com/PaNOSC-ViNYL/SimEx-Lite.svg?branch=main
        :target: https://travis-ci.com/PaNOSC-ViNYL/SimEx-Lite
.. image:: https://readthedocs.org/projects/simex-lite/badge/?version=latest
        :target: https://SimEx-Lite.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status


SimEx-Lite is the core package of the SIMEX platform providing the calculator interfaces and data APIs.


* Free software: GNU General Public License v3
* Documentation: https://SimEx-Lite.readthedocs.io
* GitHub: https://github.com/PaNOSC-ViNYL/SimEx-Lite


Installing
----------
SimEx-Lite can be installed with Python 3.6 or later:

.. code-block:: bash

    $ pip install SimEx-Lite

To test the latest updates, install from sources as shown below.

Developing
----------
We encourage everyone to contribute to SimEx. For a detailed guide, please visit
https://simex-lite.readthedocs.io/en/latest/contributing.html

1. Clone this Github repository:

.. code-block:: bash

   $ git clone --recursive git@github.com:PaNOSC-ViNYL/SimEx-Lite.git

2. Install the package locally:

.. code-block:: bash

    $ cd SimEx-Lite
    $ pip install -e .

Tests
-----
1. Enable the `testFiles` submodule.

.. code-block:: bash

    $ git submodule init
    $ git submodule update

2. Run the test

.. code-block:: bash

    $ git clone https://github.com/PaNOSC-ViNYL/SimEx-Lite-testFiles testFiles
    $ pytest tests


Features
--------

SimEx-Lite provides

* python interfaces for SIMEX backengines (aka "Calculators")
    * SourceCalculators
    * PropagationCalculators
    * PMICalculators (PhotonMattterInteractionCalculators)
    * DiffractionCalculators
    * DetectorCalculators
* data APIs for different data formats.
    * PMI (Photon matter interaction) data
    * Wavefront data
    * Diffraction data



Citation
--------
Please cite the following paper if you use SimEx-Lite for your research:

**E, J. et al. SimEx-Lite: easy access to start-to-end simulation for experiments at advanced light sources. in Advances in Computational Methods for X-Ray Optics VI (eds. Chubar, O. & Tanaka, T.) 22 (SPIE, San Diego, United States, 2023).** `doi.org/10.1117/12.2677299 <https://doi.org/10.1117/12.2677299>`_ 

Publications using SIMEX platform
---------------------------------

1. E, J. et al. SimEx-Lite: easy access to start-to-end simulation for experiments at advanced light sources. in Advances in Computational Methods for X-Ray Optics VI (eds. Chubar, O. & Tanaka, T.) 22 (SPIE, San Diego, United States, 2023). doi:10.1117/12.2677299.

2. E, J. et al. Water layer and radiation damage effects on the orientation recovery of proteins in single-particle imaging at an X-ray free-electron laser. Sci Rep 13, 16359 (2023).

3. E, J. et al. Expected resolution limits of x-ray free-electron laser single-particle imaging for realistic source and detector properties. Structural Dynamics 9, 064101 (2022).

4. E, J. et al. Effects of radiation damage and inelastic scattering on single-particle imaging of hydrated proteins with an X-ray Free-Electron Laser. Sci Rep 11, 17976 (2021).

5. E, J. et al. VINYL: The VIrtual Neutron and x-raY Laboratory and its applications. in Advances in Computational Methods for X-Ray Optics V (eds. Sawhney, K. & Chubar, O.) 33 (SPIE, Online Only, United States, 2020). doi:10.1117/12.2570378.

6. Fortmann-Grote, C. et al. Start-to-end simulation of single-particle imaging using ultra-short pulses at the European X-ray Free-Electron Laser. IUCrJ 4, 560–568 (2017).

7. Fortmann-Grote, C. et al. Simulations of ultrafast x–ray laser experiments. in Advances in X-ray Free-Electron Lasers Instrumentation IV (eds. Tschentscher, T. & Patthey, L.) 102370S (Prague, Czech Republic, 2017). doi:10.1117/12.2270552.

8. Fortmann-Grote, C. et al. SIMEX: Simulation of Experiments at Advanced Light Sources. arXiv:1610.05980 [physics] (2016).

9. Yoon, C. H. et al. A comprehensive simulation framework for imaging single particles and biomolecules at the European X-ray Free-Electron Laser. Scientific Reports 6, 24791 (2016).

Acknowledgement
---------------

This project has received funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No. 823852.


=======
History
=======

1.1.0
------------------

* Add EMC format
* Add the function to write multiple files into one file in EMC format
* Add CXI format
* Add Condor format


1.0.0 (2022-09-27)
------------------

* Refactor based on `libpyvinyl <https://github.com/PaNOSC-ViNYL/libpyvinyl>`_.
* Support `instrument` class.
* Updated documents for backengines installation.

0.3.4 - 0.3.7 (2022-09-19)
--------------------------

* Support for the legacy `DiffractionData` class.

0.3.3 (2022-08-05)
------------------

* Fixed reading singfel rewrited data.
* Add chunk functions to `GaussianNoiseCalculator`.

0.3.2 (2021-10-20)
------------------

* Included utils as a subpackage.

0.3.1 (2021-09-29)
------------------

* Updated the interface of data APIs. Details at this `PR link <https://github.com/PaNOSC-ViNYL/SimEx-Lite/pull/4>`_.
* Updated the deployment guide for PyPI in `CONTRIBUTING <https://github.com/PaNOSC-ViNYL/SimEx-Lite/blob/main/CONTRIBUTING.rst>`_.

0.2.1 (2021-04-19)
------------------

* Deploy PyPI with Travis

0.2.0 (2021-04-17)
------------------

* Data API:
    * Added: PhotonBeamData.py
    * Added: SampleData.py
    * Added: DiffractionData.py
    * Added Singfel Diffraction data API
    * Added EMC photon data API

* Calculator:
    * Detector calculators:
        * Added Gaussian noise calculator

* Examples:
    * Added singfel2EMC data analysis example

0.1.0 (2021-02-24)
------------------

* First release on PyPI.
