# 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.
# 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.
Raw data
{
"_id": null,
"home_page": "https://apav.readthedocs.io/en/latest/",
"name": "APAV",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": "",
"keywords": "atom probe,tomography,field evaporation,data analysis,materials science",
"author": "",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/56/e8/f8d2e6b34a82cfe746fbe41c87d52442632151bcae8ebb3c0027f65bf73b/APAV-1.4.0.tar.gz",
"platform": null,
"description": "# APAV: Python for Atom Probe Tomography\r\n[![Documentation Status](https://readthedocs.org/projects/apav/badge/?version=latest)](https://apav.readthedocs.io/en/latest/?badge=latest)\r\n[![coverage report](https://gitlab.com/jesseds/apav/badges/master/coverage.svg)](https://gitlab.com/jesseds/apav/commits/master)\r\n[![pipeline status](https://gitlab.com/jesseds/apav/badges/master/pipeline.svg)](https://gitlab.com/jesseds/apav/-/commits/master)\r\n[![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)\r\n[![PyPI version](https://badge.fury.io/py/apav.svg)](https://badge.fury.io/py/apav)\r\n[![status](https://joss.theoj.org/papers/ee06a37a09339a80f36b0a1ddeba6b27/status.svg)](https://joss.theoj.org/papers/ee06a37a09339a80f36b0a1ddeba6b27)\r\n\r\n[//]: # ([![Conda](https://img.shields.io/conda/v/conda-forge/apav)]())\r\n\r\nAPAV (Atom Probe Analysis and Visualization) is a Python package for analysis and\r\nvisualization of atom probe tomography datasets, some features:\r\n\r\n* File read support for traditional (\\*.pos, \\*.epos, \\*.ato, \\*.rng, \\*.rrng) or new (\\*.apt) formats\r\n* File write support for \\*.pos and \\*.epos\r\n* Mass spectrum quantification with configurable background correction\r\n* Calculation and configuration of correlation histograms\r\n* Roi primitive shapes for localized analysis\r\n* Most analyses can be parameterized by multiple-detection events\r\n* Fast generation of the compositional grid using conventional 1st/2nd pass delocalization\r\n* Calculation of arbitrary molecular isotopic distributions\r\n\r\n# Basic usage\r\nEssential APT analysis typically involves loading some data and doing some calculation(s). Import the core functions and classes:\r\n\r\n >>> import apav as ap\r\n\r\nLoad an apt file from AP Suite or some other source, along with a suitable range file (or build one programtically):\r\n\r\n >>> roi = ap.load_apt(\"data/NiTiHf.apt\")\r\n >>> rng = ap.load_rrng(\"data/NiTiHf_FWHM.rrng\")\r\n\r\nNow import the analysis components and compute the total (uncorrected) decomposed composition:\r\n\r\n >>> import apav.analysis as anl\r\n >>> mass = anl.RangedMassSpectrum(roi, rng, decompose=True)\r\n >>> mass.print()\r\n Ion Composition Counts\r\n ----- ------------- --------\r\n Ti 0.307084 2381757\r\n Ni 0.595634 4619772\r\n Hf 0.0907196 703626\r\n O 0.00656261 50900\r\n\r\nEstimate the (uncorrected) composition of a grain in the upper part of the ROI using a sphere:\r\n\r\n >>> precip_roi = ap.RoiSphere(roi, center=(-8.5, 2.1, -20), radius=20)\r\n >>> precip_mass = anl.RangedMassSpectrum(precip_roi, rng, decompose=True)\r\n >>> precip_mass.print()\r\n Ion Composition Counts\r\n ----- ------------- --------\r\n Ti 0.397016 261053\r\n Ni 0.532445 350102\r\n Hf 0.0665544 43762\r\n O 0.00398457 2620\r\n\r\nCheck the documentation for more analyses and background corrections.\r\n\r\n# Documentation\r\nDocumentation is found at: https://apav.readthedocs.io/\r\n\r\n# Support\r\nPost discussion to the [GitLab issue tracker](https://gitlab.com/jesseds/apav/-/issues)\r\n\r\n# FAQ\r\n**Why use this over IVAS/AP Suite or program X?**\r\n\r\nAPAV is not intended to be an IVAS substitute or replacement. While much of the \r\nfunctionality may overlap, APAV fills feature gaps in IVAS/AP Suite that are lacking or otherwise non-existent.\r\nSpecifically:\r\n1. Multiple-event analysis (i.e. correlation histograms, multiple event histograms, multiple event mass quantifications).\r\n2. Manual control over mass spectrum analysis (background models, fit regions, binning, etc).\r\n3. An API to easily interface into APT data for custom data analysis.\r\n\r\n**Why is there no GUI for APAV?**\r\n\r\nAPAV 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\r\nsome custom interactive plotting tools for certain computations.\r\n\r\n\r\n",
"bugtrack_url": null,
"license": "GPLv2+",
"summary": "A Python library for Atom Probe Tomography analysis",
"version": "1.4.0",
"split_keywords": [
"atom probe",
"tomography",
"field evaporation",
"data analysis",
"materials science"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "f5bc2e49807d747eca5d9dd4e242aaae7631478fc529b70ad3678ca117f8c30d",
"md5": "b633d2678d89aa83e41c33f02ab589e5",
"sha256": "951d8369afe864a9b926ccbd6cd9cbe4488d006b1ef9bc65117d93c416d8f40f"
},
"downloads": -1,
"filename": "APAV-1.4.0-cp310-cp310-win_amd64.whl",
"has_sig": false,
"md5_digest": "b633d2678d89aa83e41c33f02ab589e5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": ">=3.7",
"size": 57798622,
"upload_time": "2023-03-15T17:27:40",
"upload_time_iso_8601": "2023-03-15T17:27:40.144268Z",
"url": "https://files.pythonhosted.org/packages/f5/bc/2e49807d747eca5d9dd4e242aaae7631478fc529b70ad3678ca117f8c30d/APAV-1.4.0-cp310-cp310-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56c3940059cd34174e226fe4507c5ef9c20aee84b9677e2743321666e9e347db",
"md5": "01b48621edc7ddbc6196ec066f0cad1c",
"sha256": "bd2c80bc84f3bd1fcefc77d2ea646fbb5ad869f02c6b70d31216e7e2cf10baa9"
},
"downloads": -1,
"filename": "APAV-1.4.0-cp311-cp311-win_amd64.whl",
"has_sig": false,
"md5_digest": "01b48621edc7ddbc6196ec066f0cad1c",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": ">=3.7",
"size": 57797296,
"upload_time": "2023-03-15T17:27:47",
"upload_time_iso_8601": "2023-03-15T17:27:47.314989Z",
"url": "https://files.pythonhosted.org/packages/56/c3/940059cd34174e226fe4507c5ef9c20aee84b9677e2743321666e9e347db/APAV-1.4.0-cp311-cp311-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b5933a535f3ecbbd5534f98f70e0f30d98042b887d80f83a3f31e5a7356e8dd7",
"md5": "2d3b325ae933cd946cbf690f51adeb80",
"sha256": "0fefeeab069d95dda5e0eeb3843287a6cd02bdc23e9f55fe0f4a052f8a0fe79a"
},
"downloads": -1,
"filename": "APAV-1.4.0-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "2d3b325ae933cd946cbf690f51adeb80",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": ">=3.7",
"size": 57798327,
"upload_time": "2023-03-15T17:27:55",
"upload_time_iso_8601": "2023-03-15T17:27:55.693324Z",
"url": "https://files.pythonhosted.org/packages/b5/93/3a535f3ecbbd5534f98f70e0f30d98042b887d80f83a3f31e5a7356e8dd7/APAV-1.4.0-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "499e1273e4606389c5b871f4168a4b2e78e383e83ed2fa93934f74e9b27e34f6",
"md5": "032991cfcc6cdbb0e373a6d5f3635937",
"sha256": "4f70e76d0325c4589f2b7b030a0ff1f7a378bd6380e6f2b49e4310003d7fe476"
},
"downloads": -1,
"filename": "APAV-1.4.0-cp38-cp38-win_amd64.whl",
"has_sig": false,
"md5_digest": "032991cfcc6cdbb0e373a6d5f3635937",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.7",
"size": 57800730,
"upload_time": "2023-03-15T17:28:02",
"upload_time_iso_8601": "2023-03-15T17:28:02.239460Z",
"url": "https://files.pythonhosted.org/packages/49/9e/1273e4606389c5b871f4168a4b2e78e383e83ed2fa93934f74e9b27e34f6/APAV-1.4.0-cp38-cp38-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5fc37947fccd7d837bd0695b43b2e9be3bb695ce957030e91286e0e54ea75c29",
"md5": "0c6c70f3feb2a318215ed1e7bc8e1bbd",
"sha256": "3becb261ea2a641ed5817dcfaf7c5ba50823abb41da830da0f73eddfcf8c660f"
},
"downloads": -1,
"filename": "APAV-1.4.0-cp39-cp39-win_amd64.whl",
"has_sig": false,
"md5_digest": "0c6c70f3feb2a318215ed1e7bc8e1bbd",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": ">=3.7",
"size": 57800514,
"upload_time": "2023-03-15T17:28:12",
"upload_time_iso_8601": "2023-03-15T17:28:12.369237Z",
"url": "https://files.pythonhosted.org/packages/5f/c3/7947fccd7d837bd0695b43b2e9be3bb695ce957030e91286e0e54ea75c29/APAV-1.4.0-cp39-cp39-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "56e8f8d2e6b34a82cfe746fbe41c87d52442632151bcae8ebb3c0027f65bf73b",
"md5": "770c7cc9804a98aac568107e0238dc73",
"sha256": "ae26caf1908da04ab88cfa6f16532ad8cb09548c2c11de40d95703afbc4f45d6"
},
"downloads": -1,
"filename": "APAV-1.4.0.tar.gz",
"has_sig": false,
"md5_digest": "770c7cc9804a98aac568107e0238dc73",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 57251422,
"upload_time": "2023-03-15T17:28:19",
"upload_time_iso_8601": "2023-03-15T17:28:19.881046Z",
"url": "https://files.pythonhosted.org/packages/56/e8/f8d2e6b34a82cfe746fbe41c87d52442632151bcae8ebb3c0027f65bf73b/APAV-1.4.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-03-15 17:28:19",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "apav"
}