Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


Tree [09dae7] master /

File Date Author Commit
doc 2015-01-22 Dominik Kriegner Dominik Kriegner [5f68e0] update version for release of v1.1.1
examples 2014-11-27 Dominik Kriegner Dominik Kriegner [026471] remove unnecessary import in example
xrayutilities 2015-02-02 Dominik Kriegner Dominik Kriegner [09dae7] add new material AlAs submitted by JS
.gitignore 2014-09-16 Dominik Kriegner Dominik Kriegner [1b59f9] update gitignore
CHANGES.txt 2015-02-02 Dominik Kriegner Dominik Kriegner [09dae7] add new material AlAs submitted by JS
LICENSE.txt 2013-07-01 Dominik Kriegner Dominik Kriegner [7ce45b] further code cleanup towards submission to PyPI
MANIFEST.in 2014-08-13 Dominik Kriegner Dominik Kriegner [9167fa] reduce size of elements database
README.txt 2014-04-22 Dominik Kriegner Dominik Kriegner [b0231d] update README w.r.t. python3.X compatibility
release.txt 2014-09-16 Dominik Kriegner Dominik Kriegner [cd0dd5] update release notes for doc-pdf creation
setup.py 2015-01-22 Dominik Kriegner Dominik Kriegner [5f68e0] update version for release of v1.1.1
xrayutilities.pdf 2015-01-22 Dominik Kriegner Dominik Kriegner [5f68e0] update version for release of v1.1.1

Read Me


xrayutilities is a collection of scripts used to analyze x-ray diffraction data. 
It consists of a Python package and several routines coded in C. It especially 
useful for the reciprocal space conversion of diffraction data taken with linear 
and area detectors.

Copyright (C) 2009-2015 Dominik Kriegner <dominik.kriegner@gmail.com>

Copyright (C) 2009-2013 Eugen Wintersberger <eugen.wintersberger@desy.de>


* examples:           directory with example scripts and configurations
* python:             directory with the sources for the Python package
* setup.py:           distutils install script used for the package installation
* xrayutilities.pdf:  pdf-file with documentation of the package

Installing xrayutilities is an easy process done by executing ::

  $> python setup.py install

or ::

  $> python setup.py install --prefix=<install_path>

in the source folder of xrayutilities on the command line/terminal.  The first
command installs in the systems default directories, whereas in the second
command you can manually specify the installation path.

By default the setup.py script tries to use OpenMP. If you do not want to use
OpenMP use --without-openmp option for the installation ::

  $> python setup.py --without-openmp install --prefix=<install_path>

For the installation the following requirements need to be installed on your

- Python
- C-compiler (preferential with OpenMP support)
- HDF5
- pytables
- scipy
- numpy
- matplotlib (optionally)

refer to your operating system documentation to find out how to install
those packages. On Microsoft Windows refer to the Documentation for the 
easiest way of the installation (Python(x,y) or WinPython).

On Microsoft Windows it might be necessary to manually
specify the C compiler used for building the extension modules using

  $> python setup.py build -c mingw32

before the installation can be performed as described above.

Python-2.7 and Python-3.X compatibility

The current developement focues Python-3.X and we ask all users to update to
Python-3 if possible, however, xrayutilies can be used with Python-2.7 as well.
Care was taken to make this possible from the same code-base

The python package configuration

The following steps should only be necessary for user local installation to
ensure the Python module is found by the Python interpreter:
In this case the module is installed under 
<prefix>/lib[64]/python?.?/site-packages on Unix systems and
<prefix>/Lib/site-packages on Windows systems. 

If you have installed the Python package in a directory unknown to your local
Python distribution, you have to tell Python where to look for the Package.
There are several ways how to do this:

- add the directory where the package is installed to your 
  *PYTHONPATH* environment variable.

- add the path to sys.path in the .pythonrc file placed in your home 
  directory ::

    import sys
    sys.path.append("path to the xrayutilities package")

- simply apply the previous method in every script where you want to 
  use the xrayutilities package before importing the package ::

    import sys
    sys.path.append("path to the xrayutilities package")
    import xrayutilities

Obtaining the source code

The sources are hosted on sourceforge in git repository.
Use ::

  $> git clone git://git.code.sf.net/p/xrayutilities/code xrayutilities

to clone the git repository. If you would like to have commit rights 
contact one of the administrators.


if you already installed xrayutilities you can update it by navigating into
its source folder and obtain the new sources by ::

  $> git pull
or download the new tarball from sourceforge
(http://sf.net/projects/xrayutilities) if any code changed during the update you
need to reinstall the Python package.  To determine the path in which
xrayutilities where installed previously use ::

  $> python -c "import xrayutilities as xu; print xu.__file__"

if the output is e.g.: "/usr/local/lib64/python2.7/site-packages/xrayutilities/__init__.py"
you previously installed xrayutilities in "/usr/local", which should be used
again as install path. Use ::

  $> python setup.py install --prefix=<path to install directory>

to install the updated package.


Documention for xrayutilities is found in the xrayutilities.pdf file or on the
webpage http://xrayutilities.sourceforge.net 

The API-documentation can also be browsed by ::

  $> pydoc -p PORT
in any web-browser, after the installation is finished.

To build the PDF documentation from the docu-sources use:

  python setup.py build_doc -b latex
  cd build/sphinx/latex; make 
You will need sphinx and pdflatex including latex-recommended, latex-extra 
and fonts-recommended.

Or generate a texinfo file using 

  python setup.py build_doc -b texinfo
  cd build/sphinx/texinfo; make 


create a tarball for redistribution of xrayutilities without the use of git ::

  $> python setup.py sdist

creates a tarball in the directory dist, which contains everything needed for
the installation of xrayutilities