Jonas Lähnemann
home  |  physics  |  photo-gallery  |  kenya  |  israel  |  flevo-bike

My favourite (scientific) open-source software

This is a summary of the main programs I use on a regular basis for image processing, plotting, presentations, etc. Most of this open-source software is available for different platforms. For Linux users, the programs can usually be installed directly from the repositories.

The beamer class for LaTeX is my favourite way to prepare a presentation. It has a variety of templates. In the beginning work will be a little more tedious than with a wysiwyg program where you click your slides together. But quickly one knows the main functions necessary for a custom page layout. It allows sequential buildup of slides and the integration of various types of media. Using pdflatex, a pdf file is created that can then be displayed with any common program or with a specialised presentation software such as impressive.

Convert (included in the imagemagick package)
Allows image manipulation from the command line. This is especially useful if you need to perform similar operations on many files. A simple loop in a batch file or on the command line allows you, e.g. to convert all .jpgs in a directory into pngs. You may also create a gif movie out of a series of still images. But the program can do much more, it offers the whole range of manipulation and transformation operations of a big interactive image manipulation program.

Basic text editor for script programming with syntax highlighting, etc. I use it for when programming python.

The GNU Image Manipulation Program is a powerful image editor with a huge variety of tools and filters (it is not a drawing program).

A simple, but powerful and scriptable, command-line plotting program. Gnuplot is my favourite plotting tool. If necessary, the created eps file can be loaded into inkscape for further editing or combination with pixel graphics.

Gwyddion is a program to load, view and manipulate AFM or STM images. It can directly load and process data from most AFMs. The correction functions are of high quality and produce very nice results.

Python library for the analysis of multidimensional (hyperspectral) data sets. Originally developed for the TEM community with EELS and EDX spectroscopy in mind, it can also be used for the analysis of luminescence spectroscopy linescans and mappings.

ImageJ is an image manipulation and processing program for pixel graphics. It has the standard functions of this class of programs, but, in addition, can be scripted and extended fairly easily to perform specialized tasks like e.g. object counting. It runs in any Java virtual machine and is therefore platform independent.
Fiji ( is a package based on ImageJ, but already including many useful plugins.

Impressive is a program that displays your pdf based presentations with style. It offers smooth transitions between the slides, some unique highlighting tools, a nice overview screen to quickly jump to a certain slide and a timer with summary of time used for every slide (great for rehearsing talks).

Inkscape is a vector drawing program and a good substitute for Corel Draw. It is superior to the drawing programs included with Office Suites. Its native format is svg, but it exports to many formats including eps and pdf. I use this for most of my graphs.

JabRef is a java-based - and therefore platform independent - manager for your bibliographies (something like EndNote). It is based on BibTeX-databases and therefore easily integrates with LaTeX, but also allows export to various formats. Citations can usually be directly imported from the download options of journals. Linking of PDF-files is possible and abstracts can be included - thus it is a comfortable possibility to also manage your collection of electronic articles.

A powerful LaTeX editor based on KDE libraries. Great is the support for whole projects of various files, e.g. when writing your thesis or a book.

Cross-platform viewer and editor for drawing e.g. optical lithography masks or e-beam lithography exposure patterns supporting .gds and other file formats. Easy to learn, with many features, so no need to use more complex or commercial editors.

Maxima and wxMaxima
Is a computer algebra system (like mathematica) with a large variety of functions for the manipulation of symbolic and numerical expressions. Plotting tools are of course also included.

(Gnu) Octave and QtOctave
Free Matlab replacement and its graphical frontend. Mostly similar Syntax to Matlab. Uses gnuplot for plotting.

Another free (cross-platform) LaTeX editor. Nice for some purposes is the possibility to integrate the preview window. Also offers forward/backward searches between source and preview.

Powerful bibliography management with plugin extensions. Features include bibtex export, office-plugins, browser integration. You can obtain a complementary web-account to share bibliographies with colleagues.

loading list of my articles on ...
Copyleft 2000-2019 by Jonas Lähnemann
Impressum / legal notice

Creative Commons License
unless stated otherwise