diff --git a/Doxyfile b/Doxyfile
index b0f79fb4c..f47105fcc 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -228,7 +228,23 @@ TAB_SIZE = 4
# "Side Effects:". You can put \n's in the value part of an alias to insert
# newlines.
-ALIASES =
+## Add nice shorthand for code comments
+## https://mcss.mosra.cz/documentation/doxygen/#code-highlighting
+ALIASES += \
+ "cb{1}=@code{\1}" \
+ "ce=@endcode" \
+ "cpp=@code{.cpp}" \
+ "cmake=@code{.cmake}" \
+ "m_div{1}=@xmlonly@endxmlonly" \
+ "m_enddiv=@xmlonly@endxmlonly" \
+ "m_span{1}=@xmlonly@endxmlonly" \
+ "m_endspan=@xmlonly@endxmlonly" \
+ "m_class{1}=@xmlonly@endxmlonly" \
+ "m_footernavigation=@xmlonly@endxmlonly" \
+ "m_examplenavigation{2}=@xmlonly@endxmlonly" \
+ "m_keywords{1}=@xmlonly@endxmlonly" \
+ "m_keyword{3}=@xmlonly@endxmlonly" \
+ "m_enum_values_as_keywords=@xmlonly@endxmlonly"
# This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class"
@@ -416,13 +432,13 @@ LOOKUP_CACHE_SIZE = 0
# normally produced when WARNINGS is set to YES.
# The default value is: NO.
-EXTRACT_ALL = YES
+EXTRACT_ALL = NO
# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will
# be included in the documentation.
# The default value is: NO.
-EXTRACT_PRIVATE = YES
+EXTRACT_PRIVATE = NO
# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal
# scope will be included in the documentation.
@@ -604,19 +620,19 @@ STRICT_PROTO_MATCHING = NO
# list. This list is created by putting \todo commands in the documentation.
# The default value is: YES.
-GENERATE_TODOLIST = YES
+GENERATE_TODOLIST = NO
# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test
# list. This list is created by putting \test commands in the documentation.
# The default value is: YES.
-GENERATE_TESTLIST = YES
+GENERATE_TESTLIST = NO
# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug
# list. This list is created by putting \bug commands in the documentation.
# The default value is: YES.
-GENERATE_BUGLIST = YES
+GENERATE_BUGLIST = NO
# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO)
# the deprecated list. This list is created by putting \deprecated commands in
@@ -647,14 +663,14 @@ MAX_INITIALIZER_LINES = 30
# list will mention the files that were used to generate the documentation.
# The default value is: YES.
-SHOW_USED_FILES = YES
+SHOW_USED_FILES = NO
# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This
# will remove the Files entry from the Quick Index and from the Folder Tree View
# (if specified).
# The default value is: YES.
-SHOW_FILES = YES
+SHOW_FILES = NO
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
# page. This will remove the Namespaces entry from the Quick Index and from the
@@ -811,7 +827,7 @@ RECURSIVE = YES
# Note that relative paths are relative to the directory from which doxygen is
# run.
-EXCLUDE = ov_core/src/utils/CLI11.hpp
+EXCLUDE =
# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
# directories that are symbolic links (a Unix file system feature) are excluded
@@ -827,7 +843,7 @@ EXCLUDE_SYMLINKS = NO
# Note that the wildcards are matched against the file with absolute path, so to
# exclude all test directories for example use the pattern */test/*
-EXCLUDE_PATTERNS =
+EXCLUDE_PATTERNS = */doxygen_generated/* */catkin_generated/* */cmake-build-debug/* */plot/* .github .idea
# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
# (namespaces, classes, functions, etc.) that should be excluded from the
@@ -864,7 +880,8 @@ EXAMPLE_RECURSIVE = NO
# that contain images that are to be included in the documentation (see the
# \image command).
-IMAGE_PATH = docs/ \
+IMAGE_PATH = ./ \
+ docs/ \
docs/img/ \
docs/youtube/
@@ -1630,7 +1647,7 @@ COMPACT_LATEX = NO
# The default value is: a4.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-PAPER_TYPE = a4
+PAPER_TYPE = letter
# The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names
# that should be included in the LaTeX output. The package can be specified just
@@ -1642,7 +1659,7 @@ PAPER_TYPE = a4
# If left blank no extra packages will be included.
# This tag requires that the tag GENERATE_LATEX is set to YES.
-EXTRA_PACKAGES = {amsmath,amssymb,stmaryrd,xcolor}
+EXTRA_PACKAGES = amsmath,amssymb,stmaryrd,xcolor
# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the
# generated LaTeX document. The header should contain everything until the first
@@ -2171,7 +2188,7 @@ DOT_FONTPATH =
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-CLASS_GRAPH = YES
+CLASS_GRAPH = NO
# If the COLLABORATION_GRAPH tag is set to YES then doxygen will generate a
# graph for each documented class showing the direct and indirect implementation
@@ -2180,14 +2197,14 @@ CLASS_GRAPH = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-COLLABORATION_GRAPH = YES
+COLLABORATION_GRAPH = NO
# If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for
# groups, showing the direct groups dependencies.
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-GROUP_GRAPHS = YES
+GROUP_GRAPHS = NO
# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and
# collaboration diagrams in a style similar to the OMG's Unified Modeling
@@ -2225,7 +2242,7 @@ TEMPLATE_RELATIONS = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-INCLUDE_GRAPH = YES
+INCLUDE_GRAPH = NO
# If the INCLUDED_BY_GRAPH, ENABLE_PREPROCESSING and SEARCH_INCLUDES tags are
# set to YES then doxygen will generate a graph for each documented file showing
@@ -2234,7 +2251,7 @@ INCLUDE_GRAPH = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-INCLUDED_BY_GRAPH = YES
+INCLUDED_BY_GRAPH = NO
# If the CALL_GRAPH tag is set to YES then doxygen will generate a call
# dependency graph for every global function or class method.
@@ -2265,7 +2282,7 @@ CALLER_GRAPH = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-GRAPHICAL_HIERARCHY = YES
+GRAPHICAL_HIERARCHY = NO
# If the DIRECTORY_GRAPH tag is set to YES then doxygen will show the
# dependencies a directory has on other directories in a graphical way. The
@@ -2274,7 +2291,7 @@ GRAPHICAL_HIERARCHY = YES
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
-DIRECTORY_GRAPH = YES
+DIRECTORY_GRAPH = NO
# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
# generated by dot. For an explanation of the image formats see the section
diff --git a/Doxyfile-mcss b/Doxyfile-mcss
index da1db0c85..21d67ef93 100644
--- a/Doxyfile-mcss
+++ b/Doxyfile-mcss
@@ -9,29 +9,10 @@ HTML_EXTRA_STYLESHEET = \
docs/css/custom.css
-
## No need to expose to-do list or bug list in public docs.
GENERATE_TODOLIST = NO
GENERATE_BUGLIST = NO
-## Add nice shorthand for code comments
-## https://mcss.mosra.cz/documentation/doxygen/#code-highlighting
-ALIASES += \
- "cb{1}=@code{\1}" \
- "ce=@endcode" \
- "cpp=@code{.cpp}" \
- "cmake=@code{.cmake}" \
- "m_div{1}=@xmlonly@endxmlonly" \
- "m_enddiv=@xmlonly@endxmlonly" \
- "m_span{1}=@xmlonly@endxmlonly" \
- "m_endspan=@xmlonly@endxmlonly" \
- "m_class{1}=@xmlonly@endxmlonly" \
- "m_footernavigation=@xmlonly@endxmlonly" \
- "m_examplenavigation{2}=@xmlonly@endxmlonly" \
- "m_keywords{1}=@xmlonly@endxmlonly" \
- "m_keyword{3}=@xmlonly@endxmlonly" \
- "m_enum_values_as_keywords=@xmlonly@endxmlonly"
-
##! M_THEME_COLOR = #2f73a3
##! M_FAVICON = docs/img/favicon-light.png
diff --git a/ReadMe.md b/ReadMe.md
index bf45671c3..3ed2949fa 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -115,14 +115,30 @@ details on what the system supports.
## Demo Videos
-[![](docs/youtube/KCX51GvYGss.jpg)](http://www.youtube.com/watch?v=KCX51GvYGss "OpenVINS - EuRoC MAV Vicon Rooms Flyby")
-[![](docs/youtube/Lc7VQHngSuQ.jpg)](http://www.youtube.com/watch?v=Lc7VQHngSuQ "OpenVINS - TUM VI Datasets Flyby")
-[![](docs/youtube/vaia7iPaRW8.jpg)](http://www.youtube.com/watch?v=vaia7iPaRW8 "OpenVINS - UZH-FPV Drone Racing Dataset Flyby")
-[![](docs/youtube/MCzTF9ye2zw.jpg)](http://www.youtube.com/watch?v=MCzTF9ye2zw "OpenVINS - KAIST Urban 39 Dataset Demonstration")
-
-[![](docs/youtube/187AXuuGNNw.jpg)](http://www.youtube.com/watch?v=187AXuuGNNw "OpenVINS - EuRoC MAV Vicon Rooms Demonstration")
-[![](docs/youtube/oUoLlrFryk0.jpg)](http://www.youtube.com/watch?v=oUoLlrFryk0 "OpenVINS - TUM VI Datasets Demostration")
-[![](docs/youtube/ExPIGwORm4E.jpg)](http://www.youtube.com/watch?v=ExPIGwORm4E "OpenVINS - UZH-FPV Drone Racing Dataset Demonstration")
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## Credit / Licensing
diff --git a/docs/dev-docs.dox b/docs/dev-docs.dox
index 88614af1b..cee9ad98a 100644
--- a/docs/dev-docs.dox
+++ b/docs/dev-docs.dox
@@ -4,6 +4,24 @@
@page dev-docs Documentation Guide
+@section developers-pdfmanual Building the Latex PDF Reference Manual
+
+1. You will need to install doxygen and texlive with all packages
+ - `sudo apt-get update`
+ - `sudo apt-get install doxygen texlive-full`
+ - You will likely need new version of [doxygen](https://stackoverflow.com/a/50986638/7718197) 1.9.4 to fix ghostscript errors
+2. Go into the project folder and generate latex files
+ - `cd open_vins/`
+ - `doxygen`
+ - This should run, and will stop if there are any latex errors
+ - On my Ubuntu 20.04 this installs version "2019.20200218"
+3. Generate a PDF from the latex files
+ - `cd doxgen_generated/latex/`
+ - `make`
+ - File should be called `refman.pdf`
+
+
+
@section developers-addpage Adding a Website Page
1. Add a `doc/pagename.dox` file, copy up-to-date license header.
@@ -17,7 +35,6 @@
@section latex Math / Latex Equations
-
- More details on how to format your documentation can be found here:
- http://www.doxygen.nl/manual/formulas.html
- https://mcss.mosra.cz/css/components/#math
@@ -77,16 +94,5 @@
- Use the command line utility `iperender` to convert into a svg
- `iperender -svg -transparent file.ipe file.svg`
-@section developers-pdfmanual Building the PDF Reference Manual
-1. You will need to install doxygen and texlive
- - `sudo apt-get update`
- - `sudo apt-get install doxygen texlive-full`
-2. Go into the project folder and generate
- - `cd PATHTO/open_vins`
- - `doxygen`
-3. Go into the generated latex folder and build
- - `cd open_vins/doxgen_generated/latex`
- - `make`
-4. Open the PDF file `/open_vins/doxgen_generated/latex/refman.pdf` to view documentation
*/
\ No newline at end of file
diff --git a/ov_core/src/cpi/CpiBase.h b/ov_core/src/cpi/CpiBase.h
index 0dc6c60bb..a18ffab5a 100644
--- a/ov_core/src/cpi/CpiBase.h
+++ b/ov_core/src/cpi/CpiBase.h
@@ -29,10 +29,6 @@
#include "utils/quat_ops.h"
#include
-/**
- * @namespace ov_core
- * @brief Core algorithms for Open VINS
- */
namespace ov_core {
/**
diff --git a/ov_core/src/dummy.cpp b/ov_core/src/dummy.cpp
index 32ca7eaa7..df23dd05b 100644
--- a/ov_core/src/dummy.cpp
+++ b/ov_core/src/dummy.cpp
@@ -21,6 +21,7 @@
/**
* @namespace ov_core
+ * @brief Core algorithms for OpenVINS
*
* This has the core algorithms that all projects within the OpenVINS ecosystem leverage.
* The purpose is to allow for the reuse of code that could be shared between different localization systems (i.e. msckf-based, batch-based,
@@ -44,6 +45,7 @@ namespace ov_core {}
/**
* @namespace ov_type
+ * @brief Dynamic type system types
*
* Types leveraged by the EKF system for covariance management.
* These types store where they are in the covariance along with their current estimate.
diff --git a/ov_eval/src/dummy.cpp b/ov_eval/src/dummy.cpp
index d325bb8b8..ce7a2eae1 100644
--- a/ov_eval/src/dummy.cpp
+++ b/ov_eval/src/dummy.cpp
@@ -21,6 +21,7 @@
/**
* @namespace ov_eval
+ * @brief Evaluation and recording utilities
*
* This project contains the key evaluation and research scripts for localization methods.
* These come from the necessity of trying to quantify the accuracy of the estimated trajectory while
diff --git a/ov_init/src/dummy.cpp b/ov_init/src/dummy.cpp
index bc181886d..101e0111a 100644
--- a/ov_init/src/dummy.cpp
+++ b/ov_init/src/dummy.cpp
@@ -21,6 +21,7 @@
/**
* @namespace ov_init
+ * @brief State initialization code
*
* Right now this contains static initialization code for a visual-inertial system.
* It will wait for the platform to stationary, and then initialize its orientation in the gravity frame.
diff --git a/ov_msckf/src/dummy.cpp b/ov_msckf/src/dummy.cpp
index 60eb052b5..11a71a595 100644
--- a/ov_msckf/src/dummy.cpp
+++ b/ov_msckf/src/dummy.cpp
@@ -21,6 +21,7 @@
/**
* @namespace ov_msckf
+ * @brief Extended Kalman Filter estimator
*
* This is an implementation of a [Multi-State Constraint Kalman Filter (MSCKF)](https://ieeexplore.ieee.org/document/4209642) @cite
* Mourikis2007ICRA which leverages inertial and visual feature information. We want to stress that this is **not** a "vanilla"