Coder Social home page Coder Social logo

mapit's Introduction


MAPIT (Material Accountancy Performance Indicator Toolkit) is a Python package designed to aid in safeguards analysis of bulk materials. The inherent flexibility is designed to allow safeguards practitioners ask the "what if?" questions while providing transparency into commonly employed statistical tests.

MAPIT provides both a graphical user interface (GUI) and an application program interface (API). The API can be used with other popular Python libraries to extend functionality and integrate with other analytical workflows.

โš ๏ธ The MAPIT API has breaking changes in v1.40.0-beta. The API was modified to accommodate a parallel processing capability. See API documentation for more details.

Features


  • Flexible I/O tools to allow analysis on a wide range of datasets

    • Permits analysis for datasets collected with non-uniform sample times
    • .csv or .mat file types
  • Approachable graphical interface

    • Accessibility features for improved readability
    • Light/dark themes
  • Tutorial dataset generated from a Separations and Safeguards Performance Model (1,2,3) fuel fabrication model based on IAEA STR-150 (4)

  • Automated error propagation

  • Automated calculation of common safeguards statistical tests

    • Material Unaccounted For (MUF) / Inventory Difference (ID)
    • Standard Error of MUF (sigma MUF) / Standard Error of ID (SEID)
    • Cumulative MUF (CUMUF)
    • Standardized Independent Transformed MUF (SITMUF)
    • Page's Trend Test on SITMUF
  • Built in threshold optimization tools

  • Visualization tools

  • Data export capabilities

  • Standalone Python-based API

Devlopment

๐Ÿšง MAPIT IS IN BETA ๐Ÿšง

You may notice various bugs and errors. Help contribute to this project by reporting them through our issue page.

We aim for biannual release updates for MAPIT, but if you have immediate needs that need to be addressed, please open an issue or contact us directly.

Installation

MAPIT does not yet have a PyPI or Conda repository, so it must be installed manually. Download the source code from here and install the requirements via either the requirements.txt or requirements.yml. Once the requirements are installed, use the GUI by launching MAPIT_main.py or access the API by ensuring proper pathing.

To streamline this process, we have included both Windows-based and Unix-based installers for those new to Python. These can be found in the windows_scripts and unix_scripts folder respectively.

Getting Started

After installation, the MAPIT GUI can be launched using MAPIT from terminal after installation. Examples of the API can be found in the API_examples folder. We have included an exemplar dataset (located in a separate MAPIT-tools repository) and several tutorial exercises to help you get started, which can be found here

Documentation

We have included documentation for several guided exercises as well as the API, both can be found here

Contact

Data Privacy

MAPIT is an entirely offline tool; we do not collect any data from MAPIT unless expressly provided by end users through contact with us.

License

Sandia National Laboratories is a multimission laboratory managed and operated by National Technology and Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International, Inc., for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-NA-0003525.

Acknowledgements

This work is supported by the DOE/NE Office of Materials and Chemical Technologies (NE-43) - Materials Protection, Accounting, and Control Technologies (MPACT) program.

mapit's People

Contributors

mp-higgins avatar nshoman avatar

Stargazers

 avatar

Watchers

 avatar

mapit's Issues

Missing reference to MAPIT-tools repo necessary for "Getting Started"

The tutorial information on the MAPIT documentation refers to files that don't exist in the MAPIT repo and there is no reference to the MAPIT-tools repo that appears to contain that info. It would be helpful for your install guide info to point new users to that repo to help get started smoothly.

pyside6 support

Update to pyside6 (supports a more pythonic interaction with QT)

References list

Putting together a list of used references would be key for reproducibility

Title Stuff

Change SEID to Sigma MUF and change Safeguards Analysis to Analysis

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.