Skip to content

Commit

Permalink
DOC: Use Doxygen automatic class links in module descriptions
Browse files Browse the repository at this point in the history
Use Doxygen automatic class links in module descriptions: use qualified
class names, and take advantage of the commit to fix the spelling of
some class names.

Fix the `itk::QuadEdgeMeshFunctionBase` class name in its Doxygen class
documentation so that the
- class detailed description is displayed correctly in the ITK Doxygen
  documentation,
- links in the module descriptions point to the proper class
  • Loading branch information
jhlegarreta authored and dzenanz committed Sep 26, 2022
1 parent 4b5842f commit c139163
Show file tree
Hide file tree
Showing 11 changed files with 34 additions and 31 deletions.
4 changes: 2 additions & 2 deletions CMake/ITKGroups.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ set(group_list

set(Core_documentation "This group of modules contain the toolkit framework used
by other modules. There are common base classes for data objects and process
objects, basic data structures such as Image, Mesh, QuadEdgeMesh, and
SpatialObjects, and common functionality for operations such as finite
objects, basic data structures such as itk::Image, itk::Mesh, itk::QuadEdgeMesh, and
ik::SpatialObject, and common functionality for operations such as finite
differences, image adaptors, or image transforms.")

set(Compatibility_documentation "This group contains modules that ease the transition to ITKv4 and Deprecated classes.")
Expand Down
9 changes: 5 additions & 4 deletions Modules/Core/Common/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
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
toolkit. They include, basic data structures \(such as points, vectors,
images, regions: itk::Point, itk::Vector, itk::Image, itk::Region)
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.")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@
namespace itk
{
/**
* \class MeshFunctionBase
* \class QuadEdgeMeshFunctionBase
* \ingroup QEMeshModifierFunctions
* \brief Base class for mesh function object modifiers.
*
* MeshFunctionBase is the base class for itkQE function objects specialised
* QuadEdgeMeshFunctionBase is the base class for itkQE function objects specialised
* in Mesh "small" (reduced in range) modification.
* Subclasses of itk::FunctionBase cannot modify their InputType since
* the signature of their Evaluate( const InputType& ) method guarantees it.
Expand All @@ -39,8 +39,8 @@ namespace itk
* But for small modifications (think of the Euler operators) that an
* algorithm needs to apply many times, this systematic duplication can
* be daunting.
* MeshFunctionBase thus offers a lightweight alternative to itk Filter.
* Subclasses of MeshFunctionBase, which should override Evaluate(), are
* QuadEdgeMeshFunctionBase thus offers a lightweight alternative to itk Filter.
* Subclasses of QuadEdgeMeshFunctionBase, which should override Evaluate(), are
* function objects that apply reduced and localised modifications
* (geometry, or connectivity) on the InputType mesh.
*
Expand Down
13 changes: 7 additions & 6 deletions Modules/Core/QuadEdgeMesh/itk-module.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -36,21 +36,22 @@ But itk::FunctionBase could not be inherited since its
itk::FunctionBase::Evaluate method promises to leave its argument (the mesh we
want to modify in our case) untouched.
Hence the itk::MeshFunctionBase class was created whose main difference with
itk::FunctionBase is that its itk::MeshFunctionBase::Evaluate method allows
to modify the considered mesh.
Hence the itk::QuadEdgeMeshFunctionBase class was created whose main
difference with itk::FunctionBase is that its
itk::QuadEdgeMeshFunctionBase::Evaluate method allows to modify the considered
mesh.
When considering a new QuadEdgeMesh method there are four possible \"slots\"
to implement it:
- The QuadEdgeMesh method.
- The itk::QuadEdgeMesh class.
- A derived class from itk::FunctionBase when the method leaves the mesh
constant.
- A derived class from itk::MeshFunctionBase when the method modifies the
- A derived class from itk::QuadEdgeMeshFunctionBase when the method modifies the
mesh (typically in the case of Euler operators).
- As a classic ITKMesh filter.
The choice of the slot is a mere matter of trade-off and in order to keep
QuadEdgeMesh tiny and humanly readable key decision factors can be the
itk::QuadEdgeMesh tiny and humanly readable key decision factors can be the
occurrence of the calls and the human level complexity of the code.
With those criteria in mind the following choices were made:
Expand Down
4 changes: 2 additions & 2 deletions Modules/Core/SpatialObjects/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
set(DOCUMENTATION "SpatialObjects are intended to represent regions in space.
The basic functionality of a SpatialObject is to answer the question of
whether a physical point is inside or outside of the SpatialObject. They are
The basic functionality of an itk::SpatialObject is to answer the question of
whether a physical point is inside or outside of the itk::SpatialObject. They are
commonly used for representing masks in an analytical form, as well as
approximations of shape by combining them into hierarchical structures similar
to scene graphs.")
Expand Down
2 changes: 1 addition & 1 deletion Modules/Filtering/FastMarching/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
set(DOCUMENTATION "This module contains implementations of generalized versions
of the Fast Marching filter. These implementations cover the use of Fast
Marching in both itk::Images and itk::QuadEdgeMeshes.")
Marching in both itk::Image and itk::QuadEdgeMesh objects.")

itk_module(ITKFastMarching
ENABLE_SHARED
Expand Down
10 changes: 5 additions & 5 deletions Modules/IO/ImageBase/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
set(DOCUMENTATION "This module contains base classes for IO, helper classes for
IO, and classes that function as an ImageSource in an ITK pipeline. Classes for
IO, and classes that function as an ImageSource in an ITK pipeline. Classes for
specific file formats, found in other modules in the IO group, should inherit
from ImageIOBase or StreamingImageIOBase. For an image source or sink in the ITK
from itk::ImageIOBase or itk::StreamingImageIOBase. For an image source or sink in the ITK
pipeline that handles all available file formats, see ImageFileReader,
ImageFileWriter, ImageSeriesReader, or ImageSeriesWriter. Convenience classes
for reading series of files include ArchetypeSeriesFileNames,
NumericSeriesFileNames, and RegularExpressionSeriesFileNames.")
itk::ImageFileWriter, itk::ImageSeriesReader, or itk::ImageSeriesWriter. Convenience classes
for reading series of files include itk::ArchetypeSeriesFileNames,
itk::NumericSeriesFileNames, and itk::RegularExpressionSeriesFileNames.")

itk_module(ITKIOImageBase
ENABLE_SHARED
Expand Down
8 changes: 4 additions & 4 deletions Modules/IO/MeshBase/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
set(DOCUMENTATION "This module contains base classes for IO, helper classes for
IO, and classes that function as an MeshSource in an ITK pipeline. Classes for
IO, and classes that function as an itk::MeshSource in an ITK pipeline. Classes for
specific file formats, found in other modules in the IO group, should inherit
from MeshIOBase. For a mesh source or sink in the ITK
pipeline that handles all available file formats, see MeshFileReader,
or MeshFileWriter.")
from itk::MeshIOBase. For a mesh source or sink in the ITK
pipeline that handles all available file formats, see itk::MeshFileReader,
or itk::MeshFileWriter.")

itk_module(ITKIOMeshBase
ENABLE_SHARED
Expand Down
2 changes: 1 addition & 1 deletion Modules/Numerics/Statistics/itk-module.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ statistical algorithms, and a classification for general statistical analysis
and classification problems. This includes, for examples, classes for
calculating histograms, calculating sample statistics, creating decision rules,
or for performing statistical pattern classification. Statistics are calculated
on a Sample, which contains MeasurementVector's.")
on an itk::Sample, which contains measurement vectors.")

itk_module(ITKStatistics
ENABLE_SHARED
Expand Down
3 changes: 2 additions & 1 deletion Modules/Video/Core/itk-module.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ set(DOCUMENTATION "This module contains base classes for processing data that
possesses a temporal element. The classes contained in this module extend the
traditional data object and process objects to handle time properly and also
contain convenience classes for passing temporal regions and dealing with ITK
images over time in the form of VideoStreams and VideoToVideoFilters.")
images over time in the form of itk::VideoStream and itk::VideoToVideoFilter
objects.")

itk_module(ITKVideoCore
ENABLE_SHARED
Expand Down
2 changes: 1 addition & 1 deletion Modules/Video/IO/itk-module.cmake
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
set(DOCUMENTATION "This module contains the basic framework for Video IO as
well as the FileListIO mechanism that does not depend on any outside
well as the itk::FileListVideoIO mechanism that does not depend on any outside
libraries.")

itk_module(ITKVideoIO
Expand Down

0 comments on commit c139163

Please sign in to comment.