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.
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....
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
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!
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).
Windows 64 binaries (Executables) for the weights and the rangecheck programs, as part of the "extras" sub-package are now available
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
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.
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.
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.
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.
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
thats it! If you have any problems post on our forums, and we will help you as quick as we can.
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" -->
<!-- randomly remove 25% of the data-->
<!-- Add noise to the remaining data-->
<!-- Shuffle the values stored on each point around -->
Even though we are still getting our site set up, you can even start to use it right now.