Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
7e87ecd
fix: wrong return type of copy_fn and missing typedef in destruct_range
marco-langer Jul 5, 2022
4d97acb
fix: Remove UB std::floating_point specialization
sdebionne Sep 2, 2026
5a9c5fa
Merge pull request #799 from sdebionne/fix-std-floating-point-special…
sdebionne Sep 2, 2026
4201687
Fix io::tiff::console_log using snprintf instead of vsnprintf
sdebionne Sep 2, 2026
4664a7e
Fix integer overflow in channel_converter_unsigned_integral_nondivisible
sdebionne Sep 2, 2026
60efbc2
Merge pull request #708 from marco-langer/fix-algorithm
sdebionne Sep 2, 2026
d7443be
Add image sharpening algorithm
harshitpant1 Mar 15, 2021
646df18
Fix missing Boost::stl_interfaces dependency in CMakeLists.txt
Sep 2, 2026
333eeac
Add more sharpening regression tests
sdebionne Sep 2, 2026
8753995
Remove deprecated headers now included in algorithm.hpp
sdebionne Sep 2, 2026
cb90d78
Add precondition for sigma (must be greater than 0)
sdebionne Sep 2, 2026
1081c0b
Add distance transform functionality
harshitpant1 Apr 3, 2021
1aeb7a6
Improve test coverage
harshitpant1 Apr 3, 2021
147a2cc
Improve formatting; Correct name in copyright info
harshitpant1 Jun 10, 2021
cc9ba61
Improve Metafunctions
harshitpant1 Jun 10, 2021
17c0649
Move all metafunctions to detail namespace
harshitpant1 Jun 11, 2021
16d646e
Add some more explanatory and reference comments
harshitpant1 Jun 23, 2021
2a26f54
improve test file formatting
harshitpant1 Jun 23, 2021
ef173b1
Use clang-format for formatting
harshitpant1 Jun 23, 2021
0405ae4
Merge pull request #802 from sdebionne/fix-cmake-missing-stl-interface
sdebionne Sep 2, 2026
9c01939
Merge pull request #800 from sdebionne/fix-io-tiff-console-log
sdebionne Sep 2, 2026
b4098a8
Merge pull request #801 from sdebionne/fix-channel-convert-int-overflow
sdebionne Sep 2, 2026
5ce9ca9
Add regression test for 'nothing to find' case
sdebionne Sep 2, 2026
16b335e
Merge pull request #584 from harshitpant1/feature/image_sharpening
sdebionne Sep 2, 2026
30d181e
Merge pull request #594 from harshitpant1/feature/distance_transform
sdebionne Sep 3, 2026
b19a096
docs: migrate from Sphinx/RST/Doxygen to Antora/AsciiDoc
sdebionne Sep 1, 2026
7439ac4
docs: wire in the real MrDocs API reference
sdebionne Sep 3, 2026
259d2a5
ci: fix docs build running from a non-git copy of the checkout
sdebionne Sep 3, 2026
b1bf228
docs: add pixi tooling, validated via the docs-ci-smoke test branch
sdebionne Sep 3, 2026
c889bcb
ci: use pixi in the production docs build too
sdebionne Sep 3, 2026
dacab77
Merge pull request #797 from sdebionne/doc-migrate-to-asciidoc
sdebionne Sep 3, 2026
5cda6cf
ci: fix Deploy step's publish_dir after the git-repo-copy fix
sdebionne Sep 3, 2026
930bf8e
docs: add documentation for sharpening and distance_transform
sdebionne Sep 3, 2026
56803ff
docs: add missing ahe documentation
sdebionne Sep 3, 2026
96371cf
docs: add documentation for convolution, morphology and thresholding
sdebionne Sep 3, 2026
007047b
docs: in contrast_enhancement merge overview into index
sdebionne Sep 3, 2026
3cf4ace
docs: move histogram section under image processing
sdebionne Sep 3, 2026
1f15623
Merge pull request #805 from sdebionne/add-processing-documentation
sdebionne Sep 4, 2026
672dd5f
ci: drop the custom MrDocs pin now that the segfault is fixed upstream
sdebionne Sep 7, 2026
1b86699
docs: fix README's stale Doxygen references
sdebionne Sep 7, 2026
942ec47
Merge pull request #806 from sdebionne/drop-custom-mrdocs-from-ci
sdebionne Sep 7, 2026
c338ff3
Generate doc at doc/html/index.html
sdebionne Sep 7, 2026
6777e3b
Fix doc build not properly copied to website
sdebionne Sep 8, 2026
166b77d
Fix doc-comment issues and mrdocs warnings
sdebionne Sep 8, 2026
cd2d21a
ci: Fix docs-config.sh pointing to the old build/site folder
sdebionne Sep 9, 2026
4edaf5d
ci: Fix antora 'Corpus is empty'
sdebionne Sep 9, 2026
9efa2df
Fix index.html redirections
sdebionne Sep 9, 2026
cb5a92f
Merge pull request #807 from sdebionne/fix-headers-code-comments
mloskot Sep 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .github/actions/docs-prerequisites/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@ description: 'Downloads all the necessary packages for building documentation'
runs:
using: composite
steps:
- run: sudo apt-get install doxygen python3 python3-pip python3-setuptools python3-sphinx
shell: bash
- uses: actions/setup-node@v4
with:
node-version: 20
13 changes: 8 additions & 5 deletions .github/actions/generate-doc/action.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
name: 'Generate Doc'
description: 'Runs b2 on lib/gil/doc to generate documentation'
description: 'Builds the Antora documentation for lib/gil/doc'
runs:
using: composite
steps:
- run: |
echo "using doxygen ;" > ~/user-config.jam
cd ../boost-root/libs
../b2 gil/doc
cd gil
# setup-boost copies the checkout (with .git, via `cp -a`) into
# ../boost-root/libs/gil, so doc/ is nested under a real Boost
# superproject there -- needed by build_antora.sh's BOOST_SRC_DIR
# detection and by Antora's local content source.
cd ../boost-root/libs/gil/doc
bash build_antora.sh
cd ..
chmod +x $GITHUB_WORKSPACE/.github/actions/generate-doc/docs-config.sh
$GITHUB_WORKSPACE/.github/actions/generate-doc/docs-config.sh
shell: bash
14 changes: 6 additions & 8 deletions .github/actions/generate-doc/docs-config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,18 +15,16 @@ git switch gh-pages

