2
0
mirror of https://github.com/boostorg/gil.git synced 2026-01-23 05:32:12 +00:00
Commit Graph

52 Commits

Author SHA1 Message Date
MIRAL SHAH
ca696ce6d0 Added 2D convolution definitions to numeric extension (#367)
2D convolution tests added

`convolve` function renamed to `convolve_1d`

closes #356
2019-08-09 03:17:09 +05:30
Mateusz Łoskot
348fd6942e Include <boost/gil.hpp> in examples (#355)
A typical user is supposed to include the main header and
to not know the library enough to include headers selectively.
2019-07-29 20:49:32 +02:00
MIRAL SHAH
5f005b0692 Add adaptive threshold algorithm using mean method (#341)
* Mean adaptive threshold implemented with the example
Implements #315
2019-07-26 01:36:43 +05:30
Mateusz Łoskot
08c546dc7f Add VS2019 and WSL configuration to CMakeSettings.json [ci skip] 2019-07-07 00:02:24 +02:00
Mateusz Łoskot
bd91abfff3 Add cmake-variants.yaml sample for Visual Studio Code + CMake Tools [skip ci] 2019-07-04 23:57:30 +02:00
Mateusz Łoskot
48b5ec4e68 Update example/cmake/CMakeSettings.json [ci skip] 2019-07-04 20:23:54 +02:00
MIRAL SHAH
716fe9ad8c Implement algorithms for binary and binary inverse thresholding (#313)
Add public functions threshold_binary and threshold_truncate.
Add tests and example.
Closes #310
2019-06-18 21:42:43 +02:00
Mateusz Łoskot
895aa77fb6 [CMake] Remove GIL_DOWNLOAD_FINDBOOST option (#307)
Upcoming CMake 3.15 introduced more dependencies in FindBoost.cmake
what makes the downloading impractical.
2019-06-05 09:19:17 +02:00
Mateusz Łoskot
4ed7701b47 Move tests of extensions inside test/ directory (#302)
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).
2019-05-28 18:58:22 +02:00
Olzhas Zhumabek
c504f8279c Add missing equal sign in interleaved_ptr.hpp (#299) [ci skip]
Ignore Conan artefacts.
2019-05-07 21:44:45 +02:00
Mateusz Łoskot
1f2474fa1e [cmake] Update CMakeSettings.json with Boost hints [ci skip] 2019-04-16 21:06:07 +02:00
Mateusz Łoskot
5611bd5807 Replace Boost.MPL with Boost.MP11 (#274)
Use type traits and features of C++11, then use Boost.MP11.
Remove unused and unnecessary metafunctions in `detail` namespace.
Remove explicit access to ::type as no longer necessary with MP11.
Clean up and reformat code according to the current guidelines.

Legacy tests have been updated where necessary to accommodate
switch to MP11.

Replace std::is_integral with gil::detail::is_channel_integral
Replacing boost::is_integral with std::is_integral is C++ UB:

    C++11 / 20.11.2 Header <type_traits> synopsis
    1 The behavior of a program that adds specializations for any
    of the class templates defined in this subclause is undefined
    unless otherwise specified.


Implements also proposal in #93
Closes #229
2019-04-14 22:13:45 +02:00
Mateusz Łoskot
ecf41b59ae Update example/README.txt and convert to Markdown [ci skip]
Update README.md and CONTRIBUTING.md about available examples.

Clarifies #252 and #253
2019-03-06 19:24:13 +01:00
Mateusz Łoskot
9004a67662 Remove old example/Makefile
It is not maintained; may be broken; redundant.
2019-03-06 19:08:12 +01:00
Mateusz Łoskot
5f241af90d [ci] Ensure CI builds clone pre-determined super-project branch
Rename custom variant with gil_ prefix.
Do not define project ID from Jamfile-s as unnecessary.
The project ID-s and build features are global resources, easy to clash.

Add recently added test/ subdirectories to build.
2019-02-19 18:21:28 +01:00
Mateusz Łoskot
e3ef52bb80 Correct order of constexpr and type specifier
The constexpr belongs to the declaration specifiers (like static) and
not just the type specifiers (like cv-qualifiers), so it binds to
the declaration (like static), not the type (like const).

Refines #211
2019-01-15 00:42:20 +01:00
Mateusz Loskot
78b7dcfeca Remove uses of Boost.Bind and Boost.Lambda (#212)
Replace with std::bind and C++11 lambda functions.
The two Boost libraries should no longer be a direct
dependency of Boost.GIL.
2019-01-13 02:03:25 +01:00
Mateusz Loskot
a2b2ca977a Replace BOOST_STATIC_CONSTANT with constexpr (#211)
Tidy up formatting of refactored parts of code.
2019-01-12 23:57:35 +01:00
Mateusz Loskot
fb19a1205d Apply clang-tidy modernize-use-using to all examples (#210)
Run clang-tidy 7.0 with -checks='-*,modernize-use-using' -fix
against TU-s of examples.

Manually refactor numerous typedef-s where missed by modernize-use-using
check, not uncommon in code snippets in comments.

Outcome is that searching for lower-case whole word typedef
in sources of all the tests should return only handful of matches
in boost/gil/extension/dynamic_image/apply_operation_base.hpp
2019-01-12 17:36:29 +01:00
Mateusz Łoskot
73edd31781 [cmake] Add GIL_BUILD_HEADERS_TESTS option [ci skip]
Allows to avoid generating lots of headers tests,
if unnecessary, e.g. while developing in IDE.
2019-01-05 23:01:37 +01:00
Mateusz Loskot
06d1dbb066 Fix hard-wired use of Boost.Array static_size member (#200)
Fixes #142
2018-12-18 11:57:32 +01:00
Mateusz Loskot
f3795176fc Fix examples to make them compile again (#201)
Following release of the new IO in Boost 1.68, the examples stopped compiling.

Fixes #40
2018-12-18 01:13:10 +01:00
Mateusz Łoskot
8cb28a56cb [cmake] Update sample CMakeSettings.json with new options [ci skip] 2018-12-15 21:04:30 +01:00
Mateusz Łoskot
92cddb3f71 [cmake] Bundle all Boost and IO libraries in gil_dependencies target
Simplify generating of IO tests targets, remove lots of duplicate cruft.
Tidy up CMake scripts.
2018-12-08 23:20:54 +01:00
Mateusz Łoskot
b07501a8cc [cmake] Simplify and clarify -D options [ci skip]
Clean up CMakeLists.txt if-s.
2018-12-08 21:25:27 +01:00
Mateusz Łoskot
03bba74b4e Modernize example/CMakeLists.txt [ci skip] 2018-12-08 11:54:56 +01:00
Mateusz Łoskot
9499b9db24 Update CMakeSettings.json to build examples [ci skip] 2018-12-08 11:31:25 +01:00
Mateusz Łoskot
531e671b49 Update example resize.cpp for new GIL IO
The I/O extensions have been entirely rewritten in Boost.GIL released
in Boost 1.68. The examples refactoring is still an ongoing effort.
2018-12-08 11:24:44 +01:00
Mateusz Łoskot
5fd0f7878c [cmake] Prefix status messages with Boost.GIL for source clarity [ci skip]
Remove GIL_USE_BOOST_STAGE as unnecessary.
Download FindBoost.cmake for <3.13 - this module in CMake 3.13
received some important updates.
2018-10-29 14:01:48 +01:00
Mateusz Łoskot
ed5010901f [cmake] Add sample CMakeSettings.json for Visual Studio 2017 [ci skip]
The file is provided for convenience as an example ready to use for most
situations though. It is ignored in GIL root directory.
2018-10-24 17:19:51 +02:00
Mateusz Loskot
ce82941fa2 Rename point2<T> to point<T> (#155)
Add point2<T> alias template for backward compatibility with Boost <=1.68.
Replace multiple point_t aliases of point<ptrdiff_t> with single defined
in point.hpp. The point_t is common used to represent dimensions.
Replace many uses of point<ptrdiff_t> with point_t.

Apply reformatting around point2 changes to respect the line length limit.

Follows up discussion in #154
2018-10-19 09:32:23 +02:00
Mateusz Łoskot
32fec9f05b Refactor library includes to #include <boost/gil/...>
Group include directives, sort within group:
* In headers of GIL core and extensions:
  1. boost/gil/extension/*
  2. boost/gil/*
  3. boost/*
  4. C++ standard library headers
* In programs:
  1. boost/gil/*
  2. boost/*
  3. C++ standard library headers
  4. "xxx.hpp" for local headers
Add basic guidelines to CONTRIBUTING.md.
Add/Remove #include <boost/config.hpp> or std headers un/necessary.
Rename gil_concept.hpp to concepts.hpp.
Remove gil_all.hpp - we already have all-in-one boost/gil.hpp.
Tidy up and unify copyright and license header.
Tidy up formatting and excessive whitespaces in some comments.
Remove Doxygen block with file description, author, date, etc.
Remove dead or commented pragmas and directives.
Trim trailing whitespaces.
2018-09-28 16:26:34 +02:00
Mateusz Łoskot
aac69ac846 Add first batch of examples to Jamfile
Update examples to catch up with recent changes and ensure they both
compile without errors (using GCC 5).
2018-09-21 23:02:49 +02:00
Mateusz Łoskot
ecc19de7c9 Simplify and clean up Jamfiles
Rename Jamfile.v2 to Jamfile - BBV1 is dead.
Remove numeric/test/test.cpp as redundant.
2018-09-21 18:02:37 +02:00
Mateusz Łoskot
513cd9d512 Update example/dynamic_image.cpp after IO reimplentation
Reminder: Boost.GIL 2.2 released in Boost 1.67
has completely reimplemented I/O extensions.
There still may be examples that no longer compiler.
2018-09-19 11:42:28 +02:00
Mateusz Łoskot
18963c857c Fix CMake status message [ci skip] 2018-09-18 12:01:55 +02:00
Mateusz Łoskot
ced645c476 Apply minor fixes to CMake configuration [ci skip] 2018-08-23 15:03:42 +02:00
Mateusz Loskot
ed67f9a571 Replace bitsN[s] aliases with C++11 fixed width integer types
Import the selection of integer types into boost::gil namespace,
  and move from channel.hpp to typedefs.hpp for easier access.
Replace bits32f with float32_t and bits64f with float64_t
  - kept as alias of scoped_channel_value.
Move float64_t (bits64f) to typedefs.hpp.
Replace the four {float|double}_{zero|one} min/max channel values
  with float_point_zero and float_point_one templates.
Replace <boost/cstdint,hpp> with C++11 <cstdint>.

Introduce preference of using declaration instead of typedef.
Reformat typedefs.hpp to take advantage of the using declaration
  - works much better for left-to-right reading, alias name as
    most important detail comes first.
Add some of missing #include typedefs.hpp, sort some headers.
2018-06-27 00:02:27 -04:00
Mateusz Loskot
0cecc380aa Add empty Jamfile placeholder for examples 2018-06-27 00:02:27 -04:00
Mateusz Loskot
b231bd5904 Add CMake option GIL_ENABLE_IO (default=ON)
Allow to enable/disable building of IO tests and examples
which depend on thirdparty libraries (libjpeg,libpng,libtiff).
2018-06-27 00:02:27 -04:00
Mateusz Loskot
fab99207f2 Add basic CMake configuration for Boost.GIL
First stab at collection of CMakeLists.txt for Boost.GIL
  - Allow building and testing boostorg/gil against Boost from
    cloned superproject or installed distribution.
Add CMakeSettings.json config file for VS2017 integration with CMake
  - Defines build configurations for VS and Ninja generators.
  - Can be used as is or as a template ready to customise.
Add conanfile.txt for Conan package manager (eg. for cmake -DGIL_USE_CONAN=ON).
Add .editignore file to with basic encoding of CMake and CI scripts.
Update .appveyor.yml with two extra CMake-based builds (allowed to fail).
2018-06-27 00:02:27 -04:00
Christian Henning
f26f583b3d Added gil::io documentation and added it to libraries.htm.
Updated maintainer.txt to reflect new gil maintainer.

[SVN r83328]
2018-06-27 00:02:27 -04:00
Christian Henning
b7109dd3a7 #4517
[SVN r83107]
2018-06-27 00:02:27 -04:00
Christian Henning
578b328915 Exchanging broken test image.
[SVN r60737]
2010-03-20 17:01:45 +00:00
Beman Dawes
8fed7d4a1e Merge gil changes from trunk per Lubomir Bourdev
[SVN r47246]
2008-07-08 18:56:09 +00:00
John Maddock
3412889eed Merged licence/copyright fixes from Trunk.
[SVN r43649]
2008-03-16 10:26:10 +00:00
Beman Dawes
2a7dcebb2b Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41370]
2007-11-25 18:38:02 +00:00
Beman Dawes
6e2ae34489 Full merge from trunk at revision 41356 of entire boost-root tree.
[SVN r41369]
2007-11-25 18:07:19 +00:00
Lubomir Bourdev
2ad6747dd0 GIL 2.0 to 2.1 (see http://opensource.adobe.com/gil/gil2.1_changes.pdf). GIL 2.1 to 2.1.1 (see http://sourceforge.net/forum/forum.php?thread_id=1824588&forum_id=648138)
[SVN r39339]
2007-09-17 08:12:19 +00:00
Lubomir Bourdev
6ba113bbb4 fixing affine
[SVN r39338]
2007-09-17 07:53:06 +00:00