There is a newer version of the record available.

Published June 26, 2024 | Version v1
Software Open

mochada_kit

  • 1. Leibniz-Institut für Festkörper- und Werkstoffforschung Dresden eV

Description

mochada_kit

Python code for generating MODA (MOdelling DAta) and CHADA (CHAracterisation DAta) workflow diagrams and tables using plantuml, with machine-readable, enhanced design based on bespoke themes.

Main uses


1. Generate MODA and/or CHADA workflow diagrams with bespoke themes, making them machine readable.

The plantuml code below produces a CHADA workflow diagram for EBSD in the SEM. After a command signalling the start of the code, we load one of the bespoke themes available in mochada_kit. This allows us to apply a "stereotype" to each element, giving it a colour according to its type. Each theme has different colours for the various elements (various colour schemes are available and you can define your own).

  • The text to be displayed in an element is defined between a colon and a semicolon e.g. :User Case;
  • The type of the element is specified by applying a stereotype between two sets of angled brackets *e.g.* <<user_case>>
  • This allows the code to be machine readable: the text of each element can be easily associated with the type of element and connected to the antecedent and descendant elements.
  • Note that the definition of an element can be split over multiple lines.

 

@startuml
!theme MOCHADA-plasma from ../../themes
:Bulk sample or thin film; <<user_case>>
:Set up experimental geometry:
sample tilt (<U+00B0>), working distance (mm),
detector distance (mm); <<experiment>>
:Acquire electron image (SE, BSE, FSE); <<experiment>>
:Electron image(s); <<raw_data>>
:Define rectangular ROI, step size,
detector and indexing parameters; <<experiment>>
:Acquire EBSD patterns at all points in ROI; <<experiment>>
:EBSD pattern for each point; <<raw_data>>
:Hough indexing (automatic); <<data_processing>>
:Euler angles and phase ID
for each point in map; <<final_data>>
:Analysis of orientations (user controlled); <<data_processing>>
:Orientation maps, Pole figures
Quantitative measures //e.g.// grain size; <<final_data>>
@enduml

 

2. Generate CHADA tables from a single json file, with bespoke themes, and optionally hyperlinking different tables

 

3. Extract and display metadata from an HDF5 file as an easy-to-read diagram with optional bespoke highlighting

 

4. Define your own colour schemes and stereotypes

 

Getting started

  • to get an idea of what the workflow diagrams, tables and json diagrams look like, please have a look at the .svg images in `mochada_kit/gallery`. You can open .svg files in any browser. The plantuml (puml) code on which they are based is available in `mochada_kit/gallery/puml_code`.
  • detailed examples are provided as jupyter notebooks in `mochada_kit/examples` and as Python scripts in `mochada_kit/examples/python_scripts`. Here is a short description of each example:
Example notebook Description
make_workflow_diagram.ipynb basic introduction to making workflow diagrams
using_hyperlinks_in_workflow_digarams.ipynb how to use hyperlinks to link several diagrams or to link to an external resource
make_CHADA_tables_from_json.ipynb how to use plantuml to generate CHADA tables from a single json file
json_diagram_from_hdf5_metadata.ipynb extract metadata from an hdf5 file and plot it as a json diagram with plantuml with optional bespoke highlighting
generating_mochada_themes.ipynb how to make MOCHADA themes with different colour schemes
CHADA_and_MODA_legend_all_themes.ipynb put a legend for MODA and CHADA elements for all the different themes in one plot for comparison
CHADA_legend_all_themes.ipynb put a legend for CHADA elements for all the different themes in one plot for comparison
MODA_legend_all_themes.ipynb put a legend for MODA elements for all the different themes in one plot for comparison

 

Reference


This package is being developed as part of the EU project: MaMMoS

Files

mochada_kit-main.zip

Files (1.4 MB)

Name Size Download all
md5:d283fdf74107bacf017028f975fd8e8e
1.4 MB Preview Download

Additional details

Funding

European Commission
MaMMoS - MAgnetic Multiscale MOdelling Suite 101135546

Software

Repository URL
https://github.com/MaMMoS-project/mochada_kit
Programming language
Python
Development Status
Active