APAV

APAV: An Open-Source Python Package for Mass Spectrum Analysis in Atom Probe Tomography - Published in JOSS (2023)

https://gitlab.com/jesseds/apav

Science Score: 87.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

Atom Probe Field Evaporation data analysis science tomography

Scientific Fields

Mathematics Computer Science - 84% confidence
Last synced: 4 months ago · JSON representation

Repository

APAV (Atom Probe Analysis and Visualization) is a Python library for the analysis and visualization of atom probe tomography experiments.

Basic Info
  • Host: gitlab.com
  • Owner: jesseds
  • License: gpl-2.0+
  • Default Branch: master
Statistics
  • Stars: 3
  • Forks: 2
  • Open Issues: 1
  • Releases: 0
Topics
Atom Probe Field Evaporation data analysis science tomography
Created almost 7 years ago

https://gitlab.com/jesseds/apav/blob/master/

# APAV: Python for Atom Probe Tomography
[![Documentation Status](https://readthedocs.org/projects/apav/badge/?version=latest)](https://apav.readthedocs.io/en/latest/?badge=latest)
[![coverage report](https://gitlab.com/jesseds/apav/badges/master/coverage.svg)](https://gitlab.com/jesseds/apav/commits/master)
[![pipeline status](https://gitlab.com/jesseds/apav/badges/master/pipeline.svg)](https://gitlab.com/jesseds/apav/-/commits/master)
[![License: GPL v2](https://img.shields.io/badge/License-GPL_v2-blue.svg)](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html)
[![PyPI version](https://badge.fury.io/py/apav.svg)](https://badge.fury.io/py/apav)
[![status](https://joss.theoj.org/papers/ee06a37a09339a80f36b0a1ddeba6b27/status.svg)](https://joss.theoj.org/papers/ee06a37a09339a80f36b0a1ddeba6b27)

[//]: # ([![Conda](https://img.shields.io/conda/v/conda-forge/apav)]())

APAV (Atom Probe Analysis and Visualization) is a Python package for analysis and
visualization of atom probe tomography datasets, some features:

* File read support for traditional (\*.pos, \*.epos, \*.ato, \*.rng, \*.rrng) or new (\*.apt) formats
* File write support for \*.pos and \*.epos
* Mass spectrum quantification with configurable background correction
* Calculation and configuration of correlation histograms
* Roi primitive shapes for localized analysis
* Most analyses can be parameterized by multiple-detection events
* Fast generation of the compositional grid using conventional 1st/2nd pass delocalization
* Calculation of arbitrary molecular isotopic distributions

# Basic usage
Essential APT analysis typically involves loading some data and doing some calculation(s). Import the core functions and classes:

    >>> import apav as ap

Load an apt file from AP Suite or some other source, along with a suitable range file (or build one programtically):

    >>> roi = ap.load_apt("data/NiTiHf.apt")
    >>> rng = ap.load_rrng("data/NiTiHf_FWHM.rrng")

Now import the analysis components and compute the total (uncorrected) decomposed composition:

    >>> import apav.analysis as anl
    >>> mass = anl.RangedMassSpectrum(roi, rng, decompose=True)
    >>> mass.print()
    Ion      Composition    Counts
    -----  -------------  --------
    Ti        0.307084     2381757
    Ni        0.595634     4619772
    Hf        0.0907196     703626
    O         0.00656261     50900

Estimate the (uncorrected) composition of a grain in the upper part of the ROI using a sphere:

    >>> precip_roi = ap.RoiSphere(roi, center=(-8.5, 2.1, -20), radius=20)
    >>> precip_mass = anl.RangedMassSpectrum(precip_roi, rng, decompose=True)
    >>> precip_mass.print()
    Ion      Composition    Counts
    -----  -------------  --------
    Ti        0.397016      261053
    Ni        0.532445      350102
    Hf        0.0665544      43762
    O         0.00398457      2620

Check the documentation for more analyses and background corrections.

# How to cite

If you use APAV in your work, please cite:

> Smith et al., (2023). APAV: An Open-Source Python Package for Mass Spectrum Analysis in Atom Probe Tomography. Journal of Open Source Software, 8(83), 4862, https://doi.org/10.21105/joss.04862

# Documentation
Documentation is found at: https://apav.readthedocs.io/

# Support
Post discussion to the [GitLab issue tracker](https://gitlab.com/jesseds/apav/-/issues)

# FAQ
**Why use this over IVAS/AP Suite or program X?**

APAV is not intended to be an IVAS substitute or replacement. While much of the 
functionality may overlap, APAV fills feature gaps in IVAS/AP Suite that are lacking or otherwise non-existent.
Specifically:
1. Multiple-event analysis (i.e. correlation histograms, multiple event histograms, multiple event mass quantifications).
2. Manual control over mass spectrum analysis (background models, fit regions, binning, etc).
3. An API to easily interface into APT data for custom data analysis.

**Why is there no GUI for APAV?**

APAV is intended to be used as a python *library*. Perhaps a GUI will one day exist along side APAV (but not in replacement). For now, APAV includes
some custom interactive plotting tools for certain computations.


Owner

  • Name: jesse
  • Login: jesseds
  • Kind: user

JOSS Publication

APAV: An Open-Source Python Package for Mass Spectrum Analysis in Atom Probe Tomography
Published
March 21, 2023
Volume 8, Issue 83, Page 4862
Authors
Jesse D. Smith ORCID
Department of Materials Science and Engineering, University of North Texas, United States of America
Marcus L. Young ORCID
Department of Materials Science and Engineering, University of North Texas, United States of America
Editor
Rachel Kurchin ORCID
Tags
Atom Probe Tomography Data analysis

Committers

Last synced: 4 months ago

All Time
  • Total Commits: 319
  • Total Committers: 3
  • Avg Commits per committer: 106.333
  • Development Distribution Score (DDS): 0.492
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
jesseds@protonmail.ch 3****p 162
Jesse Smith j****s@p****h 137
Jesse Smith j****s@p****h 20
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 183 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 12
  • Total maintainers: 1
pypi.org: apav

A Python library for Atom Probe Tomography analysis

  • Versions: 10
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 183 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 15.0%
Forks count: 22.6%
Stargazers count: 27.8%
Average: 28.6%
Dependent repos count: 67.3%
Maintainers (1)
Last synced: 4 months ago
conda-forge.org: apav

APAV (Atom Probe Analysis and Visualization) is a Python library for the analysis and visualization of atom probe tomography experiments

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 34.0%
Average: 50.2%
Dependent packages count: 51.2%
Forks count: 57.4%
Stargazers count: 58.4%
Last synced: 4 months ago

Dependencies

docs/requirements.txt pypi
  • sphinx >=1.7.5
  • sphinx_autodoc_typehints *
  • sphinx_rtd_theme *
requirements.txt pypi
  • Babel ==2.10.3
  • Cython ==0.29.32
  • Jinja2 ==3.1.2
  • MarkupSafe ==2.1.1
  • PyQt5 ==5.15.7
  • PyQt5-Qt5 ==5.15.2
  • PyQt5-sip ==12.11.0
  • Pygments ==2.13.0
  • Sphinx ==5.1.1
  • alabaster ==0.7.12
  • asteval ==0.9.27
  • attrs ==22.1.0
  • certifi ==2022.6.15
  • charset-normalizer ==2.1.1
  • coverage ==6.4.4
  • docutils ==0.17.1
  • fast-histogram ==0.11
  • future ==0.18.2
  • idna ==3.3
  • imagesize ==1.4.1
  • importlib-metadata ==4.12.0
  • iniconfig ==1.1.1
  • lmfit ==1.0.3
  • numpy ==1.21.6
  • packaging ==21.3
  • periodictable ==1.6.1
  • pluggy ==1.0.0
  • py ==1.11.0
  • pyparsing ==3.0.9
  • pyqtgraph ==0.12.4
  • pytest ==7.1.2
  • pytest-qt ==4.1.0
  • pytz ==2022.2.1
  • requests ==2.28.1
  • scipy ==1.7.3
  • snowballstemmer ==2.2.0
  • sphinx-autodoc-typehints ==1.19.2
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-applehelp ==1.0.2
  • sphinxcontrib-devhelp ==1.0.2
  • sphinxcontrib-htmlhelp ==2.0.0
  • sphinxcontrib-jsmath ==1.0.1
  • sphinxcontrib-qthelp ==1.0.3
  • sphinxcontrib-serializinghtml ==1.1.5
  • tabulate ==0.8.10
  • tomli ==2.0.1
  • typing_extensions ==4.3.0
  • uncertainties ==3.1.7
  • urllib3 ==1.26.12
  • zipp ==3.8.1