3.13. Saving & Opening Pipelines
A current Pipeline in the Pipeline View can be saved to the disk by selecting the Save option in the File menu. Once saved to the disk, the files can be Bookmarked for quick access. For more information on Bookmarks, visit the Bookmarks View section. A saved Pipeline file can be opened by choosing the Open… option in the File menu and selecting the desired Pipeline file.
DREAM3D-NX utilizes a document model when dealing with saving and opening Pipelines. Whenever a Pipeline file is opened, it will appear in a new DREAM3D-NX window. If the Pipeline is modified and the user selects the Save option, the Pipeline file will be updated with the changes.
Pipeline File Formats
DREAM3D-NX allows the user to export and import Pipelines to a variety of file formats. The currently supported file formats are
.d3dpipeline (JSON)
.dream3d
The information written to a Pipeline file includes:
Boolean determining whether the pipeline is enabled/disabled
The name of the Pipeline file
The list of Pinned Parameters for the pipeline
The list of Filters in the Pipeline, in sequential order
Includes each filter’s arguments, comments, class name, UUID, and whether the filter is enabled/disabled.
All the variables for each Filter and their settings
The list of Workflow Parameters for the pipeline
{
"isDisabled": false,
"name": "ExampleFilter.d3dpipeline",
"pinnedParams": [],
"pipeline": [
{
"args": {
"data_object_path": "DataGroup"
},
"comments": "",
"filter": {
"name": "simplnx::CreateDataGroupFilter",
"uuid": "e7d2f9b8-4131-4b28-a843-ea3c6950f101"
},
"isDisabled": false
},
{
"args": {
"data_object_path": "DataGroup/AttributeMatrix",
"tuple_dimensions": [
[
1.0
]
]
},
"comments": "",
"filter": {
"name": "simplnx::CreateAttributeMatrixFilter",
"uuid": "a6a28355-ee69-4874-bcac-76ed427423ed"
},
"isDisabled": false
},
{
"args": {
"component_count": 3,
"initialization_value": "0.785398",
"numeric_type": 8,
"output_data_array": "DataGroup/AttributeMatrix/Eulers",
"tuple_dimensions": [
[
1.0
]
]
},
"comments": "",
"filter": {
"name": "simplnx::CreateDataArray",
"uuid": "67041f9b-bdc6-4122-acc6-c9fe9280e90d"
},
"isDisabled": false
}
],
"workflowParams": []
}
The .d3dpipeline file format follows the JSON standard, an open standard that most scripting languages, such as Python and MATLAB, can easily understand. Therefore, it is straightforward to parse the .d3dpipeline file with an external program to make modifications as necessary. You can even set up scripting to create many versions of a Pipeline file and execute them from the command line.
The .dream3d file format is a binary file based on HDF5. The .dream3d format is also how the data structure objects are stored to disk. Whenever a user writes a new DREAM3D-NX file, the Pipeline used to create it will be written into the .dream3d file alongside the data structure objects. This means that the data structure is always accompanied by the workflow that was used to create it, adding provenance to the data. If you select a .dream3d file from the Open option of the File menu, the Pipeline from within that .dream3d file will be extracted and opened in a new window. This allows users to recover the workflow used to create a particular DREAM3D-NX file. Additionally, a .dream3d file can be dragged from the file system and dropped into the Pipeline View. The user is then asked if they would like to extract the Pipeline from the file or read the data structure objects out of the file into the current Pipeline.