The log of significant changes prior the first release of GIL as part
of Boost was collected from https://stlab.adobe.com/gil/news.html site
and from the linked PDF documents with detailed descriptions.
The old history is very detailed (after the PDFs) but it is intersting.
It illustrates evolution of the library design and API, for example,
renaming of types or functions were renamed indicates evolution of
semantics and inter-relations of the library elements.
This is especially interseting in case of the complex types like
bit-aligned pixels and images, where does the concept of memunit
come from, etc.
* develop:
Update Boost 1.72.0 release notes with PR #403
Mention C++11 in meta/libraries.json
Add release notes in Markdown format (#404)
Typo in README
Remove include/boost/gil/version.hpp file as unused (#403)
Add Markdown linting with Node package markdownlint
doc/README.md: clarify steps building docs
CONTRIBUTING.md: Remove logo as unnecessary
README.md: Fix FreeNode link and hash escape
This proposes to use Git to maintain notes about all notable changes to
GIL in `RELEASES.md` file based on https://keepachangelog.com format.
This implements proposal discussed and agreed in the thread
https://lists.boost.org/boost-gil/2019/11/0336.php
Collect all past release notes.
Collect release notes for the pending Boost 1.72.0, to be released
in December according to Boost release schedule.
Motivation:
- GIL is part of Boost collection, so Boost version is sufficient
- GIL version makes little sense unless GIL becomes independent
- Two distinct version numbers, Boost's and GIL's, are confusing.
- Role of GIL's version number is not documented thus not entirely clear
The removal was discussed and agreed upon in this thread
https://lists.boost.org/boost-gil/2019/11/0346.php
Cherry-picked from develop branch commit 4dc3836449
ignoring changes in all `CMakeLists.txt` files but this one
`test/extension/toolbox/CMakeLists.txt` which somehow missed the changes.
Possibly due to my mistake during previous cherry-picks to compose
the emergency fix#394 for docs in `master` branch, that also
brought the restructuring of the tests directories.
Missing changes in `test/extension/toolbox/CMakeLists.txt` file
are currently causing failures of AzP builds using CMake
for `master` Boost 1.72 merge e8a04f403e
This is attempt to fix it in the `master`.
* Implement Sobel and Scharr operators
This commit adds Sobel and Scharr
operators with support for 0th and 1st
degrees with other degrees planned for
later
* Migrate and fix Harris example
Generate Harris entries now uses
signed image view.
The Harris corner detector example
now uses the Scharr filter generator
and convolve_2d to reduce amount
of code needed.
* Fix and migrate Hessian example
The Hessian example now uses signed
image views and uses newly added kernel
generators to compute gradients
* Fix Harris and Hessian tests
The tests broke due to migration to
signed views in algorithms, but tests
were not adjusted
* Fix Jamfile for example/sobel_scharr.cpp
* Cosmetic changes
* Commented out fail tests
* Fixed pixel16 used in image16s
In Harris and Hessian tests, unsigned
pixel values was used to construct
signed image, which was causing
appveyor to error out.
* Reenable failing targets
* Unify kernel generator interface
This commit makes all kernel
generator functions to return kernel_2d
and adapts dependant threshold
function to use the new interface
* Migrate Hessian and Harris tests
Migrate Hessian and Harris tests to new
interface for kernel generators
* Migrate Harris and Hessian examples
Harris and Hessian examples now use
new interface for kernel generation
* Migrate simple_kernels tests
simple_kernels are now using kernel_2d
interface
* Add missing return
Normalized mean generation had missing
return at the end of the function
* Adapt code to namespace move
This commit reacts to kernel_2d,
convolve_2d being moved to
namespace detail
There is no need for format-specific subfolders.
There is no code in place that checks if all those folders exist and
creates them.
This change simplifies the structure to simplify running of I/O tests.
Rename images/jpg/ to images/jpeg/ in tests
The `jpeg` is name of the format used in the I/O extension and
the folders inside `images/` are named after those formats.
* Hide convolve_1d and convolve_2d in namespace detail
* Hide kernel_2d in namespace detail.
* Tidy up naming of horizontal/vertical to y/x for kernel center.
Following @lpranam comments on planned changes to convolve_2d,
which will not be ready for Boost 1.72,
@mloskot proposed to hide the function as implementation detail,
https://lists.boost.org/boost-gil/2019/10/0316.php,
until it is ready and @stefanseefeld agreed on the proposal,
https://lists.boost.org/boost-gil/2019/10/0320.php.
Packages clang-6.0 (and 4.0 and 5.0) are available from Xenial's
default Apt package sources.
[skip azp]
(cherry picked from develop branch commit d0cb17adef)
Split header tests accordingly i.e. test core headers as part of
core tests, numeric extension headers as part of numeric tests, etc.
It extends the convention of sub-directories already established in
`include/boost/gil` directory. It is sensible to follow it in other
areas of the source tree (i.e. `test/`, `doc/` and `benchmark/`).
Another important reason to move the tests is to enable removal of
the top-level `Jamfile` with all its definitions of test-specific
requirements.
The top-level `Jamfile` is not advised, especially if it specifies
build requirements like C++ language version.
Those affect non-tests builds e.g. documentation, causing failures
during generation of HTML documentation (leads to missing docs).
(cherry picked from develop branch commit 4ed7701b47)
Improve some titles and re-arrange several sections (e.g. in Metafunctions).
Remove section about I/O extension from design guide as outdated and
unnecessary (in design guide).
Since list of contributors who are copyright holders is quite long,
remove the copyright information from the footer. It would be better
to add acknowledgments and contributors list on separate page, or
simply link to https://github.com/boostorg/gil/graphs/contributors
* Fill values, links and images
This commit fills in the template
left by the previous commit
* Replace Mathjax with code blocks
Since GitHub doesn't allow Mathjax,
the formula parts have been replaced
with code blocks
* Remove section on affine transformation
It doesn't seem like the concept is
used often, so postponed for now
* Add basic explanation of convolution
* Docs for Harris and Hessian
The docs are written with a beginner
in mind and has a basics section.
The pictures and paper links are to be
inserted.
* Convert markdown to rst
* Add some more relevant papers
This commit cites and adds a link to
paper about Hessian detector and
a review paper about affine region
detectors
* Move to new concept name
Space extrema detector doesn't seem to
be a widespread usage of detector the
detector class. There is a paper
that uses "Affine region detector"
term, which has quite a few citations
* Fix mistakes in docs
Fix mistakes related to terminology
and algorithm steps
* Add ip docs to index.rst
Make sure ip docs are built and are
in the final output
* Fix formatting
It seems like some lines are not
properly formatted and rendered file
containes unreadable lines. Fixed
by not formatting it.
* Hessian plain determinant
This commit partially implements
Hessian corner detector, but only
uses determinant as Hessian response
* Implement full Hessian corner detector
This commit complements last one
by summing in a window and applying
det - k * trace * trace formula to
final Hessian response
* Add docs and make code align with docs
This commit adds docs to new functions,
and makes function and variable names
align with docs to not confuse readers
* Use determinant as response function
A-KAZE uses only determinant in it's
response, and since for now Hessian
is only a mean to advance A-KAZE
implementation, response function is
adjusted to use only determinant
* Create simple test for Hessian detector
This commit adds an s at the end of
function name to make it uniform with
another detector, and adds a simple
test for sanity check
* Improve documentations for d params
dx and similar naming seems to be
confusing, improved documentation
to explain the naming convention
* Address minor comments about style
* Address type based issues
Mostly changes to constness and
integral types, with small cosmetic
changes mixed in
* Fix typo and address review comment
Fixes typo in call for Hessian and
addresses a review comment about
replacing multiple exact indexing
calls to one with a reference
* Reorder includes in Hessian example
* Address review comments
Add literature reference to luminosity
computation, and perform some cosmetic
changes.
* Restore previous state of Harris
This is a fresh start of branch
Harris with manual copying and
placement of code from previous
versions
* Use supplied weights in Harris
Weights passed as arguments were not
used prior to this commit
* Address review comments
Mostly moving brackets and adding
const, but also address MSVC's
max macro
* Make namespace qualification consistent
In file numeric.hpp, there is
full qualification, but harris.hpp
didn't have full qualification,
thus full qualification is added to
harris.hpp
* Add copyright and license notice