Doxygen

This page is for notes on using Doxygen to document the Freesurfer source code.

Doxygen, http://www.stack.nl/~dimitri/doxygen/index.html, is a documentation system for C++, C, Java, and some other weird languages. It can generate html docs documenting a projects source code, by either extracting special tags from the source code (put there by people wanting to make use of doxygen), or doxygen attempts to build documentation from existing source.

Doxygen seems to be installed on the NMR systems, type:

doxygen --version

Step 1 in using doxygen is the creation of a config file. A default is created by typing:

doxygen -g

which creates a file called Doxygen.

For Freesurfer, a config file called Doxygen has been created and commited to CVS, and appears at the root directory after a CVS update.

The defaults that have been changed are the following:

20c20
< PROJECT_NAME           = FreeSurfer
---
> PROJECT_NAME           =
33c33
< OUTPUT_DIRECTORY       = ./doxygen
---
> OUTPUT_DIRECTORY       =
189c189
< OPTIMIZE_OUTPUT_FOR_C  = YES
---
> OPTIMIZE_OUTPUT_FOR_C  = NO
462c462
< INPUT                  = utils
---
> INPUT                  =
471c471
< FILE_PATTERNS          = *.c *.cpp *.h
---
> FILE_PATTERNS          =
477c477
< RECURSIVE              = YES
---
> RECURSIVE              = NO
489c489
< EXCLUDE_SYMLINKS       = YES
---
> EXCLUDE_SYMLINKS       = NO

These changes are preliminary. Notice just the utils directory is marked to be processed. Because virtually none of the freesurfer source files have any doxygen tags, the html output produced by doxygen is mostly useless junk, or missing vast numbers of file.

To generate the html and latex docs, where $FSDEV is your CVS dev dir, type:

cd $FSDEV
doxygen

The docs are put in the ./doxygen directory.