1 / 21

Doxygen

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

Download Presentation

Doxygen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Doxygen

  2. 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

  3. Documentation Generation • Requirements: • Doxygen • Dot (recommended) • LaTeX • it is not tested if installed (=> JIRA)

  4. 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

  5. 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 all • at first generate all html pages (single threaded) • From *.h • generate all graphs (multi threaded and use all core on your machines)

  6. 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)

  7. 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)

  8. Errors / Warnings • Doxygen can • Fail (rare) • Warn about inconsistencies!! • Nightly Dashboard • Check snapper.megason-lab.hms • All doxygen warnings appear as a single 1 

  9. 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.”)

  10. 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 generation of a dependency graph image Description of a module

  11. Module Documentation • For each class in ITK, the Module Name MUST be provided \ingroup ITK-Common • If not => Test failure

  12. Crowd Sourcing • Online editing of doxygen documentation • To be connected (Kitware) (=>JIRA) • Wiki Examples

  13. Wiki Examples •  Automated script which add links in header files \wiki \wikiexample{SimpleOperations/SetPixels,Set specified pixels to specified values} \endwiki

  14. 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

  15. Few Commands • \class • \brief • \tparam • \param • \return • \code • \li • \sa • \ingroup \class Image \briefTemplatedn-dimensional image class. \tparamTPixel Pixel Type \tparamVImageDimension Image Dimension template< class TPixel, unsigned intVImageDimension > class Image

  16. 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

  17. Few Commands • \class • \brief • \tparam • \param • \return • \code • \li • \sa • \ingroup \param[in] Parameter description \param[out] Parameter description \param[in,out] Parameter description

  18. Few Commands • \class • \brief • \tparam • \param • \return • \code • \li • \sa • \ingroup \return Description of the return value

  19. Few Commands • \class • \brief • \tparam • \param • \return • \code • \li • \sa • \ingroup \code typedef itk::Image< unsigned char, 2 > ImageType; … \endcode

  20. Few Commands • \class • \brief • \tparam • \param • \return • \code • \li • \sa • \ingroup

  21. Tweaks (needs) • Font Size • Font • etc. • Firefox with Firebug extension (consensus)

More Related