diff --git a/cfelpyutils/geometry_utils.py b/cfelpyutils/geometry_utils.py index 7bf386bdb9c8a65e3b8f7c3d3313e16ba6ac604d..0efdb03c5886d87884c878ec85fba68ce77957ea 100644 --- a/cfelpyutils/geometry_utils.py +++ b/cfelpyutils/geometry_utils.py @@ -34,10 +34,10 @@ def compute_pix_maps(geometry): This function takes as input some geometry information read from a `CrystFEL <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and - returns a set of some pre-computed pixel maps. + returns a set of pre-computed pixel maps. - The origin and the orientation of the reference system for the pixel maps follow - the same conventions as in CrystFEL: + The origin and the orientation of the reference system for the pixel maps are set + according to the same conventions as CrystFEL: * The center of the reference system is the beam interaction point. @@ -133,8 +133,8 @@ def compute_visualization_pix_maps(geometry): This function takes as input some geometry information read from a `CrystFEL <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and - returns a set of some pre-computed pixel maps that can be used to display data in - an ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library. + returns a set of pre-computed pixel maps that can be used to display data in an + ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library. These pixel maps are different from the ones generated by the :func:`~compute_pix_maps` function. The main differences are: @@ -142,8 +142,8 @@ def compute_visualization_pix_maps(geometry): * The origin of the reference system is not the beam interaction point, but the top left corner of the array used to visualize the data. - * Only the x and y pixel maps are available. The other entries in the named tuple - (z, r and phi) are set to None. + * Only the x and y pixel maps are available. The other entries in the returned + named tuple (z, r and phi) are set to None. Arguments: @@ -179,17 +179,17 @@ def apply_geometry_to_data(data, geometry): This function takes as input some geometry information read from a `CrystFEL <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and - some data on which to apply it. It returns an array that can be displayed using a - library like `matplotlib <https://matplotlib.org/>`_ or + some data on which to apply the information. It returns an array that can be + displayed using libraries like `matplotlib <https://matplotlib.org/>`_ or `PyQtGraph <http://pyqtgraph.org/>`_. - The shape of the returned array is big enough to display all the input pixel - values, and is symmetric around the center of the reference system (i.e: the beam - interaction point). + The shape of the returned array is big enough to display all the pixel values in + the input data, and is symmetric around the center of the reference system + (i.e: the beam interaction point). - NOTE: This restrictions often cause the returned array to be bigger than the minimum - size needed to store the physical layout of the pixels in the detector, - particularly if the detector is not centered at the beam interaction point. + This restrictions often cause the returned array to be bigger than the minimum size + needed to store the physical layout of the pixels in the detector, particularly if + the detector is not centered at the beam interaction point. Arguments: diff --git a/cfelpyutils/named_tuples.py b/cfelpyutils/named_tuples.py index dc75130ab970c2ae438bc662e5be8c0b0fa4e804..97d727b1df8eac08571ef8c830b72b6f9596b8c1 100644 --- a/cfelpyutils/named_tuples.py +++ b/cfelpyutils/named_tuples.py @@ -37,5 +37,5 @@ Arguments: the reference system. phi (numpy.ndarray): pixel map storing the amplitude of the angle between each - pixel, the center of the reference system, and the x axis through the center. + pixel, the center of the reference system, and the x axis. """ diff --git a/docs/.buildinfo b/docs/.buildinfo index 07914e11cd51b32e8a54185493cb6023763db123..5c20a1aa2ba886fea4d4c0b1cf5fc814cc32865f 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fd8cf3500139e539a950fcaee26c3d53 +config: b2d79c21d77cd2b06bfb2cb4376d24d9 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_modules/cfelpyutils/crystfel_utils.html b/docs/_modules/cfelpyutils/crystfel_utils.html index 8d1f451c36483926812bdfdcc50feac418cf92c1..f114828d0b06f39b048819472b0a1d8f02aee83f 100644 --- a/docs/_modules/cfelpyutils/crystfel_utils.html +++ b/docs/_modules/cfelpyutils/crystfel_utils.html @@ -703,6 +703,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/_modules/cfelpyutils/geometry_utils.html b/docs/_modules/cfelpyutils/geometry_utils.html index 479e59649035baa939fd095a975bd800c78c4c7d..61de150ac343caea069add2e37dfbec77a55e77a 100644 --- a/docs/_modules/cfelpyutils/geometry_utils.html +++ b/docs/_modules/cfelpyutils/geometry_utils.html @@ -69,10 +69,10 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> returns a set of some pre-computed pixel maps.</span> +<span class="sd"> returns a set of pre-computed pixel maps.</span> -<span class="sd"> The origin and the orientation of the reference system for the pixel maps follow</span> -<span class="sd"> the same conventions as in CrystFEL:</span> +<span class="sd"> The origin and the orientation of the reference system for the pixel maps are set</span> +<span class="sd"> according to the same conventions as CrystFEL:</span> <span class="sd"> * The center of the reference system is the beam interaction point.</span> @@ -168,8 +168,8 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> returns a set of some pre-computed pixel maps that can be used to display data in</span> -<span class="sd"> an ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library.</span> +<span class="sd"> returns a set of pre-computed pixel maps that can be used to display data in an</span> +<span class="sd"> ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library.</span> <span class="sd"> These pixel maps are different from the ones generated by the</span> <span class="sd"> :func:`~compute_pix_maps` function. The main differences are:</span> @@ -177,8 +177,8 @@ <span class="sd"> * The origin of the reference system is not the beam interaction point, but the top</span> <span class="sd"> left corner of the array used to visualize the data.</span> -<span class="sd"> * Only the x and y pixel maps are available. The other entries in the named tuple</span> -<span class="sd"> (z, r and phi) are set to None.</span> +<span class="sd"> * Only the x and y pixel maps are available. The other entries in the returned</span> +<span class="sd"> named tuple (z, r and phi) are set to None.</span> <span class="sd"> Arguments:</span> @@ -214,17 +214,17 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> some data on which to apply it. It returns an array that can be displayed using a</span> -<span class="sd"> library like `matplotlib <https://matplotlib.org/>`_ or </span> +<span class="sd"> some data on which to apply the information. It returns an array that can be</span> +<span class="sd"> displayed using libraries like `matplotlib <https://matplotlib.org/>`_ or</span> <span class="sd"> `PyQtGraph <http://pyqtgraph.org/>`_.</span> -<span class="sd"> The shape of the returned array is big enough to display all the input pixel</span> -<span class="sd"> values, and is symmetric around the center of the reference system (i.e: the beam</span> -<span class="sd"> interaction point).</span> +<span class="sd"> The shape of the returned array is big enough to display all the pixel values in</span> +<span class="sd"> the input data, and is symmetric around the center of the reference system</span> +<span class="sd"> (i.e: the beam interaction point).</span> -<span class="sd"> NOTE: This restrictions often cause the returned array to be bigger than the minimum</span> -<span class="sd"> size needed to store the physical layout of the pixels in the detector,</span> -<span class="sd"> particularly if the detector is not centered at the beam interaction point.</span> +<span class="sd"> This restrictions often cause the returned array to be bigger than the minimum size</span> +<span class="sd"> needed to store the physical layout of the pixels in the detector, particularly if</span> +<span class="sd"> the detector is not centered at the beam interaction point.</span> <span class="sd"> Arguments:</span> @@ -270,6 +270,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/_modules/cfelpyutils/named_tuples.html b/docs/_modules/cfelpyutils/named_tuples.html index 7649063330eaea457e84e09fc4ef23c19cfbc204..5c11e47d12ac2cd84ecbfda54af3a339e330b363 100644 --- a/docs/_modules/cfelpyutils/named_tuples.html +++ b/docs/_modules/cfelpyutils/named_tuples.html @@ -72,7 +72,7 @@ <span class="sd"> the reference system.</span> <span class="sd"> phi (numpy.ndarray): pixel map storing the amplitude of the angle between each</span> -<span class="sd"> pixel, the center of the reference system, and the x axis through the center.</span> +<span class="sd"> pixel, the center of the reference system, and the x axis.</span> <span class="sd">"""</span> </pre></div> @@ -94,6 +94,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 0426bf54bd656d3c0d95f66c067ab2aa714127f7..a28cdf28c4b7094fd60c51780af2e82370e397ca 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -56,6 +56,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/_sources/documentation_guidelines_for_contributors.rst.txt b/docs/_sources/documentation_guidelines_for_contributors.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..bcdb3cbbd84cdc0dcbf1b78b56f85305a1c14b4d --- /dev/null +++ b/docs/_sources/documentation_guidelines_for_contributors.rst.txt @@ -0,0 +1,79 @@ +Guidelines for Contributors +=========================== + +Contributions to the project are welcome. Please feel free to submit pull requests +using the standard `GitHub flow <https://guides.github.com/introduction/flow/>`_. + + +Version Control +^^^^^^^^^^^^^^^ + +The CFELPyUtils library is developed using the `Git <https://git-scm.com>`_ version +control system. + +It uses the branching strategy proposed by Vincent Driessen and commonly known as +`Gitflow <https://nvie.com/posts/a-successful-git-branching-model>`_. + + +Python +^^^^^^ + +The CFELPyUtils library is mainly developed in `Python <https://www.python.org>`_. + +* All code in the library must run with both version 2 and 3 of Python, except for + facility-specific code that specifically requires one of the two versions (for + example, Python 2 for the LCSL facility). The code must specifically support all the + currently active versions of python: + + * Python 2 + + * 2.7 + + * Python 3 + + * 3.5 + * 3.6 + * 3.7 + +* The `python-future <https://python-future.org>`_ project should be used to ensure + that code contributed to the project is compatible with all the supported versions of + Python. + +* The Python coding style should follow for the most part the `Google Python \ + Coding Style <https://github.com/google/styleguide/blob/gh-pages/pyguide.md>`_. + +* All docstrings should be written following the `Google Style \ + <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html>`_. + +* `Pylint <https://www.pylint.org>`_ should be run on the code before + submission, as stated in the Google Python Coding Style Guide. In the root + folder of the CFELPyUtils repository, contributors can find a 'pylintrc' file with + the settings that should be applied when linting the code. Please see `here + <http://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=pylintrc>`_ how to + use the pylintrc file. + +* The `Black <https://github.com/psf/black>`_ Python code formatter should be run on + the code before submission. + + +C/C++ +^^^^^ + +Some extension can, for performance reason, be written using the `C++ +<https://en.wikipedia.org/wiki/C%2B%2B>`_ or `C +<https://en.wikipedia.org/wiki/C_(programming_language)>`_ programming languages. + +* All C++ code in OnDA must follow at most the C++98 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* Part of the C++11 standard can be used when writing extensions. However, it must be + possible to compile the code using version 4.8 of the 'gcc' compiler (in order to + create the Linux binary Python wheel). + +* All C code in OnDA must follow at most the C99 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* The `Cython <http://cython.org>`_ project should be used to interface C/C++ code with + Python. diff --git a/docs/_sources/index.rst.txt b/docs/_sources/index.rst.txt index 929f41c32ea744403ac70d20eb2f5d6358abba7e..a3b5c6edd53bf827b02c983c043da0e871a8aa0c 100644 --- a/docs/_sources/index.rst.txt +++ b/docs/_sources/index.rst.txt @@ -10,6 +10,7 @@ CFELPyUtils :hidden: cfelpyutils + documentation_guidelines_for_contributors Introduction @@ -25,29 +26,57 @@ several internal and released CFEL software projects. Installation ------------ -The CFELPyUtils library is available on PyPI and can be installed using the pip -command: +The CFELPyUtils library is available on the `Python Package Index +<https://pypi.org/>`_ (PyPI). It can be installed using the 'pip' command: .. code-block:: bash python3 -m pip install cfelpyutils -Or, for python2: +Or, for Python 2: .. code-block:: bash - python -m pip install cfelpyutils + python2 -m pip install cfelpyutils - -It is also available as an Anaconda package in the 'ondateam' channel. It can be -installed using the 'conda' command: +It is also available as a package for the `Anaconda <https://anaconda.org/>`_ Python +distribution. It can be installed using the 'conda' command: .. code-block:: bash conda install -c ondateam cfelpyutils +The library can also be installed manually by checking out the repository and running: + +.. code-block:: bash + + python setup.py install + + +Authors +------- + +The CFELPyUtils library is currently developed in the lab of +`Henry Chapman <https://cid.cfel.de/>`_ at the Center For Free Electron Laser Science +in Hamburg. + +Many people from different institutions worlwide contribute code, testing and support +to the project: + +* **Valerio Mariani** (corresponding author: valerio.mariani@desy.de) +* Anton Barty +* Andrew Morgan +* Thomas A. White + Code Documentation ------------------ -Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. \ No newline at end of file +Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. + + +Guidelines for Contributors +--------------------------- + +Contributions to the projects are welcome. Please see the guidelines for contributors +:doc:`here <documentation_guidelines_for_contributors>`. \ No newline at end of file diff --git a/docs/cfelpyutils.crystfel_utils.html b/docs/cfelpyutils.crystfel_utils.html index d162d9e98be24bde366a9733821c98c0cd7e59cd..58736dfc28e6fb4e091027531de5df77b4d3e392 100644 --- a/docs/cfelpyutils.crystfel_utils.html +++ b/docs/cfelpyutils.crystfel_utils.html @@ -95,6 +95,7 @@ file.</td> <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/cfelpyutils.geometry_utils.html b/docs/cfelpyutils.geometry_utils.html index 77c72d07d7b5e99d86a8fe6b66c21971857abaf5..a4741023327231ca89d3d78a367ea041b0b119db 100644 --- a/docs/cfelpyutils.geometry_utils.html +++ b/docs/cfelpyutils.geometry_utils.html @@ -43,9 +43,9 @@ <code class="descname">compute_pix_maps</code><span class="sig-paren">(</span><em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#compute_pix_maps"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.compute_pix_maps" title="Permalink to this definition">¶</a></dt> <dd><p>Computes pixel maps from CrystFEL geometry information.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -returns a set of some pre-computed pixel maps.</p> -<p>The origin and the orientation of the reference system for the pixel maps follow -the same conventions as in CrystFEL:</p> +returns a set of pre-computed pixel maps.</p> +<p>The origin and the orientation of the reference system for the pixel maps are set +according to the same conventions as CrystFEL:</p> <ul class="simple"> <li>The center of the reference system is the beam interaction point.</li> <li>+z is the beam direction, and points along the beam (i.e. away from the source).</li> @@ -73,15 +73,15 @@ pixel maps.</td> <code class="descname">compute_visualization_pix_maps</code><span class="sig-paren">(</span><em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#compute_visualization_pix_maps"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.compute_visualization_pix_maps" title="Permalink to this definition">¶</a></dt> <dd><p>Computes pixel maps for data visualization from CrystFEL geometry information.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -returns a set of some pre-computed pixel maps that can be used to display data in -an ImageView widget from the <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a> library.</p> +returns a set of pre-computed pixel maps that can be used to display data in an +ImageView widget from the <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a> library.</p> <p>These pixel maps are different from the ones generated by the <a class="reference internal" href="#cfelpyutils.geometry_utils.compute_pix_maps" title="cfelpyutils.geometry_utils.compute_pix_maps"><code class="xref py py-func docutils literal notranslate"><span class="pre">compute_pix_maps()</span></code></a> function. The main differences are:</p> <ul class="simple"> <li>The origin of the reference system is not the beam interaction point, but the top left corner of the array used to visualize the data.</li> -<li>Only the x and y pixel maps are available. The other entries in the named tuple -(z, r and phi) are set to None.</li> +<li>Only the x and y pixel maps are available. The other entries in the returned +named tuple (z, r and phi) are set to None.</li> </ul> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -103,15 +103,15 @@ the <a class="reference internal" href="cfelpyutils.crystfel_utils.html#cfelpyut <code class="descname">apply_geometry_to_data</code><span class="sig-paren">(</span><em>data</em>, <em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#apply_geometry_to_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.apply_geometry_to_data" title="Permalink to this definition">¶</a></dt> <dd><p>Applies CrystFEL geometry information to some data.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -some data on which to apply it. It returns an array that can be displayed using a -library like <a class="reference external" href="https://matplotlib.org/">matplotlib</a> or +some data on which to apply the information. It returns an array that can be +displayed using libraries like <a class="reference external" href="https://matplotlib.org/">matplotlib</a> or <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a>.</p> -<p>The shape of the returned array is big enough to display all the input pixel -values, and is symmetric around the center of the reference system (i.e: the beam -interaction point).</p> -<p>NOTE: This restrictions often cause the returned array to be bigger than the minimum -size needed to store the physical layout of the pixels in the detector, -particularly if the detector is not centered at the beam interaction point.</p> +<p>The shape of the returned array is big enough to display all the pixel values in +the input data, and is symmetric around the center of the reference system +(i.e: the beam interaction point).</p> +<p>This restrictions often cause the returned array to be bigger than the minimum size +needed to store the physical layout of the pixels in the detector, particularly if +the detector is not centered at the beam interaction point.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -161,6 +161,7 @@ applied.</p> <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/cfelpyutils.html b/docs/cfelpyutils.html index 24ffb504ac80e7c995ad4ba015d5477f415493cf..e7a0d92a28538de55ba588e0bee27efbbd88546a 100644 --- a/docs/cfelpyutils.html +++ b/docs/cfelpyutils.html @@ -70,6 +70,7 @@ <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/cfelpyutils.named_tuples.html b/docs/cfelpyutils.named_tuples.html index d992c10152e54a8b3b3bbe55b77c2fa2c2c1345a..377126c6fe5a5c92f10b80488c3c1ff069a04eeb 100644 --- a/docs/cfelpyutils.named_tuples.html +++ b/docs/cfelpyutils.named_tuples.html @@ -16,6 +16,7 @@ <script type="text/javascript" src="_static/language_data.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> + <link rel="next" title="Guidelines for Contributors" href="documentation_guidelines_for_contributors.html" /> <link rel="prev" title="The geometry_utils Module" href="cfelpyutils.geometry_utils.html" /> <link rel="stylesheet" href="_static/custom.css" type="text/css" /> @@ -54,7 +55,7 @@ library.</p> <li><strong>r</strong> (<em>numpy.ndarray</em>) – pixel map storing the distance of each pixel from the center of the reference system.</li> <li><strong>phi</strong> (<em>numpy.ndarray</em>) – pixel map storing the amplitude of the angle between each -pixel, the center of the reference system, and the x axis through the center.</li> +pixel, the center of the reference system, and the x axis.</li> </ul> </td> </tr> @@ -118,6 +119,7 @@ pixel, the center of the reference system, and the x axis through the center.</l <li class="toctree-l2 current"><a class="current reference internal" href="#">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> @@ -126,6 +128,7 @@ pixel, the center of the reference system, and the x axis through the center.</l <li><a href="index.html">Documentation overview</a><ul> <li><a href="cfelpyutils.html">The cfelpyutils Package</a><ul> <li>Previous: <a href="cfelpyutils.geometry_utils.html" title="previous chapter">The geometry_utils Module</a></li> + <li>Next: <a href="documentation_guidelines_for_contributors.html" title="next chapter">Guidelines for Contributors</a></li> </ul></li> </ul></li> </ul> diff --git a/docs/documentation_guidelines_for_contributors.html b/docs/documentation_guidelines_for_contributors.html new file mode 100644 index 0000000000000000000000000000000000000000..81baa5aa32f8cd18d9321394afc3cde2a6a244e7 --- /dev/null +++ b/docs/documentation_guidelines_for_contributors.html @@ -0,0 +1,146 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>Guidelines for Contributors — CFELPyUtils 1.0.0 documentation</title> + <link rel="stylesheet" href="_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + <script type="text/javascript" src="_static/jquery.js"></script> + <script type="text/javascript" src="_static/underscore.js"></script> + <script type="text/javascript" src="_static/doctools.js"></script> + <script type="text/javascript" src="_static/language_data.js"></script> + <link rel="index" title="Index" href="genindex.html" /> + <link rel="search" title="Search" href="search.html" /> + <link rel="prev" title="The named_tuples Module" href="cfelpyutils.named_tuples.html" /> + + <link rel="stylesheet" href="_static/custom.css" type="text/css" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> + + </head><body> + + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + + + <div class="body" role="main"> + + <div class="section" id="guidelines-for-contributors"> +<h1>Guidelines for Contributors<a class="headerlink" href="#guidelines-for-contributors" title="Permalink to this headline">¶</a></h1> +<p>Contributions to the project are welcome. Please feel free to submit pull requests +using the standard <a class="reference external" href="https://guides.github.com/introduction/flow/">GitHub flow</a>.</p> +<div class="section" id="version-control"> +<h2>Version Control<a class="headerlink" href="#version-control" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is developed using the <a class="reference external" href="https://git-scm.com">Git</a> version +control system.</p> +<p>It uses the branching strategy proposed by Vincent Driessen and commonly known as +<a class="reference external" href="https://nvie.com/posts/a-successful-git-branching-model">Gitflow</a>.</p> +</div> +<div class="section" id="python"> +<h2>Python<a class="headerlink" href="#python" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is mainly developed in <a class="reference external" href="https://www.python.org">Python</a>.</p> +<ul class="simple"> +<li>All code in the library must run with both version 2 and 3 of Python, except for +facility-specific code that specifically requires one of the two versions (for +example, Python 2 for the LCSL facility). The code must specifically support all the +currently active versions of python:<ul> +<li>Python 2<ul> +<li>2.7</li> +</ul> +</li> +<li>Python 3<ul> +<li>3.5</li> +<li>3.6</li> +<li>3.7</li> +</ul> +</li> +</ul> +</li> +<li>The <a class="reference external" href="https://python-future.org">python-future</a> project should be used to ensure +that code contributed to the project is compatible with all the supported versions of +Python.</li> +<li>The Python coding style should follow for the most part the <a class="reference external" href="https://github.com/google/styleguide/blob/gh-pages/pyguide.md">Google Python Coding Style</a>.</li> +<li>All docstrings should be written following the <a class="reference external" href="https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html">Google Style </a>.</li> +<li><a class="reference external" href="https://www.pylint.org">Pylint</a> should be run on the code before +submission, as stated in the Google Python Coding Style Guide. In the root +folder of the CFELPyUtils repository, contributors can find a ‘pylintrc’ file with +the settings that should be applied when linting the code. Please see <a class="reference external" href="http://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=pylintrc">here</a> how to +use the pylintrc file.</li> +<li>The <a class="reference external" href="https://github.com/psf/black">Black</a> Python code formatter should be run on +the code before submission.</li> +</ul> +</div> +<div class="section" id="c-c"> +<h2>C/C++<a class="headerlink" href="#c-c" title="Permalink to this headline">¶</a></h2> +<p>Some extension can, for performance reason, be written using the <a class="reference external" href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> or <a class="reference external" href="https://en.wikipedia.org/wiki/C_(programming_language)">C</a> programming languages.</p> +<ul class="simple"> +<li>All C++ code in OnDA must follow at most the C++98 ISO standard, and the code +must compile on a Linux RHEL7/CentOS7 platform using the standard development stack +that comes with these systems.</li> +<li>Part of the C++11 standard can be used when writing extensions. However, it must be +possible to compile the code using version 4.8 of the ‘gcc’ compiler (in order to +create the Linux binary Python wheel).</li> +<li>All C code in OnDA must follow at most the C99 ISO standard, and the code +must compile on a Linux RHEL7/CentOS7 platform using the standard development stack +that comes with these systems.</li> +<li>The <a class="reference external" href="http://cython.org">Cython</a> project should be used to interface C/C++ code with +Python.</li> +</ul> +</div> +</div> + + + </div> + + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> + <h3><a href="index.html">Table of Contents</a></h3> + <ul> +<li><a class="reference internal" href="#">Guidelines for Contributors</a><ul> +<li><a class="reference internal" href="#version-control">Version Control</a></li> +<li><a class="reference internal" href="#python">Python</a></li> +<li><a class="reference internal" href="#c-c">C/C++</a></li> +</ul> +</li> +</ul> + +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <div class="searchformwrapper"> + <form class="search" action="search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + </div> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2019, OnDA Team. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.5</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a> + + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs/genindex.html b/docs/genindex.html index c2a43c1d5a1ff45d2b4cede518565357864db04c..19e0c10386752bfe9ebb701eeb41c28878b67ec6 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -147,6 +147,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/index.html b/docs/index.html index ea167f9aedf7f91898a6e71fbb0e82401ca29d34..6e919023c8c32ddf9acffc5095b6620a77aa10d3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -47,25 +47,47 @@ several internal and released CFEL software projects.</p> </div> <div class="section" id="installation"> <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2> -<p>The CFELPyUtils library is available on PyPI and can be installed using the pip -command:</p> +<p>The CFELPyUtils library is available on the <a class="reference external" href="https://pypi.org/">Python Package Index</a> (PyPI). It can be installed using the ‘pip’ command:</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3 -m pip install cfelpyutils </pre></div> </div> -<p>Or, for python2:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -m pip install cfelpyutils +<p>Or, for Python 2:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python2 -m pip install cfelpyutils </pre></div> </div> -<p>It is also available as an Anaconda package in the ‘ondateam’ channel. It can be -installed using the ‘conda’ command:</p> +<p>It is also available as a package for the <a class="reference external" href="https://anaconda.org/">Anaconda</a> Python +distribution. It can be installed using the ‘conda’ command:</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>conda install -c ondateam cfelpyutils </pre></div> </div> +<p>The library can also be installed manually by checking out the repository and running:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install +</pre></div> +</div> +</div> +<div class="section" id="authors"> +<h2>Authors<a class="headerlink" href="#authors" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is currently developed in the lab of +<a class="reference external" href="https://cid.cfel.de/">Henry Chapman</a> at the Center For Free Electron Laser Science +in Hamburg.</p> +<p>Many people from different institutions worlwide contribute code, testing and support +to the project:</p> +<ul class="simple"> +<li><strong>Valerio Mariani</strong> (corresponding author: <a class="reference external" href="mailto:valerio.mariani%40desy.de">valerio<span>.</span>mariani<span>@</span>desy<span>.</span>de</a>)</li> +<li>Anton Barty</li> +<li>Andrew Morgan</li> +<li>Thomas A. White</li> +</ul> </div> <div class="section" id="code-documentation"> <h2>Code Documentation<a class="headerlink" href="#code-documentation" title="Permalink to this headline">¶</a></h2> <p>Code documentation for the CFELPyUtils library can be found <a class="reference internal" href="cfelpyutils.html"><span class="doc">here</span></a>.</p> </div> +<div class="section" id="guidelines-for-contributors"> +<h2>Guidelines for Contributors<a class="headerlink" href="#guidelines-for-contributors" title="Permalink to this headline">¶</a></h2> +<p>Contributions to the projects are welcome. Please see the guidelines for contributors +<a class="reference internal" href="documentation_guidelines_for_contributors.html"><span class="doc">here</span></a>.</p> +</div> </div> @@ -80,7 +102,9 @@ installed using the ‘conda’ command:</p> <li><a class="reference internal" href="#">CFELPyUtils</a><ul> <li><a class="reference internal" href="#introduction">Introduction</a></li> <li><a class="reference internal" href="#installation">Installation</a></li> +<li><a class="reference internal" href="#authors">Authors</a></li> <li><a class="reference internal" href="#code-documentation">Code Documentation</a></li> +<li><a class="reference internal" href="#guidelines-for-contributors">Guidelines for Contributors</a></li> </ul> </li> </ul> diff --git a/docs/objects.inv b/docs/objects.inv index 34d07436a47e4c7ece1eb791d06dad404d86eca3..4a820253d6ecab3d4028bc2d93308bcfad0ecf29 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 02294c3cdfa99d66eb51c404d1f3a85f35a11d58..b250e7947045705d5ded347fb794804d6ea35934 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -88,6 +88,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/search.html b/docs/search.html index a11796593e684e220d2c736d2087b4ebbc556ea1..e7b25fce925230ba85e8f631a8f13acdcc233dde 100644 --- a/docs/search.html +++ b/docs/search.html @@ -83,6 +83,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs/searchindex.js b/docs/searchindex.js index be933e780bb7a3bd503662b1d6b9e2859f846b97..2f17d5db1173fdf12014438b4c8a0fa0515a9907 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["cfelpyutils","cfelpyutils.crystfel_utils","cfelpyutils.geometry_utils","cfelpyutils.named_tuples","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["cfelpyutils.rst","cfelpyutils.crystfel_utils.rst","cfelpyutils.geometry_utils.rst","cfelpyutils.named_tuples.rst","index.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.crystfel_utils":{load_crystfel_geometry:[1,1,1,""]},"cfelpyutils.geometry_utils":{apply_geometry_to_data:[2,1,1,""],compute_pix_maps:[2,1,1,""],compute_visualization_pix_maps:[2,1,1,""]},"cfelpyutils.named_tuples":{PixelMaps:[3,2,1,""]},"cfelpyutils.named_tuples.PixelMaps":{phi:[3,3,1,""],r:[3,3,1,""],x:[3,3,1,""],y:[3,3,1,""],z:[3,3,1,""]},cfelpyutils:{crystfel_utils:[1,0,0,"-"],geometry_utils:[2,0,0,"-"],named_tuples:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:attribute"},terms:{"41a8fa9819010":1,"class":[3,4],"float":[],"function":[1,2,4],"int":[],"new":[],"return":[1,2],For:[1,4],The:4,These:2,absolut:1,adjust:[],alia:3,all:2,along:2,also:4,amplitud:3,anaconda:4,angl:3,ani:[1,2],appli:[2,4],apply_geometry_to_data:2,around:2,arrai:2,assum:[],avail:[2,4],awai:2,axi:3,base:3,beam:2,been:[],between:3,big:2,bigger:2,can:[2,4],caus:2,ceil:2,center:[2,3,4],cfel:4,cfelpyutil:3,channel:4,code:1,collect:3,command:4,commit:1,complet:2,comput:2,compute_min_array_s:[],compute_pix_map:2,compute_visualization_pix_map:2,conda:4,connect:[],contain:[0,1,2,3,4],convent:2,convert:[],coordin:[2,3],corner:2,correspond:1,crystfel:[1,2],crystfel_util:0,current:[1,4],data:[2,4],describ:[],desi:[],detector:[2,4],develop:4,dict:[1,2],dictionari:[1,2],differ:2,direct:2,displai:2,displayedus:[],distanc:3,document:1,each:3,electron:4,enough:2,entri:2,field:3,fifth:[],file:[1,2],filenam:1,first:[],follow:2,format:1,found:4,fourth:[],free:4,from:[1,2,3],full:1,gener:2,geometri:[1,2,3,4],geometry_util:0,get_detector_geometry_2:1,hamburg:4,hand:2,has:[],here:4,http:[],imag:4,imageview:2,implement:[],inform:[1,2,3,4],input:2,instead:[],interact:2,intern:4,just:[],kei:1,languag:1,laser:4,layout:2,left:2,librari:[0,2,3,4],like:2,link:[],load:1,load_crystfel_geometri:[1,2],main:[0,2],make:[],man:1,mani:[],manipul:2,map:[2,3],match:1,matplotlib:2,minimum:2,mostli:4,name:[2,3],named_tupl:0,ndarrai:[2,3],need:2,none:2,note:2,number:3,numpi:[2,3],object:2,often:2,ondateam:4,ones:2,onli:2,org:[],orient:2,origin:2,other:2,packag:[1,4],page:1,paramet:[1,2,3],particularli:2,path:1,perform:4,phi:[2,3],physic:2,pip:4,pixel:[2,3],pixel_map:[],pixelmap:[2,3],point:2,pre:2,prepar:[],process:4,project:4,provid:[],pypi:4,pyqtgraph:2,python2:4,python3:4,python:[1,4],rai:4,read:[1,2,4],readi:[],refer:[2,3],reimplement:1,rel:1,relat:4,releas:4,relev:1,respect:[],restrict:2,result:[],right:2,same:2,scienc:4,see:1,set:2,sever:4,shape:2,should:2,size:2,softwar:[1,4],some:[1,2],sourc:[1,2],standard:[],store:[1,2,3],str:[1,2],stro:[],style:[],submodul:[],suppos:[],symmetr:2,sync:[],synchron:1,system:[2,3],take:2,task:4,than:2,thi:[1,2,3],third:[],three:[],through:3,throughout:3,top:2,toward:2,tupl:[2,3],twhite:[],two:[],type:[1,2],used:[2,3,4],uses:1,using:[2,4],util:[1,2,4],valu:[1,2],variou:4,vector:[],visual:2,which:[0,2],whole:0,widget:2,work:[],written:4,wth:[],www:[],zenith:2},titles:["The cfelpyutils Package","The crystfel_utils Module","The geometry_utils Module","The named_tuples Module","CFELPyUtils"],titleterms:{The:[0,1,2,3],cfelpyutil:[0,4],code:4,crystfel_util:1,document:4,geometry_util:2,instal:4,introduct:4,modul:[1,2,3],named_tupl:3,packag:0,thecfelpyutil:[]}}) \ No newline at end of file +Search.setIndex({docnames:["cfelpyutils","cfelpyutils.crystfel_utils","cfelpyutils.geometry_utils","cfelpyutils.named_tuples","documentation_guidelines_for_contributors","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["cfelpyutils.rst","cfelpyutils.crystfel_utils.rst","cfelpyutils.geometry_utils.rst","cfelpyutils.named_tuples.rst","documentation_guidelines_for_contributors.rst","index.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.crystfel_utils":{load_crystfel_geometry:[1,1,1,""]},"cfelpyutils.geometry_utils":{apply_geometry_to_data:[2,1,1,""],compute_pix_maps:[2,1,1,""],compute_visualization_pix_maps:[2,1,1,""]},"cfelpyutils.named_tuples":{PixelMaps:[3,2,1,""]},"cfelpyutils.named_tuples.PixelMaps":{phi:[3,3,1,""],r:[3,3,1,""],x:[3,3,1,""],y:[3,3,1,""],z:[3,3,1,""]},cfelpyutils:{crystfel_utils:[1,0,0,"-"],geometry_utils:[2,0,0,"-"],named_tuples:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:attribute"},terms:{"41a8fa9819010":1,"class":[3,5],"float":[],"function":[1,2,5],"int":[],"new":[],"return":[1,2],For:[1,5],The:[4,5],These:2,absolut:1,accord:2,activ:4,adjust:[],alia:3,all:[2,4],along:2,also:5,amplitud:3,anaconda:5,andrew:5,angl:3,ani:[1,2],anton:5,appli:[2,4,5],apply_geometry_to_data:2,around:2,arrai:2,assum:[],avail:[2,5],awai:2,axi:3,barti:5,base:3,beam:2,been:[],befor:4,between:3,big:2,bigger:2,binari:4,black:4,both:4,branch:4,c99:4,can:[2,4,5],caus:2,ceil:2,center:[2,3,5],centos7:4,cfel:5,cfelpyutil:[3,4],channel:[],chapman:5,check:5,code:[1,4],collect:3,com:[],come:4,command:5,commit:1,commonli:4,compat:4,compil:4,complet:2,comput:2,compute_min_array_s:[],compute_pix_map:2,compute_visualization_pix_map:2,conda:5,connect:[],contain:[0,1,2,3,5],contribut:[4,5],convent:2,convert:[],coordin:[2,3],corner:2,correspond:[1,5],creat:4,crystfel:[1,2],crystfel_util:0,current:[1,4,5],cython:4,data:[2,5],describ:[],desi:5,detector:[2,5],develop:[4,5],dict:[1,2],dictionari:[1,2],differ:[2,5],direct:2,displai:2,displayedus:[],distanc:3,distribut:5,doc:[],docstr:4,document:1,documentation_guidelines_for_contributor:[],driessen:4,each:3,electron:5,enough:2,ensur:4,entri:2,exampl:4,except:4,extens:4,facil:4,feel:4,field:3,fifth:[],file:[1,2,4],filenam:1,find:4,first:[],flow:4,folder:4,follow:4,fork:[],format:1,formatt:4,found:5,fourth:[],free:[4,5],from:[1,2,3,5],full:1,futur:4,gcc:4,gener:2,geometri:[1,2,3,5],geometry_util:0,get_detector_geometry_2:1,git:4,gitflow:4,github:4,googl:4,guid:4,hamburg:5,hand:2,has:[],henri:5,here:[4,5],how:4,howev:4,http:[],imag:5,imageview:2,implement:[],index:5,inform:[1,2,3,5],input:2,instead:[],institut:5,interact:2,interfac:4,intern:5,introduct:[],iso:4,just:[],kei:1,known:4,lab:5,languag:[1,4],laser:5,layout:2,lcsl:4,left:2,librari:[0,2,3,4,5],like:2,link:[],lint:4,linux:4,load:1,load_crystfel_geometri:[1,2],main:[0,2],mainli:4,make:[],man:1,mani:5,manipul:2,manual:5,map:[2,3],mariani:5,match:1,matplotlib:2,minimum:2,model:[],morgan:5,most:4,mostli:5,must:4,name:[2,3],named_tupl:0,ndarrai:[2,3],need:2,none:2,note:[],number:3,numpi:[2,3],nvie:[],object:2,often:2,onda:4,ondateam:5,one:4,ones:2,onli:2,order:4,org:[],orient:2,origin:2,other:2,out:5,packag:[1,5],page:1,paramet:[1,2,3],part:4,particularli:2,path:1,peopl:5,perform:[4,5],phi:[2,3],physic:2,pip:5,pixel:[2,3],pixel_map:[],pixelmap:[2,3],platform:4,pleas:[4,5],point:2,possibl:4,post:[],pre:2,prepar:[],process:5,program:4,project:[4,5],propos:4,provid:[],pull:4,pylint:4,pylintrc:4,pypi:5,pyqtgraph:2,python2:5,python3:5,python:[1,5],rai:5,read:[1,2,5],readi:[],reason:4,refer:[2,3],reimplement:1,rel:1,relat:5,releas:5,relev:1,repositori:[4,5],request:4,requir:4,respect:[],restrict:2,result:[],rhel7:4,right:2,root:4,run:[4,5],same:2,scienc:5,scm:[],see:[1,4,5],set:[2,4],setup:5,sever:5,shape:2,should:[2,4],size:2,softwar:[1,5],some:[1,2,4],sourc:[1,2],specif:4,stack:4,standard:4,state:4,store:[1,2,3],str:[1,2],strategi:4,stro:[],style:4,submiss:4,submit:4,submodul:[],success:[],support:[4,5],suppos:[],symmetr:2,sync:[],synchron:1,system:[2,3,4],take:2,task:5,test:5,than:2,thi:[1,2,3],third:[],thoma:5,three:[],through:[],throughout:3,top:2,toward:2,tupl:[2,3],twhite:[],two:4,type:[1,2],use:4,used:[2,3,4,5],uses:[1,4],using:[2,4,5],util:[1,2,5],valerio:5,valu:[1,2],variou:5,vector:[],vincent:4,visual:2,welcom:[4,5],wheel:4,when:4,which:[0,2],white:5,whole:0,widget:2,work:[],worlwid:5,write:4,written:[4,5],wth:[],www:[],zenith:2},titles:["The cfelpyutils Package","The crystfel_utils Module","The geometry_utils Module","The named_tuples Module","Guidelines for Contributors","CFELPyUtils"],titleterms:{The:[0,1,2,3],author:5,cfelpyutil:[0,5],code:5,contributor:[4,5],control:4,crystfel_util:1,document:5,geometry_util:2,guidelin:[4,5],instal:5,introduct:5,modul:[1,2,3],named_tupl:3,packag:0,python:4,thecfelpyutil:[],version:4}}) \ No newline at end of file diff --git a/docs_src/_build/doctrees/cfelpyutils.geometry_utils.doctree b/docs_src/_build/doctrees/cfelpyutils.geometry_utils.doctree index ca1e14957b5fc883079921f36592dd98910a8eb3..ef78c530f1bd185db8de4b0d027a1bf0655e3480 100644 Binary files a/docs_src/_build/doctrees/cfelpyutils.geometry_utils.doctree and b/docs_src/_build/doctrees/cfelpyutils.geometry_utils.doctree differ diff --git a/docs_src/_build/doctrees/cfelpyutils.named_tuples.doctree b/docs_src/_build/doctrees/cfelpyutils.named_tuples.doctree index 951a3aee914e21348f74f94850fe62bb7a96d8a1..ba3c44ff6f9b3795a51c675e8a6f8088d9483c4e 100644 Binary files a/docs_src/_build/doctrees/cfelpyutils.named_tuples.doctree and b/docs_src/_build/doctrees/cfelpyutils.named_tuples.doctree differ diff --git a/docs_src/_build/doctrees/documentation_guidelines_for_contributors.doctree b/docs_src/_build/doctrees/documentation_guidelines_for_contributors.doctree new file mode 100644 index 0000000000000000000000000000000000000000..a5446767a2c64afa17aadb39889320d78fe0f147 Binary files /dev/null and b/docs_src/_build/doctrees/documentation_guidelines_for_contributors.doctree differ diff --git a/docs_src/_build/doctrees/environment.pickle b/docs_src/_build/doctrees/environment.pickle index ab85190b94d6e6c3a55d42111fbf201f24b8a836..b8ee0ab9479772890454c5d87da8fc1f9540c191 100644 Binary files a/docs_src/_build/doctrees/environment.pickle and b/docs_src/_build/doctrees/environment.pickle differ diff --git a/docs_src/_build/doctrees/index.doctree b/docs_src/_build/doctrees/index.doctree index 40c0debfc498eee782bf01c6988c1be8aa48990d..eabd823eacd46babafe90b699e47c95d0c7fd58c 100644 Binary files a/docs_src/_build/doctrees/index.doctree and b/docs_src/_build/doctrees/index.doctree differ diff --git a/docs_src/_build/html/.buildinfo b/docs_src/_build/html/.buildinfo index 07914e11cd51b32e8a54185493cb6023763db123..5c20a1aa2ba886fea4d4c0b1cf5fc814cc32865f 100644 --- a/docs_src/_build/html/.buildinfo +++ b/docs_src/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fd8cf3500139e539a950fcaee26c3d53 +config: b2d79c21d77cd2b06bfb2cb4376d24d9 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs_src/_build/html/_modules/cfelpyutils/crystfel_utils.html b/docs_src/_build/html/_modules/cfelpyutils/crystfel_utils.html index 8d1f451c36483926812bdfdcc50feac418cf92c1..f114828d0b06f39b048819472b0a1d8f02aee83f 100644 --- a/docs_src/_build/html/_modules/cfelpyutils/crystfel_utils.html +++ b/docs_src/_build/html/_modules/cfelpyutils/crystfel_utils.html @@ -703,6 +703,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/_modules/cfelpyutils/geometry_utils.html b/docs_src/_build/html/_modules/cfelpyutils/geometry_utils.html index 479e59649035baa939fd095a975bd800c78c4c7d..61de150ac343caea069add2e37dfbec77a55e77a 100644 --- a/docs_src/_build/html/_modules/cfelpyutils/geometry_utils.html +++ b/docs_src/_build/html/_modules/cfelpyutils/geometry_utils.html @@ -69,10 +69,10 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> returns a set of some pre-computed pixel maps.</span> +<span class="sd"> returns a set of pre-computed pixel maps.</span> -<span class="sd"> The origin and the orientation of the reference system for the pixel maps follow</span> -<span class="sd"> the same conventions as in CrystFEL:</span> +<span class="sd"> The origin and the orientation of the reference system for the pixel maps are set</span> +<span class="sd"> according to the same conventions as CrystFEL:</span> <span class="sd"> * The center of the reference system is the beam interaction point.</span> @@ -168,8 +168,8 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> returns a set of some pre-computed pixel maps that can be used to display data in</span> -<span class="sd"> an ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library.</span> +<span class="sd"> returns a set of pre-computed pixel maps that can be used to display data in an</span> +<span class="sd"> ImageView widget from the `PyQtGraph <http://pyqtgraph.org/>`_ library.</span> <span class="sd"> These pixel maps are different from the ones generated by the</span> <span class="sd"> :func:`~compute_pix_maps` function. The main differences are:</span> @@ -177,8 +177,8 @@ <span class="sd"> * The origin of the reference system is not the beam interaction point, but the top</span> <span class="sd"> left corner of the array used to visualize the data.</span> -<span class="sd"> * Only the x and y pixel maps are available. The other entries in the named tuple</span> -<span class="sd"> (z, r and phi) are set to None.</span> +<span class="sd"> * Only the x and y pixel maps are available. The other entries in the returned</span> +<span class="sd"> named tuple (z, r and phi) are set to None.</span> <span class="sd"> Arguments:</span> @@ -214,17 +214,17 @@ <span class="sd"> This function takes as input some geometry information read from a `CrystFEL</span> <span class="sd"> <http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html>`_ file, and</span> -<span class="sd"> some data on which to apply it. It returns an array that can be displayed using a</span> -<span class="sd"> library like `matplotlib <https://matplotlib.org/>`_ or </span> +<span class="sd"> some data on which to apply the information. It returns an array that can be</span> +<span class="sd"> displayed using libraries like `matplotlib <https://matplotlib.org/>`_ or</span> <span class="sd"> `PyQtGraph <http://pyqtgraph.org/>`_.</span> -<span class="sd"> The shape of the returned array is big enough to display all the input pixel</span> -<span class="sd"> values, and is symmetric around the center of the reference system (i.e: the beam</span> -<span class="sd"> interaction point).</span> +<span class="sd"> The shape of the returned array is big enough to display all the pixel values in</span> +<span class="sd"> the input data, and is symmetric around the center of the reference system</span> +<span class="sd"> (i.e: the beam interaction point).</span> -<span class="sd"> NOTE: This restrictions often cause the returned array to be bigger than the minimum</span> -<span class="sd"> size needed to store the physical layout of the pixels in the detector,</span> -<span class="sd"> particularly if the detector is not centered at the beam interaction point.</span> +<span class="sd"> This restrictions often cause the returned array to be bigger than the minimum size</span> +<span class="sd"> needed to store the physical layout of the pixels in the detector, particularly if</span> +<span class="sd"> the detector is not centered at the beam interaction point.</span> <span class="sd"> Arguments:</span> @@ -270,6 +270,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/_modules/cfelpyutils/named_tuples.html b/docs_src/_build/html/_modules/cfelpyutils/named_tuples.html index 7649063330eaea457e84e09fc4ef23c19cfbc204..5c11e47d12ac2cd84ecbfda54af3a339e330b363 100644 --- a/docs_src/_build/html/_modules/cfelpyutils/named_tuples.html +++ b/docs_src/_build/html/_modules/cfelpyutils/named_tuples.html @@ -72,7 +72,7 @@ <span class="sd"> the reference system.</span> <span class="sd"> phi (numpy.ndarray): pixel map storing the amplitude of the angle between each</span> -<span class="sd"> pixel, the center of the reference system, and the x axis through the center.</span> +<span class="sd"> pixel, the center of the reference system, and the x axis.</span> <span class="sd">"""</span> </pre></div> @@ -94,6 +94,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/_modules/index.html b/docs_src/_build/html/_modules/index.html index 0426bf54bd656d3c0d95f66c067ab2aa714127f7..a28cdf28c4b7094fd60c51780af2e82370e397ca 100644 --- a/docs_src/_build/html/_modules/index.html +++ b/docs_src/_build/html/_modules/index.html @@ -56,6 +56,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="../cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="../documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/_sources/documentation_guidelines_for_contributors.rst.txt b/docs_src/_build/html/_sources/documentation_guidelines_for_contributors.rst.txt new file mode 100644 index 0000000000000000000000000000000000000000..bcdb3cbbd84cdc0dcbf1b78b56f85305a1c14b4d --- /dev/null +++ b/docs_src/_build/html/_sources/documentation_guidelines_for_contributors.rst.txt @@ -0,0 +1,79 @@ +Guidelines for Contributors +=========================== + +Contributions to the project are welcome. Please feel free to submit pull requests +using the standard `GitHub flow <https://guides.github.com/introduction/flow/>`_. + + +Version Control +^^^^^^^^^^^^^^^ + +The CFELPyUtils library is developed using the `Git <https://git-scm.com>`_ version +control system. + +It uses the branching strategy proposed by Vincent Driessen and commonly known as +`Gitflow <https://nvie.com/posts/a-successful-git-branching-model>`_. + + +Python +^^^^^^ + +The CFELPyUtils library is mainly developed in `Python <https://www.python.org>`_. + +* All code in the library must run with both version 2 and 3 of Python, except for + facility-specific code that specifically requires one of the two versions (for + example, Python 2 for the LCSL facility). The code must specifically support all the + currently active versions of python: + + * Python 2 + + * 2.7 + + * Python 3 + + * 3.5 + * 3.6 + * 3.7 + +* The `python-future <https://python-future.org>`_ project should be used to ensure + that code contributed to the project is compatible with all the supported versions of + Python. + +* The Python coding style should follow for the most part the `Google Python \ + Coding Style <https://github.com/google/styleguide/blob/gh-pages/pyguide.md>`_. + +* All docstrings should be written following the `Google Style \ + <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html>`_. + +* `Pylint <https://www.pylint.org>`_ should be run on the code before + submission, as stated in the Google Python Coding Style Guide. In the root + folder of the CFELPyUtils repository, contributors can find a 'pylintrc' file with + the settings that should be applied when linting the code. Please see `here + <http://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=pylintrc>`_ how to + use the pylintrc file. + +* The `Black <https://github.com/psf/black>`_ Python code formatter should be run on + the code before submission. + + +C/C++ +^^^^^ + +Some extension can, for performance reason, be written using the `C++ +<https://en.wikipedia.org/wiki/C%2B%2B>`_ or `C +<https://en.wikipedia.org/wiki/C_(programming_language)>`_ programming languages. + +* All C++ code in OnDA must follow at most the C++98 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* Part of the C++11 standard can be used when writing extensions. However, it must be + possible to compile the code using version 4.8 of the 'gcc' compiler (in order to + create the Linux binary Python wheel). + +* All C code in OnDA must follow at most the C99 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* The `Cython <http://cython.org>`_ project should be used to interface C/C++ code with + Python. diff --git a/docs_src/_build/html/_sources/index.rst.txt b/docs_src/_build/html/_sources/index.rst.txt index 929f41c32ea744403ac70d20eb2f5d6358abba7e..a3b5c6edd53bf827b02c983c043da0e871a8aa0c 100644 --- a/docs_src/_build/html/_sources/index.rst.txt +++ b/docs_src/_build/html/_sources/index.rst.txt @@ -10,6 +10,7 @@ CFELPyUtils :hidden: cfelpyutils + documentation_guidelines_for_contributors Introduction @@ -25,29 +26,57 @@ several internal and released CFEL software projects. Installation ------------ -The CFELPyUtils library is available on PyPI and can be installed using the pip -command: +The CFELPyUtils library is available on the `Python Package Index +<https://pypi.org/>`_ (PyPI). It can be installed using the 'pip' command: .. code-block:: bash python3 -m pip install cfelpyutils -Or, for python2: +Or, for Python 2: .. code-block:: bash - python -m pip install cfelpyutils + python2 -m pip install cfelpyutils - -It is also available as an Anaconda package in the 'ondateam' channel. It can be -installed using the 'conda' command: +It is also available as a package for the `Anaconda <https://anaconda.org/>`_ Python +distribution. It can be installed using the 'conda' command: .. code-block:: bash conda install -c ondateam cfelpyutils +The library can also be installed manually by checking out the repository and running: + +.. code-block:: bash + + python setup.py install + + +Authors +------- + +The CFELPyUtils library is currently developed in the lab of +`Henry Chapman <https://cid.cfel.de/>`_ at the Center For Free Electron Laser Science +in Hamburg. + +Many people from different institutions worlwide contribute code, testing and support +to the project: + +* **Valerio Mariani** (corresponding author: valerio.mariani@desy.de) +* Anton Barty +* Andrew Morgan +* Thomas A. White + Code Documentation ------------------ -Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. \ No newline at end of file +Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. + + +Guidelines for Contributors +--------------------------- + +Contributions to the projects are welcome. Please see the guidelines for contributors +:doc:`here <documentation_guidelines_for_contributors>`. \ No newline at end of file diff --git a/docs_src/_build/html/cfelpyutils.crystfel_utils.html b/docs_src/_build/html/cfelpyutils.crystfel_utils.html index d162d9e98be24bde366a9733821c98c0cd7e59cd..58736dfc28e6fb4e091027531de5df77b4d3e392 100644 --- a/docs_src/_build/html/cfelpyutils.crystfel_utils.html +++ b/docs_src/_build/html/cfelpyutils.crystfel_utils.html @@ -95,6 +95,7 @@ file.</td> <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/cfelpyutils.geometry_utils.html b/docs_src/_build/html/cfelpyutils.geometry_utils.html index 77c72d07d7b5e99d86a8fe6b66c21971857abaf5..a4741023327231ca89d3d78a367ea041b0b119db 100644 --- a/docs_src/_build/html/cfelpyutils.geometry_utils.html +++ b/docs_src/_build/html/cfelpyutils.geometry_utils.html @@ -43,9 +43,9 @@ <code class="descname">compute_pix_maps</code><span class="sig-paren">(</span><em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#compute_pix_maps"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.compute_pix_maps" title="Permalink to this definition">¶</a></dt> <dd><p>Computes pixel maps from CrystFEL geometry information.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -returns a set of some pre-computed pixel maps.</p> -<p>The origin and the orientation of the reference system for the pixel maps follow -the same conventions as in CrystFEL:</p> +returns a set of pre-computed pixel maps.</p> +<p>The origin and the orientation of the reference system for the pixel maps are set +according to the same conventions as CrystFEL:</p> <ul class="simple"> <li>The center of the reference system is the beam interaction point.</li> <li>+z is the beam direction, and points along the beam (i.e. away from the source).</li> @@ -73,15 +73,15 @@ pixel maps.</td> <code class="descname">compute_visualization_pix_maps</code><span class="sig-paren">(</span><em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#compute_visualization_pix_maps"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.compute_visualization_pix_maps" title="Permalink to this definition">¶</a></dt> <dd><p>Computes pixel maps for data visualization from CrystFEL geometry information.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -returns a set of some pre-computed pixel maps that can be used to display data in -an ImageView widget from the <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a> library.</p> +returns a set of pre-computed pixel maps that can be used to display data in an +ImageView widget from the <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a> library.</p> <p>These pixel maps are different from the ones generated by the <a class="reference internal" href="#cfelpyutils.geometry_utils.compute_pix_maps" title="cfelpyutils.geometry_utils.compute_pix_maps"><code class="xref py py-func docutils literal notranslate"><span class="pre">compute_pix_maps()</span></code></a> function. The main differences are:</p> <ul class="simple"> <li>The origin of the reference system is not the beam interaction point, but the top left corner of the array used to visualize the data.</li> -<li>Only the x and y pixel maps are available. The other entries in the named tuple -(z, r and phi) are set to None.</li> +<li>Only the x and y pixel maps are available. The other entries in the returned +named tuple (z, r and phi) are set to None.</li> </ul> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> @@ -103,15 +103,15 @@ the <a class="reference internal" href="cfelpyutils.crystfel_utils.html#cfelpyut <code class="descname">apply_geometry_to_data</code><span class="sig-paren">(</span><em>data</em>, <em>geometry</em><span class="sig-paren">)</span><a class="reference internal" href="_modules/cfelpyutils/geometry_utils.html#apply_geometry_to_data"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#cfelpyutils.geometry_utils.apply_geometry_to_data" title="Permalink to this definition">¶</a></dt> <dd><p>Applies CrystFEL geometry information to some data.</p> <p>This function takes as input some geometry information read from a <a class="reference external" href="http://www.desy.de/~twhite/crystfel/manual-crystfel_geometry.html">CrystFEL</a> file, and -some data on which to apply it. It returns an array that can be displayed using a -library like <a class="reference external" href="https://matplotlib.org/">matplotlib</a> or +some data on which to apply the information. It returns an array that can be +displayed using libraries like <a class="reference external" href="https://matplotlib.org/">matplotlib</a> or <a class="reference external" href="http://pyqtgraph.org/">PyQtGraph</a>.</p> -<p>The shape of the returned array is big enough to display all the input pixel -values, and is symmetric around the center of the reference system (i.e: the beam -interaction point).</p> -<p>NOTE: This restrictions often cause the returned array to be bigger than the minimum -size needed to store the physical layout of the pixels in the detector, -particularly if the detector is not centered at the beam interaction point.</p> +<p>The shape of the returned array is big enough to display all the pixel values in +the input data, and is symmetric around the center of the reference system +(i.e: the beam interaction point).</p> +<p>This restrictions often cause the returned array to be bigger than the minimum size +needed to store the physical layout of the pixels in the detector, particularly if +the detector is not centered at the beam interaction point.</p> <table class="docutils field-list" frame="void" rules="none"> <col class="field-name" /> <col class="field-body" /> @@ -161,6 +161,7 @@ applied.</p> <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/cfelpyutils.html b/docs_src/_build/html/cfelpyutils.html index 24ffb504ac80e7c995ad4ba015d5477f415493cf..e7a0d92a28538de55ba588e0bee27efbbd88546a 100644 --- a/docs_src/_build/html/cfelpyutils.html +++ b/docs_src/_build/html/cfelpyutils.html @@ -70,6 +70,7 @@ <li class="toctree-l2"><a class="reference internal" href="cfelpyutils.named_tuples.html">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/cfelpyutils.named_tuples.html b/docs_src/_build/html/cfelpyutils.named_tuples.html index d992c10152e54a8b3b3bbe55b77c2fa2c2c1345a..377126c6fe5a5c92f10b80488c3c1ff069a04eeb 100644 --- a/docs_src/_build/html/cfelpyutils.named_tuples.html +++ b/docs_src/_build/html/cfelpyutils.named_tuples.html @@ -16,6 +16,7 @@ <script type="text/javascript" src="_static/language_data.js"></script> <link rel="index" title="Index" href="genindex.html" /> <link rel="search" title="Search" href="search.html" /> + <link rel="next" title="Guidelines for Contributors" href="documentation_guidelines_for_contributors.html" /> <link rel="prev" title="The geometry_utils Module" href="cfelpyutils.geometry_utils.html" /> <link rel="stylesheet" href="_static/custom.css" type="text/css" /> @@ -54,7 +55,7 @@ library.</p> <li><strong>r</strong> (<em>numpy.ndarray</em>) – pixel map storing the distance of each pixel from the center of the reference system.</li> <li><strong>phi</strong> (<em>numpy.ndarray</em>) – pixel map storing the amplitude of the angle between each -pixel, the center of the reference system, and the x axis through the center.</li> +pixel, the center of the reference system, and the x axis.</li> </ul> </td> </tr> @@ -118,6 +119,7 @@ pixel, the center of the reference system, and the x axis through the center.</l <li class="toctree-l2 current"><a class="current reference internal" href="#">named_tuples</a></li> </ul> </li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> @@ -126,6 +128,7 @@ pixel, the center of the reference system, and the x axis through the center.</l <li><a href="index.html">Documentation overview</a><ul> <li><a href="cfelpyutils.html">The cfelpyutils Package</a><ul> <li>Previous: <a href="cfelpyutils.geometry_utils.html" title="previous chapter">The geometry_utils Module</a></li> + <li>Next: <a href="documentation_guidelines_for_contributors.html" title="next chapter">Guidelines for Contributors</a></li> </ul></li> </ul></li> </ul> diff --git a/docs_src/_build/html/documentation_guidelines_for_contributors.html b/docs_src/_build/html/documentation_guidelines_for_contributors.html new file mode 100644 index 0000000000000000000000000000000000000000..81baa5aa32f8cd18d9321394afc3cde2a6a244e7 --- /dev/null +++ b/docs_src/_build/html/documentation_guidelines_for_contributors.html @@ -0,0 +1,146 @@ + +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + +<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> + <head> + <meta http-equiv="X-UA-Compatible" content="IE=Edge" /> + <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> + <title>Guidelines for Contributors — CFELPyUtils 1.0.0 documentation</title> + <link rel="stylesheet" href="_static/alabaster.css" type="text/css" /> + <link rel="stylesheet" href="_static/pygments.css" type="text/css" /> + <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script> + <script type="text/javascript" src="_static/jquery.js"></script> + <script type="text/javascript" src="_static/underscore.js"></script> + <script type="text/javascript" src="_static/doctools.js"></script> + <script type="text/javascript" src="_static/language_data.js"></script> + <link rel="index" title="Index" href="genindex.html" /> + <link rel="search" title="Search" href="search.html" /> + <link rel="prev" title="The named_tuples Module" href="cfelpyutils.named_tuples.html" /> + + <link rel="stylesheet" href="_static/custom.css" type="text/css" /> + + + <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> + + </head><body> + + + <div class="document"> + <div class="documentwrapper"> + <div class="bodywrapper"> + + + <div class="body" role="main"> + + <div class="section" id="guidelines-for-contributors"> +<h1>Guidelines for Contributors<a class="headerlink" href="#guidelines-for-contributors" title="Permalink to this headline">¶</a></h1> +<p>Contributions to the project are welcome. Please feel free to submit pull requests +using the standard <a class="reference external" href="https://guides.github.com/introduction/flow/">GitHub flow</a>.</p> +<div class="section" id="version-control"> +<h2>Version Control<a class="headerlink" href="#version-control" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is developed using the <a class="reference external" href="https://git-scm.com">Git</a> version +control system.</p> +<p>It uses the branching strategy proposed by Vincent Driessen and commonly known as +<a class="reference external" href="https://nvie.com/posts/a-successful-git-branching-model">Gitflow</a>.</p> +</div> +<div class="section" id="python"> +<h2>Python<a class="headerlink" href="#python" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is mainly developed in <a class="reference external" href="https://www.python.org">Python</a>.</p> +<ul class="simple"> +<li>All code in the library must run with both version 2 and 3 of Python, except for +facility-specific code that specifically requires one of the two versions (for +example, Python 2 for the LCSL facility). The code must specifically support all the +currently active versions of python:<ul> +<li>Python 2<ul> +<li>2.7</li> +</ul> +</li> +<li>Python 3<ul> +<li>3.5</li> +<li>3.6</li> +<li>3.7</li> +</ul> +</li> +</ul> +</li> +<li>The <a class="reference external" href="https://python-future.org">python-future</a> project should be used to ensure +that code contributed to the project is compatible with all the supported versions of +Python.</li> +<li>The Python coding style should follow for the most part the <a class="reference external" href="https://github.com/google/styleguide/blob/gh-pages/pyguide.md">Google Python Coding Style</a>.</li> +<li>All docstrings should be written following the <a class="reference external" href="https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html">Google Style </a>.</li> +<li><a class="reference external" href="https://www.pylint.org">Pylint</a> should be run on the code before +submission, as stated in the Google Python Coding Style Guide. In the root +folder of the CFELPyUtils repository, contributors can find a ‘pylintrc’ file with +the settings that should be applied when linting the code. Please see <a class="reference external" href="http://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=pylintrc">here</a> how to +use the pylintrc file.</li> +<li>The <a class="reference external" href="https://github.com/psf/black">Black</a> Python code formatter should be run on +the code before submission.</li> +</ul> +</div> +<div class="section" id="c-c"> +<h2>C/C++<a class="headerlink" href="#c-c" title="Permalink to this headline">¶</a></h2> +<p>Some extension can, for performance reason, be written using the <a class="reference external" href="https://en.wikipedia.org/wiki/C%2B%2B">C++</a> or <a class="reference external" href="https://en.wikipedia.org/wiki/C_(programming_language)">C</a> programming languages.</p> +<ul class="simple"> +<li>All C++ code in OnDA must follow at most the C++98 ISO standard, and the code +must compile on a Linux RHEL7/CentOS7 platform using the standard development stack +that comes with these systems.</li> +<li>Part of the C++11 standard can be used when writing extensions. However, it must be +possible to compile the code using version 4.8 of the ‘gcc’ compiler (in order to +create the Linux binary Python wheel).</li> +<li>All C code in OnDA must follow at most the C99 ISO standard, and the code +must compile on a Linux RHEL7/CentOS7 platform using the standard development stack +that comes with these systems.</li> +<li>The <a class="reference external" href="http://cython.org">Cython</a> project should be used to interface C/C++ code with +Python.</li> +</ul> +</div> +</div> + + + </div> + + </div> + </div> + <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> + <div class="sphinxsidebarwrapper"> + <h3><a href="index.html">Table of Contents</a></h3> + <ul> +<li><a class="reference internal" href="#">Guidelines for Contributors</a><ul> +<li><a class="reference internal" href="#version-control">Version Control</a></li> +<li><a class="reference internal" href="#python">Python</a></li> +<li><a class="reference internal" href="#c-c">C/C++</a></li> +</ul> +</li> +</ul> + +<div id="searchbox" style="display: none" role="search"> + <h3>Quick search</h3> + <div class="searchformwrapper"> + <form class="search" action="search.html" method="get"> + <input type="text" name="q" /> + <input type="submit" value="Go" /> + <input type="hidden" name="check_keywords" value="yes" /> + <input type="hidden" name="area" value="default" /> + </form> + </div> +</div> +<script type="text/javascript">$('#searchbox').show(0);</script> + </div> + </div> + <div class="clearer"></div> + </div> + <div class="footer"> + ©2019, OnDA Team. + + | + Powered by <a href="http://sphinx-doc.org/">Sphinx 1.8.5</a> + & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a> + + </div> + + + + + </body> +</html> \ No newline at end of file diff --git a/docs_src/_build/html/genindex.html b/docs_src/_build/html/genindex.html index c2a43c1d5a1ff45d2b4cede518565357864db04c..19e0c10386752bfe9ebb701eeb41c28878b67ec6 100644 --- a/docs_src/_build/html/genindex.html +++ b/docs_src/_build/html/genindex.html @@ -147,6 +147,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/index.html b/docs_src/_build/html/index.html index ea167f9aedf7f91898a6e71fbb0e82401ca29d34..6e919023c8c32ddf9acffc5095b6620a77aa10d3 100644 --- a/docs_src/_build/html/index.html +++ b/docs_src/_build/html/index.html @@ -47,25 +47,47 @@ several internal and released CFEL software projects.</p> </div> <div class="section" id="installation"> <h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2> -<p>The CFELPyUtils library is available on PyPI and can be installed using the pip -command:</p> +<p>The CFELPyUtils library is available on the <a class="reference external" href="https://pypi.org/">Python Package Index</a> (PyPI). It can be installed using the ‘pip’ command:</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python3 -m pip install cfelpyutils </pre></div> </div> -<p>Or, for python2:</p> -<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python -m pip install cfelpyutils +<p>Or, for Python 2:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python2 -m pip install cfelpyutils </pre></div> </div> -<p>It is also available as an Anaconda package in the ‘ondateam’ channel. It can be -installed using the ‘conda’ command:</p> +<p>It is also available as a package for the <a class="reference external" href="https://anaconda.org/">Anaconda</a> Python +distribution. It can be installed using the ‘conda’ command:</p> <div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>conda install -c ondateam cfelpyutils </pre></div> </div> +<p>The library can also be installed manually by checking out the repository and running:</p> +<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>python setup.py install +</pre></div> +</div> +</div> +<div class="section" id="authors"> +<h2>Authors<a class="headerlink" href="#authors" title="Permalink to this headline">¶</a></h2> +<p>The CFELPyUtils library is currently developed in the lab of +<a class="reference external" href="https://cid.cfel.de/">Henry Chapman</a> at the Center For Free Electron Laser Science +in Hamburg.</p> +<p>Many people from different institutions worlwide contribute code, testing and support +to the project:</p> +<ul class="simple"> +<li><strong>Valerio Mariani</strong> (corresponding author: <a class="reference external" href="mailto:valerio.mariani%40desy.de">valerio<span>.</span>mariani<span>@</span>desy<span>.</span>de</a>)</li> +<li>Anton Barty</li> +<li>Andrew Morgan</li> +<li>Thomas A. White</li> +</ul> </div> <div class="section" id="code-documentation"> <h2>Code Documentation<a class="headerlink" href="#code-documentation" title="Permalink to this headline">¶</a></h2> <p>Code documentation for the CFELPyUtils library can be found <a class="reference internal" href="cfelpyutils.html"><span class="doc">here</span></a>.</p> </div> +<div class="section" id="guidelines-for-contributors"> +<h2>Guidelines for Contributors<a class="headerlink" href="#guidelines-for-contributors" title="Permalink to this headline">¶</a></h2> +<p>Contributions to the projects are welcome. Please see the guidelines for contributors +<a class="reference internal" href="documentation_guidelines_for_contributors.html"><span class="doc">here</span></a>.</p> +</div> </div> @@ -80,7 +102,9 @@ installed using the ‘conda’ command:</p> <li><a class="reference internal" href="#">CFELPyUtils</a><ul> <li><a class="reference internal" href="#introduction">Introduction</a></li> <li><a class="reference internal" href="#installation">Installation</a></li> +<li><a class="reference internal" href="#authors">Authors</a></li> <li><a class="reference internal" href="#code-documentation">Code Documentation</a></li> +<li><a class="reference internal" href="#guidelines-for-contributors">Guidelines for Contributors</a></li> </ul> </li> </ul> diff --git a/docs_src/_build/html/objects.inv b/docs_src/_build/html/objects.inv index 34d07436a47e4c7ece1eb791d06dad404d86eca3..4a820253d6ecab3d4028bc2d93308bcfad0ecf29 100644 Binary files a/docs_src/_build/html/objects.inv and b/docs_src/_build/html/objects.inv differ diff --git a/docs_src/_build/html/py-modindex.html b/docs_src/_build/html/py-modindex.html index 02294c3cdfa99d66eb51c404d1f3a85f35a11d58..b250e7947045705d5ded347fb794804d6ea35934 100644 --- a/docs_src/_build/html/py-modindex.html +++ b/docs_src/_build/html/py-modindex.html @@ -88,6 +88,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/search.html b/docs_src/_build/html/search.html index a11796593e684e220d2c736d2087b4ebbc556ea1..e7b25fce925230ba85e8f631a8f13acdcc233dde 100644 --- a/docs_src/_build/html/search.html +++ b/docs_src/_build/html/search.html @@ -83,6 +83,7 @@ <h3>Navigation</h3> <ul> <li class="toctree-l1"><a class="reference internal" href="cfelpyutils.html">The cfelpyutils Package</a></li> +<li class="toctree-l1"><a class="reference internal" href="documentation_guidelines_for_contributors.html">Guidelines for Contributors</a></li> </ul> <div class="relations"> diff --git a/docs_src/_build/html/searchindex.js b/docs_src/_build/html/searchindex.js index be933e780bb7a3bd503662b1d6b9e2859f846b97..2f17d5db1173fdf12014438b4c8a0fa0515a9907 100644 --- a/docs_src/_build/html/searchindex.js +++ b/docs_src/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["cfelpyutils","cfelpyutils.crystfel_utils","cfelpyutils.geometry_utils","cfelpyutils.named_tuples","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["cfelpyutils.rst","cfelpyutils.crystfel_utils.rst","cfelpyutils.geometry_utils.rst","cfelpyutils.named_tuples.rst","index.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.crystfel_utils":{load_crystfel_geometry:[1,1,1,""]},"cfelpyutils.geometry_utils":{apply_geometry_to_data:[2,1,1,""],compute_pix_maps:[2,1,1,""],compute_visualization_pix_maps:[2,1,1,""]},"cfelpyutils.named_tuples":{PixelMaps:[3,2,1,""]},"cfelpyutils.named_tuples.PixelMaps":{phi:[3,3,1,""],r:[3,3,1,""],x:[3,3,1,""],y:[3,3,1,""],z:[3,3,1,""]},cfelpyutils:{crystfel_utils:[1,0,0,"-"],geometry_utils:[2,0,0,"-"],named_tuples:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:attribute"},terms:{"41a8fa9819010":1,"class":[3,4],"float":[],"function":[1,2,4],"int":[],"new":[],"return":[1,2],For:[1,4],The:4,These:2,absolut:1,adjust:[],alia:3,all:2,along:2,also:4,amplitud:3,anaconda:4,angl:3,ani:[1,2],appli:[2,4],apply_geometry_to_data:2,around:2,arrai:2,assum:[],avail:[2,4],awai:2,axi:3,base:3,beam:2,been:[],between:3,big:2,bigger:2,can:[2,4],caus:2,ceil:2,center:[2,3,4],cfel:4,cfelpyutil:3,channel:4,code:1,collect:3,command:4,commit:1,complet:2,comput:2,compute_min_array_s:[],compute_pix_map:2,compute_visualization_pix_map:2,conda:4,connect:[],contain:[0,1,2,3,4],convent:2,convert:[],coordin:[2,3],corner:2,correspond:1,crystfel:[1,2],crystfel_util:0,current:[1,4],data:[2,4],describ:[],desi:[],detector:[2,4],develop:4,dict:[1,2],dictionari:[1,2],differ:2,direct:2,displai:2,displayedus:[],distanc:3,document:1,each:3,electron:4,enough:2,entri:2,field:3,fifth:[],file:[1,2],filenam:1,first:[],follow:2,format:1,found:4,fourth:[],free:4,from:[1,2,3],full:1,gener:2,geometri:[1,2,3,4],geometry_util:0,get_detector_geometry_2:1,hamburg:4,hand:2,has:[],here:4,http:[],imag:4,imageview:2,implement:[],inform:[1,2,3,4],input:2,instead:[],interact:2,intern:4,just:[],kei:1,languag:1,laser:4,layout:2,left:2,librari:[0,2,3,4],like:2,link:[],load:1,load_crystfel_geometri:[1,2],main:[0,2],make:[],man:1,mani:[],manipul:2,map:[2,3],match:1,matplotlib:2,minimum:2,mostli:4,name:[2,3],named_tupl:0,ndarrai:[2,3],need:2,none:2,note:2,number:3,numpi:[2,3],object:2,often:2,ondateam:4,ones:2,onli:2,org:[],orient:2,origin:2,other:2,packag:[1,4],page:1,paramet:[1,2,3],particularli:2,path:1,perform:4,phi:[2,3],physic:2,pip:4,pixel:[2,3],pixel_map:[],pixelmap:[2,3],point:2,pre:2,prepar:[],process:4,project:4,provid:[],pypi:4,pyqtgraph:2,python2:4,python3:4,python:[1,4],rai:4,read:[1,2,4],readi:[],refer:[2,3],reimplement:1,rel:1,relat:4,releas:4,relev:1,respect:[],restrict:2,result:[],right:2,same:2,scienc:4,see:1,set:2,sever:4,shape:2,should:2,size:2,softwar:[1,4],some:[1,2],sourc:[1,2],standard:[],store:[1,2,3],str:[1,2],stro:[],style:[],submodul:[],suppos:[],symmetr:2,sync:[],synchron:1,system:[2,3],take:2,task:4,than:2,thi:[1,2,3],third:[],three:[],through:3,throughout:3,top:2,toward:2,tupl:[2,3],twhite:[],two:[],type:[1,2],used:[2,3,4],uses:1,using:[2,4],util:[1,2,4],valu:[1,2],variou:4,vector:[],visual:2,which:[0,2],whole:0,widget:2,work:[],written:4,wth:[],www:[],zenith:2},titles:["The cfelpyutils Package","The crystfel_utils Module","The geometry_utils Module","The named_tuples Module","CFELPyUtils"],titleterms:{The:[0,1,2,3],cfelpyutil:[0,4],code:4,crystfel_util:1,document:4,geometry_util:2,instal:4,introduct:4,modul:[1,2,3],named_tupl:3,packag:0,thecfelpyutil:[]}}) \ No newline at end of file +Search.setIndex({docnames:["cfelpyutils","cfelpyutils.crystfel_utils","cfelpyutils.geometry_utils","cfelpyutils.named_tuples","documentation_guidelines_for_contributors","index"],envversion:{"sphinx.domains.c":1,"sphinx.domains.changeset":1,"sphinx.domains.cpp":1,"sphinx.domains.javascript":1,"sphinx.domains.math":2,"sphinx.domains.python":1,"sphinx.domains.rst":1,"sphinx.domains.std":1,"sphinx.ext.todo":1,"sphinx.ext.viewcode":1,sphinx:55},filenames:["cfelpyutils.rst","cfelpyutils.crystfel_utils.rst","cfelpyutils.geometry_utils.rst","cfelpyutils.named_tuples.rst","documentation_guidelines_for_contributors.rst","index.rst"],objects:{"":{cfelpyutils:[0,0,0,"-"]},"cfelpyutils.crystfel_utils":{load_crystfel_geometry:[1,1,1,""]},"cfelpyutils.geometry_utils":{apply_geometry_to_data:[2,1,1,""],compute_pix_maps:[2,1,1,""],compute_visualization_pix_maps:[2,1,1,""]},"cfelpyutils.named_tuples":{PixelMaps:[3,2,1,""]},"cfelpyutils.named_tuples.PixelMaps":{phi:[3,3,1,""],r:[3,3,1,""],x:[3,3,1,""],y:[3,3,1,""],z:[3,3,1,""]},cfelpyutils:{crystfel_utils:[1,0,0,"-"],geometry_utils:[2,0,0,"-"],named_tuples:[3,0,0,"-"]}},objnames:{"0":["py","module","Python module"],"1":["py","function","Python function"],"2":["py","class","Python class"],"3":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:function","2":"py:class","3":"py:attribute"},terms:{"41a8fa9819010":1,"class":[3,5],"float":[],"function":[1,2,5],"int":[],"new":[],"return":[1,2],For:[1,5],The:[4,5],These:2,absolut:1,accord:2,activ:4,adjust:[],alia:3,all:[2,4],along:2,also:5,amplitud:3,anaconda:5,andrew:5,angl:3,ani:[1,2],anton:5,appli:[2,4,5],apply_geometry_to_data:2,around:2,arrai:2,assum:[],avail:[2,5],awai:2,axi:3,barti:5,base:3,beam:2,been:[],befor:4,between:3,big:2,bigger:2,binari:4,black:4,both:4,branch:4,c99:4,can:[2,4,5],caus:2,ceil:2,center:[2,3,5],centos7:4,cfel:5,cfelpyutil:[3,4],channel:[],chapman:5,check:5,code:[1,4],collect:3,com:[],come:4,command:5,commit:1,commonli:4,compat:4,compil:4,complet:2,comput:2,compute_min_array_s:[],compute_pix_map:2,compute_visualization_pix_map:2,conda:5,connect:[],contain:[0,1,2,3,5],contribut:[4,5],convent:2,convert:[],coordin:[2,3],corner:2,correspond:[1,5],creat:4,crystfel:[1,2],crystfel_util:0,current:[1,4,5],cython:4,data:[2,5],describ:[],desi:5,detector:[2,5],develop:[4,5],dict:[1,2],dictionari:[1,2],differ:[2,5],direct:2,displai:2,displayedus:[],distanc:3,distribut:5,doc:[],docstr:4,document:1,documentation_guidelines_for_contributor:[],driessen:4,each:3,electron:5,enough:2,ensur:4,entri:2,exampl:4,except:4,extens:4,facil:4,feel:4,field:3,fifth:[],file:[1,2,4],filenam:1,find:4,first:[],flow:4,folder:4,follow:4,fork:[],format:1,formatt:4,found:5,fourth:[],free:[4,5],from:[1,2,3,5],full:1,futur:4,gcc:4,gener:2,geometri:[1,2,3,5],geometry_util:0,get_detector_geometry_2:1,git:4,gitflow:4,github:4,googl:4,guid:4,hamburg:5,hand:2,has:[],henri:5,here:[4,5],how:4,howev:4,http:[],imag:5,imageview:2,implement:[],index:5,inform:[1,2,3,5],input:2,instead:[],institut:5,interact:2,interfac:4,intern:5,introduct:[],iso:4,just:[],kei:1,known:4,lab:5,languag:[1,4],laser:5,layout:2,lcsl:4,left:2,librari:[0,2,3,4,5],like:2,link:[],lint:4,linux:4,load:1,load_crystfel_geometri:[1,2],main:[0,2],mainli:4,make:[],man:1,mani:5,manipul:2,manual:5,map:[2,3],mariani:5,match:1,matplotlib:2,minimum:2,model:[],morgan:5,most:4,mostli:5,must:4,name:[2,3],named_tupl:0,ndarrai:[2,3],need:2,none:2,note:[],number:3,numpi:[2,3],nvie:[],object:2,often:2,onda:4,ondateam:5,one:4,ones:2,onli:2,order:4,org:[],orient:2,origin:2,other:2,out:5,packag:[1,5],page:1,paramet:[1,2,3],part:4,particularli:2,path:1,peopl:5,perform:[4,5],phi:[2,3],physic:2,pip:5,pixel:[2,3],pixel_map:[],pixelmap:[2,3],platform:4,pleas:[4,5],point:2,possibl:4,post:[],pre:2,prepar:[],process:5,program:4,project:[4,5],propos:4,provid:[],pull:4,pylint:4,pylintrc:4,pypi:5,pyqtgraph:2,python2:5,python3:5,python:[1,5],rai:5,read:[1,2,5],readi:[],reason:4,refer:[2,3],reimplement:1,rel:1,relat:5,releas:5,relev:1,repositori:[4,5],request:4,requir:4,respect:[],restrict:2,result:[],rhel7:4,right:2,root:4,run:[4,5],same:2,scienc:5,scm:[],see:[1,4,5],set:[2,4],setup:5,sever:5,shape:2,should:[2,4],size:2,softwar:[1,5],some:[1,2,4],sourc:[1,2],specif:4,stack:4,standard:4,state:4,store:[1,2,3],str:[1,2],strategi:4,stro:[],style:4,submiss:4,submit:4,submodul:[],success:[],support:[4,5],suppos:[],symmetr:2,sync:[],synchron:1,system:[2,3,4],take:2,task:5,test:5,than:2,thi:[1,2,3],third:[],thoma:5,three:[],through:[],throughout:3,top:2,toward:2,tupl:[2,3],twhite:[],two:4,type:[1,2],use:4,used:[2,3,4,5],uses:[1,4],using:[2,4,5],util:[1,2,5],valerio:5,valu:[1,2],variou:5,vector:[],vincent:4,visual:2,welcom:[4,5],wheel:4,when:4,which:[0,2],white:5,whole:0,widget:2,work:[],worlwid:5,write:4,written:[4,5],wth:[],www:[],zenith:2},titles:["The cfelpyutils Package","The crystfel_utils Module","The geometry_utils Module","The named_tuples Module","Guidelines for Contributors","CFELPyUtils"],titleterms:{The:[0,1,2,3],author:5,cfelpyutil:[0,5],code:5,contributor:[4,5],control:4,crystfel_util:1,document:5,geometry_util:2,guidelin:[4,5],instal:5,introduct:5,modul:[1,2,3],named_tupl:3,packag:0,python:4,thecfelpyutil:[],version:4}}) \ No newline at end of file diff --git a/docs_src/conf.py b/docs_src/conf.py index 135ef9b93eb58c4303765b23f73b5dfadb69c591..da95e3c41646af65f4bf2c2ab7b49a4a203e23cb 100644 --- a/docs_src/conf.py +++ b/docs_src/conf.py @@ -101,6 +101,7 @@ html_static_path = ['_static'] # html_sidebars = { "index": ["localtoc.html", "searchbox.html"], + "documentation*": ["localtoc.html", "searchbox.html"], } # -- Options for HTMLHelp output --------------------------------------------- diff --git a/docs_src/documentation_guidelines_for_contributors.rst b/docs_src/documentation_guidelines_for_contributors.rst new file mode 100644 index 0000000000000000000000000000000000000000..bcdb3cbbd84cdc0dcbf1b78b56f85305a1c14b4d --- /dev/null +++ b/docs_src/documentation_guidelines_for_contributors.rst @@ -0,0 +1,79 @@ +Guidelines for Contributors +=========================== + +Contributions to the project are welcome. Please feel free to submit pull requests +using the standard `GitHub flow <https://guides.github.com/introduction/flow/>`_. + + +Version Control +^^^^^^^^^^^^^^^ + +The CFELPyUtils library is developed using the `Git <https://git-scm.com>`_ version +control system. + +It uses the branching strategy proposed by Vincent Driessen and commonly known as +`Gitflow <https://nvie.com/posts/a-successful-git-branching-model>`_. + + +Python +^^^^^^ + +The CFELPyUtils library is mainly developed in `Python <https://www.python.org>`_. + +* All code in the library must run with both version 2 and 3 of Python, except for + facility-specific code that specifically requires one of the two versions (for + example, Python 2 for the LCSL facility). The code must specifically support all the + currently active versions of python: + + * Python 2 + + * 2.7 + + * Python 3 + + * 3.5 + * 3.6 + * 3.7 + +* The `python-future <https://python-future.org>`_ project should be used to ensure + that code contributed to the project is compatible with all the supported versions of + Python. + +* The Python coding style should follow for the most part the `Google Python \ + Coding Style <https://github.com/google/styleguide/blob/gh-pages/pyguide.md>`_. + +* All docstrings should be written following the `Google Style \ + <https://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html>`_. + +* `Pylint <https://www.pylint.org>`_ should be run on the code before + submission, as stated in the Google Python Coding Style Guide. In the root + folder of the CFELPyUtils repository, contributors can find a 'pylintrc' file with + the settings that should be applied when linting the code. Please see `here + <http://pylint.pycqa.org/en/latest/user_guide/run.html?highlight=pylintrc>`_ how to + use the pylintrc file. + +* The `Black <https://github.com/psf/black>`_ Python code formatter should be run on + the code before submission. + + +C/C++ +^^^^^ + +Some extension can, for performance reason, be written using the `C++ +<https://en.wikipedia.org/wiki/C%2B%2B>`_ or `C +<https://en.wikipedia.org/wiki/C_(programming_language)>`_ programming languages. + +* All C++ code in OnDA must follow at most the C++98 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* Part of the C++11 standard can be used when writing extensions. However, it must be + possible to compile the code using version 4.8 of the 'gcc' compiler (in order to + create the Linux binary Python wheel). + +* All C code in OnDA must follow at most the C99 ISO standard, and the code + must compile on a Linux RHEL7/CentOS7 platform using the standard development stack + that comes with these systems. + +* The `Cython <http://cython.org>`_ project should be used to interface C/C++ code with + Python. diff --git a/docs_src/index.rst b/docs_src/index.rst index 929f41c32ea744403ac70d20eb2f5d6358abba7e..a3b5c6edd53bf827b02c983c043da0e871a8aa0c 100644 --- a/docs_src/index.rst +++ b/docs_src/index.rst @@ -10,6 +10,7 @@ CFELPyUtils :hidden: cfelpyutils + documentation_guidelines_for_contributors Introduction @@ -25,29 +26,57 @@ several internal and released CFEL software projects. Installation ------------ -The CFELPyUtils library is available on PyPI and can be installed using the pip -command: +The CFELPyUtils library is available on the `Python Package Index +<https://pypi.org/>`_ (PyPI). It can be installed using the 'pip' command: .. code-block:: bash python3 -m pip install cfelpyutils -Or, for python2: +Or, for Python 2: .. code-block:: bash - python -m pip install cfelpyutils + python2 -m pip install cfelpyutils - -It is also available as an Anaconda package in the 'ondateam' channel. It can be -installed using the 'conda' command: +It is also available as a package for the `Anaconda <https://anaconda.org/>`_ Python +distribution. It can be installed using the 'conda' command: .. code-block:: bash conda install -c ondateam cfelpyutils +The library can also be installed manually by checking out the repository and running: + +.. code-block:: bash + + python setup.py install + + +Authors +------- + +The CFELPyUtils library is currently developed in the lab of +`Henry Chapman <https://cid.cfel.de/>`_ at the Center For Free Electron Laser Science +in Hamburg. + +Many people from different institutions worlwide contribute code, testing and support +to the project: + +* **Valerio Mariani** (corresponding author: valerio.mariani@desy.de) +* Anton Barty +* Andrew Morgan +* Thomas A. White + Code Documentation ------------------ -Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. \ No newline at end of file +Code documentation for the CFELPyUtils library can be found :doc:`here <cfelpyutils>`. + + +Guidelines for Contributors +--------------------------- + +Contributions to the projects are welcome. Please see the guidelines for contributors +:doc:`here <documentation_guidelines_for_contributors>`. \ No newline at end of file