This shows you the differences between two versions of the page.
biac:cigalintro [2014/08/04 16:03] |
biac:cigalintro [2023/02/23 18:43] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== CIGAL Overview ====== | ||
+ | CIGAL is a comprehensive high-level interactive programming environment. | ||
+ | For real-time behavioral control in fMRI, a CIGAL application program named ShowPlay was created for stimulus presentation and response recording. This ShowPlay application was designed as a general-purpose fMRI interface to accommodate a wide variety of behavioral paradigm designs. Because CIGAL is typically configured to load the ShowPlay graphical user interface (GUI) automatically, | ||
+ | For more information on the CIGAL programming language, see [[biac: | ||
+ | Additional general information is available in the [[http:// | ||
+ | |||
+ | The rest of this page focusses on CIGAL features specifically designed for fMRI. | ||
+ | |||
+ | ===== CIGAL' | ||
+ | |||
+ | The unique feature that makes CIGAL particularly well suited for sophisticated fMRI behavioral control is its real-time processor command. This feature was added specifically for fMRI (Voyvodic, 1999) in order to provide accurate timing of stimulus and response events. The processor uses the computer’s standard real-time clock to keep time with 20 microsecond accuracy. Almost all CIGAL real-time operators execute in 60 microseconds or less (Voyvodic, 1999), although a few I/O operators can take up to 20 milliseconds (e.g. 16 ms to redraw an entire 1024x768 3MB display). In a single real-time command list, therefore, the execution onset of any particular command can be controlled with sub-millisecond accuracy, and the speed with which multiple commands can be executed in sequence is limited only by the computer’s CPU and I/O speeds. | ||
+ | |||
+ | CIGAL’s real-time processor was designed to be multi-tasking so that it can run any number of real-time object modules simultaneously. Within a single real-time program, blocks of code can be specified to run synchronously or asynchronously, | ||
+ | |||
+ | ===== Stimulus presentation ===== | ||
+ | |||
+ | ShowPlay takes as input a simple text file specifying a list of basic parameter settings (e.g. background screen color, initial delay times) and a list of stimulus events ([[biac: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Response recording ===== | ||
+ | |||
+ | Whereas task-specific stimuli need to be explicitly specified for each behavioral paradigm, recording of responses usually just involves specifying what type of response devices to record and how often. ShowPlay sets up a separate asynchronous real-time program module for each type of input device, all of which run in parallel to ensure that any input from any device is recorded with millisecond accuracy. A typical CIGAL fMRI paradigm, therefore, records response events arising from keyboard, mouse, button box, or joystick. At Duke we also routinely record analog signals via an A/D device (National Instruments Inc.) to provide a continuous record of MRI scanner pulses, as well as cardiac and respiratory oscillations. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | **Figure:** __Example of multi-channel time course data recorded by CIGAL during a fMRI scan.__ The paradigm was a visually guided saccade task with central fixation and saccades to and from eccentric targets (1 Hz). The bottom black ticks indicate the time of each MR image acquisition (14 interleaved slices), the lower green trace is skin conductance sampled by A/D at 100 Hz. Heart beat (red) and respiration (blue) were recorded from scanner transducers via streaming serial port input (80 Hz). The horizontal displacement of saccade targets is shown in orange with a green trace superimposed of horizontal eye position recorded via streaming serial port input from a separate eye-tracking computer (30 Hz). The upper blue curve shows the timing of targets expecting button presses, and the black tick marks above the curve shows the identity and timing of the button responses. CIGAL can routinely record and display behavioral and physiological data like this for any paradigm with no programming required by the user. | ||
+ | |||
+ | ===== Programmable graphical user interface (GUI) ===== | ||
+ | |||
+ | Although CIGAL provides extensive programming capabilities, | ||
+ | |||
+ | ===== Modularity ===== | ||
+ | |||
+ | For users who are interested in programming specialized features in CIGAL behavioral paradigms, the ShowPlay program was intentionally designed to be easy to modify. This was done by coding each different aspect of behavioral control and monitoring in separate program module text files. For example, one module is responsible for stepping through the event list and presenting stimuli, other modules include synchronization with the MRI scanner, recording button box responses, recording joystick responses, recording eye-tracking, | ||
+ | |||
+ | ===== Real-time behavioral monitoring ===== | ||
+ | |||
+ | We have found that it is not enough to simply create behavioral stimuli and tell subjects what to do during an fMRI scan. It is also a good idea to monitor what the subjects actually do, in order to optimize the probability of obtaining data that will be suitable for analysis. To facilitate this, CIGAL provides tools for monitoring the subject’s behavior in real-time so that problems can be caught and corrected as soon as possible. At present, user’s can specify control options that will generate either video or auditory signals whenever the subject responds to a stimulus, and they can also add codes that will identify whether individual responses were correct or incorrect. One of the improvements currently underway will allow CIGAL to use a second display monitor to provide more complete real-time monitoring of any response channel, including physiological data if desired. This enhanced quality control capability is likely to result in significant improvements in overall data quality in fMRI task performance. | ||
+ | |||
+ | ===== Interoperability with image analysis software ===== | ||
+ | |||
+ | Since data collection is not very useful without subsequent analysis, we have tried to make CIGAL directly compatible with fMRI image analysis software. CIGAL output files have always been directly readable by our own in-house image analysis programs and we have recently begun to focus on the issue of software interoperability more generally. As such, CIGAL can now be configured to automatically generate output files describing stimulus timing in the format used by the FSL analysis package (Smith et al., 2004). It can also generate more detailed stimulus-response timing output files in the XML format being developed by the FBIRN project (Gadde et al., 2004). Other formats could also be added with very little effort. | ||
+ | |||
+ | |||
+ | ===== References ===== | ||
+ | Gadde S., C. Michelich, J Voyvodic (2004) An XML-based Data Access Interface for Image Analysis and Visualization Software. Proceedings of Human Brain Mapping 2004. Budapest. | ||
+ | |||
+ | Smith S.M., M. Jenkinson, M.W. Woolrich, C.F. Beckmann, T.E.J. Behrens, H. Johansen-Berg, | ||
+ | |||
+ | Voyvodic J.T. (1999). | ||
+ | [[http:// |