Both sides previous revisionPrevious revisionNext revision | Previous revision |
jvs:fscan:overview [2011/08/29 17:54] – voyvodic | jvs:fscan:overview [2024/06/21 15:44] (current) – external edit 127.0.0.1 |
---|
fScan – Near real-time image processing, visualization, imaging web-service | fScan – Near real-time image processing, visualization, imaging web-service |
| |
Our fScan image processing program (Voyvodic, 1999, 2006; Voyvodic et al., 2009), is a single, large software program (over 100,000 lines of C code). fScan was originally developed to provide near real-time statistical image analysis, but has evolved to include a comprehensive repertoire of visualization and analysis capabilities. At Duke, fScan is used for many research fMRI applications and for all clinical fMRI scanning. For patient studies, fScan’s highly automated processing capabilities have been extensively validated over the past 12 years; the accuracy of patient fMRI results are also routinely verified by direct comparison to activation map images generated using GE’s standard Brainwave software. | The fScan image processing program (Voyvodic, 1999, 2006; Voyvodic et al., 2009), is a single, large software program (over 100,000 lines of C code). fScan was originally developed to provide near real-time statistical image analysis, but has evolved to include a comprehensive repertoire of visualization and analysis capabilities. At Duke, fScan is used for many research and clinical fMRI applications. For patient studies, fScan’s highly automated processing capabilities have been extensively validated over the past 12 years; the accuracy of patient fMRI results are also routinely verified by direct comparison to activation map images generated using GE’s standard Brainwave software. |
| |
FScan has many innovative design features that make it well suited for patient scanning as well as for other applications including data sharing and for multi-site comparative research studies: | FScan has many innovative design features that make it well suited for patient scanning as well as for other applications including data sharing and for multi-site comparative research studies: |
| |
• Performance – An important feature of fScan is its processing speed. fScan is a single C program designed to be very efficient both in terms of processing performance and memory usage. By using efficient algorithms and minimizing file I/O, the software is able to integrate a wide variety of fast processing capabilities. Fast processing enables us to routinely generate brain activation maps and head motion plots in real-time (as fast as image creation), which quickly identify many problems in time to be immediately corrected. Real-time analysis also makes scanning more efficient by allowing functional scans to be stopped as soon as a brain map reaches some analysis criterion. Although many groups have implemented different forms of on-line fMRI analysis (e.g Cox et al., 1995; Gembris et al., 2000; Posse et al., 2001; deCharms et al., 2004; Hollmann et al., 2008), the approach we have developed is particularly well suited for analysis of clinical fMRI scans because of its emphasis on quality assurance and efficient work-flow. | • Performance – An important feature of fScan is its processing speed. fScan is a single C program designed for efficiency both in terms of processing performance and memory usage. By using efficient algorithms and minimizing file I/O, the software is able to integrate a wide variety of fast processing capabilities. Fast processing enables us to routinely generate brain activation maps and head motion plots in real-time (as fast as image creation), which quickly identify many acquisition problems in time to be immediately corrected. Real-time analysis also makes scanning more efficient by allowing functional scans to be stopped as soon as a brain map reaches some analysis criterion. Although many groups have implemented different forms of on-line fMRI analysis (e.g Cox et al., 1995; Gembris et al., 2000; Posse et al., 2001; deCharms et al., 2004; Hollmann et al., 2008), the approach we have developed is particularly well suited for analysis of clinical fMRI scans because of its emphasis on quality assurance and efficient work-flow. |
| |
• Comprehensive analysis – Prompted by the work-flow demands of patient scans, we have adopted the strategy of incorporating all the fMRI processing tools we require into our fScan software, so that the entire analysis process can be completed on-line at the scanner console. Currently this includes real-time processing during acquisition, as well as post-processing functional scans to remove drifts, filter spikes, signal average, register images, and overlay functional maps on anatomical images. It also includes tissue segmentation and generating 3D reconstructions of the patient’s brain from anatomical images and superimposing activation maps on brain surface views. Other task-related data can also be incorporated into the analysis. Figure 1 illustrates some of fScan’s analysis and visualization features used routinely to process clinical fMRI exams. | • Comprehensive analysis – Prompted by the work-flow demands of patient scans, we have adopted the strategy of incorporating all the fMRI processing tools we require into our fScan software, so that the entire analysis process can be completed on-line at the scanner console. Currently this includes real-time processing during acquisition, as well as post-processing functional scans to remove drifts, filter spikes, signal average, register images, and overlay functional maps on anatomical images. It also includes tissue segmentation and generating 3D reconstructions of the patient’s brain from anatomical images and superimposing activation maps on brain surface views. Other task-related data can also be incorporated into the analysis. Figure 1 illustrates some of fScan’s analysis and visualization features used routinely to process clinical fMRI exams. |
{{ :jvs:fscan:fscanfmriprotocol.jpg?600x480 }} | {{ :jvs:fscan:fscanfmriprotocol.jpg?600x480 }} |
| |
• Workspaces – Data are organized within fScan in “io_sets” and “workspaces”. An io_set is loosely defined as a multidimensional collection of neighboring values, typically read from a single file or closely linked set of files. For example, an io_set can contain a single 2-dimensional image, or it can contain a 3-D, 4-D, 5-D or even 6-D series of images, a 3D surface, or physiological time series data. The values in an io_set share a common spatial and temporal coordinate system. A workspace can contain any number of related io_sets. Each io_set within a workspace is associated with spatial transformation specifications so that within a workspace all io_sets can be aligned to a common coordinate system. Figure 2 shows an example of multiple io_sets in a single workspace. Two complete workspaces can be loaded in fScan simultaneously. When two io_sets from different workspaces are then registered to each other, any spatio-temporal point in any io_set can be mapped to the corresponding point in any other io_set. The number of io_sets that can be simultaneously loaded into fScan is typically not limited by the amount of available computer memory. This is because fScan’s memory management is dynamically controlled so that only active images are stored in memory; inactive data buffers are purged automatically when more memory is needed. Newly created io_sets may need to be written out to disk files to facilitate efficient memory usage. | • Workspaces – Data are organized within fScan in “io_sets” and “workspaces”. An io_set is loosely defined as a multidimensional collection of neighboring values, typically read from a single file or closely linked set of files. For example, an io_set can contain a single 2-dimensional image, or it can contain a 3-D, 4-D, 5-D or even 6-D series of images. Or it could contain a 3D surface, 3D fiber tracks, or 1-dimensional physiological time series data. The values in an io_set share a common spatial and temporal coordinate system. A workspace can contain any number of related io_sets. Each io_set within a workspace is associated with spatial transformation specifications so that within a workspace all io_sets can be aligned to a common coordinate system. Figure 2 shows an example of multiple io_sets in a single workspace. Two complete workspaces can be loaded in fScan simultaneously. When two io_sets from different workspaces are then registered to each other, any spatio-temporal point in any io_set can be mapped to the corresponding point in any other io_set. The number of io_sets that can be simultaneously loaded into fScan is typically not limited by the amount of available computer memory. This is because fScan’s memory management is dynamically controlled so that only active images are stored in memory; inactive data buffers are purged automatically when more memory is needed. Newly created io_sets may need to be written out to disk files to facilitate efficient memory usage. |
| |
{{ :jvs:fscan:fscanfig1.jpg?630x264 }} | {{ :jvs:fscan:fscanfig1.jpg?630x264 }} |
• Simplicity – The taskbar GUI interface is designed to be intuitively easy to use, and fScan’s help features are simple and always available. Documentation is written in a web-based Wiki so that it can be easily edited, and fScan’s internal “help” command displays pages directly from the Wiki web-site so that they are always up-to-date. A local copy of the Wiki pages is also provided for documentation when fScan is used off-line. | • Simplicity – The taskbar GUI interface is designed to be intuitively easy to use, and fScan’s help features are simple and always available. Documentation is written in a web-based Wiki so that it can be easily edited, and fScan’s internal “help” command displays pages directly from the Wiki web-site so that they are always up-to-date. A local copy of the Wiki pages is also provided for documentation when fScan is used off-line. |
| |
To see how fScan's design differs from other programs, see [[fScan's Differences| here]]. | To see how fScan's design differs from other programs, see [[jvs:fscan:manual:chapter1:differences|fScan's Differences]]. |