ES-DE/external/CImg/html/screenshots.html

490 lines
26 KiB
HTML
Raw Permalink Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<link rel="stylesheet" href="highslide/highslide.css"/>
<title>The CImg Library - C++ Template Image Processing Toolkit - Download</title>
<script src="jquery-3.5.1.min.js"></script>
<script>var jQuery_3_5_1 = $.noConflict(true);</script>
<script>jQuery_3_5_1(function(){ jQuery_3_5_1("#include_header").load("header.html"); });</script>
<script>jQuery_3_5_1(function(){ jQuery_3_5_1("#include_footer").load("footer.html"); });</script>
<script src="highslide/highslide-full.js"></script>
<script>
hs.graphicsDir = 'highslide/graphics/';
hs.wrapperClassName = 'wide-border';
hs.showCredits = 'false';
</script>
<style>
table tr td {
padding: 0.5em;
}
</style>
</head>
<body>
<div id="include_header"></div>
<!-- ************* -->
<!-- Screenshots -->
<!-- ************* -->
<div class="section_title"><p>Screenshots</p></div><div class="section_content">
<p>
The screenshots below have been taken from the different sample programs distributed within the
<span class="gmd_cimg"></span> package.
Click on an image to enlarge it and on the source filename to display it. A link to a streaming video of the
corresponding effect is sometimes proposed.
If you are interested by a live demo, go to the <a href="download.html"><b>download page</b></a>
and get the pre-compiled binaries for your system.
</p>
<hr/>
<table><tr>
<td>
<table><tr><td>
<div><a href="img/ss_demomenu.jpg" class="highslide" onclick="return hs.expand(this)"><img alt="Demo Menu" width="100" src="img/ss_mini_000001.jpg"/></a></div>
</td></tr></table>
</td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>The main demo sample of the <span class="gmd_cimg"></span> package</b> (1433 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
Contains 26 different real-time animations, as well as a nice selection menu.
</p>
<a href="https://youtu.be/xGyvZTLQRe8" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td>
<table><tr><td>
<a href="img/ss_bump.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000000.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A 2d bump-mapping effect</b> (30 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>You can move the light source using the mouse.
This sample shows how to handle mouse motion and create an animation in a window.
It demonstrates also that the <span class="gmd_cimg"></span> Library is quite fast !
Everything is computed from scratch here, including the logo, the background and the light.
</p>
<a href="https://www.youtube.com/watch?v=gGJtELQ5ahI" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td>
<table><tr><td>
<a href="img/ss_hough.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000002.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>Computation of the Hough Transform</b> (95 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/hough_transform2d.cpp"><span class="gmd_monobold">hough_transform.cpp</span></a>
<p>
Illustrate the computation of the Hough transform to detect lines in 2D images. Provide also simple user
interface to select and display lines.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_imgfade.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000003.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>Do a fading between two images</b> (35 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/fade_images.cpp"><span class="gmd_monobold">fade_images.cpp</span></a>
<p>
Very small code to perform a funny effect. Also demonstrate how to easily deal with command line arguments.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_mandelbrot.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000004.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A functional Mandelbrot fractal explorer</b> (51 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
Show how to use the predefined feature selection function present in the <span class="gmd_cimg"></span> Library.
</p>
<a href="https://www.youtube.com/watch?v=Ir80V5r9aJM" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_odykill.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000005.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A simple shoot-em-up game, featuring the people of the Robotvis/Odyssee Lab</b> (180 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/odykill.cpp"><span class="gmd_monobold">odykill.cpp</span></a>
<p>
Another demonstration of handling mouse and creating animation for pedagogic purposes.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_optflow.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000006.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>An implementation of an image registration algorithm, with
multiscale capability</b> (201 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/image_registration.cpp"><span class="gmd_monobold">image_registration.cpp</span></a>
<p>
Compute a motion map between two images, and warp one into the another through a smooth animation.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_paint.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000007.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A mini-painting program</b> (30 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
This is not a replacement to Photoshop, but it already includes a filling algorithm
as well as a color selection tool.
</p>
<a href="https://www.youtube.com/watch?v=4HBiSksVzkI" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_rotozoom.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000008.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A classical demomaking-effect, called 'rotozoom'</b> (20 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
Smell the old school parfume of the atari/amiga demos.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_triangle.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000009.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>An animation featuring triangles that are rotating</b> (50 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
Could be a replacement to your classical screen saver.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_fourier.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000026.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A demo of image filtering in the Fourier Domain</b> (30 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=op0XoVMEdpE" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_render3d.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000011.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>An example of real-time 3D rendering</b>.<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
No use of OpenGL or VTK in this example, only pure <span class="gmd_cimg"></span> software functions are used !
</p>
<a href="https://www.youtube.com/watch?v=_2suSR7PiHw" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_bubble.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000012.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>An example of the ellipse drawing function, used to bounce an elastic bubble</b> (25 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=oXK6Wc4vsbE" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_landscape.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000013.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A real-time 3D virtual landscape</b> (40 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<p>
The altitude map is based on a 'fractal plasma' generator.
</p>
<a href="https://www.youtube.com/watch?v=I8_wcEwwpoo" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_plasma.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000014.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A nice plasma effect with a sinus scroller</b> (70 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=na8hcayKbFo" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_tetris.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000015.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>An implementation of the well known Tetris game</b> (130 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/tetris.cpp"><span class="gmd_monobold">tetris.cpp</span></a>
<p>
Very small code for a complete version of the Tetris game.
</p>
<a href="https://www.youtube.com/watch?v=IKsY2KCeh38" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_restoration.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000016.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>The implementation of the Tschumperlé-Deriche algorithm for image restoration and inpainting</b> (170 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/pde_TschumperleDeriche2d.cpp"><span class="gmd_monobold">pde_TschumperleDeriche2d.cpp</span></a>
<p>
See <a href="ftp://ftp-sop.inria.fr/odyssee/Publications/2003/tschumperle-deriche:03.pdf">the corresponding publication</a>
for more detail on the algorithm.
</p>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_shadebobs.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000017.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A very smart and classical demo effect called 'Shade bobs'</b> (60 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=q91cyn6x8LY" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_blobs.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000018.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A nice Blob Editor in only few lines</b> (90 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=wOCdcFfz7Z4" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_metaballs.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000019.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>3d Metaballs animation</b> (23 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=-S_r76OxzyY" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_surface.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000020.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A tool to visualize images as surfaces in 3d</b> (100 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/image_surface.cpp"><span class="gmd_monobold">image_surface.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=OlBXh-gkv3U" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_dtmri.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000021.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A 3d viewer for Diffusion tensor imaging datasets</b> (526 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/dtmri_view.cpp"><span class="gmd_monobold">dtmri_view.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=ip2itUXhcls" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_waves.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000022.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>Applying the wave equation on an 3d image-mapped surface</b> (55 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=KNe-rXJldDM" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/curve_editor.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000023.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A simple 2d curve editor using spline interpolation</b> (300 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/curve_editor.cpp"><span class="gmd_monobold">curve_editor.cpp</span></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_jawbreaker.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000024.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A complete and funny game featuring colored balls</b> (121 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/jawbreaker.cpp"><span class="gmd_monobold">jawbreaker.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=3z4jdb-wafs" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_reflection.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000025.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A cool 3d reflection effect, using some <span class="gmd_cimg"></span> 3d object rendering tricks</b> (130 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
<br/>
<a href="https://www.youtube.com/watch?v=5wQgkEjdrcw" target="_blank">
<img src="img/item_clickvideo.jpg" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';"/></a>
</td>
</tr></table>
<hr/>
<table><tr>
<td><table><tr><td><a href="img/ss_puzzle.jpg" class="highslide" onclick="return hs.expand(this)">
<img alt="" src="img/ss_mini_000027.jpg" width="100"/></a></td></tr></table></td>
<td>
<img alt="" src="img/item_description.jpg"/> :
<b>A simple word puzzle game</b> (100 lines of code).<br/>
<img alt="" src="img/item_file.jpg"/> :
Squashed 'external/CImg/' changes from c0becdf88..4d061dcd6 4d061dcd6 math_parser(): Add function 'map()'. ac599e123 . b9fa7354f . 673cfe3d5 math_parser(): add mutex to protect access to image list statistics. 862b2c7b1 Fix bug in math evaluator function 'find()', and improve 'colormap' in 'full-colormap' mode. 44b1d556c draw_text(): Fix (non-standard) passing reference to va_start() macro. 6db20df4f . 03b2203ea . f9619587b math_parser::da_remove(): Improve error message when trying to remove element in empty dynamic array. 3486b3ee7 Remove unused version of _sprintf(). 07040bb0e Fix warning about using 'vsprintf()' with clang-12. 5f667e2c7 . e6c7b23c9 . 099447df4 . e89b77dfa . 1d5505416 . 163cf1caa . 40a666909 . 86e55504c . 381ba0bfa . b886800ad . 31648450a . 2e82b7cd9 . 2daf2862f . c6e4360df . 6c94a6b20 . d212c0ce3 . 5ff6f38d5 . 3e7a4f21d . ccf1db65e . a411cc180 . e0018918b . 23903475c . 6a8b81169 Command 'text': Custom font can be specified. a2dea0866 . d31902272 Fix bug in 3D convolution operator. 210b728a3 math_parser(): add new predefined variable 'v' (eq. to 'u(-1,-1)'). b030ea4e6 math_parser() : Fix parsing arguments for function 'permut()'. f90e52c4d math_parser: Allow 'norm()' to return a const value when possible. 17b8f5bb5 . 6ffe10e13 . 3c7b877b3 Improve inner/outer parallelization decision in 'correlate/convolve' methods. 56e2268b4 . f4eeec4d2 . 00ce10760 . bf0f5dcb2 . 45df40a35 . 43950e631 . a73a2f129 . 1d033f1da math_parser: Start implementation of function 'offset()'. 0f673c279 . 59a34f2fe . 815c40021 . 422d6ecc3 . b0ab9037b . e2af0d091 . b41f7850e . aebccaad9 . 9d60f335e . c65104e8c . 9ac2b7ae1 . 43558edca . 6cd4e15e6 . fc2ca5606 . aa5b1149b math_parser: Refactor function 'draw()', and prepare for variant that draws in vector-valued variables. 6c47625f3 . 8d1bbe3ef . d5fcd765c . 6c43cf325 . 0d54f89e7 . 56cc9a806 . 60411ef05 . 009594d2d . acf1a2a70 . 8d3bfe7fc . 7078e25a5 . 3d56cac0c . ea0074152 . 4977f9500 math_parser: Prepare code for implementing 'crop()' on vector-valued variables. 382ad1b59 . 8834a487e cimg_math_parser(): Be more strict in the use of vector-valued arguments for some functions. c33802810 . 4b3653922 Remove useless test with 'is_relative' for math_parser's function. 732986f3e . 94f12f994 Allow creation of animated .gif with transparent backgrounds. f3a5ba719 . 866b6d752 . f2dc3ef7b Fix issue #368. 55ff59944 . 386fd1871 . a456e9010 . 28a857b69 . 110ca2d87 . 404303418 . 2e2e0c5e8 . bf7b13196 . 91b63f722 . be47c0a33 . 7d232bdbf . e6012687d Merge pull request #367 from GreycLab/master 642cebcfd . f650e941d . 50a4ab03f . cdedc97f8 . 9ec047a1b . 65c462cab . 2eb56a718 Merge pull request #366 from marsh0/develop a8939b6ef . 334b3e9c1 Fixed unsigned int 64 to unsigned int warning 8e72d80fd . e3cc84697 . b1c13dfc5 . fb79a9d3e Improve computation of matrix pseudoinverse with LU solver. 76fae2fcd Add option 'use_LU' to command 'solve' and math function 'solve()'. bb03df435 . d86916333 Merge commands and math functions 'invert' and 'pseudoinvert'. 49f61eb8a Merge commands and math functions 'invert' and 'pseudoinvert'. a63492bcd Merge commands and math functions 'invert' and 'pseudoinvert'. a403c817e Add 'lambda' option to the various 'pseudoinvert()' functions. ca21c1d73 . e0a825b1a . 931b498a5 . 9112b4711 . f52871859 . 31dabfb13 Start work on next version 3.2.0. 1e1078317 . 7f3157a04 . 03f877161 _cimg_math_parser(): Slightly change behavior of 'isin()' to allow testing vectors. c63cf71c7 . 1921b379a . ec000cd2e cimg_math_parser(): Fix bug in accessing predefined variables 'i0,...i9'. c3cef822b Merge branch 'master' of github.com:GreycLab/CImg a28648518 . 9a0f19ded cimg_math_parser(): Fix incorrect handling of 'yM' (regression). bbad387b3 Merge pull request #359 from bkmgit/ci c5dcd933e Add badge with build status b3059fa96 Update branch name bd0eff91d Merge branch 'master' of github.com:GreycLab/CImg c6f53e867 _cimg_math_parser(): New predefined variable 'id' (std of current image). 7d5619934 Merge pull request #358 from bkmgit/ci db2e449fd Add 3 new postcards. 21c168170 Fix wrong detection of multi-threaded expression error in 'CImg<T>::fill()'. ecfc076a5 Update MacOS dependencies 67ce48f35 Update MacOS dependencies 9c14a9000 Update MacOS dependencies 4184a25ba Update dependencies 813ed36bc Update dependencies 94b62e7fb More formatting fixes ab395bb38 Formatting fixes 052e71ba7 Enable testing 3405584e2 . 5ad3d1af1 Add math parser function 'da_freeze'. f53b5ab9c . 957ecc309 . 5934122c9 Add postcard #77. cb93f21c1 Add postcard #77. 2835ec2e2 . 27ffac840 . f68f333dd . f25f7e1e8 . 80e582a0c . 406fbd072 Merge pull request #355 from Poohl/develop a580234ef font size doc ae654a628 Final release 3.1.4 e35d78341 Auto-commit for release 3.1.4_pre 54ff2d7af . 25bd0c3c6 . 3bb6458fc Simplify error handling in 'get()'. 39b4f963a . 568b34c4a Make 'swap()' return 'nan'. 0cdfb6714 Make 'set()' return 'nan'. 69a03bf83 Make 'copy()' return 'nan'. da854d5ae Invert argument order in math function 'store()'. 8f493f7cd Invert argument order in math function 'set()'. 6f1ea6eab . e82ed2c61 . f511bb5c8 . a35cb93e7 . a452d475c . 2bc84810b . ab4381619 Merge pull request #353 from amyspark/amyspark/support-msvc aa4455fe4 Support MSVC's OpenMP 2.0 5f26c8745 . 6f8ee7c07 . a01439210 Change variable name '_res' to '_resu' to avoid conflict with other badly written libraries. 480b2f0fb Add command 'eye'. 921772323 Start work on 3.1.3 version. 21ba6b4db . 8637d8f4d Define 'cimg_max_buf_size' to another value for 32-bits architectures. d8bb494d6 Define 'cimg_max_buf_size' to another value for 32-bits architectures. e8affb299 . 47e249d38 Fix bug with 'break'. 8fe779e8a Final release 3.1.1 e01419fc5 . 52b3d735a . c4ddd6131 Update plug-in 'cvMat.h'. 104cfb8a6 Start 3.1.1: Fix possible misinterpretation of arithmetic expression in ':=' assignment. 1d1c75c36 . bc010ab25 . d27c30fe1 . 254a4cf7b . 5801be3d2 Merge pull request #348 from 7unn3l/master 37cf0c1e5 add global hardening against RAM exhaustions in safe_size 6b78c3b3f . 7b7688dc8 . c3c8c22d6 . 471083bbd . efd8d2965 . 577bf7b50 . 9d03892e3 . f8dba12b8 . 3ca5dcea2 . 29bdc1dce . a63b71bf0 . 22f226f4c . 761d5c085 . 1665172bb . c7ee7bc9b . 193abd7b2 Add macro 'cimg_max_file_size' to control maximum allowed file size when reading image files. 0f7f7fb45 . 619cb58dd CImg<>::load_bmp() and CImg<>::load_pandore(): Check that dimensions encoded in file does not exceed file size. d0f152d53 Fix offset issue when dealing with large images in 'CImg<T>::erode()' and 'CImg<T>::dilate()'. 607aea7c8 Fix 'get()' in math parser. 8824c078d . 0da4cb0ac . d9a56919a . 52bc43848 . a02df736a Allow command 'store' to manage bigger images. 0cf328ab6 . d54761b9b . 72e5e6314 Remove unused variables in 'CImg<T>::opening()' and 'CImg<T>::closing()' 466022095 Format code to 120 max char./line. 790710040 Merge pull request #340 from amyspark/amyspark/powershell 712078d3f load_network: add Powershell fallback for Windows e7eb920b7 . fc6ba0eec Add 'CImg<T>::otsu()'. 8404b81a0 . 877ba9da8 CImg<T>::opening() and CImg<T>::closing(): Use min/max of type T rather than min/max of image values, for initialization. 3cd82ea4f Add methods 'CImg<T>::opening()' and 'CImg<T>::get_opening()' 640195d02 Add methods 'CImg<T>::closing()' and 'CImg<T>::get_closing()' 94a7c7f13 . 4171fb912 . b5f2177c5 . 3200701db . fddf9334f . 555019468 . 353cd8fbe . c864cb0ac . 97c2923c0 . 366977648 . 66261e676 . baf9a8009 . a87a42217 . 2e99e630c . 23c738e85 . 8a17cb81a . 8b23cf36b . 1190e3f98 . ae4c10e71 . b6febab4c . 891d91621 Fix libtiff compilation issues with uint16_t and uint32 datatypes. ee4dc2f93 . 1189d5050 . 0a260f407 . 983c502b4 . 376ac7316 . d51bccfce . 82d6b436d . 3b7421231 Update README.md d7ea859fc . 4efbe8a4f . fb39f7c96 . abbcd69f2 . 5651a141f . 6816343ca . 96661b16f . 159baf24f Improve default image normalization behavior with CImgDisplay with integer types. 349274537 . 53cf0df32 Fix multithreading in 'structuretensors()' computation. 1bff57ea5 . 44df5b111 Fix compilation errors for type T=half. dd1139da4 . b4365b74b Auto-commit for release 3.0.3_pre 410a7eaad . 52cdaf7ff . e09678a3d Start work on 3.0.3. e15278726 Final release 3.0.2 927fee511 . 798007eaa . a7eebc5c4 . a27910604 . 032128ac2 . ac7980fc6 Start work on 3.0.2. 99a27d921 . ed6984ca2 . 51295de3e . 7c81d801c . d822b418f . bcdbaeb61 . 2798b9ea7 . a5465c18a . 8ad66d28d Final release 3.0.1 0a7c58232 . d67062b57 . b86e97ba5 . 0a346c624 _cimg_math_parser: Fix 'da_remove()' when used with multi-channel arrays. 6300c47a1 . 4cd0579d4 math_parser : Add functions 'printc()' and 'printcs()'. 0bda75c10 Fix #337. d3190b26f . c5b1a4ce0 Simplify _cimg_math_parser() by merging listin and listout into imglist variable. db7586fb4 . de80b8a82 . 93e45d310 [math-core-301] Fix floating point exception when functions da_*() are used with no images on the list. d4cc50b95 . f88c9148f . ba89271ed Final release 3.0.0 e6ef1ad73 . f687c4629 . 30991fb16 . 26e166b8d . c0995a47f . 3f4dc79a2 . 4d331435d . 64952efb9 . dbc19c290 . 9adb5bdb0 . f72d88d63 . 4d8ee52e6 . 73fef7018 . 175a53870 . e6cfba22a . 87bd9d126 . 10abd5fac . 00e896a07 . 1cffd322a . e2e9baab6 . b05d14e3e Add more boundary conditions to 'boxfilter'. c39bb2503 . aebc12a82 . fa5f067e0 . 63312e7d8 . a93108d4e Fix bug in 'correlate()'. e1e77b7c6 . 62bc6b134 math_parser, function merge(): check that specified variable is not a linked reference. 132bb175b . e0fd8a9b4 . 637eb4c2c . 237a1f4b8 . 481df9dbe . 8d502a5fe . 2ee5b1670 . 63a4fa78d . 5c4860ef3 math_parser: Add functions 'da_back()' and 'da_pop()'. 50c0d9839 math_parser: Add functions 'da_back()' and 'da_pop()'. 67f8c6e4b . 2d2c7f953 . bb98b67b7 . 6acf1c19e . c60635e01 . d6c50bfee . 9798f569d . 5f63bc3d8 . b2f29613e . f30babb43 . 920965b0d . 8e01f2833 . 93408dc74 . 6faf752ff . 5a1a2bd92 . bbecd96f2 . af9c0a434 . 035125b20 Fix CImg<T>::draw_triangle(), with color-interpolated triangles (Fix #332). 8f949732d . 22190d30e . bc0160d79 . c2022354d . 72378e8e3 . 04638b8cd . 527aa2233 . a6d4956bc . f09c2b145 . c967157af . bedf7d5ea . de0612004 . 62d3898a9 . 254d842ee . c0a74ff77 . 5c13300f3 . 2352831c1 . 6e5a14a23 . e020fdf47 . 60bf6e4ec . 4e9f06083 . a95a0dcdb . bd37c5755 . ba155fd42 . 1a6e02309 . f1ba20b82 . 04b3f1e29 . c9eabd65d . 7089938f6 . 47d3a2ea6 . bcf797fea . 04e037028 . 79ea94dd4 . 7bdd3f9ba . fbd0be3a1 . b4f703517 Start the work for supporting new type 'list' in math parser. f6860f51b Merge pull request #329 from Irgy0/master 41f0d3777 . 8eaf50b64 . 2b7e44e57 . 535924dca Set PNG interlacing on to avoid an error message when reading interlaced pngs. df4e034f8 . 6c051eb27 Improve detection of .raw files (CR2,NEF,DNG,ARW). 25aaf3850 . 48173196c Fix a few int-overflow bug that could happen in draw_line(). bcfe7c7b2 Start work on v.3.0.0. Fix bug in CImg<T>::draw_polygon() when large integers are used. cd95217c0 Final release 2.9.9 506fcb51b . b33dcc8f9 . 96114de6d . 25612a629 . 4ffd314d9 . 4314d6e25 . 90dba23bc . 06dc60988 . e3e62d883 Add a few optimized pattern detected to evaluate simple math expressions. c4a7e078a . 595c34a29 . 288e6b8d5 . c82328019 Optimize CImg<T>::_correlate(). 2d83233c4 Merge pull request #322 from xen0n/fix-f1996f1 70876dde3 . 3544285d1 Auto-commit for release 2.9.9_pre 5304630b6 . eb50adb88 Bump to development version 2.99 2d2731eb6 examples: probe for -mtune=generic support, fix wrong LoongArch support 2e01be63d . c89f21f73 . 2a1fc8892 . 1258803c0 . 06e7b4c50 . 69f88f3d3 . 634ec5cb7 . 9f8bcec92 . 6a80064f7 . c62788122 . a6d3453ca . e0ba6764e . b2b2587f6 . 82030f386 . 60c8331bc . 92933de51 . a021efcde . def3d2053 . c498c1d4a . bc62b89bb . 8485f6964 . 3778d6470 . 6642c07af . dbe72a293 . 48885df73 . ac0890316 . a1a0296e8 . d7fa86a15 . 62d4b793d . a154473a4 . 72d6622d2 . 4951ce53a . 4df351bda . 8488374fa . 6c5d95e91 . bd5ad98b0 . 4baff4a38 . 011cf98e9 . 46f09676f . f9fc7ec05 . 64214b216 . 2c6199e6c Optimize CImg<T>::_correlate(). 1ae6b689a . 6c7dab3a6 . 463a7a9e9 . 7ab29098f . 128d06351 . 0fb83de04 . 2f91d0522 . 64ae3ee54 . 025e85ea5 . c7ed44f42 . 91ef37e53 . f92c0ead4 . 29066e1b0 . 00c8c6ba7 . 5a408e8cc . 87226897c . 44b78c7fb . 0bfb8739b Merge pull request #321 from Lucky-Na/master f1996f10f delete -mtune option on loongarch architecture 3d72e8721 Fix variable prepending operator '..=' 499719e16 . 30a5cd2a0 . 43a6228be . 6dabed31d . 4fca316ed correlate() : Fix when used with 3x3,5x5 or 3x3x3 kernels and dirichlet boundary conditions. c72acfb3a cimg_math_parser() : Allow strings with blank characters to define empty 'begin[_t]()' and 'end[_t]()' blocs. 9423744d5 . 59ffa01f5 . b1816a335 . e29daa5b6 cimg_math_parser(): Fix argument counting in functions convolve()/correlate(). b9d347240 . 43af18673 . a79cada5f . 0275b3d84 . 2b0af18cf . bf67c30d8 . 6ca2fdcde . e38d56a2f . b14e79f6e Fix CImg<T>::convolve() and correlate() for channel_mode==0. a996c28cf Fix CImg<T>::convolve() and correlate() for channel_mode==0. 63d40db5e CImg<T>::convolve()/correlate() : Fix bug with small kernels and channel_mode==2. 8b2e46ca5 . d9e5e9551 _cimg_math_parser() : better manage inclusion of begin(), begin_t(), end() and end_t() blocs. 46f043f34 _cimg_math_parser() : allow begin(), begin_t(), end() and end_t() to have empty arguments, and fix possible bug with returned value when multiple end() separated by semicolons. 6fb8ca212 . 59464c694 _cimg_math_parsers(): Fix thread number when math expression is evaluated in parallel. f8cc94faa . 7c414c67b . 7232ea760 . 9aaf75076 CImg<T>::cimg_math_parser() : Add predefined variable T (max number of threads). ee59a3f87 . f5ff164b6 Add commands 'deg2rad' and 'rad2deg'. 28b0562b6 Add 'erf' function. f7308afab . d984ca0ea . 96eab6c69 Auto-commit for release 2.9.8_pre ae16ae5ef . be4612f61 . 87e8f38b7 cimg_math_parser : Add postfix operator '°' for degree to radian conversion. 6351adce1 . a68b594bd CImg<T>::_cimg_math_parser() : Add functions 'deg2rad()' and 'rad2deg()'. a95d03e8b . a285f0fca cimg_math_parser: Add function 'erfinv()' (Inverse of the gaussian error function). 948cc956c cimg_math_parser: Add function 'errf' (Gaussian error function). 340d0a4c8 . 55e370660 Fix #319 c00abf5f0 Command 'input' : when loading a tiff file, bit depth is now set to status. 7222933de Change 'bits_per_pixel' to 'bits_per_value' in CImg<T>::load_png(). 16979f3b3 . 5876d4f7d . 0d9a3c56c . 33a28fddf Temporary disable openmp clauses that slow down execution of CImg<T>::draw_text(). efa524d6d . b726708e6 Implementation of the operator$() in math parser. 5f4914222 Start support of '$varname' expressions in math parser. ad7ea9ef1 Improve comments. 0d1e92f3f factorizes the use of 'is_varname()' in 'cimg_math_parser'. 3039446df . 2c5628639 Make function echo() of the math parser accepts no arguments. 0fa6b92a5 . 5f15b8c60 . 37559271f . d079374d8 . d7bd9f018 . e68a184eb . 749bc70ab . f4b53f6e5 . cc3c1f1da . 14c95cc60 . 075a7225b . dd8888fe6 Auto-commit for release 2.9.8_pre b0f47208f . 68e98b6bf . 68dbb754b . 1a2ff4ed5 . 6c5f78646 . 1d51d0113 . aa0eaa35c . f6bf39296 . 771fed51f . ae07e9402 . c2ea55532 Simplify memtype values to avoid optimizations in mathparser. b0bf3f942 Merge branch 'master' of github.com:dtschump/CImg 218efcf9b . 670c4b96b . 91c79ddbe . b2364dfe6 . 70aaa01e7 . 2970997fc . 4d07ae7cc . 7c15e7916 . 8e381d9ef . 5bcba71c9 . fde76337e . 7886267e6 . 979de2c2a . f7d659758 . 30761a532 . bb00749e6 . 317e5ac5c . 38b70c3cf . 009203b1f . 3ad6a9ae5 . 0794bbb21 . 03781c95a Fix bug in 'draw_text()' when background color provided. 09b9509ae . b7cd009a5 . 65c6ddc16 . 29ab0faff . db81f5dd3 . 3645f4fe1 . 8bdba276f . f4138047f . 30f6b4b06 . 306e56fe6 . 9a1ba9432 . 515bd31a1 . 6ca343326 . 766163fb8 . 9a95c0580 Try to fix warning in _load_cimg(). c9ad21c03 . a5a6d8145 . 11b76c6be . acc89aa12 . 50830d050 . 79c98a562 . 4a7bb5179 . c4b3fa7de . 227ac1511 . 96918daa6 . 32b165ef3 . a66d1967a . 0b499d9ad Auto-commit for release 2.9.8_pre f1f7eb052 . 0f67297eb . a70a9fe8a Final release 2.9.7 f96abe1f9 . bbc902b73 . 9aafe8661 . 6e2fe28f8 . 84999fc90 . 50010156f . 070ded77c . b6b16a833 . 19cfa4a58 . df9386eb1 . 6d2e1b033 . 54362bece . 6b6563f80 . 3aea1583d . 72aebaf5a Merge pull request #307 from lrusak/heic 94427018a . 9546e99a6 . bd5588194 add heic and avif support via libheif 089aeaa1f . 54eb48990 . 1b0e54e4e . 7109b5f09 . e8aed2a42 . 8174e8777 . 338f4b6c4 . 1838aef33 . e48345ab6 . f30d034a9 . e15eac073 . b2129184e . d9ef878a2 . 5f4047615 . d3eb0c5eb . 2f7a1ebf1 . 90baf1b6b . e5084c208 . 391a440af . 70a4532a3 . eca1daace . 9efa52eb7 . 0cdc54bcf . a79a2f1c3 . de1205f66 . 063d9e09a . ec3f66877 . 324c7d1cc . 1244801b1 . 58196cec7 . 2363d1935 . ccc362050 . 5c98c31b0 . c6be2b83a . 8f79526f0 . 1ef7c78d7 . f913ffa5e . 7db6d0835 Merge pull request #295 from cleeus/fix-pnm-heap-overflows 4f184f89f Fix multiple heap buffer overflows 580d74777 . 755cf717a . ce329c07f . 33824c014 . 9978daaaf . f37b255ca . 1222eea73 . b8a7af571 Merge pull request #282 from Chuvi-w/FIX_VTK 96e5c9e14 Fix syntax error in vtk.h ea2b86fef . 833b1a589 . 654d46278 . 15d25b190 . d6955b5e9 . 3f2b7a3a7 . 612044515 . 6f3cacdc3 . 94f6b51e5 . e0763f2fd . 8f0dcc789 . d069d8048 . d501aa3a0 . 9bcfc5b8c . 3a6cd9df0 . 46def454c Merge pull request #263 from UlysseV/MC_improvement 16f2496b6 change func call pattern for isoline3D d577a6b28 change func call pattern f71695057 . fffee0ae0 . c15123bff . d0257a2f9 . 01edd73e1 . bb02b35ea . 92b407d53 . b26716f3b Merge branch 'master' of github.com:dtschump/CImg bc2446460 . a93c51b98 . ecc8b7337 . c3960f08f . f77588f32 Merge pull request #253 from dtschump/develop git-subtree-dir: external/CImg git-subtree-split: 4d061dcd67c08e9a36a01875e78b53ee86501dd7
2023-01-06 10:47:13 +00:00
<a href="https://github.com/GreycLab/CImg/blob/master/examples/CImg_demo.cpp"><span class="gmd_monobold">CImg_demo.cpp</span></a>
</td>
</tr></table>
</div><div class="section_end"></div>
<div id="include_footer"></div>
</body>