Last edit:
06-06-02 Graham Wideman |
FreeSurfer
|
FreeSurfer Process vs Data Files
Article created: 2003-02-03 |
FreeSurfer Data Flow
The following table presents a condensed view of the basic FreeSurfer data flow:
Also available as Excel spreadsheet for prettier
printing.
How to read:
- Left Columns = Process Steps: FreeSurfer provides an environment in
which to work through a series of steps, starting with raw data and eventually
producing a number of useful surfaces. This series of steps is presented in
order in the leftmost column.
- Headings = Directories/Files: The files involved in this process
are listed across the top. The directories are those appearing in the
$FREESURFER/subjects/subjectname/ branch.
A single volume dataset consists of a set of files (typically 256 slices plus
info file). These files are segregated into separate directories for each
volume, so for volumes it is the directory names which are
significant. Surfaces are stored in single files, so these are all contained
in the single surf directory and distinguished by file name.
- Body of Table = File I/O: For each process step (row), the table
shows which files are used as input (I), and which are produced as output (O)
or Rewritten (R).
- Top-Left to Bottom-Right Flow: I've ordered the directories and
files so that there is a basic top-left to bottom-right flow of "I"s and "O"s.
This makes it easier to visually appreciate the general flow of data from raw
to final products.
Additional Notes
- Scripts and Logs: Not documented above is that a number of the programs and scripts also
write some information (such as parameters calculated) into files in the
directories:
$FREESURFER/subjects/subjectname/scripts
$FREESURFER/subjects/subjectname/tmp
$FREESURFER/subjects/subjectname/mri/tmp
...and possibly elsewhere.
- Register Surface involves other input files beyond those shown in
the table above, providing data for the "average" reference surface.
- Flatten: The flattening functionality is not covered in the table
above.
- Other Functionality: FreeSurfer includes other functionality not described in the above basic
process, for example the fs-fast functionality (Functional Analysis Stream).
Source of Information in Table
The input/output information was distilled from the log information captured
in CSurf's window, while running through the entire process from start to
finish. Possible inaccuracies may exist if the logging information produced by
the numerous scripts and programs was incomplete. Time information was recorded
while processing the sample bert data on a 2 GHz P4, 512 MB Linux machine.
Go to:
or back to Understanding FreeSurfer