PARAPROBE is a collection of open source tools for efficient analyses of Atom Probe Tomography (APT) and Field Ion Microscopy (FIM) data. The toolbox does not replace but complement existent APT/FIM software tools.
PARAPROBE is a collection of individual tools, each is specialized for a specific task. Examples of such tasks are the loading of data from commercial software, the creating of synthetic datasets, the computing of dense alpha shapes to define the edge of a dataset, of full volume tessellations, the computing of spatial statistics, performing of clustering methods, and assessing datasets with methods from atom probe crystallography.
PARAPROBE is designed for workstations and computer clusters. The tools offer strong scaling performance, i.e. they make the most of multi-core CPUs and GPUs.
Feel free to utilize the tool. In doing so, feel free to suggest me any improvements or analysis features that you think would be great to have or could improve PARAPROBE.
1. Getting started¶
This documentation should serve as a guide through PARAPROBE. In case of questions, feel free to ask me. In these sections you will learn to work with PARAPROBE as a user. For advanced users and software developers there is a developer section with more details.
2. Download, configure, and compile PARAPROBE¶
There is a detailed Jupyter notebook tutorial on how to prepare your computer and compile PARAPROBE tools. I recommend to start with this tutorial. You can find additional advice in the advanced topics sections.
3. Define and execute your analyses¶
PARAPROBE analyses have three steps: configuration, execution, post-processing. Each tool is instructed by an XML configuration file. These files instructs the tool to do something and are your record of what was planned. There are detailed Jupyter notebook tutorials in the tutorial section which guide you through the currently most important tools. The tutorials exemplify how setting up configuration files gets simpler with Python instead of editing XML files manually. The tutorials instruct how to run the tools. Thereafter, the tutorials exemplify how you can use the autoreporter Python tool for post-processing results obtained with PARAPROBE. You can find additional advice in the advanced topics section.
The tutorials are in the form of Jupyter notebooks in the paraprobe/tutorial directory. Tutorials should be executed from within paraprobe/tutorial:
PARAPROBE_Tutorial_HowToBuild.ipynb PARAPROBE_Tutorial_ImportExperimentalDatasets.ipynb PARAPROBE_Tutorial_CreateSyntheticDatasets.ipynb PARAPROBE_Tutorial_Surfacer.ipynb PARAPROBE_Tutorial_Tessellator.ipynb PARAPROBE_Tutorial_Spatstat.ipynb PARAPROBE_Tutorial_DBScan.ipynb
5. Open source, how to cite¶
Markus Kühbach gratefully acknowledges the support from the Deutsche Forschungsgemeinschaft (DFG) through project BA 4253/2-1. Markus Kühbach especially acknowledges the provisioning of computing resources by the Max Planck Gesellschaft, and the funding received through BiGmax, the Max-Planck-Research Network on Big-Data-Driven Materials Science.
8. Advanced topics¶
This section addresses mainly software developers who wish to compile individual tools manually.
- Which parallelization methods are employed?
- Which tool offers which parallelism?
- Which third-party dependencies does each tool have?
- How to compile the tools manually?
- How to compile? A cooking recipe!
- Run/Execute tools
- Compiler optimization
- Best practices when using multi-threading
- Further details of OpenMP multi-threading
- Manage thread affinity
- Testimonial on using the Parallel HDF5 for APT/FIM