From d4831be338485f1ad2b4d09d220c508380774086 Mon Sep 17 00:00:00 2001 From: Jordan Cheney Date: Tue, 19 May 2015 17:52:24 -0400 Subject: [PATCH] Close to using stock mkdocs --- docs/docs/api_docs.md | 3 +++ docs/docs/api_docs/cpp_api.md | 8 ++++---- docs/docs/plugin_docs.md | 3 +++ docs/mkdocs.yml | 370 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- docs/scripts/generate_plugin_docs.py | 4 +++- 5 files changed, 200 insertions(+), 188 deletions(-) create mode 100644 docs/docs/api_docs.md create mode 100644 docs/docs/plugin_docs.md diff --git a/docs/docs/api_docs.md b/docs/docs/api_docs.md new file mode 100644 index 0000000..a1ca0f9 --- /dev/null +++ b/docs/docs/api_docs.md @@ -0,0 +1,3 @@ +# API Documentation + +The complete documentation for the API's included in OpenBR. diff --git a/docs/docs/api_docs/cpp_api.md b/docs/docs/api_docs/cpp_api.md index a6307c2..3e3ecea 100644 --- a/docs/docs/api_docs/cpp_api.md +++ b/docs/docs/api_docs/cpp_api.md @@ -6,8 +6,8 @@ The C++ Plugin API is a pluggable API designed to allow the succinct expression The API defines two data structures: -* [File](api_docs/cpp_api/file/file.md)s are typically used to store the path to a file on disk with associated metadata (in the form of key-value pairs). In the example above, we store the rectangles detected by [Cascade](api_docs/plugins/metadata.md#cascadetransform) as metadata which are then used by [Draw](api_docs/plugins/gui.md#drawtransform) for visualization. -* [Template](api_docs/cpp_api/template/template.md)s are containers for images and [File](api_docs/cpp_api/file/file.md)s. Images in OpenBR are OpenCV Mats and are member variables of Templates. Templates can contain one or more images. +* [File](cpp_api/file/file.md)s are typically used to store the path to a file on disk with associated metadata (in the form of key-value pairs). In the example above, we store the rectangles detected by [Cascade](plugins/metadata.md#cascadetransform) as metadata which are then used by [Draw](plugins/gui.md#drawtransform) for visualization. +* [Template](cpp_api/template/template.md)s are containers for images and [File](cpp_api/file/file.md)s. Images in OpenBR are OpenCV Mats and are member variables of Templates. Templates can contain one or more images. ## Plugin Abstractions @@ -17,7 +17,7 @@ Plugin | Function --- | --- [Initializer](cpp_api/initializer/initializer.md) | Initializes shared contexts and variables at the launch of OpenBR. Typically used with third-party plugins. [Transform](cpp_api/transform/transform.md) | The most common plugin type in OpenBR. Provides the basis for algorithms by transforming images or metadata. -[Distance](cpp_api/distance/distance.md) | Used to compute a distance metric between [Template](api_docs/cpp_api/template/template.md)s. +[Distance](cpp_api/distance/distance.md) | Used to compute a distance metric between [Template](cpp_api/template/template.md)s. [Format](cpp_api/format/format.md) | Used for I/O. Formats handle file types that correspond to single objects (e.g. .jpg, .png, etc.). [Gallery](cpp_api/gallery/gallery.md) | Used for I/O. Galleries handle file types that correspond to many objects (e.g. .csv., .xml, etc.). [Output](cpp_api/output/output.md) | Used for I/O. Outputs handle the results of [Distance](cpp_api/distance/distance.md) comparisons. @@ -38,4 +38,4 @@ Plugin | Function As previously mentioned, all plugins in OpenBR are constructed using strings stored as [Files](cpp_api/file/file.md). The construction is done at runtime by a [Factory](cpp_api/factory/factory.md) class[^1]. The [Factory](cpp_api/factory/factory.md) expects strings of the form `PluginName(property1=value1,property2=value2...propertyN=valueN)` (value lists are also permitted). It looks up the `PluginName` in a static registry and builds the plugin if found. The registry is populated using a special macro [BR_REGISTER](cpp_api/factory/macros.md#br_register); each plugin needs to register itself and its base abstraction in the factory to enable construction. The purpose of this is to allow algorithms to be described completely by strings. For more information on algorithms in OpenBR please see the [tutorial](../tutorials.md#algorithms-in-openbr) -[^1]: [Industrial Strength Pluggable Factories](https://adtmag.com/articles/2000/09/25/industrial-strength-pluggable-factories.aspx) \ No newline at end of file +[^1]: [Industrial Strength Pluggable Factories](https://adtmag.com/articles/2000/09/25/industrial-strength-pluggable-factories.aspx) diff --git a/docs/docs/plugin_docs.md b/docs/docs/plugin_docs.md new file mode 100644 index 0000000..26ae0f9 --- /dev/null +++ b/docs/docs/plugin_docs.md @@ -0,0 +1,3 @@ +# Plugin Documentation + +The complete documentation of all of OpenBR's plugins diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index b84a503..4a5d619 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -8,7 +8,6 @@ theme_dir: themes/readthedocs/ links_file: docs/links.md contributors_file: docs/contributors.md -include_search: True include_next_prev: False markdown_extensions: @@ -16,185 +15,190 @@ markdown_extensions: - footnotes pages: -- [index.md, Home] -- [install.md, Install] -- [tutorials.md, Tutorials] -- [contribute.md, Contribute] - -# C API -- [api_docs/c_api.md, API Docs, C API] -- [api_docs/c_api/typedefs.md, C API, Typedefs] -- [api_docs/c_api/functions.md, C API, Functions] -- [api_docs/python_api.md, API Docs, Python wrapper API] -- [api_docs/cpp_api.md, API Docs, C++ Plugin API] - -# API Functions -- [api_docs/cpp_api/apifunctions.md, C++ Plugin API, API Functions] - -# File -- [api_docs/cpp_api/file/file.md, C++ Plugin API, File] -- [api_docs/cpp_api/file/members.md, File, Members] -- [api_docs/cpp_api/file/constructors.md, File, Constructors] -- [api_docs/cpp_api/file/statics.md, File, Static Functions] -- [api_docs/cpp_api/file/functions.md, File, Functions] - -# FileList -- [api_docs/cpp_api/filelist/filelist.md, C++ Plugin API, FileList] -- [api_docs/cpp_api/filelist/constructors.md, FileList, Constructors] -- [api_docs/cpp_api/filelist/statics.md, FileList, Static Functions] -- [api_docs/cpp_api/filelist/functions.md, FileList, Functions] - -# Template -- [api_docs/cpp_api/template/template.md, C++ Plugin API, Template] -- [api_docs/cpp_api/template/members.md, Template, Members] -- [api_docs/cpp_api/template/constructors.md, Template, Constructors] -- [api_docs/cpp_api/template/statics.md, Template, Static Functions] -- [api_docs/cpp_api/template/functions.md, Template, Functions] - -# TemplateList -- [api_docs/cpp_api/templatelist/templatelist.md, C++ Plugin API, TemplateList] -- [api_docs/cpp_api/templatelist/constructors.md, TemplateList, Constructors] -- [api_docs/cpp_api/templatelist/statics.md, TemplateList, Static Functions] -- [api_docs/cpp_api/templatelist/functions.md, TemplateList, Functions] - -# Factory -- [api_docs/cpp_api/factory/factory.md, C++ Plugin API, Factory] -- [api_docs/cpp_api/factory/members.md, Factory, Members] -- [api_docs/cpp_api/factory/constructors.md, Factory, Constructors] -- [api_docs/cpp_api/factory/macros.md, Factory, Macros] -- [api_docs/cpp_api/factory/statics.md, Factory, Static Functions] - -# Object -- [api_docs/cpp_api/object/object.md, C++ Plugin API, Object] -- [api_docs/cpp_api/object/members.md, Object, Members] -- [api_docs/cpp_api/object/macros.md, Object, Macros] -- [api_docs/cpp_api/object/statics.md, Object, Static Functions] -- [api_docs/cpp_api/object/functions.md, Object, Functions] - -# Context -- [api_docs/cpp_api/context/context.md, C++ Plugin API, Context] -- [api_docs/cpp_api/context/members.md, Context, Members] -- [api_docs/cpp_api/context/statics.md, Context, Static Functions] -- [api_docs/cpp_api/context/functions.md, Context, Functions] - -# Initializer -- [api_docs/cpp_api/initializer/initializer.md, C++ Plugin API, Initializer] -- [api_docs/cpp_api/initializer/constructors.md, Initializer, Constructors] -- [api_docs/cpp_api/initializer/functions.md, Initializer, Functions] - -# Transform -- [api_docs/cpp_api/transform/transform.md, C++ Plugin API, Transform] -- [api_docs/cpp_api/transform/members.md, Transform, Members] -- [api_docs/cpp_api/transform/constructors.md, Transform, Constructors] -- [api_docs/cpp_api/transform/statics.md, Transform, Static Functions] -- [api_docs/cpp_api/transform/functions.md, Transform, Functions] - -# UntrainableTransform -- [api_docs/cpp_api/untrainabletransform/untrainabletransform.md, C++ Plugin API, UntrainableTransform] -- [api_docs/cpp_api/untrainabletransform/constructors.md, UntrainableTransform, Constructors] - -# MetaTransform -- [api_docs/cpp_api/metatransform/metatransform.md, C++ Plugin API, MetaTransform] -- [api_docs/cpp_api/metatransform/constructors.md, MetaTransform, Constructors] - -# UntrainableMetaTransform -- [api_docs/cpp_api/untrainablemetatransform/untrainablemetatransform.md, C++ Plugin API, UntrainableMetaTransform] -- [api_docs/cpp_api/untrainablemetatransform/constructors.md, UntrainableMetaTransform, Constructors] - -# MetadataTransform -- [api_docs/cpp_api/metadatatransform/metadatatransform.md, C++ Plugin API, MetadataTransform] -- [api_docs/cpp_api/metadatatransform/constructors.md, MetadataTransform, Constructors] -- [api_docs/cpp_api/metadatatransform/functions.md, MetadataTransform, Functions] - -# UntrainableMetadataTransform -- [api_docs/cpp_api/untrainablemetadatatransform/untrainablemetadatatransform.md, C++ Plugin API, UntrainableMetadataTransform] -- [api_docs/cpp_api/untrainablemetadatatransform/constructors.md, UntrainableMetadataTransform, Constructors] - -# TimeVaryingTransform -- [api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md, C++ Plugin API, TimeVaryingTransform] -- [api_docs/cpp_api/timevaryingtransform/members.md, TimeVaryingTransform, Members] -- [api_docs/cpp_api/timevaryingtransform/constructors.md, TimeVaryingTransform, Constructors] -- [api_docs/cpp_api/timevaryingtransform/functions.md, TimeVaryingTransform, Functions] - -# CompositeTransform -- [api_docs/cpp_api/compositetransform/compositetransform.md, C++ Plugin API, CompositeTransform] -- [api_docs/cpp_api/compositetransform/properties.md, CompositeTransform, Properties] -- [api_docs/cpp_api/compositetransform/members.md, CompositeTransform, Members] -- [api_docs/cpp_api/compositetransform/constructors.md, CompositeTransform, Constructors] -- [api_docs/cpp_api/compositetransform/functions.md, CompositeTransform, Functions] - -# WrapperTransform -- [api_docs/cpp_api/wrappertransform/wrappertransform.md, C++ Plugin API, WrapperTransform] -- [api_docs/cpp_api/wrappertransform/properties.md, WrapperTransform, Properties] -- [api_docs/cpp_api/wrappertransform/constructors.md, WrapperTransform, Constructors] -- [api_docs/cpp_api/wrappertransform/functions.md, WrapperTransform, Functions] - -# Distance -- [api_docs/cpp_api/distance/distance.md, C++ Plugin API, Distance] -- [api_docs/cpp_api/distance/constructors.md, Distance, Constructors] -- [api_docs/cpp_api/distance/statics.md, Distance, Static Functions] -- [api_docs/cpp_api/distance/functions.md, Distance, Functions] - -# UntrainableDistance -- [api_docs/cpp_api/untrainabledistance/untrainabledistance.md, C++ Plugin API, UntrainableDistance] - -# Output -- [api_docs/cpp_api/output/output.md, C++ Plugin API, Output] -- [api_docs/cpp_api/output/properties.md, Output, Properties] -- [api_docs/cpp_api/output/members.md, Output, Members] -- [api_docs/cpp_api/output/constructors.md, Output, Constructors] -- [api_docs/cpp_api/output/statics.md, Output, Static Functions] -- [api_docs/cpp_api/output/functions.md, Output, Functions] - -# MatrixOutput -- [api_docs/cpp_api/matrixoutput/matrixoutput.md, C++ Plugin API, MatrixOutput] -- [api_docs/cpp_api/matrixoutput/members.md, MatrixOutput, Members] -- [api_docs/cpp_api/matrixoutput/statics.md, MatrixOutput, Static Functions] -- [api_docs/cpp_api/matrixoutput/functions.md, MatrixOutput, Functions] - -# Format -- [api_docs/cpp_api/format/format.md, C++ Plugin API, Format] -- [api_docs/cpp_api/format/constructors.md, Format, Constructors] -- [api_docs/cpp_api/format/statics.md, Format, Static Functions] -- [api_docs/cpp_api/format/functions.md, Format, Functions] - -# Gallery -- [api_docs/cpp_api/gallery/gallery.md, C++ Plugin API, Gallery] -- [api_docs/cpp_api/gallery/properties.md, Gallery, Properties] -- [api_docs/cpp_api/gallery/constructors.md, Gallery, Constructors] -- [api_docs/cpp_api/gallery/statics.md, Gallery, Static Functions] -- [api_docs/cpp_api/gallery/functions.md, Gallery, Functions] - -# FileGallery -- [api_docs/cpp_api/filegallery/filegallery.md, C++ Plugin API, FileGallery] -- [api_docs/cpp_api/filegallery/members.md, FileGallery, Members] -- [api_docs/cpp_api/filegallery/constructors.md, FileGallery, Constructors] -- [api_docs/cpp_api/filegallery/functions.md, FileGallery, Functions] - -# Representation -- [api_docs/cpp_api/representation/representation.md, C++ Plugin API, Representation] -- [api_docs/cpp_api/representation/constructors.md, Representation, Constructors] -- [api_docs/cpp_api/representation/statics.md, Representation, Static Functions] -- [api_docs/cpp_api/representation/functions.md, Representation, Functions] - -# Classifier -- [api_docs/cpp_api/classifier/classifier.md, C++ Plugin API, Classifier] -- [api_docs/cpp_api/classifier/constructors.md, Classifier, Constructors] -- [api_docs/cpp_api/classifier/statics.md, Classifier, Static Functions] -- [api_docs/cpp_api/classifier/functions.md, Classifier, Functions] - -- [api_docs/cl_api.md, API Docs, Command Line API] - -# Plugins -- [api_docs/plugins/classification.md, Plugin Docs, Classification] -- [api_docs/plugins/cluster.md, Plugin Docs, Cluster] -- [api_docs/plugins/core.md, Plugin Docs, Core] -- [api_docs/plugins/distance.md, Plugin Docs, Distance] -- [api_docs/plugins/format.md, Plugin Docs, Format] -- [api_docs/plugins/gallery.md, Plugin Docs, Gallery] -- [api_docs/plugins/gui.md, Plugin Docs, GUI] -- [api_docs/plugins/imgproc.md, Plugin Docs, Image Processing] -- [api_docs/plugins/io.md, Plugin Docs, I/O] -- [api_docs/plugins/metadata.md, Plugin Docs, Metadata] -- [api_docs/plugins/output.md, Plugin Docs, Output] -- [api_docs/plugins/video.md, Plugin Docs, Video] +- Home: index.md +- Install: install.md +- Tutorials: tutorials.md +- Contribute: contribute.md + +- API Documentation: + - Description: api_docs.md + + - C API: + - Description: api_docs/c_api.md + - Typedefs: api_docs/c_api/typedefs.md + - Functions: api_docs/c_api/functions.md + + - Command Line API: api_docs/cl_api.md + + - Python Wrapper API: api_docs/python_api.md + + - C++ Plugin API: + - Description: api_docs/cpp_api.md + - API Functions: api_docs/cpp_api/apifunctions.md + + - File: + - Description: api_docs/cpp_api/file/file.md + - Members: api_docs/cpp_api/file/members.md + - Constructors: api_docs/cpp_api/file/constructors.md + - Static Functions: api_docs/cpp_api/file/statics.md + - Functions: api_docs/cpp_api/file/functions.md + + - FileList: + - Description: api_docs/cpp_api/filelist/filelist.md + - Constructors: api_docs/cpp_api/filelist/constructors.md + - Static Functions: api_docs/cpp_api/filelist/statics.md + - Functions: api_docs/cpp_api/filelist/functions.md + + - Template: + - Description: api_docs/cpp_api/template/template.md + - Members: api_docs/cpp_api/template/members.md + - Constructors: api_docs/cpp_api/template/constructors.md + - Static Functions: api_docs/cpp_api/template/statics.md + - Functions: api_docs/cpp_api/template/functions.md + + - TemplateList: + - Description: api_docs/cpp_api/templatelist/templatelist.md + - Constructors: api_docs/cpp_api/templatelist/constructors.md + - Static Functions: api_docs/cpp_api/templatelist/statics.md + - Functions: api_docs/cpp_api/templatelist/functions.md + + - Factory: + - Description: api_docs/cpp_api/factory/factory.md + - Members: api_docs/cpp_api/factory/members.md + - Constructors: api_docs/cpp_api/factory/constructors.md + - Macros: api_docs/cpp_api/factory/macros.md + - Static Functions: api_docs/cpp_api/factory/statics.md + + - Object: + - Description: api_docs/cpp_api/object/object.md + - Members: api_docs/cpp_api/object/members.md + - Macros: api_docs/cpp_api/object/macros.md + - Static Functions: api_docs/cpp_api/object/statics.md + - Functions: api_docs/cpp_api/object/functions.md + + - Context: + - Description: api_docs/cpp_api/context/context.md + - Members: api_docs/cpp_api/context/members.md + - Static Functions: api_docs/cpp_api/context/statics.md + - Functions: api_docs/cpp_api/context/functions.md + + - Initializer: + - Description: api_docs/cpp_api/initializer/initializer.md + - Constructors: api_docs/cpp_api/initializer/constructors.md + - Functions: api_docs/cpp_api/initializer/functions.md + + - Transform: + - Description: api_docs/cpp_api/transform/transform.md + - Members: api_docs/cpp_api/transform/members.md + - Constructors: api_docs/cpp_api/transform/constructors.md + - Static Functions: api_docs/cpp_api/transform/statics.md + - Functions: api_docs/cpp_api/transform/functions.md + + - UntrainableTransform: + - Description: api_docs/cpp_api/untrainabletransform/untrainabletransform.md + - Constructors: api_docs/cpp_api/untrainabletransform/constructors.md + + - MetaTransform: + - Description: api_docs/cpp_api/metatransform/metatransform.md + - Constructors: api_docs/cpp_api/metatransform/constructors.md + + - UntrainableMetaTransform: + - Description: api_docs/cpp_api/untrainablemetatransform/untrainablemetatransform.md + - Constructors: api_docs/cpp_api/untrainablemetatransform/constructors.md + + - MetadataTransform: + - Description: api_docs/cpp_api/metadatatransform/metadatatransform.md + - Constructors: api_docs/cpp_api/metadatatransform/constructors.md + - Functions: api_docs/cpp_api/metadatatransform/functions.md + + - UntrainableMetadataTransform: + - Description: api_docs/cpp_api/untrainablemetadatatransform/untrainablemetadatatransform.md + - Constructors: api_docs/cpp_api/untrainablemetadatatransform/constructors.md + + - TimeVaryingTransform: + - Description: api_docs/cpp_api/timevaryingtransform/timevaryingtransform.md + - Members: api_docs/cpp_api/timevaryingtransform/members.md + - Constructors: api_docs/cpp_api/timevaryingtransform/constructors.md + - Functions: api_docs/cpp_api/timevaryingtransform/functions.md + + - CompositeTransform: + - Description: api_docs/cpp_api/compositetransform/compositetransform.md + - Properties: api_docs/cpp_api/compositetransform/properties.md + - Members: api_docs/cpp_api/compositetransform/members.md + - Constructors: api_docs/cpp_api/compositetransform/constructors.md + - Functions: api_docs/cpp_api/compositetransform/functions.md + + - WrapperTransform: + - Description: api_docs/cpp_api/wrappertransform/wrappertransform.md + - Properties: api_docs/cpp_api/wrappertransform/properties.md + - Constructors: api_docs/cpp_api/wrappertransform/constructors.md + - Functions: api_docs/cpp_api/wrappertransform/functions.md + + - Distance: + - Description: api_docs/cpp_api/distance/distance.md + - Constructors: api_docs/cpp_api/distance/constructors.md + - Static Functions: api_docs/cpp_api/distance/statics.md + - Functions: api_docs/cpp_api/distance/functions.md + + - UntrainableDistance: + - Description: api_docs/cpp_api/untrainabledistance/untrainabledistance.md + + - Output: + - Description: api_docs/cpp_api/output/output.md + - Properties: api_docs/cpp_api/output/properties.md + - Members: api_docs/cpp_api/output/members.md + - Constructors: api_docs/cpp_api/output/constructors.md + - Static Functions: api_docs/cpp_api/output/statics.md + - Functions: api_docs/cpp_api/output/functions.md + + - MatrixOutput: + - Description: api_docs/cpp_api/matrixoutput/matrixoutput.md + - Members: api_docs/cpp_api/matrixoutput/members.md + - Static Functions: api_docs/cpp_api/matrixoutput/statics.md + - Functions: api_docs/cpp_api/matrixoutput/functions.md + + - Format: + - Description: api_docs/cpp_api/format/format.md + - Constructors: api_docs/cpp_api/format/constructors.md + - Static Functions: api_docs/cpp_api/format/statics.md + - Functions: api_docs/cpp_api/format/functions.md + + - Gallery: + - Description: api_docs/cpp_api/gallery/gallery.md + - Properties: api_docs/cpp_api/gallery/properties.md + - Constructors: api_docs/cpp_api/gallery/constructors.md + - Static Functions: api_docs/cpp_api/gallery/statics.md + - Functions: api_docs/cpp_api/gallery/functions.md + + - FileGallery: + - Description: api_docs/cpp_api/filegallery/filegallery.md + - Members: api_docs/cpp_api/filegallery/members.md + - Constructors: api_docs/cpp_api/filegallery/constructors.md + - Functions: api_docs/cpp_api/filegallery/functions.md + + - Representation: + - Description: api_docs/cpp_api/representation/representation.md + - Constructors: api_docs/cpp_api/representation/constructors.md + - Static Functions: api_docs/cpp_api/representation/statics.md + - Functions: api_docs/cpp_api/representation/functions.md + + - Classifier: + - Description: api_docs/cpp_api/classifier/classifier.md + - Constructors: api_docs/cpp_api/classifier/constructors.md + - Static Functions: api_docs/cpp_api/classifier/statics.md + - Functions: api_docs/cpp_api/classifier/functions.md + +- Plugin Documentation: + - Description: plugin_docs.md + - Classification: api_docs/plugins/classification.md + - Cluster: api_docs/plugins/cluster.md + - Core: api_docs/plugins/core.md + - Distance: api_docs/plugins/distance.md + - Format: api_docs/plugins/format.md + - Gallery: api_docs/plugins/gallery.md + - GUI: api_docs/plugins/gui.md + - Image Processing: api_docs/plugins/imgproc.md + - I/O: api_docs/plugins/io.md + - Metadata: api_docs/plugins/metadata.md + - Output: api_docs/plugins/output.md + - Video: api_docs/plugins/video.md diff --git a/docs/scripts/generate_plugin_docs.py b/docs/scripts/generate_plugin_docs.py index af26065..8f949b1 100644 --- a/docs/scripts/generate_plugin_docs.py +++ b/docs/scripts/generate_plugin_docs.py @@ -212,7 +212,9 @@ def parseFormats(formats): def main(): plugins_dir = '../../openbr/plugins/' output_dir = '../docs/api_docs/plugins/' - + if not os.path.exists(output_dir): + os.mkdir(output_dir) + for module in subdirs(plugins_dir): if module == "cmake": continue -- libgit2 0.21.4