| Prev | User's Tutorial: Data Loading Module | Next |
Most analysis maps need to first load data from a file into the Scopira run-time environment. FMRI datasets are image-based floating point intensity values. Multiple image slices of the brain (a volume) are acquired over time, forming a 4-dimensional dataset, that is, many image volumes over time. Figure 3a shows a single slice brain scan acquired over time, and Figure 3b is the time plot of the intensities (time-course data vector, or TC) at a given voxel.
![]() |
![]() |
| Figure 3a: A single slice fMRI dataset over time. | 3b: Time series data vector (TC) at a particular voxel. |
Figure 4 shows how the data may be stored in a file, for each image slice all the acquired temporal images form a data vector, this is repeated for each slice in the volume. The data is stored in slice major order, all the temporal images for one slice are stored before the next spatial slice, that is, (X,Y;T;Z). Experiments may capture one slice, 2, 4, 8, 16 or even 32 slices depending on the experimental paradigm. There are many basic data types available with the distribution version of Scopira. A quad data type, a 4-dimensional array, best matches an fMRI datasets.

There are two ways to place a module onto a map's canvas. The user can select the desired module from the control window's Insert menu as shown in Figure 5. Modules registered with the Scopira run-time environment are given module path-names which should reflect the purpose of the module and should be listed in the same package name as related modules. The standard Scopira distribution kits contains many useful modules under the IBD Analysis kit. They are registered under sub-kits (packages) that indicate the purpose of the modules. Data I/O modules are found under the IBD Analysis / Data IO sub-menu. Selecting the Load Image Quad module will add an icon into the current map which represents the selected module. The user can drag the icon around the map canvas to a position that makes sense in terms of data and execution flow. As maps become more complex with more modules, the positioning of modules help to clarify the flow of control for the map.

Modules may also be added by right-clicking on the map canvas. Doing so displays the same menu hierarchy shown under the Insert menu shown in Figure 5, that is, all of the modules currently registered with Scopira. Left-clicking on a module's icon selects it and updates the module-slot information window.
Figure 6 shows the current map with the Load Image Quad module added to the new map and selected. Selected modules will have a marquee border and its input and output slots will be displayed on the sub-windows to the left of the map window. Property slots are labeled in blue text and have the input/output icon to indicate data can be sent to the GUI proponent and updated from within the module while it is running. Data may also be read from the GUI proponent, and can be used by the module as it runs. The type of data the slot is also indicated in parentheses.

Output slots are similarly identified. However, slots that are mirrored are labeled with an M. That means that the data in the slot will also be sent as output once the module successfully executes. See the User's Guide for a more detailed explanation and examples of using the mirror capabilities of data slots. The data type of the output slot is also indicated and regular slots are not labeled in blue property slots.
![]() |
![]() |
| Input property slots. | Regular output data slot and mirrored property slot. |
There are three ways to run a module. You can double-click on a module, right-click on a module and select Run from the module's pop-up menu, and lastly, if the module has a proponent window, you can select Apply and Run from the proponent dialog window. Double-clicking on the Load Image Quad module will attempt to run the module. It has no required input slots, so it does not have to wait for data to be provided, it will run immediately. Figure 7a shows how to display the Output window from the Network menu, and Figure 7b shows the output generated by Scopira when a module runs. Each module that was executed is listed, and below it, any output generated by the module, usually error conditions. See the User's Guide for further information on the Output window. Scopira engine and module output is also displayed on the terminal window that launched the Scopira application.
![]() |
![]() |
| Figure 7a: Network menu entry to display the Output window. | Figure 7b: Module output when trying to run Load Image Quad. |

Figure 8: Right-click on a module to display a pop-up menu, selecting Properties will display the proponent window.
For fMRI datasets, users must specify the full path name of the dataset file, the width and height of an image slice (Size X, Size Y), the number of slices (Size Z), and the number of volumes that where acquired over time (Size T). The image order (Slice Order) of the file must also be specified, volume major order (XYZ;T) where all the slices for one temporal acquisition is stored before the next volume, or temporal major order (X,Y;T;Z) where all the temporal acquisitions for one slice are stored before the next slice. The binary data type of the values (Float, Double, Integer, Short) must also be specified and also the byte order (Swap Bytes), in case the binary file was saved with a different byte order from the current computer system. This is a basic binary data loader, it does not interpret a header file that would include all of this information.

Property slots are bound to proponents and are commonly used for interactive input and output with the user. If a module places data into a property slot it will be sent to the proponent and displayed to the user. Data values changed in the proponent by the user may be extracted by the module when it runs. The name of the proponent in the Input Slot Connections sub-window is the name specified in the source code for the module and is not displayed on the proponent window. It's up to the programmer to provide visual clues, such as meaningful labels in the GUI to aid the user.

Once the proponent values are set by the user, the module may be run by clicking the Apply and Run button. After the module finishes running the proponent window will still be visible. The user must click on the Close button to dispose of the proponent window and not commit changes. The Apply button commits the user changes to the proponent but does not attempt to run the module or close the window. Refer to the User's Guide for further details on the proponent window components.
The Load Image Quad module has one output slot, the contents of the data file read in. Since most analysis is performed with double-precision data, the quad created is of type 8-byte double, even if the data in the file is of type 4-byte float. Scopira has an automatic data-type conversion mechanism when the output data from one module does not match the input data type of another module. The data is actually copied so it is an expensive operation, and most data slots dealing with large datasets will most likely be implemented using a double-precision data type. See the Developer's Guide for a more detailed explanation and examples.
Double-clicking on a module will attempt to run it. If all the input slots are satisfied, that is, data is pending to be accepted by the module, the module will execute. You can also run a module by right clicking on the module and selecting Run from the pop-up menu as shown in Figure 10a. If the module has a proponent GUI window you can also run the module from that window as previously mentioned. Figure 10b shows what gets sent to the Output window when the module is run.
![]() |
![]() |
| Figure 10a: Selecting Run will start the module. | 10b: Output when module runs successfully. |
| Prev | Top | Next |
| Creating a New Map | Scopira Home | Connecting a Data Visualization Module |