doxygen. links
TRANSCRIPT
![Page 1: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/1.jpg)
Doxygen
![Page 2: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/2.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/3.jpg)
Documentation Generation
• Requirements:– Doxygen– Dot (recommended)– LaTeX
• it is not tested if installed (=> JIRA)
![Page 4: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/4.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/5.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/6.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/7.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/8.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/9.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/10.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/11.jpg)
Module Documentation
• For each class in ITK, the Module Name MUST be provided
\ingroup ITK-Common
• If not => Test failure
![Page 12: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/12.jpg)
Crowd Sourcing
• Online editing of doxygen documentation– To be connected (Kitware) (=>JIRA)
• Wiki Examples
![Page 13: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/13.jpg)
Wiki Examples
• Automated script which add links in header files
\wiki
\wikiexample{SimpleOperations/SetPixels,Set specified pixels to specified values}
\endwiki
![Page 14: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/14.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/15.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/16.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/17.jpg)
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. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/18.jpg)
Few Commands
• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup
\return Description of the return value
![Page 19: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/19.jpg)
Few Commands
• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup
\code
typedef itk::Image< unsigned char, 2 > ImageType;
…
\endcode
![Page 20: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/20.jpg)
Few Commands
• \class• \brief• \tparam• \param• \return• \code• \li• \sa• \ingroup
![Page 21: Doxygen. Links](https://reader036.vdocument.in/reader036/viewer/2022062223/5514c107550346b0478b47b0/html5/thumbnails/21.jpg)
Tweaks (needs)
• Font Size
• Font
• etc.
• Firefox with Firebug extension (consensus)