* Added all standard morphological transformations
* Should handle grayscale dilation/erosion
* Added test cases and improved code structure
* Should handle multichannel images
* Added all standard morphological transformations
* Improved comments and some other things
* Applied adviced changes
* Applied adviced changes
* Should handle grayscale dilation/erosion
* Checking
* Added test cases and improved code structure
* Added command line control
* Added command line control
* Rectified some things
* Rectified some more things
* Improved comments
* Improved comments
* Improved doxygen comments and added more test cases
* Improved compatibility for builds and rectifying whitespace use
* Minor improvement in comments
* Did clang formatting
* pushed enum class inside namespace 'detail' and some other things
* Should handle multichannel images
* Clang formatting attempt
* got rid of if/else comparators for target_element
* Adds morphology.hpp declaration in boost/gil.hpp
* Fix newline
* (std::max)(a, b) instead of std::max(a, b)
* Improved Formatting
The warnings, debug-symbols and other build properties
can (and should) be controlled via b2 command line options.
By the way, most of <cxxflags> uses in Jamfile-s are usually incorrect.
Instead, better option is to:
use warnings=pedantic to control the warnings instead of cxxflags options directly
either in requirements or in default-build,
depending on whether you want to override it from the command line or not
Support construction from step_size, step_count, and a function for angles
Implement angle and radious version of Hough line transform and adds a demo
with static line that goes over secondary diagonal.
Implement incremental line raster
Implement naive line raster
Implement Bresenham line raster
Leave only Bresenham line rasterization
Naive and incremental algorithms were removed because they are supposed
to produce the same results anyway.
The reason for diverging results is inaccuracy of floating point numbers
Add circle rendering through trigonometric functions, using
arctan(1 / (radius + 1)) as minimal angle step.
Trigonometric circle rasterizer does not follow circle equation, but still
produces very round shapes.
A new testing methodology needs to be devised for this rasterizer.
The new version accepts start and points inclusively and tries to use
canonic representation during computations.
Slope decided to be is (diff_y + 1) / (diff_x + 1).
Add basic GitHub Actions configuration based on mp11
Remove Actions jobs using GCC 4.7 and 4.8 - unsupported compilers
Run b2 with --abbreviate-paths on Windows
The -std=c++1z is broken for clang-4.0 but no need to test it
Add -mbig-obj to GCC on Windows
- That is to avoid string table overflow and file too big
Define _GLIBCXX_USE_CXX11_ABI=0 for clang 3.5, 3.6, 3.7
- Should help avoid linker error:
`undefined reference to std::ios_base::failure::failure(char const*, std::error_code const&)`
Disable certain check in algorithm_channel_relation test for clang<3.8
A new histogram class proposed with close suport for gil
image constructs.
Shift the stl support implmentation to extension to
serve as example for overloading fill_histogram.
Add cumulative histogram and histogram normalization.
Co-authored-by: debabrata1 <debabrata@goodhealthapp.com>
The output type must be floating point, thus a check was added to make sure it
is the case. Though I had to add specific cases for float32_t as std::is_floating_point does not
consider it a floating point type
The accumulate part was wrong, it multiplied by delta_t on every sum, which is wrong
Use 8 way nabla compute.
This is just different discretization of Laplace operator
https://en.wikipedia.org/wiki/Discrete_Laplace_operator
Laplace stencils are now the same as in mathematical notation
The new function will provide a uniform way to generate stencils
by making sure directions are indexed properly
Add only required stencil points:
The 5 points Laplace stencil is now adding only required points and not assuming that others are zero
* Fix conversion of rgb to signed cmyk(boostorg#479)
* changed naming of dst_us_t to uint_t and undid the formatting change
* test for conversion of rgb to cmyk, PR #522.
* small formatting changes/fixes
* Build configuration update for PR #522
* removed unused header file
Correct calculation to correctly map CMYK 0 to minimum
and 1 to maximum of input and output channel types.
If float-point division is necessary, use double instead of float
which may be too narrow for large operands. cmyk32_pixel_t is based on
uint32_t which multiplication by its maximum may yield result too
large to fit 32-bit float.
For example, (uint32_t(c) - uint32_t(k)) * float(s) for
c = 4294967295, k = 0, s = 1.0
results in 4294967300 value which does not fit uint32_t.
Fixes#406, but does not fix#479
Since we do not require C++17 yet with its `if constexpr
that would discard instantiation of allocator's `operator=`
when the statement is not active, we have to use the tag
dispatching with appropriate used of
`propagate_on_container_move_assignment` and
rebound `allocator_type` to choose the POCMA.
Minor coding style fixes.
Improve utilities sending channels, pixels and other GIL objects to
output stream for logging of test errors.
Fix missing namespace qualification in IO tests.
Comment TARGA test case with FIXME that was accidentally
uncommented in cc64bdd1a4
Remove use of compile-time configuration macros
- BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
- BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
Remove BOOST_GIL_IO_USE_TARGA_FILEFORMAT_TEST_SUITE_IMAGES as not used anymore.