User’s Guide

The pymicro package aim is to help scientists to handle complex multi-modal datasets stemming from material science experiments and simulations, with a particular focus on polycrystalline materials and their mechanical properties.

In practical applications, these datasets may contain various data items: numerical values, text, data arrays… These arrays can have multiple forms: uniform arrays, structured tables, or arrays representing 3D data, that must be linked to a geometrical topology. For instance, studying a polycrystalline material sample may require to store images obtained via scanning electron microscopy, strain measurements from in-situ mechanical tests, the material mechanical and chemical properties, and all sort of testing metadata. Nowadays, datasets increasingly tend to become large i.e* contain large arrays), and complex (i.e. contain many data items).

Pymicro’s first goal is to provide a data management platform to efficiently gather, organize, search and store these data items into organized datasets. Each dataset should correspond to a studied physical object and gather all data relative to it. These tools rely are implemented within the pymicro.core module.

Pymicro’s second goal is to provide specialized tools to analyze data for polycrystalline material science applications: cristallography, X-ray diffraction simulation, microstructural statistics… They are mainly implemented in the pymicro.crystal and pymicro.xray packages. I/O functionnalities to load data from imaging devices output files (synchrotron X-ray diffraction, electronic microscopy…) are implemented into the pymicro.file module.

Pre-requisites

To use Pymicro, it is highly recommended to learn the basics of:

  • Python (syntax, data types, imports, classes, interactive Python…)

  • HDF5 library and data model

  • XDMF data model

  • Numpy

  • Paraview (visualization software)

  • Pytables

How to use this Guide

This Guide contains information sections and tutorials that gradually introduce Pymicro’s concepts and features. The tutorial sections in this documentation are written as Jupyter notebooks, that can be found in the pymicro_package_path/examples/UserGuide directory. They can be browsed and executed by all applications that can open jupyter-notebooks (jupyter-lab, spyder….), to serve as an interactive Pymicro tutorial. If you do not have Jupyter installed in your python environement, you may consult the dedicated webpage of the Jupyter <https://jupyter.org/install>_ project.

The Guide also include Refence sheets that provide a short summary of the the code features and associated Python commands.

Even without jupyter-notebooks, you may try the code presented in the this user guide within any Python interactive console (like ipython). We strongly encourage you to do so while reading through it !

Please note that the User Guide is currently an undergoing work. As such, it is not yet completed. Do not hesitate to check the Cookbook, or the API docs, where you might find usefull examples and information.

Contents