1 Aug 2016

Updated weights program

A new version of the weights program has been made available on our downloads page. This version fixes some design problems which would, in very specific cases, misreport an elements type when the isotope weight matched to a high precision. Additionally, we now provide an ion "database" of previously seen atomic species. These species will be highlighted in the output, when a database is selected.

We would be most interested in any rangefile data you can share, which we can use to expand the database, and thus the quality of the output from the weights program.

2 May 2016

Atom Probe Tomography Library

We have made available a small atom probe C++ library, called libatomprobe, which is available for download. The library covers several common algorithms for building atom probe related software. Currently the algorithm has support for:

  • Reading and writing .POS, tapsim, .EPOS and range files (RNG, ENV and RRNG)
  • range manipulation, generation and verification
  • Isotopic abundance calculations (eg. multi-species probabilities from name)
  • Nearest Neighbour calculations, including KD trees, Distribution Functions (Radial and "spatial").
  • Geometrical transformations (rotations, translations and scalings)
  • Multiple-ion correlation histograms "aka Saxey plots"
  • Ion volume calculations
  • and more....
We will be steadily adding more features to the library, according to demand - please let us know if you plan on using the library, as we can migrate in-house code into the library. At this time, the library is only available as source code, so will need to be compiled for your target platform. The dependencies required to build libatomprobe are relatively small (at time of writing, the GNU scientific library, qhull and libxml2 are required), so it should be relatively easy to build for any platform, particularly for Linux or OSX systems.

20 Sep. 2015

Ultra-High Vacuum (UHV) Library

We have just released our new library for communicating with selected Ultra-High Vacuum hardware, known as libvacuumdevice. This is a C++ library, which supports several vacuum hardware items, from major manufacturers. The library provides basic monitoring, and control, as well as device auto-detection. This has been tested under Linux, but should also support windows systems. Supported devices include:

  • nXDS Series of vacuum pumps, manufactured by Edwards
  • Pfeiffer SingleGauge pressure gauge controllers
  • VACOM MVC pressure gauge controllers
  • Pfeiffer PRISMA Residual gas analysers
The library is provided as C++ source code under the GNU GPLv3. If you wish to use this, you can download the latest version from the above link. You will need to install libserialport for your system. If using linux, this may be available in your OS' repositories. Some example test programs are included, If you would like to see some more supported devices, or wish to contribute to libvacuumdevice, or simply want to tell us about your cool hardware setup, please contact us! We are most interested in extending support for other languages, to make accessing this as easy as possible, and hearing how you have been able to use this to help your UHV needs.

9 Jul. 2015

Python APT software

Some python code for performing various APT calculations has been made available by others. We are happy to inform users that there is a github page for the software (not related to this website, but definitely handy) here. If anyone else has some public software they can make available, please let us know!

8 Apr. 2015


A prototype command-line driven ISDB (Imago Scientific Data Base) compatible application has been uploaded as part of the extras repository here. This features some reports that are useful to us, and is easily expandable if you know C++/SQL! This has only been tested on Linux based systems, and requires the mysql++ library. The program currently only allows reading of data bases, so as to minimise any chance of disruption. Support is for ISDB on 3000 systems (mysql based ISDB).

2 May. 2014


Windows 64 binaries (Executables) for the weights and the rangecheck programs, as part of the "extras" sub-package are now available

24 Apr. 2014

Posgen 0.0.1

After a lot development, we are happy to announce the 0.0.1 release of Posgen. Posgen (short for Pos-Generator) is an automatable data analysis suite for atom probe. The program is command-line only, but provides a useful series of algorithms for generating synthetic, and analysing real, atom probe data. The program is available as source-code for linux and mac-osx platforms, and a zip-file with a binary ("exe") is available for windows users

You can download the program, flip through the manual or play with the source-code now!

16 Nov. 2013

Extras repository

For those who have been keeping track of our sourceforge page, you may have noticed that there is a new "extras" repository. Here you will find more APT related goodies. This time, we have uploaded a ranging system, a species suggestion tool, and a range sanity checking program.

The ranging system, "autorange", is to be used in conjunction with the MALDIQuant toolkit, and can be used to perform auto-aided ranging (its not foolproof, by any means, but it is fast). The range sanity checker is for use to check for common ranging errors, and can be easily deployed to find and fix errors over vast quantities of rangefiles (our testing indicates around 20% of expert generated rangefiles have detectable errors, about half of which are unequivocal). Lastly, the species suggestion tool "weights" allows you to specify a mass, some elements and tolerances, as well as optionally a list of peaks, and this will automatically tell you what possible combinations can be found at this location. For ourselves, we have already found this an invaluable tool.

For those who want to try these tools, you will need to compile them from source code.

