[Insight-developers] Doxygen grouping
Luis Ibanez
ibanez@choroid.cs.unc.edu
Fri, 11 May 2001 17:17:11 -0400 (EDT)
Hi,
Here is the way that grouping can be done in Doxygen.
Doxygen allows to create categories for grouping things
together. These groupes are called "Modules".
Some modules are defined by default, among them:
- namespaces
- classes
- functions
- variables
In addition to them, we can create a hierarchy of modules.
Let's say:
1. Algorithms
1.1 Segmentation Algorithms
1.1.1 pixel based
1.1.2 shape based
1.2 Registration Algorithms
1.2.1 ImageToImage
1.2.2 PointSetToImage
and any other hierarchy.
Then, each class can be tagged to indicate its belonging
to a particular group (module).
This is how it can be done:
1) first create the groups:
command to use: \defgroup <name> (description)
the name has to be a single word.
example:
\defgroup Algorithms "Magnificent and Well debugged Algorithms"
2) the group command has a coupling terminator: \endgroup
3) to create hierarchies, \defgroup command should be nested
like:
\defgroup Algorithms "The Best Algorithms you'll ever see"
\defgroup Segmentation "Segmentation Algorithms"
\defgroup PixelBased "Pixel Based Segmentation Algorithms"
\endgroup
\defgroup ShapeBased "Shape Based Segmentation Algorithms"
\endgroup
\endgroup
\defgroup Registration "Registration Algorithms that almost converge"
\defgroup ImageToImage "Algorithms for registering images"
\endgroup
\defgroup PointSetToImage "Algorith for registering PointSets"
\endgroup
\endgroup
\endgroup
The indentation is done only to improve readability...
4) in particular classes (or any documented object, eg. a function)
the command \ingroup indicates to which groups this class belongs
the format is :
\ingroup ( <groupname> [ <groupname> <groupname> ] )
example:
\ingroup Algorithms RunningCode PleaseDebuggMe
That will associate both, in particular pages.
-------------------
here are some other doxygen command that could be helpful :
\addtoindex (text) add "text" to the latex index
\anchor (label)
\ref (label) anchor sets a label on the text
that can be referenced from other
place using \ref.
\deprecated We should enforce this one....
I guess that a particular page with
deprecated methods is generated
--
Luis Ibanez CB#: 7060
Research Assistan Professor phone: (919) 843 6941
Division of Neurosurgery fax: (919) 966 6627
University of North Carolina at Chapel Hill email: ibanez@cs.unc.edu
Chapel Hill, NC 27599-7060 http://www.cs.unc.edu/~ibanez