ODAT-SE
issp-center-dev / ODAT-SE
Optimization and inverse-problem framework for experimental data analysis (formerly 2DMAT)
Overview
(No description provided)
Typical use cases
- Determine structures from experimental data such as total-reflection high-energy positron diffraction
- Solve inverse problems with Bayesian optimization, replica exchange and other methods
Target users
Fields
Quick Start
This software provides a Quickstart / tutorial.
README
ODAT-SE -- an open framework for data analysis
Open Data Analysis Tool for Science and Engineering (ODAT-SE) is a framework for applying a search algorithm to a direct problem solver to find the optimal solution. It has been developed by the name 2DMAT, and since version 3.0, it is organized as an open platform for data analysis by modularizing direct problem solvers and search algorithms.
As the standard direct problem solver, the experimental data analysis software for two-dimensional material structure analysis is prepared. The direct problem solver gives the deviation between the experimental data and the calculated data obtained under the given parameters such as atomic positions as a loss function used in the inverse problem. The optimal parameters are estimated by minimizing the loss function using a search algorithm. For further use, the original direct problem solver or the search algorithm can be defined by users. ODAT-SE offers wrappers of direct problem solvers for some of quantum beam diffraction experiments such as the total-reflection high-energy positron diffraction (TRHEPD) experiment. As algorithms, it offers some minimizers such as the Nelder-Mead method and some samplers such as the population annealing Monte Carlo method.
In the future, we plan to add other direct problem solvers and search algorithms in ODAT-SE.
| Branch | Build status | Documentation |
|---|---|---|
| main (latest, stable) |
odatse
odatse is a python framework library for solving inverse problems.
It also offers a driver script to solve the problem with predefined optimization algorithms and direct problem solvers. (odatse also stands for the name of the script.)
Prerequisites
- Required
- python >= 3.9
- numpy >= 1.14
- matplotlib >= 3
- tomli >= 1.2 (for Python < 3.11)
- Optional
- scipy
- for
minsearchandglobal_searchalgorithms
- for
- mpi4py >= 3.1
- for MPI-parallel algorithms such as
exchangeandpamc
- for MPI-parallel algorithms such as
- physbo >= 2.0
- for
bayesalgorithm
- for
- tqdm
- for progress display
- scipy
Install
- From PyPI (Recommended)
python3 -m pip install -U ODAT-SE- If you install them locally, use
--useroption likepython3 -m pip install -U --user - To install all the optional dependencies at once, use
python3 -m pip install -U "ODAT-SE[all]"
- If you install them locally, use
- From Source (For developers)
- update
pip >= 19bypython3 -m pip install -U pip python3 -m pip install ODAT_SE_ROOT_DIRECTORYto installodatsepackage andodatsecommandODAT_SE_ROOT_DIRECTORYmeans the directory including thisREADME.mdfile.
- update
Simple Usage
odatse input.toml(use the installed script)python3 src/odatse_main.py input.toml(use the raw script)- For details of the input file, see the document.
Files and directories of ODAT-SE
src/- source codes
sample/- sample usages
doc/- source codes of documents (manuals)
tests/- for automatic test
README.md- this file
pyproject.toml- metadata for
ODAT-SE
- metadata for
License
This package is distributed under Mozilla Public License v2.0 (MPL-2.0).
We hope that you cite the following references when you publish the results using 2DMAT / ODAT-SE: "Data-analysis software framework 2DMAT and its application to experimental measurements for two-dimensional material structures", Y. Motoyama, K. Yoshimi, I. Mochizuki, H. Iwamoto, H. Ichinose, and T. Hoshi, Computer Physics Communications 280, 108465 (2022).
Bibtex:
@article{MOTOYAMA2022108465,
title = {Data-analysis software framework 2DMAT and its application to experimental measurements for two-dimensional material structures},
journal = {Computer Physics Communications},
volume = {280},
pages = {108465},
year = {2022},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2022.108465},
url = {https://www.sciencedirect.com/science/article/pii/S0010465522001849},
author = {Yuichi Motoyama and Kazuyoshi Yoshimi and Izumi Mochizuki and Harumichi Iwamoto and Hayato Ichinose and Takeo Hoshi}
}
Copyright
© 2020- The University of Tokyo. All rights reserved. This software was developed with the support of "Project for advancement of software usability in materials science" of The Institute for Solid State Physics, The University of Tokyo.
Source: https://github.com/issp-center-dev/ODAT-SE README
Richness
Richness = how many of docs / examples / tests are in place, shown as 0–3 stars (1 star = 1 item; the checklist below is the breakdown). Software listed by hand (without repository data) is not assessed and is left out when filtering by a richness of 1 or more.
- Yes: README
- Yes: LICENSE
- Yes: docs
- Yes: examples
- Yes: tests
- Yes: CITATION
- Yes: release
Information
- Primary language
- Python
- Languages
- Python, Shell, CMake
- License
- MPL-2.0
- Provider
- github
- DOI
- 10.1016/j.cpc.2022.108465
- Documentation
- https://www.pasums.issp.u-tokyo.ac.jp/odat-se/
Citation
Y. Motoyama et al., Comput. Phys. Commun. 280, 108465 (2022) (published as 2DMAT).