diff --git a/Doxyfile b/Doxyfile index 28fb4b1..16feb7c 100644 --- a/Doxyfile +++ b/Doxyfile @@ -44,7 +44,7 @@ PROJECT_NUMBER = # for a project that appears at the top of each page and should give viewer a # quick idea about the purpose of the project. Keep the description short. -PROJECT_BRIEF = "The image utility library" +PROJECT_BRIEF = "C++14 utility library for image representation and IO " # With the PROJECT_LOGO tag one can specify a logo or an icon that is included # in the documentation. The maximum height of the logo should not exceed 55 @@ -680,7 +680,7 @@ SHOW_FILES = YES # Folder Tree View (if specified). # The default value is: YES. -SHOW_NAMESPACES = YES +SHOW_NAMESPACES = NO # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from @@ -703,7 +703,7 @@ FILE_VERSION_FILTER = # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE # tag is left empty. -LAYOUT_FILE = +LAYOUT_FILE = DoxygenLayout.xml # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib @@ -1461,7 +1461,7 @@ ECLIPSE_DOC_ID = org.doxygen.Project # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -DISABLE_INDEX = NO +DISABLE_INDEX = YES # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index # structure should be generated to display hierarchical information. If the tag @@ -1478,7 +1478,7 @@ DISABLE_INDEX = NO # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. -GENERATE_TREEVIEW = NO +GENERATE_TREEVIEW = YES # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. diff --git a/DoxygenLayout.xml b/DoxygenLayout.xml new file mode 100644 index 0000000..2b23cd9 --- /dev/null +++ b/DoxygenLayout.xml @@ -0,0 +1,194 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/README.md b/README.md index 448aaff..e855151 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,13 @@ Or, alternatively, using [ninja](https://ninja-build.org/): Preferably use the library "at head", e.g. as submodule, instead of invoking the `install` target. +Integrating the library into own CMake projects can be as easy as: + + # ... + add_subdirectory(selene) + target_link_libraries(target_name selene::selene) + # ... + The default settings will build a set of static libraries. If you want to build shared libraries instead, add `-DBUILD_SHARED_LIBS=ON` to the `cmake` command. diff --git a/src/selene/_doc.hpp b/src/selene/_doc.hpp index cd7ed3f..821ad33 100644 --- a/src/selene/_doc.hpp +++ b/src/selene/_doc.hpp @@ -4,12 +4,21 @@ /*! \mainpage Selene API documentation * - * This is the automatically generated Doxygen documentation for the **Selene** API. + * **Selene** is a C++14 utility library for various image or IO related tasks. * * For introductory information about the library, please visit its GitHub page: - * https://github.com/kmhofmann/selene - */ - -/** \namespace sln - * The library namespace. All functions, classes, structs and types of the library are part of this namespace. + * - https://github.com/kmhofmann/selene + * + * It currently contains, among other things: + * - Statically and dynamically typed in-memory image data representations. + * - Functions for reading and writing image data in JPEG and PNG formats (from/to files or memory). + * - Basic image processing functionality, such as: + * - Image pixel access using various interpolation algorithms (nearest neighbor, bilinear) and boundary handling strategies (no check, replicate boundary, zero padding). + * - Algorithms to apply point-wise operations to images/views. + * - Pixel-level and image-level conversion functions between different pixel formats (e.g. RGB -> Grayscale, etc.). + * - Functions for interoperability with OpenCV cv::Mat matrices (wrapping or cloning). + * - Functions for binary IO from and to files or memory. + * - A simple thread pool, to enable task-based parallelism. + * + * This is the automatically generated Doxygen documentation for the **Selene** API. */ diff --git a/src/selene/img/JPEGRead.hpp b/src/selene/img/JPEGRead.hpp index b57e285..3eaeb5c 100644 --- a/src/selene/img/JPEGRead.hpp +++ b/src/selene/img/JPEGRead.hpp @@ -84,7 +84,7 @@ struct JPEGDecompressionOptions } }; -/** Opaque JPEG decompression object, holding internal state. +/** \brief Opaque JPEG decompression object, holding internal state. * */ class JPEGDecompressionObject diff --git a/src/selene/img/JPEGWrite.hpp b/src/selene/img/JPEGWrite.hpp index 70eaaf3..2601dbd 100644 --- a/src/selene/img/JPEGWrite.hpp +++ b/src/selene/img/JPEGWrite.hpp @@ -68,7 +68,7 @@ struct JPEGCompressionOptions } }; -/** Opaque JPEG compression object, holding internal state. +/** \brief Opaque JPEG compression object, holding internal state. * */ class JPEGCompressionObject diff --git a/src/selene/img/PNGRead.hpp b/src/selene/img/PNGRead.hpp index 818a926..428c4e7 100644 --- a/src/selene/img/PNGRead.hpp +++ b/src/selene/img/PNGRead.hpp @@ -113,7 +113,7 @@ struct PNGDecompressionOptions } }; -/** Opaque PNG decompression object, holding internal state. +/** \brief Opaque PNG decompression object, holding internal state. * */ class PNGDecompressionObject diff --git a/src/selene/img/PNGWrite.hpp b/src/selene/img/PNGWrite.hpp index 08913d9..2133b34 100644 --- a/src/selene/img/PNGWrite.hpp +++ b/src/selene/img/PNGWrite.hpp @@ -76,7 +76,7 @@ struct PNGCompressionOptions } }; -/** Opaque PNG compression object, holding internal state. +/** \brief Opaque PNG compression object, holding internal state. * */ class PNGCompressionObject