exafs-neo


Nameexafs-neo JSON
Version 2.0.8 PyPI version JSON
download
home_pagehttps://github.com/laumiulun/EXAFS_Neo
Summaryexafs_neo AI analysis using GA
upload_time2024-05-02 01:38:35
maintainerNone
docs_urlNone
authorMiu Lun Lau, Jeff Terry, Min Long
requires_pythonNone
licenseGPLv3
keywords exafs_neo ai analysis
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # EXAFS Neo

#### Versions: 2.0.8

#### Last update: May 1, 2024

<!-- ![example workflow](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/<WORKFLOW_FILE>/badge.svg) -->

[![Test with Ubuntu, Mamba](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_ubuntu.yml/badge.svg?branch=devel)](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_ubuntu.yml)[![Test with Windows, Mamba](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_windows.yml/badge.svg?branch=devel)](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_windows.yml)


EXAFS Neo utilize Genetic algorithm in fitting Extended X-ray absorption fine structure(EXAFS).

## Prerequisites

It is highly recommend to utilize `anaconda` or `pip` package managers to prevent unforeseen dependency conflicts. EXAFS Neo uses [`larch`](https://xraypy.github.io/xraylarch/) to process the x-ray spectrum.

- Python: => 3.9
- Numpy: => 1.20
- Scipy: => 1.6
- Larch: > 0.9.47
- Matplotlib: > 3.0

It is highly recommend to create a new environment in `anaconda` to run EXAFS Neo to prevent packages conflicts. For `Windows` operating system, if you encounter an issue requiring "Microsoft C++ 14.0 or greater is needed", please download the tools at the following location [`C++ Tools`](https://visualstudio.microsoft.com/visual-cpp-build-tools/) and make sure to select C++ build tools during installation process.

if you are on a Mac (either Intel or M1), you need to make sure that xcode command line tools is install, if not input this command into terminal:

        xcode-select --install

## Dependencies

EXAFS Neo requires the following dependencies to run:

Notes: this step below is only needed if you are installing using source code

        # Create new anaconda environment
        conda create -y --name exafs python=>3.9.10
        conda activate exafs
        conda install -y -c conda-forge "numpy>=1.23" "scipy>=1.8" "matplotlib>=3.6" "h5py>=3.5" "wxpython>=4.1" scikit-image scikit-learn pycifrw pandas jupyter plotly pyparsing pytest pytest-cov coverage
        pip install lmfit peakutils pyepics pyshortcuts termcolor sphinx dill pycifrw xraydb wxmplot wxutils fabio silx imageio charset-normalizer
        pip install xraylarch

## Installations

To install via PIP:

        conda create --name "exafs_neo" "python=3.12"
        conda activate exafs_neo
        pip install exafs_neo

To install EXAFS Neo, simply clone the repo:

        git clone https://github.com/laumiulun/EXAFS_Neo.git
        cd EXAFS_Neo/
        pip install .

## Usage

To run the included test suite, use the following command:

        ./run_tests

To run a sample test, make sure the environment is set correctly, and select an input file:

         exafs_neo -i test_inputs/test_temp.ini

Alternatively, you can also run EXAFS Neo in a jupyter notebook, please follow the example in the example/jupyter folder

## GUI

We also have provided a GUI for use in additions to our program, with additional helper script to facilitate post-analysis. To use the GUI:

        exafs_neo_gui

The datafile requires header contain at least either a combination of (k, chi) or (energy, mu). It also requires a minimum of one newline for it to work correctly. An example of the correct header is as follows:

        #---------------------------------------------------------------------
        #  k chi chik chik2 chik3 win energy

## Self adsorption correction

EXAFS also provides an internal option to perform self-adsorption on the sample file using Booth et al. correction. This is performed using git submodules:

        git submodule update --init --recursive
        cd contrib/sabcor/
        make

## Update

EXAFS Neo is under active development, to update the code after pulling from the repository:

        git pull --rebase
        python setup.py install



## Video Demonstrations

You can see a list of video demonstrations of the EXAFS Neo package presented, future presentation related to this software will be posted as they are available

<!-- - https://www.youtube.com/playlist?list=PLqZCvArs4yF8IrREQ3AzZJX2N-IRAPEmy [Aug 23, 2021] (IIT EXAFS Workshop 2021)
- https://youtu.be/KwhItvwhapg [Feb 15, 2021] (University of Washington)
- https://youtu.be/jqISqq_FFR8 [Dec 10, 2020] (Canadian Light Source) -->

- [IIT EXAFS Workshop 2021](https://www.youtube.com/playlist?list=PLqZCvArs4yF8IrREQ3AzZJX2N-IRAPEmy) (Aug 23, 2021)
- [University of Washington](https://youtu.be/KwhItvwhapg) (Feb 15, 2021)
- [Canadian Light Source](https://youtu.be/jqISqq_FFR8) (Dec 10, 2020)

## Citation

Jeff Terry, Miu Lun Lau, Jiateng Sun, Chang Xu, Bryan Hendricks, Julia Kise, Mrinalini Lnu, Sanchayni Bagade, Shail Shah, Priyanka Makhijani, Adithya Karantha, Travis Boltz, Max Oellien, Matthew Adas, Shlomo Argamon, Min Long, and Donna Post Guillen, “Analysis of Extended X-ray Absorption Fine Structure (EXAFS) Data Using Artificial Intelligence Techniques,” Applied Surface Science 547, 149059 <https://doi.org/10.1016/j.apsusc.2021.149059> (2021).

    @article{terry2021analysis,
      title={Analysis of extended X-ray absorption fine structure (EXAFS) data using artificial intelligence techniques},
      author={Terry, Jeff and Lau, Miu Lun and Sun, Jiateng and Xu, Chang and Hendricks, Bryan and Kise, Julia and Lnu, Mrinalini and Bagade, Sanchayni and Shah, Shail and Makhijani, Priyanka and others},
      journal={Applied Surface Science},
      volume={547},
      pages={149059},
      year={2021},
      publisher={Elsevier}
    }

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/laumiulun/EXAFS_Neo",
    "name": "exafs-neo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "exafs_neo, AI, analysis",
    "author": "Miu Lun Lau, Jeff Terry, Min Long",
    "author_email": "andylau@u.boisestate.edu, jterry98@iit.edu, minlong@boisestate.edu",
    "download_url": "https://files.pythonhosted.org/packages/ea/80/5a5d2a2ae194e29ad3e3f61bfcf878df0e0f07fa0bba8eb755fff747298c/exafs_neo-2.0.8.tar.gz",
    "platform": null,
    "description": "# EXAFS Neo\n\n#### Versions: 2.0.8\n\n#### Last update: May 1, 2024\n\n<!-- ![example workflow](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/<WORKFLOW_FILE>/badge.svg) -->\n\n[![Test with Ubuntu, Mamba](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_ubuntu.yml/badge.svg?branch=devel)](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_ubuntu.yml)[![Test with Windows, Mamba](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_windows.yml/badge.svg?branch=devel)](https://github.com/laumiulun/EXAFS_Neo/actions/workflows/test_windows.yml)\n\n\nEXAFS Neo utilize Genetic algorithm in fitting Extended X-ray absorption fine structure(EXAFS).\n\n## Prerequisites\n\nIt is highly recommend to utilize `anaconda` or `pip` package managers to prevent unforeseen dependency conflicts. EXAFS Neo uses [`larch`](https://xraypy.github.io/xraylarch/) to process the x-ray spectrum.\n\n- Python: => 3.9\n- Numpy: => 1.20\n- Scipy: => 1.6\n- Larch: > 0.9.47\n- Matplotlib: > 3.0\n\nIt is highly recommend to create a new environment in `anaconda` to run EXAFS Neo to prevent packages conflicts. For `Windows` operating system, if you encounter an issue requiring \"Microsoft C++ 14.0 or greater is needed\", please download the tools at the following location [`C++ Tools`](https://visualstudio.microsoft.com/visual-cpp-build-tools/) and make sure to select C++ build tools during installation process.\n\nif you are on a Mac (either Intel or M1), you need to make sure that xcode command line tools is install, if not input this command into terminal:\n\n        xcode-select --install\n\n## Dependencies\n\nEXAFS Neo requires the following dependencies to run:\n\nNotes: this step below is only needed if you are installing using source code\n\n        # Create new anaconda environment\n        conda create -y --name exafs python=>3.9.10\n        conda activate exafs\n        conda install -y -c conda-forge \"numpy>=1.23\" \"scipy>=1.8\" \"matplotlib>=3.6\" \"h5py>=3.5\" \"wxpython>=4.1\" scikit-image scikit-learn pycifrw pandas jupyter plotly pyparsing pytest pytest-cov coverage\n        pip install lmfit peakutils pyepics pyshortcuts termcolor sphinx dill pycifrw xraydb wxmplot wxutils fabio silx imageio charset-normalizer\n        pip install xraylarch\n\n## Installations\n\nTo install via PIP:\n\n        conda create --name \"exafs_neo\" \"python=3.12\"\n        conda activate exafs_neo\n        pip install exafs_neo\n\nTo install EXAFS Neo, simply clone the repo:\n\n        git clone https://github.com/laumiulun/EXAFS_Neo.git\n        cd EXAFS_Neo/\n        pip install .\n\n## Usage\n\nTo run the included test suite, use the following command:\n\n        ./run_tests\n\nTo run a sample test, make sure the environment is set correctly, and select an input file:\n\n         exafs_neo -i test_inputs/test_temp.ini\n\nAlternatively, you can also run EXAFS Neo in a jupyter notebook, please follow the example in the example/jupyter folder\n\n## GUI\n\nWe also have provided a GUI for use in additions to our program, with additional helper script to facilitate post-analysis. To use the GUI:\n\n        exafs_neo_gui\n\nThe datafile requires header contain at least either a combination of (k, chi) or (energy, mu). It also requires a minimum of one newline for it to work correctly. An example of the correct header is as follows:\n\n        #---------------------------------------------------------------------\n        #  k chi chik chik2 chik3 win energy\n\n## Self adsorption correction\n\nEXAFS also provides an internal option to perform self-adsorption on the sample file using Booth et al. correction. This is performed using git submodules:\n\n        git submodule update --init --recursive\n        cd contrib/sabcor/\n        make\n\n## Update\n\nEXAFS Neo is under active development, to update the code after pulling from the repository:\n\n        git pull --rebase\n        python setup.py install\n\n\n\n## Video Demonstrations\n\nYou can see a list of video demonstrations of the EXAFS Neo package presented, future presentation related to this software will be posted as they are available\n\n<!-- - https://www.youtube.com/playlist?list=PLqZCvArs4yF8IrREQ3AzZJX2N-IRAPEmy [Aug 23, 2021] (IIT EXAFS Workshop 2021)\n- https://youtu.be/KwhItvwhapg [Feb 15, 2021] (University of Washington)\n- https://youtu.be/jqISqq_FFR8 [Dec 10, 2020] (Canadian Light Source) -->\n\n- [IIT EXAFS Workshop 2021](https://www.youtube.com/playlist?list=PLqZCvArs4yF8IrREQ3AzZJX2N-IRAPEmy) (Aug 23, 2021)\n- [University of Washington](https://youtu.be/KwhItvwhapg) (Feb 15, 2021)\n- [Canadian Light Source](https://youtu.be/jqISqq_FFR8) (Dec 10, 2020)\n\n## Citation\n\nJeff Terry, Miu Lun Lau, Jiateng Sun, Chang Xu, Bryan Hendricks, Julia Kise, Mrinalini Lnu, Sanchayni Bagade, Shail Shah, Priyanka Makhijani, Adithya Karantha, Travis Boltz, Max Oellien, Matthew Adas, Shlomo Argamon, Min Long, and Donna Post Guillen, \u201cAnalysis of Extended X-ray Absorption Fine Structure (EXAFS) Data Using Artificial Intelligence Techniques,\u201d Applied Surface Science 547, 149059 <https://doi.org/10.1016/j.apsusc.2021.149059> (2021).\n\n    @article{terry2021analysis,\n      title={Analysis of extended X-ray absorption fine structure (EXAFS) data using artificial intelligence techniques},\n      author={Terry, Jeff and Lau, Miu Lun and Sun, Jiateng and Xu, Chang and Hendricks, Bryan and Kise, Julia and Lnu, Mrinalini and Bagade, Sanchayni and Shah, Shail and Makhijani, Priyanka and others},\n      journal={Applied Surface Science},\n      volume={547},\n      pages={149059},\n      year={2021},\n      publisher={Elsevier}\n    }\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "exafs_neo AI analysis using GA",
    "version": "2.0.8",
    "project_urls": {
        "Download": "https://github.com/laumiulun/EXAFS_Neo/tarball/master",
        "Homepage": "https://github.com/laumiulun/EXAFS_Neo"
    },
    "split_keywords": [
        "exafs_neo",
        " ai",
        " analysis"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ea805a5d2a2ae194e29ad3e3f61bfcf878df0e0f07fa0bba8eb755fff747298c",
                "md5": "04410e55a45bba48f6c6471f0cd83400",
                "sha256": "78e6f8f0fe68cfd4cf3e8908ba774c132225e6f59b432551826a41971aa0f2e7"
            },
            "downloads": -1,
            "filename": "exafs_neo-2.0.8.tar.gz",
            "has_sig": false,
            "md5_digest": "04410e55a45bba48f6c6471f0cd83400",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 91843,
            "upload_time": "2024-05-02T01:38:35",
            "upload_time_iso_8601": "2024-05-02T01:38:35.886731Z",
            "url": "https://files.pythonhosted.org/packages/ea/80/5a5d2a2ae194e29ad3e3f61bfcf878df0e0f07fa0bba8eb755fff747298c/exafs_neo-2.0.8.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-02 01:38:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "laumiulun",
    "github_project": "EXAFS_Neo",
    "github_not_found": true,
    "lcname": "exafs-neo"
}
        
Elapsed time: 0.25199s