38
S. P. Donegan and M. A. Groeber
with capabilities customized for materials data analysis. Since all interaction with
the SIMPL data structure is governed by a standardized interface, filters are able
to leverage functionalities across plugins, which results in less code duplication.
A canonical example is computing the size of features: this problem essentially
reduces to summing the volumes of each constituent element that belong to a set
of features. This computation is the same, regardless if the features define a set
of grains or a collection of pores. Thus, when adding new filters via plugins, a
developer can avoid re-implementing such a generic algorithm as size computation
and instead focus on designing those functions that are specific to the problem space.
5.3 SIMPLView: The Standard SIMPL Graphical Interface
SIMPL on its own does not require a user interface. SIMPL may be used as a
library, in which the data structure, filters, and pipelines would be accessible via
code; or using a command-line interface. SIMPL does contain a set of pre-defined
graphical widgets that allow developers to rapidly generate user interfaces. The
most widely used implementation of this feature is SIMPLView [52]. SIMPLView
is a basic interface to the functionalities of SIMPL, allowing users to construct
pipelines using a visual programming style. SIMPLView is most widely recognized
as the interface of DREAM.3D. Note, however, that SIMPLView may be swapped
with any other graphical interface implementation as needed; therefore, the user
experience is highly customizable to the particular application. SIMPLView is under
active development; the current incarnation of the interface is shown in Fig. 11.
The major components of SIMPLView are comprised of panes: the toolbox
pane, pipeline view, filter parameters, data structure, and pipeline issues and
output. The toolbox lists all available filters, both alphabetically and categorized by
functionality. Additionally, the toolbox stores bookmarks, which are the locations
of saved JSON pipeline files. The pipeline view is the main focus window of the
interface: here the user constructs a pipeline by building a sequence of filters. The
filter parameters pane shows the user what variables may be set for a selected filter
in the pipeline view. By using the data structure pane, the user may view the status
of the current SIMPL data structure, inspecting attributes such as geometry types
and array dimensions. Finally, any pipeline issues or output are shown in their
corresponding panes. When constructing a pipeline, SIMPLView communicates
the current pipeline state to SIMPL, which orchestrates the preflight procedure to
validate the settings provided by the user. If issues arise, the user is presented with
an error message in the pipeline issues pane. Recall that during preflight, no actual
computations are undertaken; the user must finish constructing a valid pipeline that
completes preflight without errors before execution is allowed. While SIMPLView
exposes only the basic operations of SIMPL, it does offer customization features: all
panes can be hidden or moved, and support is available for skinning the interface.
SIMPLView does not have present capabilities for visualization. Instead,
SIMPL leverages the open-source ParaView application to provide visualization
S. P. Donegan and M. A. Groeber
with capabilities customized for materials data analysis. Since all interaction with
the SIMPL data structure is governed by a standardized interface, filters are able
to leverage functionalities across plugins, which results in less code duplication.
A canonical example is computing the size of features: this problem essentially
reduces to summing the volumes of each constituent element that belong to a set
of features. This computation is the same, regardless if the features define a set
of grains or a collection of pores. Thus, when adding new filters via plugins, a
developer can avoid re-implementing such a generic algorithm as size computation
and instead focus on designing those functions that are specific to the problem space.
5.3 SIMPLView: The Standard SIMPL Graphical Interface
SIMPL on its own does not require a user interface. SIMPL may be used as a
library, in which the data structure, filters, and pipelines would be accessible via
code; or using a command-line interface. SIMPL does contain a set of pre-defined
graphical widgets that allow developers to rapidly generate user interfaces. The
most widely used implementation of this feature is SIMPLView [52]. SIMPLView
is a basic interface to the functionalities of SIMPL, allowing users to construct
pipelines using a visual programming style. SIMPLView is most widely recognized
as the interface of DREAM.3D. Note, however, that SIMPLView may be swapped
with any other graphical interface implementation as needed; therefore, the user
experience is highly customizable to the particular application. SIMPLView is under
active development; the current incarnation of the interface is shown in Fig. 11.
The major components of SIMPLView are comprised of panes: the toolbox
pane, pipeline view, filter parameters, data structure, and pipeline issues and
output. The toolbox lists all available filters, both alphabetically and categorized by
functionality. Additionally, the toolbox stores bookmarks, which are the locations
of saved JSON pipeline files. The pipeline view is the main focus window of the
interface: here the user constructs a pipeline by building a sequence of filters. The
filter parameters pane shows the user what variables may be set for a selected filter
in the pipeline view. By using the data structure pane, the user may view the status
of the current SIMPL data structure, inspecting attributes such as geometry types
and array dimensions. Finally, any pipeline issues or output are shown in their
corresponding panes. When constructing a pipeline, SIMPLView communicates
the current pipeline state to SIMPL, which orchestrates the preflight procedure to
validate the settings provided by the user. If issues arise, the user is presented with
an error message in the pipeline issues pane. Recall that during preflight, no actual
computations are undertaken; the user must finish constructing a valid pipeline that
completes preflight without errors before execution is allowed. While SIMPLView
exposes only the basic operations of SIMPL, it does offer customization features: all
panes can be hidden or moved, and support is available for skinning the interface.
SIMPLView does not have present capabilities for visualization. Instead,
SIMPL leverages the open-source ParaView application to provide visualization
