BlueQuartzSoftware / simplnx

The backend algorithms and framework associated with DREAM3DNX, a data analysis program for materials science data analytics
http://www.dream3d.io/
Other
7 stars 9 forks source link
3d-reconstruction analysis cpp data-analysis filter hacktoberfest material-science materials-informatics microstructure multimodal-data

simplnx

windows linux macos clang-format PR's Welcome All Contributors

Multilanguage README

Language English PlaceHolder

Introduction

DREAM3D-NX is a user-friendly and versatile desktop application that leverages the open-source ‘simplnx’ software library to enable users to manipulate, analyze, and visualize multidimensional, multimodal data with ease. With its advanced reconstruction, quantification, meshing, data organization, and visualization capabilities, DREAM3D-NX has emerged as a go-to tool for the materials science community to reconstruct and quantify 3D microstructures. Its flexibility and adaptability make it suitable for a broad range of multidimensional data analysis applications beyond materials science and engineering domain.

simplnx is a rewrite of the SIMPL library upon which DREAM3D is written. This library aims to be fully C++20 compliant, removes the need for Qt5 at the library level and brings more flexible data organization and grouping options. The library is under active development by BlueQuartz Software at the current time.

Project Vision

When the DREAM3D project began in 2009, it was created with the goal of integrating the many disperate software codes in existance at the time under a single software framework. This software framework would allow these codes to define their requirements for input data, output data and required parameters in a common structure and thus enable the existing codes to ingest data from a previous code algorithm and produce output that the other code algorithms can readily utilize. By 2013 DREAM.3D had matured into a flexible desktop application that could peform a wide variety of materials science related processing. Over time, DREAM.3D’s capabilities expanded to include more generic data processing algorithms and image processing algorithms. The United States Government funded the entire development cycle for DREAM.3D and was gracious to allow the main project to be open sourced to allow it to penetrate into as many institutions as possible. In recent years the whole of DREAM3D and SIMPL were completely rewritten into DREAM3D-NX and the simplnx library. This new version focused on developing both maintainable and expandable software that enables a lower barrier to entry for contributions.

The vision for the DREAM.3D project is to produce accessible software tools that are professionally developed, relentlessly tested, and maintained into the future thus accelerating current and future R&D efforts by building upon the contributors to the DREAM3D project.

Public Release Notice

This software library is directly supported by USAF Contract FA8650-22-C-5290 and has been cleared as publicly releasable under the following:

AFRL has completed the review process for your case on 14 Sep 2022:

Subject: DREAM3D_Project (O) Shah #-11  (Software Code)

Originator Reference Number: RX22-0852
Case Reviewer: M. Allen
Case Number: AFRL-2022-4403

The material was assigned a clearance of CLEARED on 14 Sep 2022.

This clearance is in effect until 14 SEPT 2025 at which point any new additions created under USAF funding should be cleared. 

Public additions through the normal PR process will not be affected.

Get Help

The current documentation is hosted at dream3d.io docs.

The current python binding instructions and documentation can be viewed at dream3d.io python docs.

See our Support File for more ways to get help!

Building from Source

For instructions on building from source see our Guide to Building From Source.

Code of Conduct

By participating in this project, you are expected to uphold our Code of Conduct.

If you experience or witness unacceptable behavior—or have any other concerns—please report it by contacting the project maintainers at info@bluequartz.net. All reports will be handled with discretion.

Community

For those looking to engage with the DREAM3DNX community, see the discussions board of DREAM3DNX-Issues discussions.

Contact Us

You can talk directly with developers in the DREAM3DNX-Issues discussions.

If this doesn't work for you you can reach out to our team at our general address info@bluequartz.net.

See our Support File for more ways to contact us!

Contribute

Thanks so much for your interest in contributing to simplnx!

The simplnx project needs all sorts of contributions, so don't be discouraged if you are unfamiliar with C++. We have all sorts of tasks that can be done without any prior coding knowledge. We need have non-coding tasks, computer power user tasks, security research tasks, Python tasks, and C++ tasks, all of which are outlined in our Contributing Guide.

We also understand the struggle involved with getting started on a new project and the frustration that can come with learning a new codebase. To help cut down on the stress of this we set up a discussion section specifically for Contributor Questions where you can quickly get a response directly from maintainers.

The average response time for new pull requests is same-day if it's Monday-Thursday (often times less than 1 hour), but Friday-Sunday response time is variable.

We deeply appreciate any and all contributions and that will absolutely be reflected in your interactions with active maintainers.

Contributors

Huge thanks go to these wonderful people (emoji key):

Michael Jackson
Michael Jackson

💻
Jared Duffey
Jared Duffey

💻
Joey Kleingers
Joey Kleingers

💻
Jessica Marquis
Jessica Marquis

💻
Matthew Marine
Matthew Marine

💻
Nathan Young
Nathan Young

💻
bpenniebq
bpenniebq

💻
john-stone-ics
john-stone-ics

💻
VKUDRI
VKUDRI

💻
Yang Liu
Yang Liu

🔬 🔣
Add your contributions

This project follows the all-contributors specification.