Commit 83ae8d45 authored by David Frank's avatar David Frank
Browse files

Silence documentation warnings, minor improvments to docs

Some styling choises of our in-code documentation just doesn't looks
nice in the output of the docs. Here, I've mostly fixed the '@author'
tag. Instead of having each author in their own tag, just have the tag
and then a list starting in the next line.
parent d440f6fb
Pipeline #788690 passed with stages
in 20 minutes and 45 seconds
......@@ -77,6 +77,8 @@ Expression
Utilities
----------
=========
.. doxygenclass:: elsa::Badge
.. doxygenfile:: Statistics.hpp
......@@ -26,12 +26,12 @@ Huber
.. doxygenclass:: elsa::Huber
Constraint
======
==========
.. doxygenclass:: elsa::Constraint
L0PseudoNorm
======
============
.. doxygenclass:: elsa::L0PseudoNorm
......@@ -69,4 +69,4 @@ EmissionLogLikelihood
TransmissionLogLikelihood
=========================
.. doxygenclass:: elsa::TransmissionLogLikelihood
\ No newline at end of file
.. doxygenclass:: elsa::TransmissionLogLikelihood
......@@ -19,7 +19,7 @@ CircleTrajectoryGenerator
SphereTrajectoryGenerator
=========================
.. doxygenclass:: elsa::CircleTrajectoryGenerator
.. doxygenclass:: elsa::SphereTrajectoryGenerator
Implementation Details
......
......@@ -35,16 +35,16 @@ LASSOProblem
.. doxygenclass:: elsa::LASSOProblem
SplittingProblem
============
================
.. doxygenclass:: elsa::SplittingProblem
SubsetProblem
============
=============
.. doxygenclass:: elsa::SubsetProblem
WLSSubsetProblem
============
================
.. doxygenclass:: elsa::WLSSubsetProblem
.. _elsa-solvers-api:
***********
****************
elsa solvers API
***********
****************
.. contents:: Table of Contents
......@@ -17,28 +17,28 @@ CG
.. doxygenclass:: elsa::CG
Iterative Shrinkage-Thresholding Algorithm
====
==========================================
.. doxygenclass:: elsa::ISTA
Fast Iterative Shrinkage-Thresholding Algorithm
=====
===============================================
.. doxygenclass:: elsa::FISTA
Alternating Direction Method of Multipliers
=====
===========================================
.. doxygenclass:: elsa::ADMM
SQS Ordered Subsets
===============
===================
.. doxygenclass:: elsa::SQS
Orthogonal Matching Pursuit
===============
===========================
.. doxygenclass:: elsa::OrthogonalMatchingPursuit
......
......@@ -24,18 +24,19 @@ namespace elsa
/**
* @brief class representing and storing a linearized n-dimensional signal
*
* @author Matthias Wieczorek - initial code
* @author Tobias Lasser - rewrite, modularization, modernization
* @author David Frank - added DataHandler concept, iterators
* @author Nikola Dinev - add block support
* @author Jens Petit - expression templates
* @author Jonas Jelten - various enhancements, fft, complex handling, pretty formatting
*
* @tparam data_t - data type that is stored in the DataContainer, defaulting to real_t.
*
* This class provides a container for a signal that is stored in memory. This signal can
* be n-dimensional, and will be stored in memory in a linearized fashion. The information
* on how this linearization is performed is provided by an associated DataDescriptor.
*
* @tparam data_t data type that is stored in the DataContainer, defaulting to real_t.
*
* @author
* - Matthias Wieczorek - initial code
* - Tobias Lasser - rewrite, modularization, modernization
* - David Frank - added DataHandler concept, iterators
* - Nikola Dinev - add block support
* - Jens Petit - expression templates
* - Jonas Jelten - various enhancements, fft, complex handling, pretty formatting
*/
template <typename data_t>
class DataContainer
......@@ -367,7 +368,10 @@ namespace elsa
/// of 1 in the last dimension (i.e. the coefficient of the last dimension is 1)
const DataContainer<data_t> slice(index_t i) const;
/// @overload non-canst/read-write overload
/// @brief Slice the container in the last dimension, non-const overload
///
/// @overload
/// @see slice(index_t) const
DataContainer<data_t> slice(index_t i);
/// iterator for DataContainer (random access and continuous)
......
......@@ -9,7 +9,10 @@
namespace elsa
{
/// Calculate mean and standard deviation of a container
/// @brief Calculate mean and standard deviation of a container
/// @param v Any container, such as `std::vector`
/// @tparam Container Container type of argument (e.g. `std::vector`)
/// @return a pair of mean and standard deviation (of type `Conatiner::value_type`)
template <typename Container>
constexpr auto calculateMeanStddev(Container v)
-> std::pair<typename Container::value_type, typename Container::value_type>
......@@ -37,8 +40,8 @@ namespace elsa
* @brief Compute the 95% confidence interval for a given number of samples `n`
* and the mean and standard deviation of the measurements.
*
* Compute it as \f$[mean - c(n) * stddev, mean + c(n) * stddev]\f$, where
* \f$c(n)\$ is the n-th entry in the two tails T distribution table. For \f$n > 30\f$,
* Compute it as \f$mean - c(n) * stddev, mean + c(n) * stddev\f$, where
* \f$c(n)\f$ is the n-th entry in the two tails T distribution table. For \f$n > 30\f$,
* it is assumed that \f$n = 1.96\f$.
*
* @param n Number of of samples
......
......@@ -16,10 +16,6 @@ namespace elsa
/**
* @brief class to read and write EDF files.
*
* @author Matthias Wieczorek - initial code
* @author Maximilian Hornung - modularization
* @author Tobias Lasser - modernization
*
* Class to handle reading EDF files into DataContainers and writing of DataContainers to EDF
* files.
*
......@@ -28,6 +24,12 @@ namespace elsa
* low-overhead manner.
*
* Please note: we assume little endian byte order.
*
* @author
* - Matthias Wieczorek - initial code
* - Maximilian Hornung - modularization
* - Tobias Lasser - modernization
* - David Frank - istream overloads, improved testability
*/
class EDF
{
......
......@@ -261,6 +261,8 @@ namespace elsa::ml
/// `void(T* data, index_t index)`.
/// The visitor will be applied to every node in a breadth-first
/// traversal. The semantics of the parameter is
/// @param nextVisitor
/// @param stop
///
/// - `data` is the data held by the current node in the traversal
/// - `index` is the index of the current node
......
......@@ -23,7 +23,7 @@
// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
/**
* @file progressbar.hpp
* @file ProgressBar.h
* @brief Implements a progessbar
* @author Prakhar Srivastav <prakhar@prakhar.me>
* @author David Tellenbach <david.tellenbach@in.tum.de>
......
......@@ -49,8 +49,8 @@ namespace elsa
/**
* @brief perform the inverse fourier transformation
* @param x inputData (image matrix in frequency domain)
* @param Atx outputData (inversely fourier transformed image matrix)
* @param y inputData (image matrix in frequency domain)
* @param Aty outputData (inversely fourier transformed image matrix)
*/
void applyAdjointImpl(const DataContainer<data_t>& y,
DataContainer<data_t>& Aty) const override;
......
......@@ -51,7 +51,6 @@ namespace elsa
*
* @param[in] domainDescriptor describing the domain of the operator (the volume)
* @param[in] rangeDescriptor describing the range of the operator (the sinogram)
* @param[in] geometryList vector containing the geometries for the acquisition poses
* @param[in] fast performs fast backward projection if set, otherwise matched; forward
* projection is unaffected
*
......
......@@ -44,7 +44,6 @@ namespace elsa
*
* @param[in] domainDescriptor describing the domain of the operator (the volume)
* @param[in] rangeDescriptor describing the range of the operator (the sinogram)
* @param[in] geometryList vector containing the geometries for the acquisition poses
*
* The domain is expected to be 2 or 3 dimensional (volSizeX, volSizeY, [volSizeZ]),
* the range is expected to be matching the domain (detSizeX, [detSizeY], acqPoses).
......
......@@ -11,7 +11,7 @@ namespace elsa
* efficiently optimize convex functions with Lipschitz-Continuous gradients.
*
* @details
* # Algorithm overview #
* # Nesterov's fast gradient method algorithm overview #
* The algorithm repeats the following update steps for \f$i = 0, \dots, N-1\f$
* \f{align*}{
* y_{i+1} &= x_i - \frac{1}{L} f'(x_i) \\
......@@ -32,7 +32,7 @@ namespace elsa
* In the current implementation, no particular stopping rule is implemented, only a fixed
* number of iterations is used.
*
* ## References ##
* ## FGM References ##
* - Kim, D., Fessler, J.A. _Optimized first-order methods for smooth convex minimization_
(2016) https://doi.org/10.1007/s10107-015-0949-3
*
......
......@@ -13,7 +13,7 @@ namespace elsa
* Method.
*
* @details
* # Algorithm overview #
* # Optimized Gradient method algorithm overview #
* The algorithm repeats the following update steps for \f$i = 0, \dots, N-1\f$
* \f{align*}{
* y_{i+1} &= x_i - \frac{1}{L} f'(x_i) \\
......@@ -32,7 +32,7 @@ namespace elsa
* The presented algorithm accelerates FGM by introducing an additional momentum term, which
* doesn't add a great computational amount.
*
* ## References ##
* ## OGM References ##
* - Kim, D., Fessler, J.A. _Optimized first-order methods for smooth convex minimization_
(2016) https://doi.org/10.1007/s10107-015-0949-3
*
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment