21
Doxygen

Doxygen

Embed Size (px)

DESCRIPTION

Doxygen. Links. http://www.itk.org/Doxygen/html/classes.html http://www.itk.org/Doxygen/html/classitk_1_1Image.html http://www.itk.org/Doxygen/html/modules.html http://www.stack.nl/~dimitri/doxygen/commands.html. Documentation Generation. Requirements: Doxygen Dot (recommended) LaTeX - PowerPoint PPT Presentation

Citation preview

Page 1: Doxygen

Doxygen

Page 2: Doxygen

Links

• http://www.itk.org/Doxygen/html/classes.html• http://www.itk.org/Doxygen/html/classitk_1_1Image.html• http://www.itk.org/Doxygen/html/modules.html• http://www.stack.nl/~dimitri/doxygen/commands.html

Page 3: Doxygen

Documentation Generation

• Requirements:– Doxygen– Dot (recommended)– LaTeX

• it is not tested if installed (=> JIRA)

Page 4: Doxygen

Documentation Generation 

• Process– CMake time

• When scanning modules– generate dot file for each module for dependency

» TODO: use doxygen dot command instead (=>JIRA)

– generate a dox file for each module» each module MUST be documented after keyword

DESCRIPTION in itk_module.cmake» dependency documented

Page 5: Doxygen

Documentation Generation 

• Turn ON BUILD_DOCUMENTATION– Check Doxygen / Dot if are installed– Generate doxygen.config from doxygen.config.in – Create an additional target Documentation which

is added to all

• Make Documentation or make allo at first generate all html pages (single threaded)

o From *.ho generate all graphs (multi threaded and use all core

on your machines)

Page 6: Doxygen

Documentation Generation

• Turn ON BUILD_DOCUMENTATION– Once to generate the configuration file

– Configure & Generate (CMake)

• Turn OFF BUILD_DOCUMENTATION• cd build directory

$ /path/to/source/ITK/Utilities/Maintenance/single-doxygen.sh /path/to/source/ITK/Modules/Core/Common/include

• firefox temp/html/index.html

(=> JIRA)

Page 7: Doxygen

Documentation Generation

• Turn ON BUILD_DOCUMENTATION– Once to generate the configuration file– Configure & Generate (CMake)

• Turn OFF BUILD_DOCUMENTATION• cd build directory

$ /path/to/source/ITK/Utilities/Maintenance/single-doxygen.sh /path/to/source/ITK/Modules/Core/Common/include/itkImage.h

• firefox temp/html/index.html

(=> JIRA)

Page 8: Doxygen

Errors / Warnings

• Doxygen can – Fail (rare)– Warn about inconsistencies!!

• Nightly Dashboard– Check snapper.megason-lab.hms– All doxygen warnings appear as a single 1

Page 9: Doxygen

Module Documentation

set(DOCUMENTATION "This module contains the central classes of the ITK toolkit. They include, basic data structures \(such as Points, Vectors, Images, Regions\) the core of the process objects \(such as base classes for image filters\) the pipeline infrastructure classes, the support for multi-threading, and a collection of classes that isolate ITK from platform specific features. It is anticipated that most other ITK modules will depend on this one.”)

Page 10: Doxygen

Module Documentation

itk_module(ITK-Common

DEPENDS

ITK-VNLInstantiation

ITK-KWSys

TEST_DEPENDS

ITK-TestKernel

ITK-Mesh

ITK-ImageIntensity

ITK-IO-Base

DESCRIPTION

"${DOCUMENTATION}”

)

Automated generationof a dependency graph image

Description of a module

Page 11: Doxygen

Module Documentation

• For each class in ITK, the Module Name MUST be provided

\ingroup ITK-Common

• If not => Test failure

Page 12: Doxygen

Crowd Sourcing

• Online editing of doxygen documentation– To be connected (Kitware) (=>JIRA)

• Wiki Examples

Page 13: Doxygen

Wiki Examples

•  Automated script which add links in header files

\wiki

\wikiexample{SimpleOperations/SetPixels,Set specified pixels to specified values}

\endwiki

Page 14: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\class Image

\brief Templated n-dimensional image class.

\tparam TPixel Pixel Type

\tparam VImageDimension Image Dimension

template< class TPixel,

unsigned int VImageDimension >

class Image

Page 15: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\class Image

\brief Templated n-dimensional image class.

\tparam TPixel Pixel Type

\tparam VImageDimension Image Dimension

template< class TPixel,

unsigned int VImageDimension >

class Image

Page 16: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\class Image

\brief Templated n-dimensional image class.

\tparam TPixel Pixel Type

\tparam VImageDimension Image Dimension

template< class TPixel,

unsigned int VImageDimension >

class Image

Page 17: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\param[in] Parameter description

\param[out] Parameter description

\param[in,out] Parameter description

Page 18: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\return Description of the return value

Page 19: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

\code

typedef itk::Image< unsigned char, 2 > ImageType;

\endcode

Page 20: Doxygen

Few Commands

• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup

Page 21: Doxygen

Tweaks (needs)

• Font Size

• Font

• etc.

• Firefox with Firebug extension (consensus)