Potku, analysis software for ToF-ERDA
Introduction – what is Potku?
Potku (Finnish: kick, recoil) is an open source analysis software used for creating depth profiles from time-of-flight elastic recoil detection analysis measurement data. With the Potku 2.0 update,it nowalso includes MCERD forMonte-Carlo simulations of scattered and recoiledparticles.The software has a graphical user interface, implemented with Python 3.12 (2024), PyQt and Matplotlib. For the analysis itself, a back-end of standalone command line programswritten in C are used. The analysis components can alsobe used independently of the GUI, if necessary.
The Accelerator Based Materials Physics group at the Accelerator Laboratory is the current maintainer and developer of the software, but Potku began its life as a student project within the Department of Mathematical Information Technology, where the user interface was developed as a part of a student software project course (2013). The Potku ToF-ERD slab-analysis code is originally written by Kai Arstila with later physics contributions from Jaakko Julin. Users are encouraged to participate in the development of the software. During the year 2018, new student project called "Monisiro"developed original Potku further. It now contains full functionality. This addition extends the possible user base of the Potku program from ToF-ERD laboratories to all laboratories having RBS or ERDA setups and even further.
Must for the users: Sign up for the Potku community ! (opens new window) (no spam through this list!).
Release versions, with older ones in the another directory can be found from here.
Install/run info for Machere(txt info) - also windows users nowadays require administrative access to the potku.exe - unfortunately.
Explanation of Potku data (e.g. for data export purposes) can be found here.
Tutorials for Potku usage can be found from .ppt intro, (slab analysis) and from (MCERD).
References for Potku: (original version without MCERD) and the original
Below one can read short update info without the need to visit the github.
20.6.2024 News – Potku 2.2.6
Potku has been released. This fixes a plethora of small bugs, but is primarily a cleanup of all legacy C code away from Potku repository and into their own repositories. The user should not notice a difference, but the handling of stopping data has been improved (using JIBAL). Some user visible changes are e.g. parallel processing of depth profiles, since the depth profiles can now be computed considerably faster.
Changes are logged in a .
5.3.2024 News – Potku 2.2.5
After almost 2-3 years and 1000s of hours of coding: Potku 2.2.5 (build date 18.12.2023) has been released.
Potku can be now found directly from for all platforms (Win, Mac, Linux).
A streamlined development pipeline has been created on GitHub, where Potku’s new versions are released.
Get Potku future updates directly from the page: https://github.com/JYU-IBA/potku or from this page release versions.
This new version breaks backwards compatibility, i.e. after opening a request in this version, it no longer works in previous versions. This is (mainly) due to the energy detector option for the simulation and modification of the configuration files.
Potku also now follows semantic version numbering and release process is automated in GitHub.
New features:
- On the MCERD side users can choose between an automatically calculated reference density value and a manually entered value to use in simulations.
- Cut/selection files can now be modified after creation by adding, deleting and dragging points of an element selection. Also single element from the cut files can be imported to existing cut files.
- Copying and pasting element selections is now possible via context menu.
- Element selections can be selected from legend.
- Single cut files can now be imported to the ToF-E histogram.
- Energy detector added as a new detector type in detector settings. This is the energy after the last of the “foils”.
- Added ability to remove external files when comparing simulated energy spectra to experimental data.
- For each recoil element in MCERD, the simulation type can be chosen between recoil and scatter. Thus one can add Ti as a recoil or Ti* as like Br beam scattered from Ti.
- Timestamped data between ToF and E detector, if they coincidence with the kinematic correction. can now be semi-automated to be used to find the kinematic correction values (eg. timedifference to ToF vs E) and export them as a third column to the Tof-E .asc data file. This fully enables and partially automates the kinematic correction option in Potku.
Enhancements/bug fixes:
- Performance of cut/selection file windows has been improved. This is now faster and generated as “image”.
- Fixed ratio tool functioning in MCERD.
- Fixed sum spectrum plotting of energy spectra.
- On MCERD side deleting a main recoil element now also properly deletes any associated secondary recoils.
- Python version upgraded to 3.10.
- Potku’s version and date of the version is displayed in the title of Potku’s main window.
- Enabling measurement-specific settings copies over all request-wide settings as a basis for the specific settings, now including also efficiency files.
- Changing the color of a recoil in MCERD now works as intended.
- “Efficiency files used”- text now actually checks that was some file with non-zero numbers found.
- Previously failing unit tests have been fixed.
- Tons of small bugfixes.
- Tons of code architecture improved.
Usage and features
There isdifferent ways Potku can be used: pure simulation mode in MCERDor ToF-ERDA slab data analysis, or in combination of two. In addition user can export other type of spectra (RBS, ERDA) to the MCERD.
In the Tof-ERDA slab analysis-side, the user is expected to provide a list of time-of-flight–energy events in ascii or some supported binary format. The software is also bundled with a coincidence tool, which can extract these events from time-stamped list mode data. Some details such as the geometry and beam must be provided anduserneeds to manually identify elements/isotopes from the ToF-E–spectra.
Potku can then be used to
- perform time-of-flight calibration
- perform kinematic calibration
- study composition changes over the length of the measurement
- create energy spectra from time-of-flight spectra (to export measurement to other software
- create depth profiles
- MCERD simulations and comparethe measured ToF-ERDA data to simulated data
- Automatically fit the simulated composition profile to match the experimental profiles
In a simulation mode, userneeds to configure parameters forMCERD, design a target structure, recoil element distribution and run the simulations. These simulations and recoil element distributioncan then be
- compared to existing ToF-ERDA, ERDA or RBS data
- modified in a fast way without the need for new simulations
- can be normalized easily to fit the experimental data
- can be used to show the uncertaintly of the measurement eg, showingsimulated values foreg.1, 2and 3 at. % concentrations.
See a presentation for more detail look at the features and usage of Potku 2.0. (Doesn't yet include guide for the automatic MCERD fitting)
Development
The development versions are hosted at GitHub at (since late 2023 automatic vesion numbering helps to identify and refer-to different Potku versions).
Potku composes of these of these parts:
1. ePotku, the www-based potku (coming after summer 2020.. or after 2025...)
2. Potku aka
3. MCERD (mcerd + get_espe)
4. JIBAL (Jyväskylä ion beam analysis library) (links to MCERD etc).
The GitHub site acts as a hub for development.
The latest stable release can be downloaded from the downloads section or from the GitHub branches. Please see the requirements before installing! If you install Potku from GitHub you must compile the C programs using the provided scripts. The files available for download also contain the executables.
Requirements, comments, file downloads:
Downloads:
- Most recent RELEASE versions are here (no install needed -versions for Mac, Win and linux).
- Example data -folder for Potku 2.0:a sample Request is here.
- Example efficiency files are also provided, mac versions filename extension might need to be changed a bit. In the first column is the energy (in MeV) and in second column is the efficiency (1.00 - 0.00). Filename is associated with the isotope, and shoud start with element symbol + isotope number e.g. H1.eff, H2.eff, or Li6.eff, and element files such as H.eff, Li.eff when using element cut files (elemental cut and .eff files was separated from isotope files in July 2020 release)
- Guide / presentation forthe usage ofMCERD and Potku 2.0 is here.
Note: Parts of the analysis code use hard-coded defaults, which might not be optimal for your data. The program is still approaching a mature state, so expect small bugs. The known bugs listed are fixed in the latest master-branch version found from the repository. Bug reports are welcome.
Older version changes
Older version changes are seen from here. Or more preferably from github.
Licence
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public Licence as published by the Free Software Foundation; either version 2 of the Licence, or (at your option) any later version. See LICENCE file inside package for detailed information.
Several of icons used in Potku are a part of Reinhardt Icon Set which is under LGPL licence. See LICENCE.txt and README.txt files in ui_icons/reinhardt directory for detailed information.
Documentation
A preliminary manual is included in the distribution.
Example - getting started with Potku
Some sample data is included in the distribution. A complete data set is available from the sample data section.
Version history
2019-05-28
Automatic fitting tool added to MCERD.
2018-12-21
Multiple bugs corrected for Potku 2.0
2018-09-01
Potku 2.0, first public release of the new potku with integrated MCERD
2016-11-29
Potku 1.1 - Windows installers provided, minor bugfixes relating to PyQT
2013-12-03
Bugfix release, v.0.8.2
2013-09-11
First public release, v0.8