Processing use case

From user's Wiki!
Jump to: navigation, search

ProcessingUseCase.png

Use case

  1. Plug-in Initialization: Initialization of all processors and widgets inside the plug-in
  2. Parameters initialization: The user adjusts the filter parameters in the widget
  3. Input data: The user selects the input data in the framework data container
  4. Start processing: The user presses a button to start processing the data
  5. Data conversion: Convert from data types of the framework to the specific input data types of the filter (if needed)
  6. Output data: Send a signal to the widget when the processing is finished
  7. Finished processing: The output data is added to the framework data container. The rendering data is created and added to the rendering scene.

Components

  • yourPlugin: This is the base class for all the plug-ins, every new plug-in must extend this class. The main purpose of this class is to instantiate all components
  • yourProcessor: This class executes one algorithm and, given on or more input data, generates one or more output data
  • yourWidget: This class provides an element of the graphical user interface that allows to adjust the parameters of the algorithm and select the inputs.
  • yourWorkingArea: Main window to render data objects
  • DataEntity: This class stores and encapsulates a single data object (e.g., medical image, transformation, surface mesh, model simulation result, etc.). The encapsulated data object will be passed to yourLib.
  • DataEntityList: Is a container of all data objects. The input data that will be processed by yourLib and also their outputs are stored in this list. This list is available to all plug-ins, so it's the way to share data.