if [ "${GITHUB_REF##*/}" = develop ]; then
# Only updates develop directory and keeps others intact
rm -r develop
rm -rf develop
mkdir -p develop/doc
cp ../index.html develop/
cp ../doc/index.html develop/doc
cp -a ../doc/html develop/doc/
cp -a ../doc/html/. develop/doc/
else
# main branch
rm index.html
rm -r html
cp ../doc/index.html .
cp -r ../doc/html .
rm -f index.html
rm -rf html gil
cp -a ../doc/html/. .
fi

# Remove version control
rm -rf .git
rm -rf .git
2 changes: 1 addition & 1 deletion .github/actions/setup-boost/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ runs:
cd ..
git clone -b $BOOST_BRANCH --depth 1 https://github.com/boostorg/boost.git boost-root
cd boost-root
cp -r $GITHUB_WORKSPACE/* libs/gil
cp -a $GITHUB_WORKSPACE/. libs/gil/
git submodule update --init tools/boostdep
python tools/boostdep/depinst/depinst.py --git_args "--jobs 3" gil
./bootstrap.sh
Expand Down
6 changes: 4 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@

# Boost.Build
stdcerr
/doc/*build*
/doc/build/
/io/output

# Documentation and Sphinx
# Documentation (Antora + MrDocs)
.tools
doc/html
doc/warnings.txt
doc/node_modules

# Visual Studio (Code)
/.vs
Expand Down
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ target_link_libraries(boost_gil
Boost::iterator
Boost::mp11
Boost::preprocessor
Boost::stl_interfaces
Boost::type_traits
Boost::variant2
)
Expand Down
26 changes: 26 additions & 0 deletions doc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#
# Copyright (c) 2026 Samuel Debionne
#
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#

# Root CMakeLists.txt so MrDocs knows how to build our code
cmake_minimum_required(VERSION 3.8...3.22)

# Project
project(boost_gil_mrdocs LANGUAGES CXX)

# MrDocs forces CMAKE_EXPORT_COMPILE_COMMANDS=ON, incorrectly
# causing all targets to be dumped to the compilation database.
# Disable this setting so we can set EXPORT_COMPILE_COMMANDS
# only to our target of interest
set(CMAKE_EXPORT_COMPILE_COMMANDS OFF)

# Add Boost
add_subdirectory($ENV{BOOST_SRC_DIR} deps/boost)

# Add the target for mrdocs to analyze
add_executable(mrdocs mrdocs.cpp)
target_link_libraries(mrdocs PRIVATE Boost::gil)
set_target_properties(mrdocs PROPERTIES EXPORT_COMPILE_COMMANDS ON)
63 changes: 11 additions & 52 deletions doc/Jamfile
Original file line number Diff line number Diff line change
@@ -1,66 +1,25 @@
# Boost.GIL (Generic Image Library) - documentation
#
# Copyright (c) 2018 Stefan Seefeld
# Copyright (c) 2026 Samuel Debionne
#
# Distributed under the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
#

import doxygen ;
import os ;
import path ;

.doxygen = [ doxygen.name ] ;
.doxygen ?= doxygen ;

#doxygen/gil_standalone/gil_boost.doxygen
make reference : doxyfile
: @make_doxygen
: <location>html
<dependency>$(headers)
;
# Adapted from Boost.Redis
make html/index.html : build_antora.sh : @run-script ;

rule make_doxygen ( targets * : sources * : properties * )
{
LIB_DIR on $(targets) =
[ path.native [ path.parent [ path.root
[ on $(sources[1]) return $(SEARCH) ] [ path.pwd ] ] ] ] ;
}

if [ os.name ] = NT
{
actions make_doxygen
{
SET LIB_DIR=$(LIB_DIR)
chdir "$(>:D)" && "$(.doxygen)" $(>:D=)
}
}
else
# Runs the Antora script
actions run-script
{
actions make_doxygen
{
export LIB_DIR=$(LIB_DIR)
cd $(>:D) && "$(.doxygen)" $(>:D=)
}
bash -x $(>)
}

make html
: index.rst
: @sphinx-build
: <location>.
<dependency>reference
;
# These are used to inform the build system of the
# means to build the integrated and stand-alone docs.

if [ os.name ] = NT
{
actions sphinx-build { chdir "$(>:D)" && make clean && make html}
}
else
{
actions sphinx-build { make -C "$(>:D)" clean html}
}

###############################################################################
alias boostdoc ;
explicit boostdoc ;
alias boostrelease : html ;

alias boostrelease : html/index.html ;
explicit boostrelease ;
133 changes: 0 additions & 133 deletions doc/Makefile

This file was deleted.

37 changes: 18 additions & 19 deletions doc/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,33 +2,32 @@

A simple guide about writing and building documentation for Boost.GIL.

## Prerequisites

- Python 3
- Install [Sphinx](https://www.sphinx-doc.org/en/master/index.html) (see `requirements.txt`)
- Install [Doxygen](http://www.doxygen.org)
The documentation is written in AsciiDoc and built with [Antora](https://antora.org/).
The C++ API reference is generated from the header comments with
[MrDocs](https://github.com/cppalliance/mrdocs) (see `mrdocs.yml` and
`mrdocs-src/all.cpp`) and wired into the Antora site as the `reference:`
module, with `modules/ROOT/pages/reference.adoc` as a curated landing page
into it. MrDocs itself isn't a build dependency here -- it's downloaded
automatically by the `@cppalliance/antora-cpp-reference-extension` Antora
extension the first time the reference is built.

## Prerequisites

## Installation
- [Node.js](https://nodejs.org/) 20+ (for Antora)
- A C++ compiler (for MrDocs to parse GIL's headers)

Create Python virtual environment:
Both are available through the repository's `pixi.toml` under the `docs`
environment; from the repository root:

```console
$ python3 -m venv .venv
$ source ~/.venv/bin/activate
$ pixi run -e docs docs-build
```

Install Sphinx and Sphinx extensions:
## Build manually

```console
(.venv)$ cd boost-root
(.venv)$ pip install -r libs/gil/doc/requirements.txt
$ cd libs/gil/doc
$ bash build_antora.sh
```

## Build

```console
$ echo "using doxygen ;" > ~/user-config.jam
$ cd boost-root
$ b2 libs/gil/doc
```
The site is generated at `doc/html/index.html`.
Binary file removed doc/_static/boost-gil.png
Binary file not shown.
Loading
Loading