Introduction

This is the documentation for a Python package designed to make scientific data analysis easier. The main objective is to create a collection of interconnected methods frequently needed to visualize and analyze data using Numpy, Scipy, Matplotlib, and PyQt.

Prerequisites

Python 3

slactrac works with Python 3 and up, which should be installed via apt-get on *nix, Macports on Apple machines, or downloaded from https://www.python.org/downloads/.

NumPy and SciPy

slactrac depends on NumPy and SciPy to manipulate data.

NumPy has dependencies such as BLAS, LAPACK, and ATLAS, which makes downloading building form source is difficult. Installation via apt-get or Macports is highly recommended in order to handle these dependencies. It is possible to download or to build from source.

SciPy is similar to NumPy, and it is usually easiest to install the two at the same time - they have nearly identical install methods, to the point that at times it is difficult to tell the two apart. It is easiest to follow the install instructions.

Periodictable

The slactrac.PWFA module depends on the periodic table for ion masses. This can be installed simply via pip:

pip install periodictable

Options - Elegant Integration

Since slactrac replicates many features of Elegant, and interface to simulations was derived. This feature, which is not imported by default, has several of its own prerequisites.

Elegant

Elegant does not have a particularly easy way to install. It is highly recommended to use the binaries hosted at its site. Compilation of source is involved, to say the least, and each iteration tends to bring fresh difficulties. Compiling Elegant is outside the scope of this document.

Python SDDS

As far as I know, only OS X and Windows are supported by Python SDDS. This is needed to interface with Elegant’s input and output files.

Jinja2

slactrac depends on Jinja2 in order to interface with Elegant’s configuration files via this module. It can be installed by pip:

pip install Jinja2