From 58d364d94cbfe05e8a17eb43ad9be18eb507f167 Mon Sep 17 00:00:00 2001 From: Benedikt Daurer Date: Mon, 9 Dec 2024 14:48:11 +0000 Subject: [PATCH] Added main page, full API reference and license banner --- .github/workflows/docs.yaml | 2 +- docs/.gitignore | 2 + docs/Makefile | 2 +- docs/conf.py | 61 -------- docs/index.rst | 18 --- docs/reference/index.rst | 8 -- docs/reference/utils.rst | 94 ------------- docs/source/_static/banner.html | 14 ++ docs/{ => source}/_static/logo_100px.png | Bin docs/source/_static/ptypy.css | 18 +++ docs/{ => source}/_static/ptypyicon.ico | Bin .../_templates/custom-class-template.rst | 32 +++++ .../_templates/custom-module-template.rst | 65 +++++++++ docs/source/conf.py | 133 ++++++++++++++++++ docs/source/index.rst | 33 +++++ docs/source/overview.rst | 91 ++++++++++++ docs/source/reference/core.rst | 40 ++++++ docs/source/reference/engines.rst | 43 ++++++ docs/source/reference/experiment.rst | 57 ++++++++ docs/source/reference/index.rst | 22 +++ docs/source/reference/io.rst | 27 ++++ docs/source/reference/utils.rst | 54 +++++++ 22 files changed, 633 insertions(+), 183 deletions(-) create mode 100644 docs/.gitignore delete mode 100644 docs/conf.py delete mode 100644 docs/index.rst delete mode 100644 docs/reference/index.rst delete mode 100644 docs/reference/utils.rst create mode 100644 docs/source/_static/banner.html rename docs/{ => source}/_static/logo_100px.png (100%) create mode 100644 docs/source/_static/ptypy.css rename docs/{ => source}/_static/ptypyicon.ico (100%) create mode 100644 docs/source/_templates/custom-class-template.rst create mode 100644 docs/source/_templates/custom-module-template.rst create mode 100644 docs/source/conf.py create mode 100644 docs/source/index.rst create mode 100644 docs/source/overview.rst create mode 100644 docs/source/reference/core.rst create mode 100644 docs/source/reference/engines.rst create mode 100644 docs/source/reference/experiment.rst create mode 100644 docs/source/reference/index.rst create mode 100644 docs/source/reference/io.rst create mode 100644 docs/source/reference/utils.rst diff --git a/.github/workflows/docs.yaml b/.github/workflows/docs.yaml index 5319e7c53..f93956dd7 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/docs.yaml @@ -72,7 +72,7 @@ jobs: mpi: mpich - name: Install Sphinx - run: pip install sphinx + run: pip install sphinx myst_parser - name: Install PtyPy run: pip install .[full] diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 000000000..71307bd2c --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,2 @@ +source/reference/generated/ +_build/ \ No newline at end of file diff --git a/docs/Makefile b/docs/Makefile index d4bb2cbb9..92dd33a1a 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -5,7 +5,7 @@ # from the environment for the first two. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build -SOURCEDIR = . +SOURCEDIR = source BUILDDIR = _build # Put it first so that "make" without argument is like "make help". diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index 8e818a671..000000000 --- a/docs/conf.py +++ /dev/null @@ -1,61 +0,0 @@ -# Configuration file for the Sphinx documentation builder. -# -# For the full list of built-in configuration values, see the documentation: -# https://www.sphinx-doc.org/en/master/usage/configuration.html - -# -- Project information ----------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information - -import sys -from pathlib import Path - -sys.path.insert(0, str(Path('..', 'ptypy').resolve())) - -print(sys.path) - -project = 'PtyPy' -copyright = '2024, AUTHORS' -author = 'AUTHORS' - -# -- General configuration --------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration - -extensions = [ - 'sphinx.ext.autodoc', - 'sphinx.ext.autosummary', - 'sphinx.ext.doctest', - 'sphinx.ext.extlinks', - 'sphinx.ext.intersphinx', - 'sphinx.ext.mathjax', - 'sphinx.ext.napoleon', - # 'sphinx.ext.linkcode', -] - -templates_path = ['_templates'] -exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] - - -#autodoc_mock_imports = ["numpy", "scipy"] - -# -- Options for HTML output ------------------------------------------------- -# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output - -html_theme = 'pydata_sphinx_theme' -html_static_path = ['_static'] -html_logo = '_static/logo_100px.png' -html_favicon = '_static/ptypyicon.ico' - -html_theme_options = { - "icon_links": [ - { - "name": "GitHub", - "url": "https://github.com/ptycho/ptypy", - "icon": "fab fa-github-square", - }, - { - "name": "ptypy.org", - "url": "https://ptypy.org/", - "icon": "fab fa-twitter-square ", - }, - ], -} diff --git a/docs/index.rst b/docs/index.rst deleted file mode 100644 index 749f75bc7..000000000 --- a/docs/index.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. PtyPy documentation master file, created by - sphinx-quickstart on Sun Oct 6 10:31:05 2024. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -PtyPy documentation -=================== - -Add your content using ``reStructuredText`` syntax. See the -`reStructuredText `_ -documentation for details. - - -.. toctree:: - :maxdepth: 2 - :caption: Contents: - - reference/index diff --git a/docs/reference/index.rst b/docs/reference/index.rst deleted file mode 100644 index 90233f608..000000000 --- a/docs/reference/index.rst +++ /dev/null @@ -1,8 +0,0 @@ -API Reference -============= - - -.. toctree:: - :maxdepth: 2 - - utils diff --git a/docs/reference/utils.rst b/docs/reference/utils.rst deleted file mode 100644 index fb59aeea1..000000000 --- a/docs/reference/utils.rst +++ /dev/null @@ -1,94 +0,0 @@ -ptypy.utils package -=================== - -Submodules ----------- - -ptypy.utils.array_utils module ------------------------------- - -.. automodule:: ptypy.utils.array_utils - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.math_utils module ------------------------------ - -.. automodule:: ptypy.utils.math_utils - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.misc module ------------------------ - -.. automodule:: ptypy.utils.misc - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.parallel module ---------------------------- - -.. automodule:: ptypy.utils.parallel - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.parameters module ------------------------------ - -.. automodule:: ptypy.utils.parameters - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.plot_client module ------------------------------- - -.. automodule:: ptypy.utils.plot_client - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.plot_utils module ------------------------------ - -.. automodule:: ptypy.utils.plot_utils - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.scripts module --------------------------- - -.. automodule:: ptypy.utils.scripts - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.descriptor module ------------------------------ - -.. automodule:: ptypy.utils.descriptor - :members: - :undoc-members: - :show-inheritance: - -ptypy.utils.verbose module --------------------------- - -.. automodule:: ptypy.utils.verbose - :members: - :undoc-members: - :show-inheritance: - - -Module contents ---------------- - -.. automodule:: ptypy.utils - :members: - :undoc-members: - :show-inheritance: diff --git a/docs/source/_static/banner.html b/docs/source/_static/banner.html new file mode 100644 index 000000000..de23007f9 --- /dev/null +++ b/docs/source/_static/banner.html @@ -0,0 +1,14 @@ +
+PtyPy is a community project. If you'd like to contribute or participate in one of our workshops, check out our website. +
+
+
+
+