6 Aug. 2013

Experimental Binaries for Posgen

We are making available some windows executables (aka "binaries") for posgen. These are experimental only, and have not been heavily tested. Experienced users are recommended to compile from source-code for their own system. We may take the files down and replace them if there are problems/concerns with the upload.

25 Jan. 2013

rdf-kd : Radial Distribution Functions (RDFs) on point clouds

The program "rdf-kd", which computes radial distribution functions on point clouds (e.g. atom probe data), in 1 and 3D, has been uploaded. The program utilises a KD-tree approach to perform computations quickly. Additionally, the program can use multiple CPUs at once on a single machine to compute at speed.

As with our other releases, for now, only the source code is available. To install it you will need to compile the program from the repository. The full instructions for compilation are available on the documentation page.

04 Oct. 2012

Levelset2d : Level set based evolution for atom probe samples

Today we have uploaded our 2D level set analysis toolkit, known simply as levelset2d which allows for simulations of the shape change of atom probe samples as a function of time. The simulation is 2D based, and uses a simple full-field image method, whereby a single, or pair of images, is used as the input for simulating the changing the shape of the field emitters.

The method is has few parameters, which mostly relate to a speed/quality tradeoff for the simulation. Again, documentation is pending, but we will upload this as it becomes available

To download the program, currently only the source code is available. To install it you will need to compile the program. The dependencies are the GNU Scientific library, and magick++. To fetch the source code, you will need to install the source code management tool mercurial, then head over to this page to download the program.

29 Sept. 2012

3dap-recon: Detector to 3D reconstruction conversion

Good news everyone! We've just uploaded the next instalment in our data analysis suite, known as 3dap-recon.

So what is it? 3dap-recon is a program for building 3D "POS" datasets from 2D detector sequences obtained from Oxford Nanoscience POsition Sensitive Atom Probe (POSAP) "OPS" files. Its a cross-platform program, and will run under any architecture, as far as we know.

It's currently available as source code, and can be obtained by following the instructions below. At this time to get something useful, you will need to compile it. It is command-line only, so its easy to compile and use as a backend tool for something else. It currently has no documentation, but it is very easy to use, and has been reasonably well tested. To use it simply do this ($ indicates your terminal session): $ ./3dap-recon someOPSFile.ops reconstruction.pos then follow the on-screen prompts. If you are using a Linux system (or cygwin, or fink on OSX...), you can easily build a copy of the program. First install g++ (a c++ compiler), then mercurial and gsl-dev or gsl-devel (scientific library) from your package manager, then open a terminal and run the following commands: hg clone http://hg.code.sf.net/p/apttools/threedaprecon/code 3dap-recon cd 3dap-recon make make install thats it! If you have any problems post on our forums, and we will help you as quick as we can.

12 Sept. 2012

Get ready... Go!

We have just released a general purpose back-end software program for Atom Probe Tomography. These programs are back-end "helper" tools that we use to automate and speed-up the development of new and more interesting programs for end users. The programs distributed here are targeted at developers and researchers who are interested in automating or simplifying their data analysis workflows.

Currently, we are releasing the posgen tool for aiding in automating or conducting point-cloud data workflows, without having to get into the low-level programming details.

So what does posgen do? Posgen delivers an XML based language for expressing transformations of 3D (and associated value) point cloud datasets. Transformations can be chained to enable complex workflows, especially useful for performing batch transformations or analyses Posgen offers several transformation capabilities, such as:

  • Geometrical transformations (rotation, scaling, translation, clip).
  • Topological transformations (Detect clusters, set operations (subtract, add, intersect), random value shuffling)
  • Point cloud generation tools (Put FCC lattice here, put BCC lattice there, add spatial noise, etc.)
  • Value transformations (shift value, filter values, range data, find-and-replace)
  • File format transformations (Text output, molecular modelling formatted output, etc.).
  • and so a lot more..

Our goal is to simplify the construction of new and useful algorithms by shortening the development time required for building exciting new tagged point cloud data (i.e. atom probe data) analysis tools. As an example, here is a sample transformation of a dataset, where we load it, remove 25% of the data, add noise, and then shuffle the data values around: <!DOCTYPE crystal SYSTEM "crystal.dtd"> <!--- Load a pos file called "cubicTest.pos" --> <crystal> <version value="0.0.1"/> <posload name="cubic.pos"/> <!-- randomly remove 25% of the data--> <randrm frac="0.25"/> <!-- Add noise to the remaining data--> <noise> <white> <x val="0.1"/> <y val="0.1"/> <z val="0.1"/> </white> </noise> <!-- Shuffle the values stored on each point around --> <relabel/> </crystal>

Even though we are still getting our site set up, you can even start to use it right now.