# Code Development

Research is fun when it consists of new and unique tasks. For repetitive ones on the other hand, computers are uniquely suited. Furthermore, in order to run RIMS instruments control software is required. We have worked and are currently engaged in multiple code development projects. You can find many of these projects on the lab’s GitHub page, Reto’s GitHub page, or the RIMS-Code GitHub page. Below we outline some notable projects.

Note: We are strong supporters of free and open source software (FOSS). Scientific research is generally paid for by the taxpayer. The outcome should thus be freely available for everyone. We strive to publish all software under open source licenses and only use open source software in our daily life.

As you will notice, a dominating programming language in our lab is Python. This becomes especially clear when you look at the GitHub pages given above. If you are interested in any of our specific code or you have questions, please feel free to contact us! Also, contributions to our codes are always welcomed. Please have a look at the developer guides (when available). Feel free to create pull requests for documentation enhancement, small bug fixes, etc. We are looking forward to your ideas and issues.

## iniabu

iniabu is a package for python that you can use to easily calculate the inital abundances of the solar system and return ratios as δ-values or in bracket notation. By default the initial abundances from Lodders et al. (2009) are used. You can install this module by simply calling:

pip install iniabu


The full documentation of iniabu can be found here. Full examples in the form of jupyter notebooks can be found here. This package is completely rewritten from its first version. It is also fully open source, the code base is available on our GitHub page. On that page are also instructions on how to install the latest development version, how to install from source, and how to contribute.

On the GitHub page there is also a discussion section where users are encouraged to share examples and ask questions on usage. Furthermore, you can raise an issue if you find a bug in the software, would like some specific feature included, or need help.

## InstrumentKit

The freely available InstrumentKit has been used to interact with hardware for the LION instrument at Lawrence Livermore National Laboratory. Several classes have been contributed by us to this excellent compilation of tools. This allows you and anybody else in the world to utilize more tools, might motivate you to continue down the Python path, and contribute your own instruments one day.

## Mahon Fitting

In order to fit a linear regression to measurements with uncertainties in both axes, the routine by Mahon (1996), also known as the “New York” regression, should be used. Along with the Trappitsch et al. (2018) publication we published a tool to easily apply the Mahon fitting routine to any dataset. The tool, including a detailed README file, can be found on the respective GitHub site.

## Resonance Ionization Scheme Drawer

Would you like to make resonance ionization schemes like the one we show here for titanium? Check out our RIMS Scheme Drawer software. This GUI allows you to draw your own resonance ionization schemes with just a few clicks and results in publishable figures.

## Coordinate Transformation

If you work with samples in various instruments, our coordinate transfer program might be of interest to you. Assuming you have coordinates for your particles, our program allows you easily transfer these coordinates from one system into the other. You can use fiducial marks or simply find some of your sample positions again and start from there.

Enjoy, and if you want, the source code is there for you as well!