Phase Focus Limited of Sheffield, UK has an international portfolio of patents and pending applications which relate to ptychography. A current list is available here.

+Phase Focus grants royalty free licences of its patent rights for non-commercial academic research use, for reconstruction of simulated data and for reconstruction of data obtained at synchrotrons at X-ray wavelengths. These licenses can be applied for online by clicking on this link.

+Phase Focus asserts that the software we have made available for download may be capable of being used in circumstances which may fall within the claims of one or more of the Phase Focus patents. Phase Focus advises that you apply for a licence from it before downloading any software from this website.

+ +
+
diff --git a/docs/_static/logo_100px.png b/docs/source/_static/logo_100px.png similarity index 100% rename from docs/_static/logo_100px.png rename to docs/source/_static/logo_100px.png diff --git a/docs/source/_static/ptypy.css b/docs/source/_static/ptypy.css new file mode 100644 index 000000000..7efd31d83 --- /dev/null +++ b/docs/source/_static/ptypy.css @@ -0,0 +1,18 @@ +div.disclaimer { + /* background-color: #2c5d8a; + color: #f9eed0; */ + text-align: left; +} + +/* div.disclaimer a{ + color: #d8b340; +} */ + +html[data-theme="light"] { + --pst-color-border: black; +} + +html[data-theme="dark"] { + --pst-color-border: white; +} + diff --git a/docs/_static/ptypyicon.ico b/docs/source/_static/ptypyicon.ico similarity index 100% rename from docs/_static/ptypyicon.ico rename to docs/source/_static/ptypyicon.ico diff --git a/docs/source/_templates/custom-class-template.rst b/docs/source/_templates/custom-class-template.rst new file mode 100644 index 000000000..e7ebd6703 --- /dev/null +++ b/docs/source/_templates/custom-class-template.rst @@ -0,0 +1,32 @@ +{{ fullname | escape | underline}} + +.. currentmodule:: {{ module }} + +.. autoclass:: {{ objname }} + :members: + :inherited-members: + :show-inheritance: + + {% block methods %} + .. automethod:: __init__ + + {% if methods %} + .. rubric:: {{ _('Methods') }} + + .. autosummary:: + {% for item in methods %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block attributes %} + {% if attributes %} + .. rubric:: {{ _('Attributes') }} + + .. autosummary:: + {% for item in attributes %} + ~{{ name }}.{{ item }} + {%- endfor %} + {% endif %} + {% endblock %} diff --git a/docs/source/_templates/custom-module-template.rst b/docs/source/_templates/custom-module-template.rst new file mode 100644 index 000000000..a726085b9 --- /dev/null +++ b/docs/source/_templates/custom-module-template.rst @@ -0,0 +1,65 @@ +{{ fullname | escape | underline}} + +.. automodule:: {{ fullname }} + + {% block attributes %} + {% if attributes %} + .. rubric:: Module Attributes + + .. autosummary:: + {% for item in attributes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block functions %} + {% if functions %} + .. rubric:: {{ _('Functions') }} + + .. autosummary:: + :toctree: + {% for item in functions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block classes %} + {% if classes %} + .. rubric:: {{ _('Classes') }} + + .. autosummary:: + :toctree: + :template: custom-class-template.rst + {% for item in classes %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + + {% block exceptions %} + {% if exceptions %} + .. rubric:: {{ _('Exceptions') }} + + .. autosummary:: + :toctree: + {% for item in exceptions %} + {{ item }} + {%- endfor %} + {% endif %} + {% endblock %} + +{% block modules %} +{% if modules %} +.. rubric:: Modules + +.. autosummary:: + :toctree: + :template: custom-module-template.rst + :recursive: +{% for item in modules %} + {{ item }} +{%- endfor %} +{% endif %} +{% endblock %} diff --git a/docs/source/conf.py b/docs/source/conf.py new file mode 100644 index 000000000..9ab9b4dff --- /dev/null +++ b/docs/source/conf.py @@ -0,0 +1,133 @@ +# Configuration file for the Sphinx documentation builder. +# +# For the full list of built-in configuration values, see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Project information ----------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information + +import sys +from pathlib import Path + +sys.path.insert(0, str(Path('../..', 'ptypy').resolve())) + + +project = 'PtyPy' +copyright = '2024, Pierre Thibault, Bjoern Enders, Benedikt Daurer and others' + +# -- General configuration --------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration + +extensions = [ + 'sphinx.ext.autodoc', + 'sphinx.ext.autosummary', + 'sphinx.ext.doctest', + 'sphinx.ext.extlinks', + 'sphinx.ext.intersphinx', + 'sphinx.ext.mathjax', + 'sphinx.ext.napoleon', + # 'sphinx.ext.linkcode', + 'myst_parser', +] + +templates_path = ['_templates'] +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + +rst_epilog = """ +.. |ptypy| replace:: PtyPy +.. _ptypy: https://www.github.com/ptycho/ptypy +""" + +autosummary_generate = True +autodoc_mock_imports = ["cupy", "pycuda", "reikna", "hdf5plugin", "bitshuffle", "fabio", "swmr_tools"] + +# -- Options for HTML output ------------------------------------------------- +# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output + +html_theme = 'pydata_sphinx_theme' +html_static_path = ['_static'] +html_css_files = ["ptypy.css"] +html_logo = '_static/logo_100px.png' +html_favicon = '_static/ptypyicon.ico' +html_sidebars = { + 'overview': [] + } + +html_theme_options = { + "icon_links": [ + { + "name": "GitHub", + "url": "https://github.com/ptycho/ptypy", + "icon": "fab fa-github-square", + }, + { + "name": "ptypy.org", + "url": "https://ptypy.org/", + "icon": "fa-solid fa-link ", + }, + ], + "announcement": "https://daurer.github.io/ptypy-new-docs/docs/_static/banner.html", +} + + +# -- Custom functions ---------------------------------------------------- + +def truncate_docstring(app, what, name, obj, options, lines): + """ + Remove the Default parameter entries. + """ + if not hasattr(obj, 'DEFAULT'): + return + if any(l.strip().startswith('Defaults:') for l in lines): + while True: + if lines.pop(-1).strip().startswith('Defaults:'): + break + + +def remove_mod_docstring(app, what, name, obj, options, lines): + from ptypy import utils as u + from ptypy import defaults_tree + u.verbose.report.headernewline='\n\n' + searchstr = ':py:data:' + + def get_refs(dct, pd, depth=2, indent=''): + if depth < 0: + return + + for k, value in dct.items(): + ref = ', see :py:data:`~%s`' % pd.children[k].entry_point if k in pd.children else '' + if hasattr(value, 'items'): + v = str(value.__class__.__name__) + elif str(value) == value: + v = '"%s"' % value + else: + v = str(value) + + lines.append(indent + '* *' + k + '* = ``' + v + '``' + ref) + + if hasattr(value, 'items'): + lines.append("") + get_refs(value, pd.children[k], depth=depth-1, indent=indent+' ') + lines.append("") + + if isinstance(obj, u.Param) or isinstance(obj, dict): + pd = None + + for l in lines: + start = l.find(searchstr) + if start > -1: + newstr = l[start:] + newstr = newstr.split('`')[1] + newstr = newstr.replace('~', '') + pd = defaults_tree.get(newstr) + break + + if pd is not None: + get_refs(obj, pd, depth=2, indent='') + + +def setup(app): + print("Custom setup") + app.connect('autodoc-process-docstring', remove_mod_docstring) + app.connect('autodoc-process-docstring', truncate_docstring) + pass diff --git a/docs/source/index.rst b/docs/source/index.rst new file mode 100644 index 000000000..d2227bf68 --- /dev/null +++ b/docs/source/index.rst @@ -0,0 +1,33 @@ +Quicklinks +---------- + +* | Starting from a **clean slate**? + | Check out the :ref:`installation instructions ` + +* | You want to understand the **inner principles** of ptypy without + having to browse the source code? + | Have a look at the :ref:`tutorials about its special classes `. + +* | Only interested in |ptypy|'s **data file structure** and + **management**? + | Indulge yourself :ref:`here` for the structure and + :ref:`here` for the concepts. + +PtyPy Documentation Contents +============================ + +.. toctree:: + :maxdepth: 2 + + overview + installation + userguide/index + reference/index + + +Indices and Tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/source/overview.rst b/docs/source/overview.rst new file mode 100644 index 000000000..5acee4347 --- /dev/null +++ b/docs/source/overview.rst @@ -0,0 +1,91 @@ +Overview +======== + +|ptypy| [#Enders2016]_ is a +framework for scientific ptychography compiled by +P.Thibault, B. Enders, and others (see AUTHORS). + +It is the result of years of experience in the field of ptychography condensed +into a versatile python package. The package covers the whole path of +ptychographic analysis after the actual experiment is completed +- from data management to reconstruction to visualization. + +The main idea of ptypy is: *"Flexibility and Scalabality through abstraction"*. +Most often, you will find a class for every concept of ptychography in +|ptypy|. Using these or other more abstract base classes, new ideas +may be developed in a rapid manner without the cumbersome overhead of +:py:mod:`data` management +, memory access or :py:mod:`distributed ` computing. Additionally, |ptypy| +provides a rich set of :py:mod:`utilities ` and helper functions, +especially for :py:mod:`input/output ` + +Get started quickly :ref:`here ` or with one of the examples in the ``templates`` directory. + + +Highlights +---------- + +* **Difference Map** [#dm]_ algorithm engine with power bound constraint [#power]_. +* **Maximum Likelihood** [#ml]_ engine with preconditioners and regularizers. +* A few more engines (RAAR, sDR, ePIE, ...). + +* **Fully parallelized** using the Massage Passing Interface + (`MPI `_). + Simply execute your script with:: + + $ mpiexec/mpirun -n [nodes] python .py + +* **GPU acceleration** based on custom kernels, CuPy or PyCUDA/reikna. + See examples in ``templates/accelerate``, ``templates/engines/cupy`` and ``templates/engines/pycuda``. + +* A **client-server** approach for visualization and control based on + `ZeroMQ `_ . + The reconstruction may run on a remote hpc cluster while your desktop + computer displays the reconstruction progress. + + +* **Mixed-state** reconstructions of probe and object [#Thi2013]_ for + overcoming partial coherence or related phenomena. + +* **On-the-fly** reconstructions (while data is being acquired) using the + the :py:class:`PtyScan` class in the linking mode :ref:`linking mode` + + +Quicklinks +---------- +* | The complete :ref:`documentation `. + +* | Starting from a **clean slate**? + | Check out the :ref:`installation instructions ` + +* | You want to understand the **inner principles** of ptypy without + having to browse the source code? + | Have a look at the :ref:`tutorials about its special classes `. + +* | Only interested in |ptypy|'s **data file structure** and + **management**? + | Indulge yourself :ref:`here` for the structure and + :ref:`here` for the concepts. + + +.. rubric:: Footnotes + +.. [#Enders2016] B.Enders and P.Thibault, **Proc. R. Soc. A** 472, 20160640 (2016), `doi `__ + +.. [#Thi2013] P.Thibault and A.Menzel, **Nature** 494, 68 (2013), `doi `__ + +.. [#ml] P.Thibault and M.Guizar-Sicairos, **New J. of Phys. 14**, 6 (2012), `doi `__ + +.. [#dm] P.Thibault, M.Dierolf *et al.*, **Ultramicroscopy 109**, 4 (2009), `doi `__ + +.. [#power] K.Giewekemeyer *et al.*, **PNAS 108**, 2 (2007), `suppl. material `__, `doi `__ + + +.. + .. include:: ../README.rst + :start-line: 26 + + +.. note:: | Phase Focus Limited of Sheffield, UK has an international portfolio of patents and pending applications which relate to ptychography. A current list is available `here `_. + | Phase Focus grants royalty free licences of its patent rights for non-commercial academic research use, for reconstruction of simulated data and for reconstruction of data obtained at synchrotrons at X-ray wavelengths. These licenses can be applied for online by clicking on this `link `_. + | Phase Focus asserts that the software we have made available for download may be capable of being used in circumstances which may fall within the claims of one or more of the Phase Focus patents. Phase Focus advises that you apply for a licence from it before downloading any software from this website. diff --git a/docs/source/reference/core.rst b/docs/source/reference/core.rst new file mode 100644 index 000000000..8843eaca9 --- /dev/null +++ b/docs/source/reference/core.rst @@ -0,0 +1,40 @@ +Core Functionalities +==================== + +Core Classes +------------ + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.core.classes + ptypy.core.ptycho + +Data Management +--------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.core.data + ptypy.core.manager + ptypy.core.save_load + ptypy.core.paths + +Physics +------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.core.geometry + ptypy.core.illumination + ptypy.core.sample + ptypy.core.xy + diff --git a/docs/source/reference/engines.rst b/docs/source/reference/engines.rst new file mode 100644 index 000000000..702c069c7 --- /dev/null +++ b/docs/source/reference/engines.rst @@ -0,0 +1,43 @@ +Reconstruction Engines +====================== + +Base Classes and Utilities +-------------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.engines.base + ptypy.engines.utils + ptypy.engines.posref + +Core Engines +------------ + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.engines.projectional + ptypy.engines.stochastic + ptypy.engines.ML + +Additional (custom) Engines +--------------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.engines.Bragg3d_engines + ptypy.custom.DMOPR + ptypy.custom.MLOPR + ptypy.custom.DM_object_regul + ptypy.custom.WASP + ptypy.custom.ePIE_parallel + ptypy.custom.threepie + diff --git a/docs/source/reference/experiment.rst b/docs/source/reference/experiment.rst new file mode 100644 index 000000000..48b161231 --- /dev/null +++ b/docs/source/reference/experiment.rst @@ -0,0 +1,57 @@ +Data Loaders +============ + +Diamond Light Source Loaders +---------------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.experiment.hdf5_loader + ptypy.experiment.swmr_loader + ptypy.experiment.diamond_nexus + ptypy.experiment.diamond_streaming + ptypy.experiment.epsic_loader + +Max IV Loaders +-------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.experiment.nanomax + ptypy.experiment.nanomax3d + ptypy.experiment.nanomax_streaming + +Other Synchrotron/FEL Loaders +----------------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.experiment.ALS_5321 + ptypy.experiment.AMO_LCLS + ptypy.experiment.DiProI_FERMI + ptypy.experiment.ID16Anfp + ptypy.experiment.cSAXS + ptypy.experiment.spec + +Miscellaneous Loaders +--------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.experiment.UCL + ptypy.experiment.optiklabor + ptypy.experiment.plugin + ptypy.experiment.savu + ptypy.experiment.spec diff --git a/docs/source/reference/index.rst b/docs/source/reference/index.rst new file mode 100644 index 000000000..7b26d79e1 --- /dev/null +++ b/docs/source/reference/index.rst @@ -0,0 +1,22 @@ +API Reference +============= + +Modules +------- + +.. toctree:: + :maxdepth: 2 + + core + engines + experiment + io + utils + +Module contents +--------------- + +.. automodule:: ptypy + :members: + :undoc-members: + :show-inheritance: diff --git a/docs/source/reference/io.rst b/docs/source/reference/io.rst new file mode 100644 index 000000000..b4cf40678 --- /dev/null +++ b/docs/source/reference/io.rst @@ -0,0 +1,27 @@ +Input/Output +============ + +Read/Write with Files +--------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.io.edfIO + ptypy.io.h5rw + ptypy.io.json_rw + ptypy.io.rawIO + ptypy.io.imageIO + ptypy.io.image_read + +Client/Server Interaction +------------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.io.interaction diff --git a/docs/source/reference/utils.rst b/docs/source/reference/utils.rst new file mode 100644 index 000000000..51e066647 --- /dev/null +++ b/docs/source/reference/utils.rst @@ -0,0 +1,54 @@ +Utilities +========= + +General Utilities +----------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.utils.array_utils + ptypy.utils.math_utils + ptypy.utils.misc + ptypy.utils.parallel + ptypy.utils.parameters + ptypy.utils.plot_client + ptypy.utils.plot_utils + ptypy.utils.scripts + ptypy.utils.descriptor + ptypy.utils.verbose + +Debugging Utilities +------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.debug.embedded_shell + ptypy.debug.ipython_kernel + +Simulation Utilities +-------------------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.simulations.detector + ptypy.simulations.ptysim_utils + ptypy.simulations.simscan + +Resources +--------- + +.. autosummary:: + :toctree: generated/ + :template: custom-module-template.rst + :recursive: + + ptypy.resources