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 IDfor each point in map; <<final_data>>:Analysis of orientations (user controlled); <<data_processing>>:Orientation maps, Pole figuresQuantitative 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
Software
- Repository URL
- https://github.com/MaMMoS-project/mochada_kit
- Programming language
- Python
- Development Status
- Active