Selecting Current Processing - BUNPC/Homer3 GitHub Wiki

Introduction

ProcStreamOptionsGUI is an independent GUI that can display the current processing stream and allow users to modify the parameter settings. ProcStreamEditGUI is another independent GUI from which you can create and edit your processing stream. Typically, the two GUIs are accessed from the Homer3 GUI.

Choosing a processing stream configuration file

After running Homer3 and navigating to a group folder, Homer3 will ask you to choose a processing options config file (.cfg format). If you already have one config file, select the one you have, and the processing stream will be loaded. If you do not have one to select, click the CANCEL button, and a Loading default config file dialog will appear, as shown below.





Click the OK button, and a default config file will be generated for you.

Checking the current processing stream

You can check the current processing stream and edit the parameters options in the processing stream by using the ProcStreamOptionsGUI. Please follow these steps:

  1. To open the ProcStreamOptionsGUI, click the button Edit Options in Homer3 GUI.





  1. The ProcStreamOptionsGUI dialog will appear. If you have selected your own config file, the processing stream will be displayed in the dialog. If a default processing stream has been loaded, the dialog will be shown as follows.





The default provides a simple processing stream as an example consisting of four functions: hmrR_Intensity2OD, hmrR_BandpassFilt, hmrR_OD2Conc_new, and hmrR_BlockAvg. Each function is divided into rows by gray lines and typically contains function name, parameters associated with the function, and edit boxes where the parameter values can be modified. Furthermore, placing the cursor over the function name will bring up a brief introduction to the function.

  1. Type in the edit boxes to modify the function parameters or leave them as default values. Click the EXIT button to close the dialog, and you will return to the Homer3 GUI.





  1. Note that prior to opening the ProcStreamOptionsGUI, please first select the element that you want to check.
    • If you wish to check the processing stream for a run (snirf file), select the run in the data tree hierarchy from the Current Processing Element window or select the Run button from the Processing Level window. Then the ProcStreamOptionsGUI dialog will look like below.





  • If you select a subject in the data tree hierarchy or select the Subj button in the Processing Level window, the ProcStreamOptionsGUI dialog showing the processing stream for the subject level will appear as shown below.





  • The ProcStreamOptionsGUI dialog showing the processing stream for the group level will appear if you select the group in the data tree hierarchy or select the Group button in the Processing Level window.





Editing the processing stream

If you have specific data processing needs that vary from the default configuration, the current processing stream can be edited or a custom processing stream can be created from the ProcStreamEditGUI. Please follow these steps:

  1. To start the ProcStreamEditGUI, go into the Tools menu and select Edit Processing Stream.





  1. The ProcStreamEditGUI dialog will appear. The GUI mainly includes four sections: Registry Functions window, Usage Options window, Current Processing Stream window, and Help window, as seen below.





  • Registry Functions window provides a list of functions that are commonly used in fNIRS data analysis.
  • Usage Options window provides possible usages for several functions (only hmrR_BlockAvg and hmrR_PCAFilter at present). For example, you can select to use the BlockAvg function on the optical density data or the concentration data by clicking the corresponding option in the Usage Options window.
  • Help window provides a brief description of the selected function or usage option. You can read the help information and familiarize yourself with these functions by clicking each function name in the Registry Functions and Usage Options window.
  • Current Processing Stream window shows the processing stream you are creating or using for the data.
  1. If you have loaded the default config file, four functions will display in the Current Processing Stream window. You can remove all the functions before creating a new processing stream by clicking the Clear All button.





The dialog would look like this, with no entries in the Current Processing Stream window.





  1. Here is an example of creating a simple processing stream with four functions:
    a) hmrR_Intensity2OD: convert raw data to optical density;
    b) hmrR_BandpassFilt: bandpass filter on the optical density;
    c) hmrR_OD2Conc: convert the filtered optical density to Hb concentration;
    d) hmrR_BlockAvg: calculate the average response.

To create this processing stream, select each of the four functions above from the Registry Functions window and click the Add button one by one.









  1. The order of these functions can be changed by selecting a function in the Processing Stream Window and clicking the Up or Down button to move the function one space up or down.





  1. Similarly, you can also move to Subject or Group in the Registry Functions window and create the processing stream for the subject- or group-level analysis by adding functions.









  1. When you complete the desired processing stream, click the Save button to save this stream to a config file (.cfg format).









  1. To load or change a processing stream that you already have into the ProcStreamEditGUI, click the Load button and choose the processing stream config file. It will appear in the Current Processing Stream Window. Then you can add, delete, or move functions in the loaded processing stream as described above.









  1. After that, you can exit from the ProcStreamEditGUI by clicking the Exit button, move to the Homer3 GUI, and open the ProcStreamOptionsGUI to modify parameters of each function usage by clicking the Edit Options button as described in the Section ‘Checking the current processing stream.’





⚠️ **GitHub.com Fallback** ⚠️