NeuroImage 19 (2003) 1033–1048 www.elsevier.com/locate/ynimg The LONI Pipeline Processing Environment David E. Rex, Jeffrey Q. Ma, and Arthur W. Toga* Laboratory of Neuro Imaging, Department of Neurology, David Geffen School of Medicine at UCLA, Los Angeles, CA 90095-1769, USA Received 3 December 2002; revised 25 February 2003; accepted 18 March 2003 Abstract The analysis of raw data in neuroimaging has become a computationally entrenched process with many intricate steps run on increasingly larger datasets. Many software packages exist that provide either complete analyses or specific steps in an analysis. These packages often possess diverse input and output requirements, utilize different file formats, run in particular environments, and have limited abilities with certain types of data. The combination of these packages to achieve more sensitive and accurate results has become a common tactic in brain mapping studies but requires much work to ensure valid interoperation between programs. The handling, organization, and storage of intermediate data can prove difficult as well. The LONI Pipeline Processing Environment is a simple, efficient, and distributed computing solution to these problems enabling software inclusion from different laboratories in different environments. It is used here to derive a T1-weighted MRI atlas of the human brain from 452 normal young adult subjects with fully automated processing. The LONI Pipeline Processing Environment’s parallel processing efficiency using an integrated client/server dataflow model was 80.9% when running the atlas generation pipeline from a PC client (Acer TravelMate 340T) on 48 dedicated server processors (Silicon Graphics Inc. Origin 3000). The environment was 97.5% efficient when the same analysis was run on eight dedicated processors. © 2003 Elsevier Science (USA). All rights reserved. Keywords: Dataflow model; Visual programming; Data processing environment; Automated analysis Introduction Neuroimaging analysis often requires multiple processing steps as raw data is transformed into interpretable results. Studies focused on gross anatomic structure (Wright et al., 1995; Rapoport et al., 1999; Rosas et al., 2002; Sowell et al., 2002), functional anatomy (Woods, 1996; Corbetta et al., 1998; Worsley et al., 1998; Dumoulin et al., 2000; Zeineh et al., 2001; Pouratian et al., 2002), various physiological measurements (Woods et al., 1994; Maier et al., 1995; McClure et al., 1998; Mega et al., 1999; Opitz et al., 1999), cyto- (Geyer et al., 1996; Mega et al., 1997; White et al., 1997; Amunts et al., 1999) and chemoarchitecture (Zilles et al., 1991; Koutcherov et al., 2000), gene localization (Reiss et al., 1995; Lohmann et al., 1999; Thompson et al., 2001; Cannon et al., 2002), and their interactions (Maz* Corresponding author. Department of Neurology, Room 4-238, 710 Westwood Plaza, Box 951769, Los Angeles, CA 90095-1769. Fax: ⫹1310-206-5518. E-mail address: [email protected] (A.W. Toga). ziotta et al., 2001) employ both common, as well as unique, processing procedures as part of the analysis. Many of the procedures are increasingly computationally intensive and often automated. Several software packages encapsulating these processing steps have evolved (Table 1). Some are monolithic implementations, such as SPM T4 (Friston et al., 1990, 1991, 1995a, 1995b, Worsley and Friston 1995), BrainVoyager, SureFit and Caret (Carman et al., 1995; Drury et al., 1996; Van Essen and Drury, 1997; Van Essen et al., 1998, 2001), and MEDx, which provide the user with all-in-one approaches to analyzing data. Others are more modular environments, such as AIR (Woods et al., 1998a, 1998b), FSL (Jenkinson and Smith, 2001; Zhang et al., 2001; Smith, 2002), AFNI (Cox, 1996; Cox and Hyde, 1997), BrainSuite (Shattuck and Leahy, 2001, 2002; Shattuck et al., 2001), the Montreal Neurological Institute’s Brain Imaging Software Toolbox (Collins et al., 1994; MacDonald et al., 1994, 2000; Sled et al., 1998), and FreeSurfer (Dale et al., 1999; Fischl et al., 1999a, 1999b, 2001, 2002, Fischl and Dale, 1053-8119/03/$ – see front matter © 2003 Elsevier Science (USA). All rights reserved. doi:10.1016/S1053-8119(03)00185-X 1034 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Table 1 Software packages for neuroimaging data analysis Software Available from Website SPM BrainVoyager SureFit and Caret MEDx AIR FSL AFN BrainSuite Wellcome Department of Cognitive Neurology Brain Innovation B.V. Van Essen Lab Sensor Systems Roger Woods, M.D. FMRIB Image Analysis Group Robert Cox, Ph.D. Neuroimaging Research Group and the Laboratory of Neuro Imaging Brain Imaging Centre at the Montreal Neurological Institute CorTechs and the MGH NMR Center Khoral Inc. Scientific Computing and Imaging Institute at the University of Utah Advanced Visual Systems University of Pittsburgh Laboratory of Neuro Imaging http://www.fil.ion.ucl.ac.uk/spm/ http://www.brainvoyager.com/ http://stp.wustl.edu/ http://medx.sensor.com/products/medx/ http://bishopw.loni.ucla.edu/AIR5/ http://www.fmrib.ox.ac.uk/fsl/ http://afni.nimh.nih.gov/afni/ http://neuroimage.usc.edu/brainsuite/ Brain Imaging Software Toolbox FreeSurfer Khoros w/Cantata SCIRun AVS/5 FISWidgets LONI Pipeline Processing Environment 2000), providing the user with access to individual programs from each package. There are advantages and disadvantages to monolithic and modular approaches. In monolithic environments, there is a unified complete analysis solution in one package. The individual processing steps are already linked; there should be no file format incompatibilities; and the environment works as an integrated system. These monolithic environments, however, are less amenable to alteration. When new procedures are needed, programming expertise and familiarity with code and interfaces are required to allow new algorithms to be incorporated. Alternatively, researchers may go outside of the environment requiring them to ensure compatibility and force a modular approach on the analysis. They may also choose to wait for the authors of the monolithic implementation to agree that the methodological enhancements are worthwhile and include them in the next release. For these reasons, monolithic environments do not always possess the most current and best algorithms for the specific study at hand. Finally, these environments do not lend themselves to distributed computing paradigms important in population-based, high-resolution, multifactorial brain mapping studies. Modular environments (Fig. 1) on the other hand, provide flexibility and complete control in the design of analyses. Many of these environments, like FSL, FreeSurfer, and AFNI, provide enough modules, and an interface, for a complete analysis akin to the monolithic environments. Others, such as AIR and BrainSuite, focus their efforts for particular needs of the brain mapping community. Programs and subroutines from these packages can be called as individual steps in a compute sequence. Programs can be reconfigured and mixed and matched from various packages. Users can also build their own programs to supplement or replace steps in the sequence resulting in new methodolo- http://www.bic.mni.mcgill.ca/software/ http://surfer.nmr.mgh.harvard.edu/ http://www.khoral.com/ http://www.sci.utah.edu/ http://www.avs.com/ http://neurocog.lrdc.pitt.edu/fiswidgets/ http://www.loni.ucla.edu/NCRR/Software/Pipeline.html gies and analyses. To date, a disadvantage of modular environments is the difficulty of ensuring interoperability between the various steps. It is also difficult to become an expert on all the packages available from a multitude of laboratories. Often several different programs can each adequately accomplish a task in an analysis. Depending on the dataset and analytic goals, one package may be better suited than another. Choosing the most appropriate programs and assembling the best analysis can be a complex and arduous task. Usually this requires more expertise than a monolithic environment, but offers considerably more flexibility. Organization and logistics Brain mapping studies process an increasingly large amount of raw data. The data can originate from different scanners and institutions and may be generated from different acquisition parameters and be stored in various formats. During the processing of this data, the creation of many intermediate datasets can be difficult to handle, organize, and store. Ensuring all analysis steps have been performed properly and consistently, while checking for failures in the processing and confounding differences in the results, can be troublesome for even the most diligent investigator. Flaws can go unnoticed until a late stage in processing. Some errors may never be detected. Resources Considerable computational power may be needed for increasingly complex population-based analyses. Resource limitations in memory, the number of available processors, disk sizes and speeds, and network speeds can all reduce the feasibility of an algorithm and its practical utility. New techniques that use multivariate statistics (McKeown, 2000; D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Calhoun et al., 2001; Suzuki et al., 2002), multiple modalities (Dale and Halgren, 2001; Mohamed et al., 2001), and vector or tensor field calculations (Chung et al., 2001; Arfanakis et al., 2002; Haueisen et al., 2002; Ruiz-Alzola et al., 2002; Westin et al., 2002) are impractical, or impossible, on large datasets without parallel and/or distributed computing solutions. Interoperability Individual steps in an analytic sequence may not always work with one another. The output of one step may be incompatible with the input of its successor, especially if these programs were developed at different institutions. This is not limited to simple file conversions. Certain criteria may need to be fulfilled by the data itself. This can include specifications such as allowed value ranges and data types, spatial dimensions and dimension order, and limits on voxel sizes. Data criteria might also include quality or consistency limits such as signal-to-noise ratio, contrast-tonoise ratio, or the preservation of intensity gradients of a certain kernel size. Ensuring the data is properly formatted for the next processing step can take as much time and effort as the analysis. This can become a large obstacle to many collaborative efforts. Reproducibility A more general problem in neuroimaging is the difficulty in reproducing analyses as described in a publication. Often details are left out of the methodological description. These details, though crucial for reproduction, aren’t needed for the conveyance of the novel analyses presented in the published work. Solutions Scripts are often programmed to solve the difficulties of a modular approach to brain mapping analysis. Scripting languages, such as perl and tcsh, offer many powerful constructs and abilities, such as conditionals, loops, and job control. However, many of these scripts are often written for a single purpose or one time usage. In many situations they may be highly modified over time to adapt to new analyses, keeping old solutions tenuously intact that should have been discarded. The ability to distribute these scripts is dependent on the similarities between environments with no guarantees they will work without modifications. Issues such as resource requirements, temporary files, heterogeneous hardware needs with remote executions, and parallel processing are solved in ad hoc and often laboratory-specific fashions. The programming effort required to fashion a script that solves these issues in a standardized manner would be considerable. These issues are addressed with the development of the LONI Pipeline Processing Environment. The goal of the LONI Pipeline Processing Environment 1035 is to provide a cross-platform, distributed environment for the design, distribution, and execution of brain mapping analysis protocols. It is engineered to be intelligent, efficient, simple, and flexible. The environment was developed with the aim of greater access to various techniques, algorithms, programs, and computing power. The improvements in interoperability can facilitate collaboration between developers of specific tools and cooperation among those with unique datasets. The LONI Pipeline Processing Environment makes studies with a very large number of subjects more obtainable. It enables a high degree of sensitivity and accuracy by supporting the mixing and matching of programs from various packages developed in different laboratories. Methods The LONI Pipeline Processing Environment We developed an analysis strategy that provides the ability to link together individual executable programs, or modules, into a processing tree, or pipeline. A pipeline contains the connectivity information between processing modules that results in an analysis methodology. It allows files, intermediate results, and other information to be accurately passed between individually connected modules. A pipelet is the encapsulation of a pipeline that only completes a subsection of the processing. Allowing pipelets to be formed and treated as modules in larger pipelines provides a conceptual abstraction layer. A pipeline execution environment controls the details of the computation requiring only the connections, or pipes, between the modules that establish the relationships of the pipeline to be specified. Modules, pipelets, and pipelines can be saved to disk at any stage of development and recalled at a later time for modification, use, or distribution. Module and pipeline descriptions The description of the modules and pipelines is implemented in the Extensible Markup Language, or XML (information available from http://www.w3c.org/XML/). The LONI Pipeline Processing Environment does not require an application programming interface, or API, to be used. Any well-defined command-line driven processing program or routine can be represented as a module, given default execution arguments and files, saved, and recalled for later use and encapsulation in larger pipelines. The description of a module is accomplished with the aid of a graphical user interface that takes the user through the addition of input arguments, output arguments, input streams, and/or output streams. Arguments may be described as files of specific types, flags, or values and, if need be, are added in the order in which they should be provided to the underlying program. They may be optional or required and can be dupli- Fig. 1. Modular environments allow the mixture of programs and algorithms to achieve tailored results. The flexibility afforded in these designs may provide increased sensitivity with more accurate results, however, the expertise required to utilize various packages is considerable and the transfer of data from one package to another is often problematic. Programs shown here include Octree Spatial Normalization (Kochunov et al., 1999), or OSN, AFNI (Cox, 1996; Cox and Hyde, 1997), the Brain Surface Extractor (Shattuck et al., 2001), or BSE, Alignlinear (Woods et al., 1998a) and Tracer from AIR, and Mincresample, Mincreshape, and Display (MacDonald et al., 1994) from MNI’s Brain Imaging Software Toolbox. All of these can work together with proper conversion between the six file formats present. Fig. 2. The LONI Pipeline Processing Environment is a visual programming interface for the simplified design, execution, and dissemination of neuroimaging analyses. Modules can be added, deleted, and substituted for other modules within a pipeline analysis. The environment handles bookkeeping and information transfer between modules and within a pipeline. Its Java-based design and client/server abilities provide a platform independent solution to the interoperation of various modular packages for image processing in brain mapping. D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 1037 Fig. 4. The global variables table separates important inputs and outputs from the inner workings of a pipeline. Variables may be defined for text, values, files, or lists of files and accessed for any input, output, or new variable definition. Variables are accessed with a dollar sign and braces and may be modified with a “:m” suffix, where m is the proper modifier, or the addition, “⫹,” or subtraction, “⫺,” of text. The modifiers “r” and “b” shown here represent the input’s root, everything except a file’s extension, and base, the root without the path prefix, respectively. Fig. 3. Modules and pipelines are presented in multiple organized and cross-referenced tree structures. Separate structures exist for the current user’s personal modules and pipelines, the system the client is running on, and each Pipeline Server the client is connected to. Each structure can be subdivided into groups of folders for the logical presentation of programs, packages, and analyses. cated when multiple instances of the same argument type are allowed in a program. Each additional argument, other than a flag, provides an additional input or output for thedescribed module that may be used in a pipeline’s connection scheme. Interface The graphical user interface, or GUI, and execution engine for the LONI Pipeline Processing Environment is programmed as a lightweight environment in Java 1.3 (available from Sun Microsystems, http://java.sun.com/). It is designed for maximum portability and platform independence. It will run on any system with a Java Virtual Machine of version 1.3 or newer. The design of the interface is that of a visual programming environment (Fig. 2). The GUI allows the user to link together the modules, change the flow of a predesigned pipeline, or replace specific analysis modules for others. There is also a seamless client/server inter- face that allows the execution of external modules, pipelets, and pipelines defined on outside servers. The LONI Pipeline Processing Environment presents modules and pipeline analyses to the user in organized tree structures (Fig. 3). There is a user specific section, a system specific section, and a separate section for any connected Pipeline server. Each of these sections can be subdivided into folders, allowing the environment to be arranged into different categories of modules and analyses. Modification and utilization of modules or pipelines require placement in the workspace. The module outputs are connected to other modules’ inputs with pipes to form a pipelet or a complete pipeline. Specific inputs and outputs may be defined as a pipeline is created. Lists of inputs can be specified for batch processing, comparisons, or contrasts across subject groups. Outputs may be left as temporary files to be deleted when they are no longer needed or saved to specified files for later use. Tables for the definition of global variables are available 1038 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Fig. 5. This server-based pipeline performs a Talairach registration (Collins et al., 1994), tissue classification (Shattuck et al., 2001), and cortical surface generation (MacDonald et al., 1994) from T1-weighted MRI whole-head volumes. This is a fully automated pipeline requiring no input other than the files to process. The display program from the MNI (http://www.bic.mni.mcgill.ca/software/Display/Display.html) was added as a client-side module to visualize the results. Gray matter is shown in red, white matter in green, and CSF in blue. in the LONI Pipeline Processing Environment. The architect of a pipeline uses these tables to make certain inputs and outputs of a pipeline easily accessible (Fig. 4). The user need not delve into the architecture of the underlying pipeline in order to change these inputs and save outputs. Instead, the appropriate global variables are changed to run the pipeline on new data. Variable modifiers, such as accessing the directory a file is in, a filename without the directory information, the base name of a file, or the extension on a file, may be invoked when using a global variable. Variables also may be defined using previously defined variables, modified versions of those variables, and explicit changes to the variable text. This allows for outputs to be defined based on input variables and sets of inputs to be defined based on similar naming schemes. Inputs and out- puts can be saved in the same directory, a similar directory structure, or with related filenames. Execution model The LONI Pipeline Processing Environment uses a dataflow model (Karp et al., 1967) to provide its parallel processing architecture. The dataflow model is based on a directed graph (Davis and Lowder, 1981) with processing functions, or modules, as nodes and data pipes as edges dictating the flow of data between the functions. The beginning of a data pipe is output data from one module. The pipe directs the data to the inputs for other modules. In this scheme, each module is self-aware and executes upon receiving all of its input data. When a module completes D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Fig. 6. The “Aligned BET” pipeline is an example where a good program can be further enhanced by other programs. In native space, the Brain Extraction Tool (Smith, 2002), or BET, often fails to fully remove the neck musculature and other ventral structures. BET performs more reliably when an interpolation induced smoothing and an automated crop is provided by resampling the unedited volume to ICBM305 space (Collins et al., 1994). The resulting brain mask is transformed back to native space. execution, the other modules that receive data from it are signaled that needed inputs have arrived. The signaled modules will initialize execution if they are not waiting for additional data. All modules that are not data dependent on one another can execute in parallel without any explicit specification. When no modules are left in a running state, the pipeline has completed its execution. All intermediate and output data in a dataflow are stored in temporary files unless specified otherwise. Filenames may be explicitly provided or dynamically generated using the variable manipulation language described previously. A unique filename is generated for each temporary file with a filename extension based on the file type encoded in a module’s description. Temporary files are discarded when a workspace is cleared or a new pipeline is selected for editing or execution. A simple batch-processing scheme is provided in the LONI Pipeline Processing Environment. In the default case, a file list is provided as an input to a module and the execution of each item in the list is in a separate, but identical, module. This results in a listing of outputs in one-to-one correspondence to the file list input. Full parallel execution of file lists in the pipeline is allowed through the dataflow execution model. No special cases need be derived. Modules may also have a file list input that is grouped. All the items in the list are treated as identically 1039 typed input arguments to a single module. This is often the case when group statistics are calculated. Data are first preprocessed individually then combined for simultaneous input for processing across the group. Argument lists and multiple input lists to modules are also allowed. To ensure that the dataflow model does not overwhelm available computing power there is a first-in–first-out, or FIFO, launch queue. Modules that are ready to execute will wait on the queue for a processor to become available. When the LONI Pipeline Processing Environment is set up on a new computer the number of accessible processors is set. This value is usually less than or equal to the number of processors available on the platform. A module will move from the launch queue to a running state only when the number of currently running processes is less then the maximum allowed. Grid computing and batch scheduling systems may also be integrated with the LONI Pipeline Processing Environment to allow processing to occur over a cluster. In this case the maximum number of simultaneous processes would be set to the limits of the computational grid, and the environment would depend on the grid management software to perform the process scheduling and resource allocation. Modern grid management software can distribute processing based on available processors, memory, operating environments, access to specialized hardware, and various other factors, providing a powerful and heterogeneous extension to the abilities of a pipeline environment. Client/server The client/server strategy built into the LONI Pipeline Processing Environment is both application and cycle serving. It is platform independent using Java’s remote method invocation, or RMI, libraries. When a client logs into a Pipeline Server it is presented with all the modules, pipelets, and full pipelines the server can run. The client user can immediately select a pipeline from the server, load it with data, and execute it on the server. Alternatively selected modules or pipelets from the client and the server can be connected together. These complex pipelines can be saved in the user’s module listing and recalled for later use. Server based pipelines and pipelets may only be accessed when the user is connected to the appropriate servers. When server modules or pipelets are executed their inputs are transferred to the server and the underlying modules are placed in the server’s launch queue for execution. When completed, outputs are transferred back to the client only if they are explicitly saved or needed for a client module to run. Multiple server connections are allowed in a pipeline session. Modules and pipelets may be mixed from many different servers in a single workspace. The client will act as a master to all the connected servers and dictate all the file transfers and module launches that are to occur. If files are provided to the pipeline through URLs, the client or 1040 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Fig. 7. This modified “AIR Make Atlas” pipeline utilizes chirp-z and 3D windowed-sinc interpolation for the linear and nonlinear registration steps, respectively. It also includes a tissue classification step to generate probability fields for gray matter, white matter, and CSF locations in the atlas space. The global variables table shows the important input and output files for this pipeline. The native volume and binary mask lists contain 452 subject volumes in correspondence. The outputs include a full affine aligned atlas with gray, white, and CSF probability fields and a fifth order polynomial aligned atlas to the linear defined space with gray, white, and CSF probability fields. appropriate server will download them for use by the appropriate module. Security The Pipeline Server has been made secure in several ways. Account access is encrypted and passwords are confirmed through a one-way hash. The client is not allowed to launch any program on the server that is not defined in the server’s process table. Static files on the server are accessible only to the server modules and may not be transferred to the client for its use. Only temporary files written by the pipeline are accessible to the client. Furthermore, only server generated temporary files can be written to the server; the clients cannot explicitly write any files. Finally, it is recommended that the Pipeline server be run under a restricted account that only has access to the components it needs. It is up to the server administrator to ensure that modules do not contain programs that may be used to compromise the server or any computer to which it may be connected. Results Modules from AIR 5.2.3, BrainSuite, FSL 1.3, FreeSurfer, the Montreal Neurological Institute’s Brain Imaging Software Toolbox, and the Laboratory of Neuro Imaging have been described and are available through a Pipeline server located at the Laboratory of Neuro Imaging. Included in these definitions are modules for the skull stripping of MRI data (Shattuck and Leahy, 2002; Smith, 2002), RF inhomogeneity corrections (Sled et al., 1998; Shattuck et al., 2001; Zhang et al., 2001), tissue classification (Shattuck et al., 2001; Zhang et al., 2001), linear (Woods et al., 1992; Collins et al., 1994; Woods et al., 1998a; Jenkinson and Smith, 2001) and nonlinear (Woods et al., 1998a) registration of volumetric data, cortical surface extractions (MacDonald et al., 1994; Dale et al., 1999), skull and scalp finding software (Shattuck and Leahy, 2002), and many accessory tools for volumetric image processing. Many individual processing pipelines have been built and are available on the Pipeline server at the Laboratory of Neuro Imaging. They are used for the nonlinear alignment D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 1041 Fig. 8. The ICBM452 T1-weighted MRI atlas is an intensity average of 452 normal young adult brains existing in a linearly derived, through 12-parameter affine transformations, least distant space from all 452 subjects. The final registration to this space is a fifth order polynomial warp allowing substructures to be more clearly defined in the intensity average. Tissue classification for all 452 subjects is performed in ICBM452 space and probability fields for each tissue type are derived in atlas space. White matter probabilities are shown in green, gray matter in red, and CSF in blue. 1042 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 of a high-resolution template of gross anatomic delineations to human imaging data, improved skull stripping utilizing a rough registration to a cropped template, average positional and intensity atlas construction from raw datasets, registration of datasets to an atlas space, and the Talairach space (Collins et al., 1994) registration of raw data for tissue classification and surface model generation (Fig. 5). These pipelines were built from modules defined on the server and require no other input than the datasets to be processed. The use of these pipelines on a 64 processor Silicon Graphics Origin 3000 has thus far generated over 300,000 module executions with over 4 terabytes of data generated and/or processed. Data were analyzed from the International Consortium for Brain Mapping (Mazziotta et al., 1995, 2001), or ICBM, using the LONI Pipeline Processing Environment. Four hundred fifty-two normal adult subjects from three imaging centers were selected to create an average intensity atlas in the average space for the group (Woods et al., 1999). The raw data were skull-stripped using the Brain Extraction Tool (Smith, 2002), or BET, in ICBM305 space (Collins et al., 1994) and the masks of the subdural space were projected back onto the raw data. The pipeline for this procedure, “Aligned BET” (Fig. 6), is located on a LONI Pipeline server, but was controlled by an Intel Pentium III 450 MHz based laptop (Acer TravelMate 340T) with 192 Mb of RAM. The LONI Pipeline server is running on a 64 processor Silicon Graphics Origin 3000 with 32 Gb of RAM, though it was only granted 48 dedicated processors for this test. The skull-stripping pipeline took 1 h 37 min to finish with all 452 subjects, which comprised 1.1 Gb of compressed data. There were 3616 jobs started from the LONI Pipeline server. It generated 4068 intermediate files using 27.0 Gb of disk, uncompressed, and produced an output of 452 masks defining the subdural space for each input MRI. The masks compressed to 30 Mb of disk space. The pipeline to build the atlas was derived from the “AIR Make Atlas” pipeline on the same LONI Pipeline server. This pipeline derives affine transformations (Woods et al., 1998b) from all subjects to a single subject. These transforms are averaged to define a “least distant space” for every subject to be transformed into. The data is transformed into the common space and an intensity average is made. All the subjects are realigned with affine transformations to the average template and again averaged to form a linearly defined atlas in both intensity and spatial domains. A final step, to gain definition in the atlas, is a fifth order polynomial nonlinear alignment (Woods et al., 1998b) to the atlas space for each subject. Each subject is transformed into the atlas space and averaged to form the final atlas. The AIR Make Atlas pipeline was modified (Fig. 7) to use chirp-z interpolation (Tong and Cox, 1999) to apply the linear transformations and a (13 mm)3 windowed-sinc interpolation (Hajnal et al., 1995) for the nonlinear transformations. Additions were also made to apply the previously generated masks of subdural space to the raw data as a first step in the processing and to use the Partial Volume Classifier (Shattuck et al., 2001), or PVC, to generate gray matter, white matter, and CSF masks of each subject in the atlas space. These masks were averaged to produce gray matter, white matter, and CSF probability fields in the atlas space. The pipeline was run on 48 dedicated processors from the SGI server and controlled by the Intel based laptop. It took 19 h 2 min to generate the atlas and tissue based probability fields from all 452 subjects (Fig. 8). There were 7697 jobs launched from the LONI Pipeline server generating 15,391 intermediate files taking up 46.3 Gb, uncompressed, of temporary disk space. The saved results spanned nine volumes of compressed data occupying 25.4 Mb of disk. They consist of a preliminary common space volume, an affine generated atlas volume with gray, white, and CSF probability field volumes, and a fifth order polynomial nonlinearly generated atlas volume in the affine average atlas space with corresponding gray, white, and CSF probability field volumes. Additional atlases were created for the males, females, left-handers, and right-handers in the dataset. The subjects in the handedness atlases were selected to enforce an equal number of males and females in each atlas. The modifications to the processing pipeline required to generate these separate atlases consisted of changing the input file lists and the location of the output files as appropriate. The processing statistics for each atlas are shown in Table 2. Further analyses comparing nonlinear intersubject registrations of ICBM data have been performed using modules from the Research Imaging Center at the University of Texas Health Science Center at San Antonio, or UTHSCSA, modules from AIR, and modules from the MNI. Converters for the descriptor file format were provided by UTHSCSA (information available from http://ric.uthscsa.edu/projects/ Fig. 9. The “Align Warp” procedure for nonlinear registration in AIR (Woods et al., 1998a) has been replaced by Octree Spatial Normalization (Kochunov et al., 1999), or OSN, in this intersubject registration pipeline. For OSN to operate, tissue classifications are required to delineate gray matter, white matter, and CSF. The data must be resampled to a 2563 voxel array as well. The proper format conversions are applied and the resulting nonlinear deformation fields from the tissue-classified data are applied to the original MRI data. Fig. 10. The processing efficiency of the LONI Pipeline Processing Environment is demonstrated by executing the atlas generation pipeline on different numbers of subjects with different numbers of dedicated processors available. Optimal efficiency, when every additional processor provides a linear speed increase, is approached as the number of subjects increases and dwarfs the number of processors available. The bottlenecks and single module executions become a smaller fraction of the processing time as the number of subjects increases. The subject level parallelization dominates. On 48 processors the atlas derived from 64 subjects was 59.3% efficient in its processor usage; the atlas derived from 336 subjects was 80.9% efficient. If, however, the number of available processors dominates the number of parallel executions the time of completion is as long as the longest timed path through the analysis. The 16 subject atlas could not achieve more than a 10.4-fold speedup with the addition of processors due to its longest path. D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 1043 Table 2 Atlas generation processing statistics Atlas Number of subjects Processing time Jobs launched Intermediate file number Intermediate file space All subjects Males Females Right-handed Left-handed 452 262 190 336 34 19 h 2 m 11 h 54 m 8 h 45 m 13 h 47 m 2 h 33 m 7697 4467 3243 5725 591 15391 8931 6483 11448 1179 46.3 Gb 27.1 Gb 19.5 Gb 34.4 Gb 3.6 Gb Note. Shown are the processing numbers for generating each of the five atlases. The methodology for each atlas was identical and only the input files and saved outputs were changed. Each atlas produced nine volumes of compressed output data occupying 25.4 Mb of disk. chsn/des.html) and integrated with the LONI Pipeline Processing Environment. This allowed the Octree Spatial Normalization (Kochunov et al., 1999), or OSN, software from UTHSCSA to be integrated in client environments and used in place of server-based AIR or MNI modules for nonlinear intersubject MRI registration. OSN requires input data to be classified for gray matter, white matter, or CSF. PVC provided this prior to the OSN module execution and data were resampled to match OSN’s input requirements (Fig. 9). descriptions and are available to the user for modification. An entire analysis that runs on T1-weighted MRI data may only require a tissue classification step to have its input flag changed from T1 to PD for a proton density dataset to be analyzed. It is possible that this option is not available for the current module being used. Another tissue classifier that works on PD-weighted MRI volumes can replace it. Finally, if there is no module available on the server to accomplish a task, it can be installed on the client side. The transfer of data between the servers and the client will be automatically managed for the user. Discussion The total processing time required to assemble the ICBM452 atlas and noted subatlases on the 48 dedicated SGI processors was 2 days 9.5 h. Using sequential executions, or the LONI Pipeline Processing Environment with only a single processor available, would take 39 times as long,1 or 93 days, to generate the atlases. If this process were executed at a command line by a single user, assuming an 8-h work day, it will take up to 3X longer, or 279 days. The pipelines found on the LONI Pipeline server are common analysis methods. Interaction with the inner workings of the pipeline is not usually necessary. Providing inputs, and sometimes outputs, in the global variables table is all that is required for new datasets to be analyzed. Outputs that are not explicitly defined by the user are often derived from the input data and are visible in the global variable table. Any undefined outputs are discarded. The specific analysis pipelines used for a publication can be placed on the server for others to access and execute on new datasets. If a pipeline is to be used with unforeseen data, or there are new procedures to make an analysis more sensitive, faster, or produce different results, it can be changed easily. Flags, options, kernel sizes, etc. are all placed in module 1 The efficiency of the LONI Pipeline Processing Environment is less than 100% due to adjustable delays in the environment’s execution scheme and because of bottlenecks in dataflow. Delays on clients are to ensure Java has time for “garbage collection.” Delays are present on servers to prevent processes from accessing resources simultaneously. Delays are usually tens to hundreds of milliseconds before each individual command execution and are tunable for specific installations. Interoperability and accessibility The LONI Pipeline Processing Environment allows many of the interoperability problems that exist between modular packages used in the brain mapping community to be solved in one environment and saved for later use. We have shown the successful execution of pipelines that integrate work from the AIR, FSL, and BrainSuite packages as well as individual programs from the MNI, LONI, and UTHSCSA laboratories. These programs used different file formats, Medical Image NetCDF (available from the MNI, http://www.bic.mni.mcgill.ca/software/minc/minc.html), or MINC, the descriptor file format, and two flavors of the Analyze image format (available from the Mayo Clinic, http:// www.mayo.edu/bir/PDF/ANALYZE75.pdf; SPM modifications from the Wellcome Department of Cognitive Neurology, http://www.fil.ion.ucl.ac.uk/spm/distrib.html#AzeFmt), and required a variety of preprocessing steps to be applied before execution. The details of these pipelines can be generalized for the robust interoperation of packages and separated into pipelets for later use. These pipelets can be further improved upon, and possibly replaced by more accurate steps. The availability and accessibility of many algorithms to perform similar tasks are part of the power of the LONI Pipeline Processing Environment. Many seemingly redundant modules are included in the environment to provide choices and to allow the tailoring of an analysis to specific data and for specialized end products. When one package fails on data presented in a manner not accounted for by its authors, another package may fare better. For instance, we 1044 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 have processed datasets where the Brain Extraction Tool (Smith, 2002) performs more reliably and ones where the Brain Surface Extractor (Shattuck and Leahy, 2002) performs more reliably. These differences exist due to the sensitivity of an algorithm to noise, smoothness of gradients in the data, different tissue volumes and tissue intensity profile changes from disease, aging, or scanner protocol. The output of a preprocessing module also may be more suited to, or even aware of, the input requirements of a later analysis step. A pipeline currently available on the LONI Pipeline server uses both BFC (Shattuck et al., 2001) and N3 (Sled et al., 1998) in parallel processing streams as corrections for nonuniformity on the input MRI data. This is to ensure the proper application of a tissue classifier (Shattuck et al., 2001) that BFC is packaged with as well as a cortical surface extractor (MacDonald et al., 1994) that N3 is packaged with. The design of an algorithm often incorporates an expectation of the input data. All of the modules and pipelines discussed in this paper are available on the LONI Pipeline server for use by the brain mapping community. This ability to distribute automated analysis programs and protocols via Pipeline servers and the transfer of XML pipeline description files ensures the accurate conveyance of new ideas from an article to the workbench. The critical factors in the analysis are reduced to the quality and structure of the input data. Collaborations between groups can be facilitated by direct access to described methodology and the assurance of an identical analytic structure. Consolidating tools and analyses into a common framework for the neuroimaging community to utilize and enhance will also be beneficial. Improvements can be disseminated along with the original protocols. The LONI Pipeline Processing Environment is available from http://www.loni.ucla.edu/NCRR/Software/Pipeline.html. Accounts for access to the LONI Pipeline Server can be requested at http://www.loni.ucla.edu/NCRR/NCRR_CollabApp.html. Access to the LONI Pipeline Server is currently unlimited for the brain mapping and neuroimaging communities. Validated users may access as much computational processing power as we can provide. Computational abilities The LONI Pipeline Processing Environment enhances computational abilities in two ways, with distributed processing and through the dataflow model for parallel execution. The distributed processing provided by Pipeline servers allows the analysis of large amounts of data, the study of complex data, such as tensor fields, and the use of datamining techniques to be available for every laboratory. The Java-based servers are simple to set up requiring only the number of available processors, a modules file, and a password file to be specified. The modules file is a Java Archive file, or JAR, that contains the XML descriptions of modules, pipelets, or full pipelines already defined on a system and organized in a directory structure along with any desired icons. Accounts to the server are created by an included Java program to encode user names and encrypted passwords in a file. Pipeline servers require Java 1.3 or newer and RMI to run. HTTP tunneling for firewall compatibility is available so long as the RMI registry is connected to port 80. The structure of the predominant number of analyses in brain mapping is such that most functions are run on each subject separately and only a few comparison steps are required to run across all the subjects at once. In the atlas generation pipeline there were 17 modules running independently on each of the 452 subjects and 10 that ran once with all 452 subjects as input. In the skull-stripping pipeline there were eight modules running independently on each of the 452 subjects and none that ran only once. Out of 11,310 module executions, 10 did not benefit from subject level parallelizations in the analysis. Of those 10, three were in the middle of the dataflow causing bottlenecks and only two of the three did not benefit from the module parallelization in our dataflow model. Module and subject level parallelization of most analyses provides close to optimal gains in required processing time when the number of subjects is much greater than the number of available processors (Fig. 10). If there are no bottlenecks in a dataflow, gains are near optimal when the number of subjects meets or exceeds the number of processors. The gains are only near optimal because particular subjects may require more processing time and by chance execute at the end of an analysis or close to last before a bottleneck. These subjects will extend a sequence by however much longer they take to execute than the average subject. Chance executions and bottlenecks that exist in an analysis become a smaller and smaller factor as the number of subjects is increased. Another possibility is that the number of available processors exceeds the needs of a pipeline. In this situation the time of execution is equivalent to the longest time path through the analysis pipeline. Parallelization of the original code for individual modules would enhance the efficiency and speed of these analyses. Analyses that suffer bottlenecks from many group comparison steps would also benefit from parallelization of the code for group actions. Programs that are currently provided with parallel code may be incorporated into a LONI Pipeline Processing Environment using a grid computing solution that will allocate multiple units of a resource, such as processors, to an individual program when available. Future versions of the LONI Pipeline Processing Environment will allow a module to be specified to use multiple processors. The required number of processors will be provided to the executing module as a block, and released back into the processor pool as a block at the end of execution. Similar outside efforts Several other efforts complement the LONI Pipeline Processing Environment. Khoros (Konstantinides and Ra- D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 1045 Table 3 A comparison of data processing environments Package LONI Pipeline SCIrun Khoros w/ Cantata AVS/5 FISWidgets Main purpose Protocol development and distribution; dissemination of computing resources Visual programming environment and module development Visualization and computation environment GUI builder and sequential execution environment Platforms API Integration of previous code Java Not needed GUI-aided description of any executable, no recompiling GUI-aided description of any executable Visualization and steering, module development, computational efficient processing Linux, SGI IRIX Yes Recompilation with API UNIX, Windows Yes Recompilation with API UNIX, Linux Yes Recompilation with API Compilation with API Compilation with API Compilation with API Provides module descriptors to run commonly used neuro imaging software Yes Many modules provided for various mathematical and visual tasks Yes Many modules provided for various mathematical and visual tasks Yes Many modules provided for various mat hematical and visual tasks Yes Java Yes, for wrappers Java wrappers encapsulate previously written programs Java code is written from their API to wrap programs Commonly used neuro imaging software that has been wrapped Yes Yes Yes No No No No No Yes, as long as they share a common filesystem No No No No No No Free Free Commercial Commercial Free Integration of new code Modules Distributed computing Application serving Protocol serving Integration of multiple application environments Availability No Note. A comparison of the LONI Pipeline Processing Environment with other environments for scientific processing and visualization shows the similarities and key differences between them. The LONI Pipeline Processing Environment stresses ease of integration, use, and distribution of methodology and processing power. sure, 1994; Barrera et al., 1998), with their Cantata visual programming language, SCIRun (Parker et al., 1997), AVS/5, and FISWidgets (Fissell et al., 2003), or Functional Imaging Software Widgets, are particularly worthwhile examples of these endeavors (Table 1). They all possess key differences, however, that drove the development of the LONI Pipeline Processing Environment (Table 3). Khoros (Konstantinides and Rasure, 1994; Barrera et al., 1998) with Cantata is a commercial endeavor that provides a similar visual programming environment to the LONI Pipeline Processing Environment and also uses a dataflow paradigm. Khoros, however, requires an API to link code and algorithms into the environment. This requires a programmer to use the provided libraries to integrate new modules into the processing scheme. The distributed processing scheme provided with Khoros does not allow independent external servers. Instead, servers must be tightly linked with a common file system preventing independent and secure external resources from being offered. SCIRun (Parker et al., 1997) is a freely available environment for scientific modeling, processing, and visualization. It also uses a dataflow visual programming interface. SCIRun focuses on steering an analysis or model for interactive visualization and therefore requires an integrated programming effort with the environment. An API is provided that furnishes the developer with libraries, handles, and data types to tightly link new code with their existing model. This gives SCIRun complete control over the execution strategy, but limits external development. Most of the benefits of the API are lost when studies with a large number of subjects are being conducted. The benefit of interactive steering becomes unlikely and subject level parallelization can do as well without the API. AVS/5 is a commercially available visualization and processing environment similar in scope to SCIRun. FISWidgets (Fissell et al., 2003) is a freely available API and environment that allows Java-based GUIs to be programmed and attached to any command line program. It comes with predesigned interfaces to many neuroimaging analysis packages including AIR and AFNI. It allows the packages to be integrated in a “GlobalDesktop” for sequential execution on a single workstation. The passing of filenames and variables must be explicitly specified and controlled by the user. Similarities between the LONI Pipeline Processing Environment and these other environments include the visual interface they all provide to enhance and ease the design of analyses beyond that of script programming. These interfaces not only present protocols and analyses in an intuitive manner, but also can take care of many housekeeping efforts, such as temporary files, overwrite protection, environ- 1046 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Table 4 Terms, acronyms, and abbreviations Acronym Meaning Neuroimaging software AFNI AIR BET BFC BSE Caret Analysis of Functional NeuroImages Automated Image Registration Brain Extraction Tool Bias Field Corrector Brain Surface Extractor Computerized Anatomical Reconstruction and Editing Toolkit FISWidgets Functional Imaging Software Widgets FSL FMRIB Software Library N3 Non-parametric Non-uniform intensity Normalization OSN Octree Spatial Normalization PVC Partial Volume Classifier SPM Statistical Parametric Mapping SureFit Surface Reconstruction by Filtering and Intensity Transformations Computer terminology API FIFO GUI HTTP JAR MINC NetCDF RAM RMI URL XML Application Programming Interface First In, First Out Graphical User Interface Hypertext Transfer Protocol Java Archive file Medical Image NetCDF Network Common Data Format Random Access Memory Remote Method Invocation Uniform Resource Locator Extensible Markup Language with provided binaries, scripts, or source code requiring a minimal amount of effort. Also involved in this design choice is the use of files for temporary intermediates between processes. Taking into account the speeds of modern disks, the large amounts of cache available in storage systems, and the possibility of RAM disks for increased speed, this design choice was preferred to the use of streams and a required API. This approach provides the added benefit of being able to quickly and easily read and transfer large files using random access and bulk loaders. Also of use is the semipermanence of a temporary file. It can be accessed, viewed, and saved even after a pipeline has completed processing without the need for a large, often unobtainable, amount of memory on the executing computer. The standard input stream and standard output stream are still available in the description of a module and are utilized without a file intermediate when passed directly between modules. Another key difference the LONI Pipeline Processing Environment possesses from the other environments is its application and cycle server. Pipeline Servers don’t just provide additional processing power in an internal, controlled environment. Instead they allow completely independent environments to be linked, declare their modules, pipelets, and full pipeline analyses to the authenticated client, and be utilized to their maximum potential. This provides for a simple and effective means for the distribution and acquisition of new algorithms and protocols as well as the computing power to run them. Groups, laboratories, and companies AVS FMRIB ICBM LONI MGH MNI SCI SGI UTHSCSA Advanced Visual Systems Functional Magnetic Resonance Imaging of the Brain International Consortium for Brain Mapping Laboratory of Neuro Imaging Massachusetts General Hospital Montreal Neurological Institute Scientific Computing and Imaging Institute Silicon Graphics Inc. University of Texas Health Science Center at San Antonio Note. These lists are not exhaustive. ment variables, and sanity checks, that must be carefully controlled, or abandoned with possible consequences, in a command-line scripting environment. All the environments also provide the ability to save and distribute protocols, either through a completely encapsulated environment, like Khoros, AVS/5, and SCIRun, or through an application server like the LONI Pipeline Processing Environment. The LONI Pipeline Processing Environment differs from these other environments in its lack of an application programming interface. The XML descriptor based inclusion, instead of an API, allows any command-line argument driven process to be easily encapsulated into the environment. Recompilation, at best, or reprogramming of the processes is not necessary with this approach, making it usable Future The goal of the LONI Pipeline Processing Environment is to make the development and execution of any analysis as simple as possible. This involves handling the details of an analysis, providing the constructs necessary to include new algorithms in the environment, and building general and specific methodology. In future releases, the LONI Pipeline Processing Environment will include automatic format conversions and fully integrated visualization and tailored display of results. Currently, modules providing access to individual external converters or visualization programs are utilized. This will be upgraded so that general conversions from one volumetric, surface, contour, or transformation format to another similar format will be selected and applied automatically to ensure compatibility between modules. Similarly, visualization schemes will be tailored in a data-driven manner. List processing enhancements, conditionals, and iteration constructs are planned for inclusion as well. The integration of database query, retrieval, and submission systems in the LONI Pipeline Processing Environment are also planned. Finally, in future releases, the LONI Pipeline Processing Environment will provide intelligent agents to assist in the design of a new analysis. D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Conclusions The advanced techniques available in neuroimaging provide a landscape where studies of unprecedented size and complexity are being formulated. The LONI Pipeline Processing Environment makes those studies accessible and achievable in a reasonable amount of time. The ability to find smaller effects using larger datasets, the assurance that all data were analyzed identically and as desired, the time saved during the processing and construction of an analysis, and the lowered costs of shared computing resources are current benefits of the LONI Pipeline Processing Environment. Future enhancements to this environment will provide integrated access to visualization, databases, and intelligent agents. We look forward to many additional modules and pipelines being added in the near future. Acknowledgments This work was generously supported by grants from the National Institute of Mental Health (1 P20 MH65166 and 5 P01 MH52176) and the National Center for Research Resources (2 P41 RR13642 and 2 M01 RR00865), with a supplement by the Biomedical Informatics Research Network (2 P41 RR13642 [http://www.nbirn.net/]), funded by the National Center for Research Resources. D.E.R. is supported, in part, by an ARCS Foundation scholarship and a National Institutes of General Medical Sciences Medical Scientist Training Program grant (GM08042). The authors wish to thank Joseph D. Kulisics, Allan MacKenzie-Graham, Roger P. Woods, and the other members of the Laboratory of Neuro Imaging for their help and support. References Amunts, K., Schleicher, A., et al., 1999. Broca’s region revisited: cytoarchitecture and intersubject variability. J. Comp. Neurol. 412 (2), 319 – 341. Arfanakis, K., Cordes, D., et al., 2002. Independent component analysis applied to diffusion tensor MRI. Magn. Reson. Med. 47 (2), 354 –363. Barrera, J., Banon, G.J.F., et al., 1998. MMach: a mathematical morphology toolbox for the KHOROS system. J. Electron. Imaging 7 (1), 174 –210. Calhoun, V.D., Adali, T., et al., 2001. A method for making group inferences from functional MRI data using independent component analysis. Hum. Brain Mapp. 14 (3), 140 –151. Cannon, T.D., Thompson, P.M., et al., 2002. Cortex mapping reveals regionally specific patterns of genetic and disease-specific gray-matter deficits in twins discordant for schizophrenia. Proc. Natl. Acad. Sci. USA 99 (5), 3228 –3233. Carman, G.J., Drury, H.A., et al., 1995. Computational methods for reconstructing and unfolding the cerebral cortex. Cereb. Cortex 5 (6), 506 – 517. Chung, M.K., Worsley, K.J., et al., 2001. A unified statistical approach to deformation-based morphometry. NeuroImage 14 (3), 595– 606. Collins, D.L., Neelin, P., et al., 1994. Automatic 3D intersubject registration of MR volumetric data in standardized Talairach space. J. Comput. Assist. Tomogr. 18 (2), 192–205. 1047 Corbetta, M., Akbudak, E., et al., 1998. A common network of functional areas for attention and eye movements. Neuron 21 (4), 761–773. Cox, R.W., 1996. AFNI: software for analysis and visualization of functional magnetic resonance neuroimages. Comput. Biomed. Res. 29 (3), 162–173. Cox, R.W., Hyde, J.S., 1997. Software tools for analysis and visualization of fMRI data. NMR Biomed. 10 (4 –5), 171–178 [pii]. Dale, A.M., Fischl, B., et al., 1999. Cortical surface-based analysis. I. Segmentation and surface reconstruction. NeuroImage 9 (2), 179 –194. Dale, A.M., Halgren, E., 2001. Spatiotemporal mapping of brain activity by integration of multiple imaging modalities. Curr. Opin. Neurobiol. 11 (2), 202–208. Davis, A.L., Lowder, S.A. 1981. A simple management application program in a graphical data-driven programming language. Proc. IEEE COMPCON 81, New York. 162–165. Drury, H.A., Van Essen, D.C., et al., 1996. Computerized mappings of the cerebral cortex: a multiresolution flattening method and a surface-based coordinate system. J. Cogn. Neurosci. 8 (1), 1–28. Dumoulin, S.O., Bittar, R.G., et al., 2000. A new anatomical landmark for reliable identification of human area V5/MT: a quantitative analysis of sulcal patterning. Cereb. Cortex 10 (5), 454 – 463. Fischl, B., Dale, A.M., 2000. Measuring the thickness of the human cerebral cortex from magnetic resonance images. Proc. Natl. Acad. Sci. USA 97 (20), 11050 –11055. Fischl, B., Sereno, M.I., et al., 1999a. Cortical surface-based analysis. II: inflation, flattening, and a surface-based coordinate system. NeuroImage 9 (2), 195–207. Fischl, B., Sereno, M.I., et al., 1999b. High-resolution intersubject averaging and a coordinate system for the cortical surface. Hum. Brain Mapp. 8 (4), 272–284. Fischl, B., Liu, A., et al., 2001. Automated manifold surgery: constructing geometrically accurate and topologically correct models of the human cerebral cortex. IEEE Trans. Med. Imaging 20 (1), 70 – 80. Fischl, B., Salat, D.H., et al., 2002. Whole brain segmentation: automated labeling of neuroanatomical structures in the human brain. Neuron 33 (3), 341–355. Fissell, K., Tseytlin, E., et al., 2003. Fiswidgets: a graphical computing environment for neuroimaging analysis. Neuroinformatics 1 (1), 111– 126. Friston, K.J., Frith, C.D., et al., 1990. The relationship between global and local changes in PET scans. J. Cereb. Blood Flow Metab. 10 (4), 458 – 466. Friston, K.J., Frith, C.D., et al., 1991. Comparing functional (PET) images: the assessment of significant change. J. Cereb. Blood Flow Metab. 11 (4), 690 – 699. Friston, K.J., Holmes, A.P., et al., 1995a. Analysis of fMRI time-series revisited. NeuroImage 2 (1), 45–53. Friston, K.J., Holmes, A.P., et al., 1995b. Statistical parametric maps in functional imaging: a general linear approach. Hum. Brain Mapp. 2, 189 –210. Geyer, S., Ledberg, A., et al., 1996. Two different areas within the primary motor cortex of man. Nature 382 (6594), 805– 807. Hajnal, J.V., Saeed, N., et al., 1995. A registration and interpolation procedure for subvoxel matching of serially acquired MR images. J. Comput. Assist. Tomogr. 19 (2), 289 –296. Haueisen, J., Tuch, D.S., et al., 2002. The influence of brain tissue anisotropy on human EEG and MEG. NeuroImage 15 (1), 159 –166. Jenkinson, M., Smith, S., 2001. A global optimisation method for robust affine registration of brain images. Med. Image Anal. 5 (2), 143–156. Karp, R.M., Miller, R.E. 1967. Parallel program schemata: a mathematical model for parallel computation. IEEE FOCS, 55– 61. Kochunov, P.V., Lancaster, J.L., et al., 1999. Accurate high-speed spatial normalization using an octree method. NeuroImage 10 (6), 724 –737. Konstantinides, K., Rasure, J.R., 1994. The Khoros software development environment for image and signal processing. IEEE Trans. Image Proc. 3 (3), 243–252. 1048 D.E. Rex et al. / NeuroImage 19 (2003) 1033–1048 Koutcherov, Y., Mai, J.K., et al., 2000. Organization of the human paraventricular hypothalamic nucleus. J. Comp. Neurol. 423 (2), 299 –318. Lohmann, G., von Cramon, D.Y., et al., 1999. Sulcal variability of twins. Cereb. Cortex 9 (7), 754 –763. MacDonald, D., Avis, D., et al., 1994. Multiple surface identification and matching in magnetic resonance images. Proc. Visualization Biomed. Comput. 2359, 160 –169. MacDonald, D., Kabani, N., et al., 2000. Automated 3-D extraction of inner and outer surfaces of cerebral cortex from MRI. NeuroImage 12 (3), 340 –356. Maier, M., Ron, M.A., et al., 1995. Proton magnetic resonance spectroscopy: an in vivo method of estimating hippocampal neuronal depletion in schizophrenia. Psychol. Med. 25 (6), 1201–1209. Mazziotta, J.C., Toga, A.W., et al., 1995. A probabilistic atlas of the human brain: theory and rationale for its development. The International Consortium for Brain Mapping (ICBM). NeuroImage 2 (2), 89 –101. Mazziotta, J., Toga, A., et al., 2001. A probabilistic atlas and reference system for the human brain: International Consortium for Brain Mapping (ICBM). Philos. Trans. R. Soc. Lond. B Biol. Sci. 356 (1412), 1293–1322. McClure, R.J., Keshavan, M.S., et al., 1998. Chemical and physiologic brain imaging in schizophrenia. Psychiatr. Clin. N. Am. 21 (1), 93–122. McKeown, M.J., 2000. Detection of consistently task-related activations in fMRI data with hybrid independent component analysis. NeuroImage 11 (1), 24 –35. Mega, M.S., Chen, S.S., et al., 1997. Mapping histology to metabolism: coregistration of stained whole-brain sections to premortem PET in Alzheimer’s disease. NeuroImage 5 (2), 147–153. Mega, M.S., Chu, T., et al., 1999. Mapping biochemistry to metabolism: FDG-PET and amyloid burden in Alzheimer’s disease. NeuroReport 10 (14), 2911–2917. Mohamed, F.B., Vinitski, S., et al., 2001. Increased differentiation of intracranial white matter lesions by multispectral 3D-tissue segmentation: preliminary results. Magn. Reson. Imaging 19 (2), 207–218. Opitz, B., Mecklinger, A., et al., 1999. The functional neuroanatomy of novelty processing: integrating ERP and fMRI results. Cereb. Cortex 9 (4), 379 –391. Parker, S.G., Johnson, C.R., et al., 1997. Computational steering software systems and strategies. IEEE Comput. Sci. Eng. 4 (4), 50 –59. Pouratian, N., Sicotte, N., et al., 2002. Spatial/temporal correlation of BOLD and optical intrinsic signals in humans. Magn. Reson. Med. 47 (4), 766 –776. Rapoport, J.L., Giedd, J.N., et al., 1999. Progressive cortical change during adolescence in childhood-onset schizophrenia. A longitudinal magnetic resonance imaging study. Arch. Gen. Psychiatry 56 (7), 649 – 654. Reiss, A.L., Abrams, M.T., et al., 1995. Neurodevelopmental effects of the FMR-1 full mutation in humans. Nat. Med. 1 (2), 159 –167. Rosas, H.D., Liu, A.K., et al., 2002. Regional and progressive thinning of the cortical ribbon in Huntington’s disease. Neurology 58 (5), 695–701. Ruiz-Alzola, J., Westin, C.F., et al., 2002. Nonrigid registration of 3D tensor medical data. Med. Image Anal. 6 (2), 143–161. Shattuck, D.W., Leahy, R.M., 2001. Automated graph-based analysis and correction of cortical volume topology. IEEE Trans. Med. Imaging 20 (11), 1167–1177. Shattuck, D.W., Leahy, R.M., 2002. BrainSuite: an automated cortical surface identification tool. Med. Image Anal. 6 (2), 129 –142. Shattuck, D.W., Sandor-Leahy, S.R., et al., 2001. Magnetic resonance image tissue classification using a partial volume model. NeuroImage 13 (5), 856 – 876. Sled, J.G., Zijdenbos, A.P., et al., 1998. A nonparametric method for automatic correction of intensity nonuniformity in MRI data. IEEE Trans. Med. Imaging 17 (1), 87–97. Smith, S.M., 2002. Fast robust automated brain extraction. Hum. Brain Mapp. 17 (3), 143–155. Sowell, E.R., Thompson, P.M., et al., 2002. Mapping sulcal pattern asymmetry and local cortical surface gray matter distribution in vivo: maturation in perisylvian cortices. Cereb. Cortex 12 (1), 17–26. Suzuki, K., Kiryu, T., et al., 2002. Fast and precise independent component analysis for high field fMRI time series tailored using prior information on spatiotemporal structure. Hum. Brain Mapp. 15 (1), 54 – 66. Thompson, P.M., Cannon, T.D., et al., 2001. Genetic influences on brain structure. Nat. Neurosci. 4 (12), 1253–1258. Tong, R., Cox, R.W., 1999. Rotation of NMR images using the 2D chirp-z transform. Magn. Reson. Med. 41 (2), 253–256. Van Essen, D.C., Drury, H.A., 1997. Structural and functional analyses of human cerebral cortex using a surface-based atlas. J. Neurosci. 17 (18), 7079 –7102. Van Essen, D.C., Drury, H.A., et al., 1998. Functional and structural mapping of human cerebral cortex: solutions are in the surfaces. Proc. Natl. Acad. Sci. USA 95 (3), 788 –795. Van Essen, D.C., Drury, H.A., et al., 2001. An integrated software suite for surface-based analyses of cerebral cortex. J. Am. Med. Inform. Assoc. 8 (5), 443– 459. Westin, C.F., Maier, S.E., et al., 2002. Processing and visualization for diffusion tensor MRI. Med. Image Anal. 6 (2), 93–108. White, L.E., Andrews, T.J., et al., 1997. Structure of the human sensorimotor system. I: Morphology and cytoarchitecture of the central sulcus. Cereb. Cortex 7 (1), 18 –30. Woods, R.P., 1996. Correlation of brain structure and function. Brain Mapping: The Methods. Academic Press, San Diego, CA, pp. 313– 341. Woods, R.P., Cherry, S.R., et al., 1992. Rapid automated algorithm for aligning and reslicing PET images. J. Comput. Assist. Tomogr. 16 (4), 620 – 633. Woods, R.P., Iacoboni, M., et al., 1994. Brief report: bilateral spreading cerebral hypoperfusion during spontaneous migraine headache. N. Engl. J. Med. 331 (25), 1689 –1692. Woods, R.P., Grafton, S.T., et al., 1998a. Automated image registration: I. General methods and intrasubject, intramodality validation. J. Comput. Assist. Tomogr. 22 (1), 139 –152. Woods, R.P., Grafton, S.T., et al., 1998b. Automated image registration: II. Intersubject validation of linear and nonlinear models. J. Comput. Assist. Tomogr. 22 (1), 153–165. Woods, R.P., Dapretto, M., et al., 1999. Creation and use of a Talairachcompatible atlas for accurate, automated, nonlinear intersubject registration, and analysis of functional imaging data. Hum. Brain Mapp. 8 (2–3), 73–79. Worsley, K.J., Friston, K.J., 1995. Analysis of fMRI time-series revisitedagain. NeuroImage 2 (3), 173–181. Worsley, K.J., Cao, J., et al., 1998. Applications of random field theory to functional connectivity. Hum. Brain Mapp. 6 (5– 6), 364 –367. Wright, I.C., McGuire, P.K., et al., 1995. A voxel-based method for the statistical analysis of gray and white matter density applied to schizophrenia. NeuroImage 2 (4), 244 –252. Zeineh, M.M., Engel, S.A., et al., 2001. Unfolding the human hippocampus with high resolution structural and functional MRI. Anat. Rec. 265 (2), 111–120. Zhang, Y., Brady, M., et al., 2001. Segmentation of brain MR images through a hidden Markov random field model and the expectationmaximization algorithm. IEEE Trans. Med. Imaging 20 (1), 45–57. Zilles, K., Qu, M.S., 1991. Neurotransmitter receptors and cortical architecture. J. Hirnforsch. 32 (3), 343–356.
© Copyright 2026 Paperzz