CRIMP
Timeline
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

872 check-ins using file doc/figures/math/scaled_gamma.txt or doc/scaled_gamma.txt version 676e4c7df7

2016-11-16
20:43
Templated simple invert, extended greys, testsuite Leaf check-in: 585043d89c user: aku tags: refactor-interpolations
19:43
Templated scale & offset, extended tests. Extended offset to grey types. check-in: d6238a0554 user: aku tags: refactor-interpolations
16:37
Templated sqrt, properly exposed. Extended exp/log/sqrt to the grey types. Extended tests. check-in: 166dbd5e82 user: aku tags: refactor-interpolations
04:44
Fixed issues in windowing operator. Templated the single-channel forms of windowing and blanks. Extended testsuite. check-in: 8b43aa4836 user: aku tags: refactor-interpolations
2016-11-14
17:53
More specialized types. check-in: bff986e073 user: aku tags: refactor-interpolations
17:18
Commit missed operators. check-in: 9c5934d247 user: aku tags: refactor-interpolations
17:13
Added types for convolution kernels and projective transforms, with special checks. Updated operators to use them. check-in: 96c734a304 user: aku tags: refactor-interpolations
2016-11-12
06:48
Really add the testsuite for conversions check-in: 8478f42278 user: aku tags: refactor-interpolations
06:44
Added templating support for per-pixel mapping. Covnerted exp/log and the single-channel conversions over. Added tests for conversions. check-in: cce44bda8f user: aku tags: refactor-interpolations
01:34
Support for pixel iterators/incremental access. Converted exp/log over. Look into templating. check-in: 0fa4c7e7ad user: aku tags: refactor-interpolations
00:28
Expose exp/log primitives check-in: 37929ec44d user: aku tags: refactor-interpolations
00:27
Switch demos to new <size> accessor. Default (de)gamma to 2.2 check-in: 11e5eb9524 user: aku tags: refactor-interpolations
2016-11-11
23:36
Added core accessor: size (image area) check-in: 5856675da4 user: aku tags: refactor-interpolations
22:15
Added foundation for future use of header <stdint.h> check-in: cbbf33f9fc user: aku tags: refactor-interpolations
22:14
Fixed wrong/args messages to be core version-independent. check-in: 29266d7f6c user: aku tags: refactor-interpolations
20:56
Rewrite includes to new convenience command. check-in: 82a4f0a153 user: aku tags: refactor-interpolations
20:49
Missed a missing return, and include the new headers (Rewrite to new form also) check-in: 44a27ad8b5 user: aku tags: refactor-interpolations
20:44
Added missing returns, and fixed a missing return type. check-in: a29199c0ba user: aku tags: refactor-interpolations
20:42
Separated a few lines for clarity check-in: 9cab9bc5c0 user: aku tags: refactor-interpolations
20:41
Added a technically superfluous return to stop compiler complaint check-in: 2f09ad028d user: aku tags: refactor-interpolations
20:40
Added missing type information check-in: 6202cd7318 user: aku tags: refactor-interpolations
20:40
Created headers for functions without declarations. check-in: f9f163761f user: aku tags: refactor-interpolations
20:37
Added compile time sizeof information, used where compiler complained (for now). check-in: 932b6edeea user: aku tags: refactor-interpolations
11:10
Extended thresholding above/below/inside/outside to type "double" check-in: bd5c8f98bc user: aku tags: refactor-interpolations
10:40
Fix issues in demos (switch to double, alpha channel thresholding wrongness) check-in: 175216752f user: aku tags: refactor-interpolations
10:39
Add double support to PFM writer. check-in: 17e0cd5e5f user: aku tags: refactor-interpolations
10:38
Fixes in "matchgeo", syntax errors, variable overlap, ... check-in: cb249b07e0 user: aku tags: refactor-interpolations
07:12
Oops. Fix int/double mismatch, two variables "c", of different types. check-in: 63efcb077e user: aku tags: refactor-interpolations
06:27
Fix nearest neighbour calculation, and start on bilinear interval/patch check-in: cb4b8a1c63 user: aku tags: refactor-interpolations
2016-11-04
05:15
Pull in bugfix. check-in: f14a446dd4 user: aku tags: refactor-interpolations
05:14
Pull in bugfix. Leaf check-in: 68531880aa user: aku tags: double-type
05:14
Pull in bugfix. Leaf check-in: 76f2a99523 user: aku tags: testsuite-work
05:13
Fix typo in switch, extra pattern Leaf check-in: 12a321cfac user: aku tags: trunk
05:11
Sync'd with trunk work, updated new operators and tests to match check-in: eeaa3cf13d user: aku tags: refactor-interpolations
2016-11-03
23:56
Sync'd with trunk work, updated new operators and tests to match check-in: 12d70eaba6 user: aku tags: double-type
08:26
Sync'd with trunk work, updated new operators and tests to match check-in: f0c551a01c user: aku tags: testsuite-work
07:57
Fix memory leaks in PFM reader package. check-in: be32237cba user: aku tags: trunk
07:53
Converted crimp and formats to new crimp_primitive. Updated all operators and supporting C code. Updated all tests to use via kettle. All tests pass. check-in: c49aa2a976 user: aku tags: trunk
2016-10-31
20:02
Move tests to default location used by kettle. Start making them visible to kettle, and rework to use kettle definitions (core.test) check-in: 8a35242072 user: aku tags: trunk
20:00
Fix buglet in demo apps, apparently was not updated to match changes to low-level meta-data API. check-in: d661aa4a60 user: aku tags: trunk
19:59
Moved API defs into separate files (.api). Reworked prim-ops to use new support code. check-in: 782f2da71d user: aku tags: trunk
19:57
New support code for reworked, hopefully nicer definition of primitive ops. check-in: 4af424e3a8 user: aku tags: trunk
2016-10-27
05:10
Sync'd with trunk work check-in: 36c7a50438 user: aku tags: refactor-interpolations
05:08
Sync'd with trunk work check-in: bc4ac3e851 user: aku tags: double-type
05:06
Sync'd with trunk work check-in: e91703a8d4 user: aku tags: testsuite-work
2014-12-22
19:42
Created proper image comparison for tests and dropped the -0 it obsoletes from in the matrix inversions tests. Note: No other tests had such. Even so use of the new comparison in more tests may be useful to get away from string equality to proper logical equality. This can be done incrementally. check-in: 7564ebb89f user: andreask tags: refactor-interpolations
2014-12-20
16:00
Fix file-name collision for README, on case-insensitive filesystems (Windows, Mac). check-in: f2ee1c72c4 user: andreask tags: refactor-interpolations
15:50
Fix file-name collision for README, on case-insenstive filesystems (Windows, Mac). check-in: 5ea7af4919 user: andreask tags: trunk
2014-12-11
23:54
Added tests for (bi)cubic. Changed bicubic implementation to the conceptual form based on cubic as expanded formulas compute something different, sometimes extremely off. check-in: a03f624d1f user: andreask tags: refactor-interpolations
23:08
Added testsuite for trilinear interpolation. Passing. check-in: d97d2f4ec7 user: andreask tags: refactor-interpolations
22:58
Added testsuites for linear and bilinear interpolation. Passing. check-in: 6798d33c38 user: andreask tags: refactor-interpolations
22:14
Added (bi)cubic interpolators. Fixed various issues found by compiler. Added the commands exposig the functionality to script level. Added documentation. Still to do: a testsuite. check-in: 64f8d2a45d user: andreask tags: refactor-interpolations
01:23
Put basic interpolation functionality into the core for (re)use by operators. TODO: bicubic implementation, exposure to scripts, documentation, and tests. check-in: 67271fbc1d user: andreask tags: refactor-interpolations
00:29
Modified min/max tests to use a strimj-related form for result-specification. check-in: ca452f118e user: andreask tags: double-type
00:01
Added tests for min-operator. Tweaked test results for hopefully higher readability. check-in: fcb5538ded user: andreask tags: double-type
2014-12-10
23:06
Extended testing of max-operator. check-in: 026bd587d5 user: andreask tags: double-type
23:05
Added some missing max/min operators (grey16/32) check-in: a7f2e90741 user: andreask tags: double-type
21:27
Reduce precision for trapezoid quadrilateral a bit, found a mismatch at 10. check-in: 7c116931f1 user: andreask tags: double-type
20:32
Forced pass of the projective warp tests, by accepting the current results. Not fully happy with that. Thinking about APIs for testing more smaller pieces, i.e. the bilinear and bicubic interpolations, and visibly tracing warp operation. check-in: 017da916e2 user: andreask tags: double-type
02:03
Extended the warp-box tests to show the transformed geo corners for more manual validation. check-in: c85c2b0738 user: andreask tags: double-type
00:59
Fixed name and descriptions of the failing tests. Still to determine if expected or actual results are wrong. check-in: 18f57a1975 user: andreask tags: double-type
00:59
Reworked image display to be have the pixel data vertically aligned. check-in: 4b314e0cd5 user: andreask tags: double-type
00:16
Added more core tests for "double"-type. Added accessor "rplace" for doing "relative placement". check-in: f1761672c0 user: andreask tags: double-type
2014-12-09
23:03
Fixed warp-box result for quadrilateral, accepting result, given ptransform successes. check-in: d43fa97ece user: andreask tags: double-type
22:52
Fixed testing of rotations. Origin and arbitrary rotations now. New polar/cartesian helpers for conversion. Basic checks added before doing the fuzz. check-in: c5960fad26 user: andreask tags: double-type
00:01
Extended testsuite to check matrix multiply/inversion for double check-in: 5f0e250a45 user: andreask tags: double-type
2014-12-08
22:26
Overhaul of quad testng mostly complete, missing two configs. All pass, fixed bug in p+x command. Rotation failing with changes of previous commit. check-in: 0612fc36dd user: andreask tags: double-type
21:06
Tweaks to some projection matrices andd related comments. Fixes of some typos in comments. check-in: 107dc0e3f9 user: aku tags: double-type
2014-12-06
01:06
Trialing various quads, currently only the trapezoid code trips the fuzzer, although use of a specific fixed trapezoid did not trip anything. check-in: 544d3794e7 user: andreask tags: double-type
00:28
Updated the basic transform fuzz tests to make use of the higher precision afforded by double. Rotations and quadrilaterals still have issues and need (re-)investigation. Quads may simply require generation of proper _convex_ boxes. check-in: 8297dad910 user: andreask tags: double-type
2014-12-05
20:20
Update the warp operators to transforms now being of type "double". Tests need updates, results are changed with the higher precision. check-in: ee64da3903 user: andreask tags: double-type
20:00
Fix oops in write::tcl::double, still had a float in there. check-in: eaa07448f7 user: andreask tags: double-type
19:58
Tests, buglet fix in bwv, plus update of the transform checker. check-in: 400fe45089 user: andreask tags: double-type
19:51
Moved transformation matrices for warp over to type "double" for proper precision. check-in: 9948dee714 user: andreask tags: double-type
19:49
Added the missing linearmap functions involving double check-in: d048d2b809 user: andreask tags: double-type
09:14
Fix build errors. check-in: 2518736e62 user: aku tags: double-type
09:02
Fix a few comment typos check-in: c9280dbc25 user: aku tags: double-type
09:01
Expanded the set of operations accepting/returning "double"-images. check-in: 1ef28b7f6a user: aku tags: double-type
02:18
Started double type support, for higher precision warping. Projection matrices shall be double, always. check-in: 9e3c292ca9 user: andreask tags: double-type
2014-03-28
19:23
Regenerated again. check-in: d36a024cf8 user: aku tags: trunk
19:19
Drop notes on double-click for windows, will not work due to interpreter chain. check-in: 6001708956 user: andreask tags: trunk
17:49
Fixed sub-sectioning of build instructions. Regenerated again. check-in: b14ae1755b user: aku tags: trunk
17:47
Regenerated embedded documentation. check-in: e7de563ebd user: aku tags: trunk
17:39
Split the build instructions into separate sections for unix versus windows. check-in: 9fe3e7bfca user: andreask tags: trunk
17:23
Added text block explaining the kettle requirement. Forgotten to add when kettle was introduced into the build system of crimp. check-in: 2767c2d7e4 user: andreask tags: trunk
17:14
Fix bogus references to KineTcl, should be Crimp. A copy/paste/not-modified error. check-in: 64359c821f user: andreask tags: trunk
2013-02-27
07:08
Regenerated embedded manpages with 1.4.16 doctools. check-in: 7d62e5d825 user: andreask tags: trunk
2013-02-26
05:24
Regenerated embedded docs. Added home navigation link. check-in: 5dada7a9b6 user: andreask tags: trunk
00:59
Kettled the build system check-in: 5fd05bac49 user: andreask tags: trunk
2013-02-01
08:28
Documentation: Updated location of critcl. Leaf check-in: a7afa4138d user: andreask tags: feature-dataflow-internals
08:26
Documentation: Updated location of critcl, regenerated embedded. check-in: 190bc2a654 user: andreask tags: testsuite-work
08:24
Documentation: Updated location of critcl, regenerated embedded. check-in: 964159ba69 user: andreask tags: trunk
2012-09-14
03:02
Fixed bug in revision [f255f089dfbb75cbdfeb], dropped the origin assignments in the refactoring. Any transform used random values from uninitialized memory. check-in: 5403a91b50 user: andreask tags: testsuite-work
02:31
Tweaked test recipe, capture stderr. check-in: f640f9dcfe user: andreask tags: testsuite-work
2012-06-29
23:19
Tweaked test logging check-in: 95ad6ba23a user: andreask tags: testsuite-work
23:19
Fixed bug in geometry warping, off-by-one check-in: eac8738308 user: andreask tags: testsuite-work
23:18
Added tests for geometry warping, variable cleanup through apply scopes. check-in: 92d0204c43 user: andreask tags: testsuite-work
20:50
Moved warp-base testing to custom matching and added the quadrilateral. check-in: d652011fd7 user: andreask tags: testsuite-work
19:03
Purged definition and use of [origin] from the testsuite check-in: 572bed05ac user: andreask tags: testsuite-work
18:54
Put some of my external helper code into the 'test' command of build.tcl (save full log, show fails directly, collect and show statistics at the end). Disabled the 'origin' helper command, replaced by use of '-verbose line' we have in tcltest already (2.3+). check-in: 44141b1673 user: andreask tags: testsuite-work
00:06
Fixed stupid bug in reflection about the axes. Switched all transforms tests over to decode_transform + custom match. check-in: cb7d8233da user: andreask tags: testsuite-work
2012-06-28
23:42
Seem to have figured out the quads. The paper I was working from seems to have one bug, and one notational issue which wasn't clear. quads emulating most regular transforms now generate the proper matrices of these transforms. Fuzz testing still disabled, still problematic. Likely because the transform assumes convex quads and the random boxes I generate pretty much are not. check-in: ceceb5890f user: andreask tags: testsuite-work
22:00
Continued chipping at the quad transform. Worked out a better way for matching transform results (decode + numeric equality, much simpler result spec). Fixed an apparent ordering issue in quad transform result. Added randomized tests using the Q2UNIT core. Disabled at the moment. Transform is still buggy (identity ok, translation already not). check-in: 65f036813d user: andreask tags: testsuite-work
18:00
Extended scaling to allow for arbitrary center of scaling (like for rotation). Updated testsuite. check-in: be0529d8de user: andreask tags: testsuite-work
17:15
Fixed implementation of shear transform. Annotated everything with the respective matrices as proper reminders. Updated testsuite a bit. Random testing of shear now passes. check-in: ef4d69a97e user: andreask tags: testsuite-work
00:06
Added randomized testing for shear. This is known buggy in either transform, or the test shear setup. check-in: 3896c3d5ae user: andreask tags: testsuite-work
2012-06-27
23:02
Added randomized testing for rotation. This seems to be getting hit hard by single-precision math. Manage to match only within 1e1 (before! decimal point). Really consider some way of implementing double-precision math for transforms (at least ?!). check-in: 1a3ee90bf4 user: andreask tags: testsuite-work
22:43
Adding randomized testing of translation, scaling and arbitrary reflection. check-in: 1f6667ec08 user: andreask tags: testsuite-work
20:43
Testsuite helpers extended with numeric match commands, random number/point generation, and 2d vector arithmetics. check-in: d09baea48e user: andreask tags: testsuite-work
2012-06-26
05:51
More annotations for the low-level matrix and vector arithmetics. Simplified the chain implementation, plus annotations of its workings. Updated documentation. Regenerated embedded docs. check-in: d4db707423 user: andreask tags: testsuite-work
00:43
Straigthened out transformation application order issues found during manual verification of transform results. check-in: 8d1850a713 user: andreask tags: testsuite-work
2012-06-25
23:44
Extended testsuite for 'warp point', scaling, translation. Ok. check-in: 54db908601 user: andreask tags: testsuite-work
23:40
Extended testsuite for 'warp point', reflection, rotation. Needs manual verification of results. check-in: ce65c1fa86 user: andreask tags: testsuite-work
23:19
Nicer argument names for the new warp methods. Testsuite extended, basic argument checking of the new methods. check-in: 6a68425aff user: andreask tags: testsuite-work
23:05
Refactored the geometry setup for warping a bit, and exposed as Tcl commands for use by the testsuite. check-in: f255f089df user: andreask tags: testsuite-work
2012-06-23
00:07
Started on test for 'warp projective'. Not looking nice. Have to work on and test the individual pieces of the whole pipeline, like transforming the image corners, backward transform, generate a warp field from a projective transform. check-in: 4e9f664984 user: andreask tags: testsuite-work
2012-06-22
23:41
Extended 'warp projective' to handle image type fpcomplex. check-in: bbb1d2c911 user: andreask tags: testsuite-work
23:27
Continued testing of 'warp field'. Extended to handle image type fpcomplex. check-in: 606d29e89e user: andreask tags: testsuite-work
2012-06-20
23:18
Started testsuites for 'warp' and methods. Fixed bugs with error message generation. check-in: dc6fa906de user: andreask tags: testsuite-work
23:15
Fixed bad test results because modified implementation was copied to correct place :( check-in: 8b17473ee8 user: andreask tags: testsuite-work
21:57
Completed 'transform' testsuite, with the quadrilateral mappings. Documented order of corners in the quads, and fixed implementation to match. Added another reference to the paper. check-in: a6a78cd062 user: andreask tags: testsuite-work
2012-06-19
23:12
Tweaked testsuite driver to run files in alphabetical order. check-in: 7ba3c542c0 user: andreask tags: testsuite-work
23:04
Reworked the implementation and signature of reflections, now taking points, not separate coordinates, and integrated reflection about arbitrary line into the code. Updated and extended the testsuite to match. Documented the new identity now, as well as shearing and reflections. check-in: a827e2097f user: andreask tags: testsuite-work
21:52
Continued testsuite for 'transform', quadrilateral argument checking. Fixed bug in it. check-in: de443fac98 user: andreask tags: testsuite-work
21:18
Added identity transform. Fixed bugs in chaining, rotation (check), reflection, and shearing. Continued testsuite for 'transform'. Now only the quadrilateral testcases are incomplete. check-in: de97ede904 user: andreask tags: testsuite-work
2012-06-16
00:12
Continued testsuite for 'transform'. Made the math packages required by crimp more explicit. check-in: ac0717603c user: andreask tags: testsuite-work
2012-06-15
23:46
Continued testsuite for projective transforms, extended cases for invalid arguments. Extended transform implementation with argument checks. Renamed the validation routines for more consistency. Think about collecting them in a proper sub namespace, and having variants for both validation (bool return) and checking (raise error). check-in: 8214807395 user: andreask tags: testsuite-work
22:28
Added testsuite for (projective) 'transform's. Basic checks only. Fixed bugs in command implementations (command scoping and export). check-in: 84e2a68f13 user: andreask tags: testsuite-work
21:43
Added testsuites for inversion and multiplication of (projective) transform matrices (3x3) check-in: b30548cf0f user: andreask tags: testsuite-work
20:59
Added testsuite for 'montage', basics complete. Tweaks to the error messages of 'monatage' commands, plus notes about todo's. Made ensembles a bit more strict on what to export. check-in: 8ff9f9080b user: andreask tags: testsuite-work
18:03
Completed argument checking and testsuite for 'gradient' ramp generation. check-in: 15102267b7 user: andreask tags: testsuite-work
2012-06-14
23:16
Expanded testsuite for gradient ramps. Added more argument checking to the command implementations. check-in: 8956e8efeb user: andreask tags: testsuite-work
2012-06-13
21:29
Refactored the internals of gradient/ramp generators, better checking, some. New: Testsuite for the gradient generators. check-in: 3c86e12c9c user: andreask tags: testsuite-work
20:06
Code churn testsuite. Moved to new way of specifying a result image via 'iconst', where possible. check-in: 1ef4f177d8 user: andreask tags: testsuite-work
19:58
Added more test cases for 'integrate' error checking. check-in: e0fa0a8370 user: andreask tags: testsuite-work
19:49
Moving the testsuite work into a branch. Implemented 'integrate' for 'fpcomplex'. Completed the associated testsuite. check-in: aa0fdc1f29 user: andreask tags: testsuite-work
2012-06-12
22:53
Testsuite for 'region_sum' check-in: f1aa230d6a user: andreask tags: trunk
22:38
Started testsuite for 'crop', and implemented cropping for image type 'fpcomplex'. check-in: 3923bdc744 user: andreask tags: trunk
22:37
Cleanup: Removed irrelevant -cleanup (sic!) from testsuite for 'blank'. check-in: 5f59e6b595 user: andreask tags: trunk
22:36
Extended set of documentation keywords for 'crop' and 'cut' check-in: cf4e9864a5 user: andreask tags: trunk
20:55
Completed the testsuite for 'expand' check-in: 18020de783 user: andreask tags: trunk
20:54
Implemented 'expand' for image type 'fpcomplex'. check-in: 06ed929ba0 user: andreask tags: trunk
20:54
Fixed implementation of 'expand'/extend for float. No clamping here. check-in: 913072664f user: andreask tags: trunk
2012-06-11
23:45
Started testsuite for 'expand'. check-in: 87e2e34d26 user: andreask tags: trunk
22:19
Added code to generate proper error message for invalid border type. check-in: c8c579cb41 user: andreask tags: trunk
22:18
Fixed typo and numbering of test cases check-in: 6a52601984 user: andreask tags: trunk
22:16
Fixed typo in expand C code. check-in: 8b7ee1ed2c user: andreask tags: trunk
2012-06-08
20:31
Added testsuite for 'cut'. Complete for greyN, still to do multi-channel and float types. check-in: cd654e784a user: andreask tags: trunk
20:29
Updated documentation for 'cut', and bugfix. Added checks to prevent use of negative dimensions for the cut region. check-in: 27234c49dd user: andreask tags: trunk
18:59
Added tests for 'flip' and 'rotate' check-in: 83f53cbe33 user: andreask tags: trunk
18:59
Test helpers refactored and extended. check-in: 7121f6f690 user: andreask tags: trunk
00:31
Started on testsuite for 'integrate' operator. check-in: 9c0a7fa5fc user: andreask tags: trunk
2012-06-07
22:53
Started on testsuite for 'max' operator. check-in: 81f421657a user: andreask tags: trunk
22:31
Mainly complete test cases for 'table': gauss, quantization. Bugs in quantization fixed (scope, location of check). check-in: b77b192989 user: andreask tags: trunk
20:34
Continued test cases for 'table': stretch, thresholds check-in: e319b28ba8 user: andreask tags: trunk
19:46
Continued test cases for 'table': (de)gamma, log, sqrt, linear ramps check-in: f273c59b49 user: andreask tags: trunk
18:48
New test helper procedure. 'table' test descriptions tweaked, todo annotations added, started on actual testcases check-in: 8ff1d0dad1 user: andreask tags: trunk
04:14
Modified the tests for 'statistics' to match with limited precision and avoid mismatch due to slight differences in fp handling between systems. check-in: 1d64aa110e user: andreask tags: trunk
03:59
Continue on testsuite, outline for support ensemble 'table' check-in: 7681bd116a user: andreask tags: trunk
2012-06-06
22:52
New: Testsuite for 'statistics'. Small cleanup in testsuite for 'invert'. check-in: bc89a09552 user: andreask tags: trunk
21:47
Testsuite for 'threshold' code churn. Made the results more visual, instead of arrays of numbers, and differences better to see. check-in: a7914cc2c0 user: andreask tags: trunk
19:15
Completed testsuite of global 'threshold'ing. Reworked the tests for the automatic thresholds to show the chosen values also, for easier debugging in case of problems. check-in: 6db215121a user: andreask tags: trunk
18:29
Continued on 'threshold'ing tests. Inside, outside, and first automatic (middle). check-in: da146a9b7e user: andreask tags: trunk
07:50
Continued work on testsuite for 'threshold'ing. check-in: c6f3b9a65c user: andreask tags: trunk
07:19
Testsuite: Removed dead code from tests for 'join'. Started testsuite for the 'theshold'ing methods. check-in: 8944b92fba user: andreask tags: trunk
03:34
Testsuite for 'join' completed. check-in: 6a07c2e1ad user: andreask tags: trunk
00:06
Continued work on tests, added basic set for 'join'. check-in: c746d7cc5d user: andreask tags: trunk
2012-06-05
23:35
Have testsuite of 'blank' use the crimp helpers, due [0c1b65d528]. Fixed numbering typo in testsuite of 'invert'. Added new testsuite, image 'split'ting. check-in: 2603fab76a user: andreask tags: trunk
23:32
Moved crimp specific helper to proper place. Plus created new helper, list-map, making various transforms easier to write. check-in: 0c1b65d528 user: andreask tags: trunk
22:46
Extended testsuite for 'invert', handling of the image location. check-in: 3413f6764b user: andreask tags: trunk
22:38
Extended tesuite: 'blank', check location of the generated images. New test file for 'invert'. Tweaked the names for the synthetic images to match image types, and added a full grey8 ramp. check-in: 6ba6620196 user: andreask tags: trunk
20:57
Updated documentation of 'blank' regarding the supported image types. check-in: ac7629cd37 user: andreask tags: trunk
20:13
Completed testsuite for 'blank'. Simplified code by constructing the pixel results via lrepeat instead of writing them out. check-in: 7c63751643 user: andreask tags: trunk
20:04
Modified 'blank'. Fixed missing auto-fill for image type 'fpcomplex' check-in: e0ca9638a5 user: andreask tags: trunk
20:03
Slight optimization in C code of 'blank', bypass loops for empty images. New: Generator for blank HSV. check-in: 4bc244c7fc user: andreask tags: trunk
19:23
Extended 'blank' with checks for bad width, height. Updated testsuite. check-in: 7f305345e2 user: andreask tags: trunk
07:26
More tests for blank generator, RGB. check-in: f785f1d850 user: andreask tags: trunk
07:07
Regenerated the embedded docs for [21829cfc21]. check-in: 15b84e9204 user: andreask tags: trunk
07:06
Tests updated for the changed representation, and writer bugs. Extended the set of tests for the blank generator. All single-channel image types now covered. check-in: 7cfea8b10f user: andreask tags: trunk
06:58
Fix bug in the intrep conversions. Forgot to add the x/y location into the representation. check-in: 8423fa0a0e user: andreask tags: trunk
06:58
Fix bugs in the conversion from float/complex to Tcl lists. Wrongly generated non-empty structures for empty image. check-in: 5fed33c8a8 user: andreask tags: trunk
06:04
Merged the diverging trunk lines back together. Plus fix for the issue where the tests were not working when binaries had to be generated, instead of already present. Actually an issue only when the build uses the critcl package instead of a separate critcl executable. In that case the built packages are registered with management, without their functionality actually present. Nothing was loaded by the tests and so the tests broke. Fixed by adding a 'package forget' into 'useC', forcing the load afterward. Reduced output from 'useC', show loaded packages once, per test file. Filled the test of 'blank' a bit more, completing the grey8 section. check-in: c75320ae85 user: andreask tags: trunk
05:40
Added test for the checkerboard pattern generator. check-in: 723e94aa85 user: andreask tags: trunk
05:39
Reworked useC to better avoid issues when multiple packages can match the search pattern. By adding dict sorting I hope to get the one with a version number just after the fixed part. If that is not good enough exclusion patterns may have to be allowed. check-in: 3b5a26f091 user: andreask tags: trunk
2012-06-04
23:41
Added helper code for tests, standard synthetic images. Plus started testsuite of crimp methods. Note: Known problems, bogosity in the use of both packages, possibly also interference between the test files re loading of the packages. check-in: dd73986bc2 user: andreask tags: trunk
22:34
Updated documentation to list the new readers. Added note to tests, reminder about tests for the error cases. check-in: 21829cfc21 user: andreask tags: trunk
22:22
Extended core with readers for rgb, rgba, hsv, and fpcomplex, using nested Tcl lists as input. Activated all the tests with constraint NYI, dropping that constraint. crimp::core is now able to generate images of all defined types, without any extensions, crimp or otherwise. We can now add tests for all packages and their methods using synthetic data. check-in: 5bf562da76 user: andreask tags: trunk
2012-06-01
22:28
Continued work on the core tests. Meta data accessor methods completed. Subset of the tests from the tcl core tests for the dict command. check-in: 97ade449f4 user: andreask tags: trunk
21:35
More tests... check-in: e6b8d66363 user: andreask tags: trunk
20:54
Continued work on the core tests. Meta data accessor methods. Bugfix in one of the branches. check-in: 5e2115bf93 user: andreask tags: trunk
16:10
Fix issue introduced by [dbdb5a3c4c], where a call of meta_get was not updated, properly qualified. check-in: 7061937e94 user: andreask tags: trunk
06:30
Extended core with reader/writer commands for grey16, grey32. Extended tests, checking all write destinations, and the types having both reader and writer commands. Updated documentation, and regenerated the embedded docs. check-in: fc1344ff5a user: andreask tags: trunk
05:40
Added tests for the core bbox union operations. Fixed bug in the image bbox command. check-in: 9e74f2d819 user: andreask tags: trunk
2012-05-31
22:18
Fix bug where the implementation of crimp::meta was still in crimp; now moved into crimp::core proper. Plus a few changes to unexport the C primitives for meta data access. Continued work on the test suite, now a majority of crimp::core is tested. Missing: bbox*, high-level meta data access, various forms of writing images (destination, not(-yet)-constructable image types) check-in: dbdb5a3c4c user: andreask tags: trunk
20:37
Started work on the way overdue crimp test suite. Infrastructure, and first test. check-in: 7f8c369ea5 user: andreask tags: trunk
20:10
Resolved crimp vs. core entanglement regarding crimp_rect_union. Was defined in geometry.c/h of crimp, is needed by crimp::core. Implementation and necessary declarations shifted around, with some refactoring of the utility declarations to make some accessible to core as well. check-in: 2d906ea01e user: andreask tags: trunk
18:10
Extended build.tcl with new targets "doc", "figures", and "math", replicating the tools/ helper scripts. Eliminated the latter. check-in: c474bb1165 user: andreask tags: trunk
17:51
Branch "infinite-plane" completed, merged back to main. This is now version 0.2, although some more development may happen before its tagged and bagged. check-in: eec1625aca user: andreask tags: trunk
17:47
Undone the parts of [36a89e6461] changing the buffer API. Going back to int's, adapting all users for the same, and putting a compile-time-assert in place to check that its sizeof(int) is good enough (>= 4). Which should be true on most machines this will get compiled on. Small embedded system where this is most likely violated (i.e. int == short) are not a target for crimp anyway. Closed-Leaf check-in: 518fed782b user: andreask tags: infinite-plane
2012-05-30
23:07
Casts added and tweaks made to reduce number of warnings. check-in: 36a89e6461 user: andreask tags: infinite-plane
22:23
Bumped version to 0.2 across the board. The API of this branch is incompatible to the 0.1 API, now differentiated by version. check-in: b614fc6c56 user: andreask tags: infinite-plane
22:09
Added documentation for a few new methods, regenerated the embedded docs. check-in: 9349bc2ab8 user: andreask tags: infinite-plane
21:52
Merged trunk to infinite-plane, brought the changes into line with new macros and structure. Added missing binary operators. check-in: 529bbc9938 user: andreask tags: infinite-plane
2012-05-23
18:12
Updated install guide to include the crimp's tcllib/tklib dependencies. Regenerated embedded documentation. check-in: 7f6910b5a1 user: andreask tags: trunk
2012-03-22
17:29
Extended the set of scale operators to the greyN types, and exposed them through a new public method (crimp scale). Updated documentation. Regenerated embedded documentation. Tweaked the output generated by critcl a bit (feedback while reading .crimp files). check-in: 89cea61f4a user: andreask tags: trunk
2012-03-21
23:34
Implemented read/write of 2-byte PGM files (max > 255), plain and raw. Builds ok. Not tested however. Special-cased the loops for when scaling of the values is not required (max in (255, 65535)). Leaf check-in: 81a5678520 user: andreask tags: pgm-grey16-trial
2012-03-17
20:00
Extended split and join operations to handle the single-channel, but multi-byte types (grey16, grey32). The results are the msb to lsb bytes of each pixel in their own images. Updated the documentation. Regenerated the embedded documentation. check-in: 795374375f user: andreask tags: trunk
19:59
Tweaked the build debug, activate memory debugging. check-in: 1e82180180 user: andreask tags: trunk
2012-03-15
05:14
Extended range of add operations to allow grey16/grey16 and grey32/grey32. check-in: 9c029a9ace user: andreask tags: trunk
05:13
Fixed some comment typos. check-in: d55fb204d4 user: andreask tags: trunk
2012-02-29
06:21
Extended range of conversions to allow grey32 -> grey16 -> grey8. Naive method, simply take the high bits fitting into the destination. Essentially naive scaling down. check-in: b3ecbd3744 user: andreask tags: trunk
2012-01-21
05:51
Fixed memory leaks in GaussianFilter01 and GaussianFilter10. check-in: d7f81ca0c0 user: andreask tags: trunk
2012-01-07
01:04
Updated the warp-field operators to handle location (pass 1st location, ignore 2nd, match dimensions) check-in: cc2e93cf4e user: andreask tags: infinite-plane
2012-01-06
23:21
Reworked the operators for local (i.e. spatially varying) thresholding to use the binop machinery to handle images with differing geometries. Dropped the primitives handling application of per-channel thresholds for multi-channel images and re-implemented them in Tcl, splitting and re-joining the input and results. As the resulting channels may have different geometries a bounding box is computed (see previous extension of "crimp::core), and all partial results then expanded to match this box before re-joining, through a new supporting command (matchgeo). These parts need testing. check-in: 0261f9ef4a user: andreask tags: infinite-plane
23:16
Extended the package "crimp::core" with a method returning the full geometry of an image. Plus a method computing the union (i.e. bounding box) of two geometries, with a higher level method for doing the same for an arbitrary number of images. check-in: c88236a011 user: andreask tags: infinite-plane
2012-01-05
22:07
Tweaked error message a tiny bit, whitespace. check-in: 65b6f5b96d user: andreask tags: infinite-plane
22:07
Added check that input images are of identical geometry. True for the current higher-level canny code. check-in: 9f2a3777f4 user: andreask tags: infinite-plane
22:05
Added more check functions for image location and geometry. check-in: 26a38f4a2c user: andreask tags: infinite-plane
20:30
Updated the atan2 operators to use the generic binop machinery to handle images which are translated to each other. check-in: c5760f1135 user: andreask tags: infinite-plane
20:25
Modified the binop template and generator to allow for a post-processing stage of the BINOP function. This is needed for atan2. Also ensured that we have a default post processor (identity), and that the macros are undefined after use. Regenerated all implementations. Further modified the complex2 support to define their BINOP_GLOBAL automatically as well when not present, and remove the macros after use. Updated the callers to drop BINOP_GLOBAL and removal where not needed. check-in: f20f060d95 user: andreask tags: infinite-plane
20:20
Updated the hypot operators to use the generic binop machinery to handle images which are translated to each other. check-in: e566a3994b user: andreask tags: infinite-plane
19:41
Updated the join operator to handle image location (passing location of the first input, ignoring the other locations, checking for matching dimensions) check-in: 46323b5e92 user: andreask tags: infinite-plane
19:19
Extended montage operators to cover complex images. check-in: 3f96c63f87 user: andreask tags: infinite-plane
18:23
Pulled SGI reader into this feature branch. check-in: 3858714c0a user: andreask tags: infinite-plane
2012-01-04
22:12
Reduced the size of package dependency diagram, and updated the text variant to list the new image formats and reader packages. Regenerated the embedded documentation. check-in: 21f61dcbe7 user: andreask tags: trunk
21:55
Updated introduction and dev guide to list the new image reader packages. check-in: 4d33601278 user: andreask tags: trunk
21:47
Oops. Added the missing new files of the embedded documentation. check-in: fc1714d246 user: andreask tags: trunk
21:44
Merged SGI image reader to trunk, and regenerated the embedded documentation. check-in: 614ebd2b3a user: andreask tags: trunk
21:38
Updated architecture and package dependency diagrams. Closed-Leaf check-in: 7be6a972d2 user: andreask tags: image-io-sgi
21:28
Lifted the restriction to 1 byte/pixel and implemented everything needed to handle 2 byte/pixel, i.e. short/pixel. We have no test images for this code, unfortunately. Note that only the MSByte of each pixel is used, to fit the data into crimp's image types. check-in: 569ef0ff06 user: andreask tags: image-io-sgi
2011-12-16
00:38
Pixel reader code added, complete for the basic format variants (byte/pixel == 1). check-in: 74e76f54b0 user: andreask tags: image-io-sgi
2011-12-15
21:10
Filled out more of the reader. Header processing is complete. check-in: 746f76e77e user: andreask tags: image-io-sgi
21:08
Added SGI to the architecture diagrams. Fixed demos to use the package. check-in: 0465303ec2 user: andreask tags: image-io-sgi
17:57
Added example images, lena, etc. Extended build system, and filled in the documentation and the highlevel code setup (All pretty much boilerplate). check-in: f3e0899f4b user: andreask tags: image-io-sgi
17:41
Pulled in trunk and the new pcx/sun image readers. check-in: 0c8243b57c user: andreask tags: image-io-sgi
01:25
Reorganized the binary ops, added result type to the generated file names, and added a few combinations always generating float, for operators like atan2 and hypot.

Updated all users of the binop_*.c files. Reworked pow to use the binop machinery.

Created special binary ops template for fpcomplex operations which are not element-wise (multiply, div), and updated the actual operators to use this. check-in: b0d870cef2 user: andreask tags: infinite-plane

2011-12-14
23:54
Reworked 'cut' to be a C-level operator, properly handling inside/outside of the input image. Updated demos, cutting out the complex set of Tcl code which handled this before (for the magnifier). Left are warp-field and the mentioned binary ops. check-in: 25d70d9301 user: andreask tags: infinite-plane
22:56
Continued, completed handling of the unary operators listed previously. check-in: 33c5c1beda user: andreask tags: infinite-plane
21:53
Continued from previous commit. Left to check/modify are

unary: ahe, convolve, region_sum, rof

binary: atan2, hypot, pow, cannyinternal, complex div/multiply, join, joint-bilateral, threshold

other: warp-field, cut (*)

(*) Currently done via 'crop', semantic mismatch. Better as their own operator. check-in: 122bdc7d78 user: andreask tags: infinite-plane

20:25
Continued modifications to pass the location of input images into operation results. check-in: 6f6c45ce61 user: andreask tags: infinite-plane
2011-12-09
23:09
Modified to pass the location of input image into the result. check-in: 0de9cbbad8 user: andreask tags: infinite-plane
21:45
Modified to pass the location of input image into the result. check-in: 791331217a user: andreask tags: infinite-plane
21:43
Formatting tweaks. check-in: 800c5f70ee user: andreask tags: infinite-plane
21:42
Switched to use of accessor macros. check-in: f454ef3616 user: andreask tags: infinite-plane
2011-12-08
22:49
Regenerated the embedded documentation. check-in: 853a7ee327 user: andreask tags: trunk
18:20
Pulled reader for sun raster in. No changes required. check-in: eaef9c5f57 user: andreask tags: infinite-plane
18:15
Pulled sun raster reader into the mainline. Updated the package dependecy diagram. Regenerated the figures. check-in: 7da0d9c83b user: andreask tags: trunk
17:53
Added example for sun raster 1bpp with color map. Works ok. Closed-Leaf check-in: c5980f52ac user: andreask tags: image-io-sun
17:22
Updated the architecture diagrams to include the new image reader packages (sun, pcx) check-in: 8fe79bb943 user: andreask tags: image-io-sun
04:23
Fixed initialization bug (numPixelBytes), and my misunderstandings of the 24/32 bpp modes. All examples show properly. check-in: 77df9b31ec user: andreask tags: image-io-sun
01:33
Implemented the decoders for 24/32 bpp images. Buggy: Seg.faults, and no proper colors. check-in: c1a43674f6 user: andreask tags: image-io-sun
00:44
Implemented the decoders for grey8 and 256-color mapped images. check-in: 559fd60428 user: andreask tags: image-io-sun
00:11
Added some more notes. Implemented the decoders for 1 bpp (2 color) images. check-in: a38a056cff user: andreask tags: image-io-sun
2011-12-07
21:28
First draft of the sun raster reader. Header decoding and validation. No pixel decoding. Build extended. Documentation, and demo added. check-in: 5276569ba5 user: andreask tags: image-io-sun
18:27
Merged PCX reader. Generated example sun raster images from the PCX examples, and tkimg. Started list of references to descriptions of the sun raster format. check-in: 02d6b4540c user: andreask tags: image-io-sun
18:12
Pulled the PCX reader into this branch. Updated to insert the PCX location information into the generated image. check-in: b3a44f2371 user: andreask tags: infinite-plane
2011-12-06
23:47
Tidying a few leftover bits from pcx, forgotten in-code documentation, ... check-in: 8a1ad276e3 user: andreask tags: trunk
23:21
Integrated the completed reader for PCX images with trunk. check-in: a4d8d55b97 user: andreask tags: trunk
23:19
Added decoders for the 1/2, 1/3, and 1/4 bit-striped modes. This completes the decoding of PCX. All lena images can be read and shown. Added a few more (small) example images. Deactivated the decoder tracing. Closed-Leaf check-in: f9905da1ea user: andreask tags: image-io-pcx
21:18
Unrolled the decoding loops for 1/2/4 bpp, and fixed the image setup. Plus more debugging (palette dump). lena 3,8-10 now display correctly. check-in: 02593b5b97 user: andreask tags: image-io-pcx
2011-11-29
01:17
Added 2/1 and 4/1 (4c, 16c) decoders. Buggy still. Bit unpacking and/or mapping problem. check-in: 396eab4daf user: andreask tags: image-io-pcx
00:22
Counter to [8ff99a6157], adding the images containing the standard 'lena' motif. That is pretty much PD.

Image notes

image, bbp/planes, meaning, results
---------------------------------------------------------------
lena   8/3 rgb full color - ok
lena2  8/1 rgb vga palette - ok - decoder now tested
lena3  4/1 16 color palette - not implemented
lena4  1/4 16 color palette, bits striped - not implemented
lena5  See lena2
lena6  1/3  8 color palette, bits striped - not implemented
lena7  1/2  4 color palette, bits striped - not implemented
lena8  2/1  4 color palette - not implemented
lena9  1/1  2 color black/white - ok, check for border issues.
lena10 See lena3
---------------------------------------------------------------
check-in: ed09fbf381 user: andreask tags: image-io-pcx
2011-11-28
23:45
Added reference to site with lots of PCX images. Copyright unknown. Do not add any of these to the repository. Only for direct testing. check-in: 8ff99a6157 user: andreask tags: image-io-pcx
23:33
Lots of pixel decoding added. Output format selection and result creation moved into the read pixel function. RGB full color is working (marbles). B/W bitpacked is mainly working (hori_bw), except for offset/border issues, compare to image-magick result, see [5a9d5ce727]. grey8 is untested, due to the brokeness of the gmarbles file. Palettized RGB/VGA untested, no example files for that. check-in: ccc5270e2e user: andreask tags: image-io-pcx
23:28
A few more references. check-in: 9065acd772 user: andreask tags: image-io-pcx
23:25
Generated pgm/ppm files from the pcx examples, via image-magick, for cross-checking. Plus demo .The gmarbles file seems to be broken (too short). check-in: 5a9d5ce727 user: andreask tags: image-io-pcx
2011-11-26
07:01
Another example image, plus documentation references check-in: 1753f528f0 user: andreask tags: image-io-pcx
2011-11-25
19:37
Added demo using the new pcx example images of [14be7ca5ee], and extended the demo framework to load the pcx reader package. check-in: a3e6418fa0 user: andreask tags: image-io-pcx
18:13
Found and added two PXC example images. check-in: 14be7ca5ee user: andreask tags: image-io-pcx
06:21
Extended reader a bit, first pieces of processing and validating the image header. check-in: 00a214fb6f user: andreask tags: image-io-pcx
05:32
Modified the 'alpha blend' operator to behave like the other binary operators in general. Updated and added demos. check-in: 9989984bc5 user: andreask tags: infinite-plane
05:14
Fix argument bug in one of the new macros. check-in: d2b58900a2 user: andreask tags: infinite-plane
00:20
Placeholder for fits image reader Leaf check-in: 974e8bf888 user: andreask tags: image-io-fits
00:16
Placeholder for xpm image reader Leaf check-in: 694125dd1e user: andreask tags: image-io-xpm
00:16
Placeholder for xbm image reader Leaf check-in: 5006dcd412 user: andreask tags: image-io-xbm
00:16
Placeholder for tiff image reader Leaf check-in: dfbe0604ae user: andreask tags: image-io-tiff
00:16
Placeholder for tga image reader Leaf check-in: c4ae400cb9 user: andreask tags: image-io-tga
00:15
Placeholder for sun image reader check-in: d8d7b08e80 user: andreask tags: image-io-sun
00:15
Placeholder for sgi image reader check-in: 39d26f9ff1 user: andreask tags: image-io-sgi
00:15
Placeholder for raw image reader Leaf check-in: 653f65df03 user: andreask tags: image-io-raw
00:15
Placeholder for pixmap image reader Leaf check-in: 175111ff36 user: andreask tags: image-io-pixmap
00:15
Placeholder for jpeg image reader Leaf check-in: 80caf509c2 user: andreask tags: image-io-jpeg
00:14
Placeholder for ico image reader Leaf check-in: fc5420bf05 user: andreask tags: image-io-ico
00:12
Placeholder for DTED image reader Leaf check-in: 687cbe62e6 user: andreask tags: image-io-dted
00:11
Placeholder for gif image reader Leaf check-in: 99a39dbf53 user: andreask tags: image-io-gif
00:03
Incomplete start of work on a reader for PCX image files. check-in: f9976a0e1f user: andreask tags: image-io-pcx
2011-11-24
07:06
Modified the 'like' functions for image creation to pass through the image location, not only dimensions. Updated the setalpha operators needing it to do the same, using the data from the base image. They keep ignoring the location of the image providing the alpha-channel and error on the dimensions not matching. check-in: 6d8f8a4eb5 user: andreask tags: infinite-plane
2011-11-23
19:50
Modified the template and generator for binary ops to declare the various coordinates as direct iteration variables instead of computing them from the main loop variables and letting the compiler deduce the relationship and optimize. Regenerated the C code. check-in: 8fb45f4ecc user: andreask tags: infinite-plane
07:56
Pull in latest trunk changes check-in: 3929d0be5b user: andreask tags: feature-dataflow-internals
07:52
Fixed typo in a binop template comment, and regenerated the actual code. check-in: 4b16d800c6 user: andreask tags: infinite-plane
07:51
Tweaked alignment. check-in: 68084dde7b user: andreask tags: infinite-plane
07:49
Modified the alpha over operator to behave like the other binary operators in general. Updated and added demos. check-in: 806909ad23 user: andreask tags: infinite-plane
07:48
Modified the crop and expansion operators to update the input location in their results. check-in: 40eadb24f7 user: andreask tags: infinite-plane
04:37
Merged [b585eded7d], scaling of integer divisions. check-in: 4354b78718 user: andreask tags: infinite-plane
04:33
Modified the division operator involving grey8 to scale the result up by MAXVAL_GREY8. Without such scaling the result is mostly zero, which is not really wanted. check-in: b585eded7d user: andreask tags: trunk
03:34
Updated the demos of the remaining binary operators to show how they perform on images translated relative to each other. check-in: 23635a08f9 user: andreask tags: infinite-plane
02:46
Modified the 'cut' command to restrict the x/y similar to how it restricts the w/h. Documented this. Updated the embedded documentation. check-in: a2dbe0b802 user: andreask tags: trunk
2011-11-21
18:06
Regenerated the binary operation foundations using the code generator and template from the previous commit, [3eafe14869]. Due to the ease of use of the generator the set of types which can handled by binary operations got extended as well, with 16 new combinations. This does not mean that the actual binary ops automatically use these. We still have to define the upper-level ops to make use of them. I will likely create a generator for that as well. ... Updated the add demo to remove the requirement of identical image dimensions. Plus a new add demo showing the addition of images translated against each other, i.e. that the new binary operation code works as intended. The remaining demos for binary ops will be updated in the same manner. check-in: c5c051a323 user: andreask tags: infinite-plane
18:00
Created a code-generator for the C code of binary operations, with a template. The new code takes the full image gemeotry into account when performing the operation, with the result having the bounding box of the union of the input geometries as its geometry. No checks for image size mismatch anymore. Note: When present alpha channels are combined via MAX, not the chosen operation. When mixing images with and without alpha channel the image without is treated as having a virtual alpha channel which is fully opaque. check-in: 3eafe14869 user: andreask tags: infinite-plane
17:56
Modified demo framework to report not only image dimensions, but location as well when setting a result for display check-in: 71db4145b4 user: andreask tags: infinite-plane
2011-11-19
01:09
Changed the image/volume construction APIss around a bit. API taking location information are now at the core. The old non-location APIs became macros injection their default location (0,0).

Added set of typed constructor taking location information. Updated the warp init code to make use of the new constructors.

Beginning (with float/float) to update the binop core codes to handle mismatched and -aligned images, i.e. of different sizes and translated to each other. Instead of using additional macros for the special cases we reuse the existing one and rely on the compiler to simplify this as much as possible (i.e. constants, irrelevant operations, etc.) check-in: f9955e8a0c user: andreask tags: infinite-plane

2011-11-18
06:15
Following up on [360c8724f9]. Fixed the equivalent issue with the image reading demos. check-in: d0822bb9f6 user: andreask tags: trunk
05:49
Merge trunk documentation updates check-in: cfe5583993 user: andreask tags: infinite-plane
05:48
Merge trunk demo & documentation updates check-in: 0f5271728b user: andreask tags: feature-dataflow-internals
05:48
Updated the embedded documentation. check-in: fb38f887d3 user: andreask tags: trunk
05:47
Modified the demos framework to provide a documented api for access to app and demos directories, replaced outdated and broken (since [3ca084f409], and [3f01ece746]) uses of the $dir variable with these APIs. check-in: 360c8724f9 user: andreask tags: trunk
05:34
Disabled currently not usable demos. check-in: 06731c8280 user: andreask tags: trunk
05:23
Replaced leftover "puts" with calls to "log" in demos. check-in: 75e1949c89 user: andreask tags: trunk
02:46
Updated the structure definitions in the documentation, and regenerated the embedded docs. check-in: 6a40a1b540 user: andreask tags: infinite-plane
02:35
Merge trunk documentation updates check-in: 8206c2f02a user: andreask tags: feature-dataflow-internals
02:33
Merge trunk documentation updates check-in: 1acd4abce4 user: andreask tags: infinite-plane
02:33
Embedded documentation regenerated check-in: 09160c86f9 user: andreask tags: trunk
02:32
Images regenerated check-in: 45644c9fbd user: andreask tags: trunk
02:32
Images regenerated check-in: f0446833f4 user: andreask tags: trunk
02:24
New branch.

Embed images into the infinite 2d plane, i.e. make them bounded rectangles with a location in that plane. We had a start on that with the operators for projective warp, storing the origin point in the user-meta data. This information is now in the C level structures.

This commit provides the basic change, plus new accessors for the geometry data, and updates all users of said geometry data in C to use these new accessors.

The semantics of the various operations which could make use of the location information has not changed yet. This is for future commits in this branch. check-in: 1da2e834b8 user: andreask tags: infinite-plane

2011-11-17
21:20
Added package dependency diagram and section in introduction using it. check-in: ed9336ba7a user: andreask tags: trunk
21:19
Added header and source references to the section on internal structures. check-in: 02da9d3bc4 user: andreask tags: trunk
2011-11-11
00:39
Starting branch for the reworking of the internals to a more data-flow oriented system. Saved old structure descriptions, and put in the 1st draft images describing the new structures. Note: Draft means here that the structures themselves are not final. check-in: c6ffd8f2a7 user: andreask tags: feature-dataflow-internals
00:29
Extended the devguide with information about the internal data structures. check-in: e4c706b87c user: andreask tags: trunk
2011-11-09
07:33
Merging feature to trunk; it is working; close the branch. check-in: 09765c5a39 user: andreask tags: trunk
07:31
Added variants of the algorithm operating on color images, and/or partial smoothing. Closed-Leaf check-in: bc3bcf45e0 user: andreask tags: feature-smoothing-l0-gradient-minimization
07:31
Fixed all the issues with my draft implementation. Algorithm works as advertised check-in: 12b09b9424 user: andreask tags: feature-smoothing-l0-gradient-minimization
07:30
Compute squared magnitude of complex image. Helps us avoiding multiplication of x with its complex conjugate. check-in: d7490cd6cc user: andreask tags: feature-smoothing-l0-gradient-minimization
06:11
Pulled bug fixes and extensions from trunk check-in: 8e712ae06b user: andreask tags: feature-smoothing-l0-gradient-minimization
06:10
Fixed bad type in float convolution (int kernel) check-in: ed8882d3f0 user: andreask tags: trunk
06:08
Fixed clamping in the greyX convolvers (float kernels) check-in: 1a8b54b9e5 user: andreask tags: trunk
06:03
Small extension of the demo framework. Reset the log window after reloading the set of demos. check-in: 914782f95f user: andreask tags: trunk
06:01
Extended crimp with primitive to scale fpcomplex images by a double scalar check-in: 9994c124db user: andreask tags: trunk
06:00
Extended crimp::core with primitives writing float and fpcomplex images to Tcl lists. check-in: dc586262cb user: andreask tags: trunk
2011-11-07
23:34
Pull build changes from trunk into the experimental branch. check-in: a14a137c71 user: andreask tags: feature-smoothing-l0-gradient-minimization
23:33
Keep the install build directories separate, for an easier look into things after a manual abort. check-in: 5e20c79955 user: andreask tags: trunk
23:30
Cherry pick [3f01ece746] into trunk. check-in: 3ca084f409 user: andreask tags: trunk
2011-10-31
23:00
Fixed demo issue, collision between two variables named "dir". The one in the app pointing to the self-same source directory, and the one used by package management when loading packages. Renamed the applications's variable to "selfdir". check-in: 3f01ece746 user: andreask tags: feature-smoothing-l0-gradient-minimization
2011-10-22
21:27
Saving work on my implementation of image smoothing via L0 gradient minimization. The current state is visibly buggy. check-in: eb75c6de82 user: andreask tags: feature-smoothing-l0-gradient-minimization
21:11
Fixed bug in const expansion of float images. Take a double value, not integer. check-in: fa3254aaa2 user: andreask tags: trunk
19:58
Fixed more issues in [5e93348261]. Forgot to bracket the new commands. check-in: 1aaacbb4c3 user: andreask tags: trunk
19:51
Extended kernel methods, extraction of the coefficient image. check-in: e6d494ade7 user: andreask tags: trunk
19:50
Fixed bug in [4a56dac6d8], restored listing of the "Unmodified" pseudo-demo. check-in: 90dda262b4 user: andreask tags: trunk
19:49
Fixed bug in [5e93348261], bad scoping of the TypeOf checks. check-in: a748b8c0bb user: andreask tags: trunk
00:15
Ooops. [5e93348261] forgot the necessary C operators. check-in: 54ec87f7a3 user: andreask tags: trunk
2011-10-21
21:05
Extending the thresholding operations to float images. check-in: 5e93348261 user: andreask tags: trunk
2011-10-20
23:43
Tweaked [4a56dac6d8] a bit, adding and using a tag definition which visually distinguishes the new line from the surrounding text. check-in: 04e6d2c68a user: andreask tags: trunk
20:01
The CRIMP demo gui was modified: stretching the left frame now stretches the demos list instead of the image list; the demos list is now sorted; when a demo is selected an entry is now placed in the log window that indicates which demo was run and the file in the demos directory that was used. check-in: 4a56dac6d8 user: tom tags: trunk
2011-10-19
23:04
Bumped patchlevel for the last two changes, [1e83462320] and [7f2c64dffa]. check-in: 145b31742f user: andreask tags: trunk
22:34
Fixes to build script, creating missing directories, and behaving nicer for build failures. check-in: 7f2c64dffa user: andreask tags: trunk
19:32
Bug fixes. Mark crimp's dependency on critcl::util as build requirement. And crimp::tk is not dependent on critcl::util at all. check-in: 1e83462320 user: andreask tags: trunk
2011-10-17
19:59
Fixed crash occuring on Windows. Added missing guard conditions. check-in: ad2753da04 user: andreask tags: trunk
2011-10-15
05:01
Merged the branches, tweaked the documentation of various miscellanea, and regenerated the embedded documentation check-in: 22396dcec8 user: andreask tags: trunk
2011-10-14
23:28
'Documented' various primitives which are not yet properly exposed through a high-level API. check-in: b5ca425ac5 user: andreask tags: trunk
03:03
Regenerated the embedded documentation check-in: c1f2da1d1b user: andreask tags: trunk
03:02
Tweaked doc headers to share the common module information check-in: 1c2eee724c user: andreask tags: trunk
03:01
Updated dev guide to mention the new tools [5a2f216c67], and integrated the demo gui image [0af89ebde9], replacing the ascii-art used so far. check-in: e6c90993f4 user: andreask tags: trunk
02:59
Regenerated the images for the figures. check-in: e510d3b974 user: andreask tags: trunk
02:57
Tweaked the figure for the demo gui layout. check-in: 0af89ebde9 user: andreask tags: trunk
02:57
Reorganized the tools for doc generation a bit, now able to generate docs, figures separately, or together. check-in: 5a2f216c67 user: andreask tags: trunk
2011-10-13
22:57
Modified the gaussian noise primitives to return images of the same type as they have as input. Dropped use of float intermediary image and of FITFLOAT. Image contrast is neither stretched nor compressed any longer. check-in: 69967f64cb user: andreask tags: trunk
2011-10-11
22:38
Changed image boundary assertions in the BMP decoder into checks raising Tcl errors. check-in: 22d9d95312 user: andreask tags: trunk
22:00
Disabled overly large font for log window, using system defaults now. check-in: 8730b8c2e9 user: andreask tags: trunk
21:47
Added two demos of gaussian noise with synthetic images as input, no images to select. check-in: 47a97d8006 user: andreask tags: trunk
21:47
Added BMP test images (coming from http://entropymine.com/jason/bmpsuite/) check-in: 468f159dd0 user: andreask tags: trunk
20:13
Added new figure, to show the gui layout of the demo app as proper image, where possible. check-in: 7bcc41820d user: andreask tags: trunk
19:58
Added architecture and concepts section to the dev guide. That simply refers to the appropriate parts of the user documentation. check-in: 221f9c4dbc user: andreask tags: trunk
19:50
Completed devguide, with per-package info, and tweaks. Removed the old plain-text devguide. Regenerated nroff and HTML. check-in: 69aea7855c user: andreask tags: trunk
19:29
Tweaked guide to retrieval of sources a bit. check-in: 5c8c756f89 user: andreask tags: trunk
19:16
Updated the dev guide, conversion complete, except for some polish check-in: eabc04d273 user: andreask tags: trunk
17:12
Demo application changes: - Use a dotbox cursor over the canvas. - Take arguments as additional paths to search packages in (like built, but not yet installed crimp packages). - When building crimp via "compile & run", show the informational messages generated by critcl. - React to clicking on [X] of the window by exiting the application. check-in: 0249129ffc user: andreask tags: trunk
17:12
Fixed table composition bug found by Tom Krehbiel and the (Solarize o Gauss) demo check-in: fb39e09dc7 user: andreask tags: trunk
2011-10-07
23:27
Continued conversion of the plain text dev-guide to doctools, plus tweaks and updates. check-in: 52d8ae2659 user: andreask tags: trunk
22:33
Regenerated the embedded documentation check-in: 01311e11c0 user: andreask tags: trunk
22:32
Added various guides on how to retrieve the sources, build and install them, etc. The developer's guide is only a skeleton yet, and will take ovr the content of the plain text dev guide in due course. check-in: ff8679c973 user: andreask tags: trunk
22:30
Fixed a typo in the main docs. check-in: 82f1c5b905 user: andreask tags: trunk
2011-10-06
16:56
Merged the work of branch "work-for-critcl-3" back into trunk, making all the changes official. check-in: 75dd6b069e user: andreask tags: trunk
16:53
Updated devguide to changes in critcl location, management, and the changes to directory structure due to the split into multiple packages. Leaf check-in: db3899a770 user: andreask tags: work-for-critcl-3
2011-10-05
19:43
Emulate index(). Apparently doesn't exist in Win32, and its easier to write our own than doing a check at configure time. check-in: 4919961520 user: andreask tags: work-for-critcl-3
18:37
Expanded build.tcl to allow specification of a named target (cross-builds, fake the auto-detection of the platfomr, ...) check-in: 631be2ff1c user: andreask tags: work-for-critcl-3
17:56
Central critcl use: Use proper native-path; also use {*}-expansion, we are 8.5+; Notes re critcl starpack on windows check-in: 9972e1d072 user: andreask tags: work-for-critcl-3
06:22
Fixed more merge problems. Integrated, manually, all the new stuff added to v21. The change from "crimp_tcl.tcl" to "policy.tcl" prevented trackign and automatic merge by fossil. check-in: bc24d77d9a user: andreask tags: work-for-critcl-3
2011-10-03
21:28
Fixed oversight in merge result [a795ba1808]. A number of operators merged into the branch were not switched from the old NALLOC to the new CRIMP_ALLOC_ARRAY macro, at the time, breaking the build. check-in: 406fe42ddc user: andreask tags: work-for-critcl-3
21:26
Added (inactive) debug output for centralized use of critcl. check-in: 79c0aab11f user: andreask tags: work-for-critcl-3
2011-09-27
22:10
Extended [91d17dc0c6] to filter critcl applications by version. check-in: c928f79006 user: andreask tags: work-for-critcl-3
20:27
Extended the critcl access code to look for it as starpack and/or starkit as well, instead of a plain package. check-in: 91d17dc0c6 user: andreask tags: work-for-critcl-3
20:18
Centralized uses of the critcl(::app) package. check-in: cbd5647474 user: andreask tags: work-for-critcl-3
20:10
Renamed brew.tcl per SteveL's suggestion. check-in: ac15dc1886 user: andreask tags: work-for-critcl-3
20:09
Brought in changes to main build file done in critcl first: Nicer help output. check-in: ea133e30f5 user: andreask tags: work-for-critcl-3
20:03
Merged the staged gsoc work, from the critcl-2.1 branch. check-in: a795ba1808 user: andreask tags: work-for-critcl-3
2011-09-07
22:11
Fixed a few indentation flubs which slipped through until now. Leaf check-in: 939a2bf4c5 user: andreask tags: x-smsaurabh
22:09
Fixed a few indentation flubs which slipped through until now. Closed-Leaf check-in: 3eaec58b4f user: andreask tags: mistake
22:07
Merged the staged gsoc work, plus fixed a few indentation flubs which slipped through until now. Closed-Leaf check-in: c8e33dbfb0 user: andreask tags: work-for-critcl-2.1
21:56
I am impatient.

Having worked through and vetted most of the code in the parental branch I want this code in the main branches, for regular use.

But there is still unvetted code, namely the 'filter::cleanup' and the higher-order image registrations (rotation, scale, affine, find-object), where I have run into roadblocks of understanding myself, and where I defer to Kevin for vetting.

To get the vetted pieces into the mainline, without having the unvetted parts this commit is made. It removes the unvetted pieces, puts them into a new branch, and this new branch will then be integrated with "works-for-critcl-2.1" and then "works-for-critcl-3".

The code is not lost, of course. It is still in the "x-smsaurabh" branch, and when Kevin has worked through it, it can then be integrated also. Leaf check-in: d7015891a3 user: andreask tags: integration-stage

21:46
Fixed missing change of "imregs" to "register". check-in: 8f5d3c52d1 user: andreask tags: x-smsaurabh
21:38
Dropped the image of random numbers from the noise generators.

Fixed the gausian noise as well, which has to use two uniformly distributed random numbers (radius, angle) to get one gaussian distributed value. check-in: 4b1c8ccdd5 user: andreask tags: x-smsaurabh

2011-08-31
20:24
More reformatting to style, tweaks to variable names for clarity in some places. Plus one new demo for the checker board image. check-in: 90837bc99b user: andreask tags: x-smsaurabh
19:17
Reformatted the windowing operator, docs, demo. Extended the operator to image types "hsv" and "fpcomplex". check-in: 3a60177bd7 user: andreask tags: x-smsaurabh
04:38
Continued and completed work on the log-polar transforms - Removed redundant transmission of input image w/h - Renamed a few arguments for clarity. - Added comments. - Reformatted the whitespace. - Structured the main loop a little differently, reducing indentation. - Did the changes from the previous commit, and all of the above for the other lpt primitives, i.e. grey8, grey16, grey32, rgb, and rgba. - Added lpt primitives for hsv and fpcomplex images. check-in: 26efb8d1af user: andreask tags: x-smsaurabh
2011-08-30
23:24
First run over the log-polar code, mostly formatting. Moved out of "transform" ensemble to be its own toplevel command "crimp::logpolar", similar to fft. check-in: 326f7c2663 user: andreask tags: x-smsaurabh
19:56
Ok, another rot/scale registration demo, airport and plane hardwired. check-in: bb75e2c059 user: andreask tags: x-smsaurabh
19:39
Tweaked the labels for the register demos. Added demo for rot/scale registration which shows the intermediate images, including the log-polar transforms. Of interest, when the needle is a magnification of the original even the phase correlation quickly looses lock, i.e. looses a discernable peak. This might be an artifact of how we generate the needle from the haystack, and the pixels invented by the interpolation (bilinear) during magnification. Time to try this on the airport and outline of the plane. These are ... independent needle and haystack. check-in: 0dab6bd6a9 user: andreask tags: x-smsaurabh
16:40
Properly remove macro definitions before their redefinition (all .crimp files are collected in a single .c file). AIX cc doesn't allow plain redefinition. check-in: ad7a51d387 user: andreask tags: work-for-critcl-3
2011-08-29
22:53
Tweaked the construction of the rot/scale registration example. Deriving the needle, not the haystack, and cutting pieces to remove the whole image borders. check-in: 25434f61f3 user: andreask tags: x-smsaurabh
21:08
Fix oops with unused result variable, breaking string ANSI c89 compilers. check-in: 2de0093f20 user: andreask tags: work-for-critcl-3
2011-08-28
16:49
Refactored the core of translational registration from the user-code, for easier integration into the rotational/scaling registration. Same factoring to the latter, for integration into the full affine registration. Updated docs with regard of which argument is needle, vs. haystack. Added demo like for the plain translational registration. check-in: 29dd336e6a user: andreask tags: x-smsaurabh
04:30
Renamed "imregs" to "register". Renamed command arguments for clarity ("needle" and "haystack"). Added demo of the package command, versus the demo with all the intermediates shown. check-in: 84b544b72f user: andreask tags: x-smsaurabh
04:06
Tweaked the post-processing in translation-only register. Using the magnitude after the inverse FFT is overkill. The input was real, the output will be real too, modulo round-off. Just stripping the imaginary part thus the proper way of treating the iFFT result. check-in: f20afd0d19 user: andreask tags: x-smsaurabh
03:02
Touched up the documentation, and an error message. check-in: 4a40ee00a9 user: andreask tags: x-smsaurabh
02:46
Fixing up translation-only registration. Only bug was that the delta values had no post-processing to make them properly signed. Simplified the setup, the changes in [bce7e722de] now allow for a single-step conversion to complex-typed images. Simplified post-processing using the extended statistics of [8b14cc98cc] to get the peak location directly. Extended setup with application of the windowing. Added derivate of Kevin's demo showing off translation-only registration with all the internals visible. check-in: 84b891bcbb user: andreask tags: x-smsaurabh
02:06
Fixed bug in the new statistics code, returning the locations for min and max swapped. check-in: 18c53cc2d3 user: andreask tags: x-smsaurabh
2011-08-27
07:11
Merged in the statistics changes from our parent branch, plus other assorted things which had accumulated. check-in: 8b14cc98cc user: andreask tags: x-smsaurabh
06:56
Reworked 'samesize'. Renamed to 'matchsize', and replaced multiple redundant calls to the width/height accessors with variables. Simplified the returned result, using a list over a dict. Updated users of the command, and documentation. check-in: d00e119b29 user: andreask tags: x-smsaurabh
06:34
Continued work on the 'complex' image type and operations.

Moved the complex <-> float conversion to the 'convert' ensemble.

Extended the FOO -> complex conversion to directly allow greyN images as input.

I.e. we can now do a 1-step greyN -> complex conversion, instead of requiring the 2-step greyN -> float -> complex

Dropped the fpcomplex2real primitive, this is the same as 'convert 2float', and now implemented using the primitive for the conversion.

Extended 'split' and 'join' for image type 'fpcomplex'.

Updated all users, updated the documentation. check-in: bce7e722de user: andreask tags: x-smsaurabh

05:44
Working through the operations on complex images. check-in: 4ac5751572 user: andreask tags: x-smsaurabh
04:33
Renamed the 'rangen' operator for clarity, and updated all users. (Note: 'rangen' can not only be read as 'ran-gen' (intended), but also as 'range-n', which is quickly confusing).

Swapped this operator's arguments as well. When width and height are used together they are pretty much everywhere used in this order (w, h). (Like in the result of crimp::dimensions). This enabled the simplification of the calls (single 'dimensions' instead of separate 'width' and 'height').

Exposed the operator as 'crimp noise random'; updated the documentation, and added demos. check-in: 08bc13765e user: andreask tags: x-smsaurabh

03:00
Renamed operator file implementing the core random image generator for clarity. check-in: 50be42d2bb user: andreask tags: x-smsaurabh
2011-08-26
23:11
Continued general indentation and formatting fixups. check-in: 03b7274e5d user: andreask tags: x-smsaurabh
22:53
Same treatment to the speckle noise generator. check-in: 5f3020a601 user: andreask tags: x-smsaurabh
22:37
Same treatment to the gaussian noise generator. The bug with the two dependent random variables is still present at this point. check-in: 68f7059ae8 user: andreask tags: x-smsaurabh
22:20
Salt/pepper noise, renamed the primitive commands to clarify their purpose for noise generation. check-in: 3a760feb64 user: andreask tags: x-smsaurabh
22:13
Unified the file names of the noise generation operators. check-in: 4c7bc16641 user: andreask tags: x-smsaurabh
22:04
Going over salt/pepper noise generation: Indentation fixup, additional comments, additional check, restructured the decision chain a bit. check-in: 85c6aca2db user: andreask tags: x-smsaurabh
2011-08-25
18:38
Brought BMP decls in-line with the other IO packages, notably the use of the support.tcl code, simplifying things. check-in: ec399324d9 user: andreask tags: work-for-critcl-3
18:33
Tweaks to comments. check-in: 45b16056cf user: andreask tags: work-for-critcl-3
18:27
Fixed missing ownership declaration for the build-time support file, ensuring its presence in TEA-wraps. check-in: 9d6e8792be user: andreask tags: work-for-critcl-3
2011-08-24
20:21
Fix broken links to the introduction. check-in: 0b552371a1 user: andreask tags: work-for-critcl-3
20:16
Updated embedded docs. check-in: 3fe8727044 user: andreask tags: work-for-critcl-3
19:56
Completed the documentation updates, filling out the manpages for the I/O packages, and removing the material from the main manpage check-in: 560b7e01a6 user: andreask tags: work-for-critcl-3
19:42
Continued updates to the documentation. check-in: 2433c87aaa user: andreask tags: work-for-critcl-3
07:19
Started to split the documentation along the same lines as the packages were split into core, I/O and processing (the old main crimp). Core documentation is done, and crimp processing updated. Placeholders for the I/O packages. Added a new set of diagrams showing off the system architecture, basic, and with specific parts highlighted. Added an introductory manpage. check-in: 92e0678a3e user: andreask tags: work-for-critcl-3
2011-08-23
22:52
Image IO work merging back into the v3 branch. check-in: 21e13a37da user: andreask tags: work-for-critcl-3
22:48
Fixed the channel order and bitmask issues with the RGB formats. The BMP reader is complete. Closed-Leaf check-in: 1f01e716fa user: andreask tags: image-io-experiments
22:34
Extended BMP reader to handle the packed RGB formats. Note: I seem to mishandle the channel order somewhere, for all RGB formats. Investigate. check-in: a84e87426f user: andreask tags: image-io-experiments
21:30
Extended the BMP reader to properly handle the OS/2 DIB header. Only the packed RGB formats are missing now from the common stuff (and what is supported by TkImg). check-in: 428cf676d0 user: andreask tags: image-io-experiments
20:44
Added TRACE to BMP reader, to help debugging. Plus bugfixes: Do not auto-switch scan-lines when a RLE run reaches the end of the scan-line. This is handled by the EOL escape, and actually running over is an error, which we now assert. Removed a bogus index-check on the unpacked pixels of RLE4, plus added proper relative alignment of absolute runs. check-in: ad868e7d95 user: andreask tags: image-io-experiments
18:58
Fixed file reading oops in BMP demos, must handle the files as binary. In the decoder itself, split the first consistency check into 3 checks with different error messages, to distinguish the possibilities. check-in: e2cafe0661 user: andreask tags: image-io-experiments
18:39
Fixed bad assertion, copy&paste error. check-in: 286dcdea47 user: andreask tags: image-io-experiments
18:38
Added 2nd BMP demo/test. Like the first, assumes to have a directory "images/bmpsuite" to access. Provides access to all images, via buttons. check-in: cfaa49183c user: andreask tags: image-io-experiments
04:35
Added basic BMP reader demo. check-in: 330a0f0018 user: andreask tags: image-io-experiments
03:30
Bugfixes in the core IO support (mostly off by one), and extended with function to align, relative to a base location.

Plus fixes in the BMP reader: Bad return value, and data alignment when decoding pixel data is relative to the base location. Error messages modified to uniquely identify each location and problem. check-in: fc7e925cfb user: andreask tags: image-io-experiments

03:29
Fixed bad export pattern, preventing use of crimp::core alone with any of the IO packages check-in: e21e5af52c user: andreask tags: image-io-experiments
2011-08-21
18:47
changed return type of crimp fpcomp conjugate image to fpcomplex in the manual check-in: 26b51a052d user: S.M.Saurabh tags: x-smsaurabh
03:53
changed return type of crimp fpcomp conjugate image to fpcomplex in the manual check-in: 0cb9438c1f user: S.M.Saurabh tags: x-smsaurabh
2011-08-20
08:13
Fixed various compile errors in the PFM and BMP readers. check-in: 8fe18d1b5b user: andreask tags: image-io-experiments
08:12
Added bmp reader to demos and brewery. Added target to undo an installation to brewery. check-in: 38272a3560 user: andreask tags: image-io-experiments
00:13
Updates to the BMP reader. Package meta data completed. Fixes to the RLE decompressors, take height/compression restriction into account. Policy level is now empty, keeping it for future write code. check-in: cb031179c0 user: andreask tags: image-io-experiments
2011-08-19
20:18
Updated the PFM format handler to match the core's expectations. check-in: 615b7d3765 user: andreask tags: image-io-experiments
20:14
Moved the handling of PFM images into separate package. New: Implemented PFM reader. Note: With this the only file format handling left in the main "crimp" package is strimje read support. Dropped the left-over code for handling writers. check-in: 12d430261d user: andreask tags: image-io-experiments
19:06
Updated the package meta data. check-in: 27a9e447f8 user: andreask tags: image-io-experiments
18:43
Updated the PPM format handler to match the core's expectations. Analogous to [0b24b7bafe]. check-in: e92d966b54 user: andreask tags: image-io-experiments
18:35
Moved the handling of PGM images into separate package. Analogous to [0b24b7bafe]. check-in: 74308f5bf5 user: andreask tags: image-io-experiments
18:21
Modified the core "read" primitives to have their names match the expectations of [f79b3bab38]. check-in: 3d4e71332f user: andreask tags: image-io-experiments
18:17
Moved the basic image accessors to the core, ditto the handlers for the most basic 'file format' (nested Tcl lists). The core is now a bare-bones functional system able to create and access images. It should now also have enough functionality to be testable. check-in: f79b3bab38 user: andreask tags: image-io-experiments
05:33
Fixed number of small buglets. Main is removal of most of the read/write setup from the main "crimp". check-in: e91a883e7a user: andreask tags: image-io-experiments
05:32
Updated demos to use the new ppm package check-in: 65862d6df3 user: andreask tags: image-io-experiments
05:31
Fix merge bugs left from [48136f1a17]. check-in: 38b09c4e48 user: andreask tags: image-io-experiments
05:06
Updated the PPM format handler to match the core's expectations check-in: 0b24b7bafe user: andreask tags: image-io-experiments
05:04
Moved handling of PPM images into separate package, analogous to "crimp::tk" check-in: c67ea38af3 user: andreask tags: image-io-experiments
05:00
Moved "crimp::tk" operators into the IO area, and updated users, related parts. check-in: d9d0fa4290 user: andreask tags: image-io-experiments
04:59
Tweak to section comment check-in: f1733ca448 user: andreask tags: image-io-experiments
2011-08-18
23:46
Updated "crimp::tk" to fit the changes made to the core for extensible image format handling. check-in: 412f01c98f user: andreask tags: image-io-experiments
23:21
Moved the code handling the processing of .crimp definitions into a separate file, to be shared among the crimp packages without duplication. check-in: 4f92dbe643 user: andreask tags: image-io-experiments
23:19
Extended the "crimp::core" with a Tcl (policy) level. Contains the basic helpers used by "crimp", and is now also the place containing the extensibility hooks for image file format handling. check-in: c850235177 user: andreask tags: image-io-experiments
07:28
Fix typo in the compression enum, plus compute pixel array size for uncompressed images. Plus check of the size after decoding a compressing stream. check-in: a070ae1d2a user: andreask tags: image-io-experiments
06:57
Continued work on the BMP reader; most of the pixel data decoding is now written. Missing still is calculation of pixel data size for uncompressed formats, and the proper handling of the data for RLE4 (we have the main skeleton, based on RLE8). check-in: a44ff928a3 user: andreask tags: image-io-experiments
2011-08-17
23:44
Continued work on the BMP reader. check-in: ace169f587 user: andreask tags: image-io-experiments
23:43
More i/o support, signed integers, and alignment check-in: a7a8ff1c9d user: andreask tags: image-io-experiments
13:22
Documented the methods done by me check-in: 8d885b0478 user: S.M.Saurabh tags: x-smsaurabh
06:35
Extended IO support with two accessor/validation functions. Starting cleanup of the BMP fragments. check-in: 5c7045f418 user: andreask tags: image-io-experiments
2011-08-16
23:58
crimp::imregs::translation - cleaned up indentation and corrected code to handle negative displacements Leaf check-in: 5ddcc8f3fd user: kbk tags: x-smsaurabh-2
23:33
Last rejoinder to straigthen the fork, statistics changes to the image-io check-in: 48136f1a17 user: andreask tags: image-io-experiments
23:29
Rejoined inadvertently created forks. check-in: 97cccc12a1 user: andreask tags: work-for-critcl-3
23:25
Added broken start of a BMP image reader. Doesn't match the support API, but an older form, pieces of Tkimg BMP, etc. check-in: bff1ffb225 user: andreask tags: image-io-experiments
23:19
Extended the "crimp::core" with C-level infrastructure for reading data from image files. check-in: c51493e217 user: andreask tags: image-io-experiments
20:27
Generalized wrap4tea target to take list of packages, instead of duplicating the virtually same code for each. check-in: 72c7cdb793 user: andreask tags: work-for-critcl-3
19:26
Slight file reorganization, more consistent naming. check-in: 8d0b7c3005 user: andreask tags: work-for-critcl-3
19:20
Split the "crimp::core" package off "crimp". The core provides the common data structures, their acessors, and globally useful utility macros. "crimp" now is the collection of algorithms, plus handling of basic file formats (ppm, pgm). Modified "crimp::tk" to use the new core, beyond it stays the collection of the Tk dependent parts, with Tk photo images a pseudo-file format we can read from and write to. Plans: Extended the core with buffer management and functions to help with the processing of file formats, then write handlers for BMP and GIF, as separate packages, then split the basic file format handling off "crimp" as well. check-in: 0ad5ae5e3d user: andreask tags: work-for-critcl-3
04:53
Pulled the statistics changes into the main experiment. check-in: 96e598fe00 user: andreask tags: work-for-critcl-3
04:52
Merged the changes to the statistics calculations, they build and work. check-in: f08129c3e5 user: andreask tags: work-for-critcl-2.1
2011-08-15
23:09
Created 'stats_multi' primitive for the grey8 based image types, single- and multi-byte. Using this now to get the statistics directly, instead of from the histogram. Disadvantage: image is scanned twice. Advantage: We now get the locations of the min/max pixels. Updated the policy code to call on the new primitive, removing the Tcl-level math. Closed-Leaf check-in: 962e83625c user: andreask tags: untested-changes-to-basic-statistics
20:58
Extended the float/grey16/grey32 statistics to report the coordinates of the pixels with max/min value (first in scan order (left 2 right, top 2 bottom)). grey8 and multi-channel images to come. These require more work, as their statistics are derived from their histograms. Which does not remember locations. Likely I will write new primitives for them, like was done for grey16, etc. and then merge their results with the histogram derived data. check-in: 82288c31c9 user: andreask tags: untested-changes-to-basic-statistics
2011-08-13
04:54
Updated the demo application to use properly use crimp::tk, crimp alone is not sufficient anymore. check-in: f8f2119dcd user: andreask tags: work-for-critcl-3
04:53
Renamed the high-level files for crimp and crimp::tk packages; and bumped to version 0.1. Also fixed typos in the high-level code of crimp::tk, and simplified a bit (assume presence of the necessary namespace, made by crimp. check-in: 0095fc2e3a user: andreask tags: work-for-critcl-3
2011-08-10
17:19
Demos for previous commit and some changes in them as suggested by KBK check-in: c53a4914f0 user: S.M.Saurabh tags: x-smsaurabh
2011-08-06
20:04
Merge the robustness changes from 2.1 check-in: 89289208d8 user: andreask tags: work-for-critcl-3
20:00
Nicer output of brew, and argument fix for -tea setup. check-in: d4b0ec52f3 user: andreask tags: work-for-critcl-3
19:55
A bit more robustness when it comes to inline and various macros. check-in: 1365d90306 user: andreask tags: work-for-critcl-2.1
2011-08-04
13:35
Object detection , window function check-in: 89e3679ca6 user: S.M.Saurabh tags: x-smsaurabh
2011-07-25
14:59
Image Registration complete pack Based on suggestion from AKU and KBK check-in: 515568ba1e user: S.M.Saurabh tags: x-smsaurabh
2011-07-19
18:59
Image registration for rotated and scaled image check-in: bd8bee4c73 user: S.M.Saurabh tags: x-smsaurabh
2011-06-30
21:38
Removed corrupted images check-in: dc36cc39f7 user: S.M.Saurabh tags: x-smsaurabh
18:54
Fix macro clash, now that the public definitions are visible everywhere through the critcl stubs handling. check-in: c1566c7be0 user: andreask tags: work-for-critcl-3
18:54
Fixed initializer bug introduced by [95e5f63950]. check-in: 7ffb749ed8 user: andreask tags: work-for-critcl-3
16:14
Added fpcomplex image type, fft, ifft, and basic operation for fpcomplex images check-in: 12566fb114 user: S.M.Saurabh tags: x-smsaurabh
2011-06-29
06:04
Moved the provide commands back to the end, with the latest critcl v3 changes the ordering trouble which caused their original move is gone. check-in: df90fe2202 user: andreask tags: work-for-critcl-3
06:04
Tweaked brew output slightly, to separate crimp and crimp::tk better check-in: 2689a6cd1d user: andreask tags: work-for-critcl-3
02:46
Fix API typos, missing headers, command ordering. check-in: f433805535 user: andreask tags: work-for-critcl-3
02:43
Fix copy/paste error which prevented use of the internal utilities. check-in: 345b6152f1 user: andreask tags: work-for-critcl-3
02:43
Fix missing inclusion of utlities. check-in: e06acfd586 user: andreask tags: work-for-critcl-3
02:43
Fix header inclusion to find exported sibling headers check-in: 2ed95b4cea user: andreask tags: work-for-critcl-3
02:41
Like last commit. check-in: 9fae15cc4a user: andreask tags: work-for-critcl-3
02:40
Fix forgotten use of the rename RECT_AREA macro. check-in: 40ee1a0543 user: andreask tags: work-for-critcl-3
02:38
Added missing -includedir to the brew script, so that crimp::tk finds the crimp API headers check-in: 5ae26b327b user: andreask tags: work-for-critcl-3
2011-06-28
20:35
Merged work-for-critcl-2.1 [d23d60ef7e] fix into the v3 line. check-in: 6ee801940a user: andreask tags: work-for-critcl-3
20:28
Split the Tk related commands, i.e. conversion from and to Tk photo images, off the crimp core package. The new crimp::tk uses the critcl v3 api management commands to get access to crimp's exported stubs table check-in: 69179e6c55 user: andreask tags: work-for-critcl-3
20:01
Moved the declarations of exported functions to critcl api management. Moved declaration of internal initializer to the one place where it was used. We now have a proper stubs-ified package. check-in: 95e5f63950 user: andreask tags: work-for-critcl-3
19:31
Shuffled a few declarations and definitions around for better separation of internal versus public headers. Renamed a few macros (assertions) to have a crimp-specific prefix, to reduce risk of collisions with other package headers. This is preparation for the introduction of critcl v3 stubs and api management commands. check-in: 27caa98840 user: andreask tags: work-for-critcl-3
2011-06-22
15:41
Added the log-polar transformation. check-in: eb179162e2 user: S.M.Saurabh tags: x-smsaurabh
2011-06-17
18:51
Modified the noise generation as suggested by Andreas Kupries. check-in: c6f8ea9534 user: S.M.Saurabh tags: x-smsaurabh
2011-06-16
19:24
Noise Generation check-in: 11cc867651 user: S.M.Saurabh tags: x-smsaurabh
2011-06-09
19:44
Corrections to the wiener filter. check-in: 9b039b0634 user: S.M.Saurabh tags: x-smsaurabh
2011-06-08
18:36
Added wiener filter (denoising), plus noisy test images. check-in: 43e8aeddb6 user: S.M.Saurabh tags: x-smsaurabh
2011-06-04
17:20
Edge detection changed as suggested by Andreas. check-in: 7c8fbc1b7a user: S.M.Saurabh tags: x-smsaurabh
2011-06-02
21:58
edge detection Closed-Leaf check-in: 5ee0af28c2 user: S.M.Saurabh tags: x-smsaurabh
2011-05-30
20:06
Modified brew application. Ensure that no leftover BUILD can interfere with the current one. check-in: d23d60ef7e user: andreask tags: work-for-critcl-2.1
2011-05-27
16:23
Pulled the magnifier updates and AIX fix over. check-in: 9737c30e91 user: andreask tags: work-for-critcl-3
16:19
disabling inline for AIX. Its native cc seems to expect a different syntax and chokes. check-in: 55c3dbb538 user: andreask tags: work-for-critcl-2.1
03:45
Removed the magnifier demonstration, and re-implemented it as part of the demo framework, for use with all demos. check-in: 916a5f3cc3 user: andreask tags: work-for-critcl-2.1
00:27
Extended the magnifier with multiple zoom settings, switchable via left/right mouse buttons. check-in: dbd3fe746e user: andreask tags: work-for-critcl-2.1
00:12
Fixed off guard conditions in the magnifier, a copypasta bug, and dropped the now superfluous helper variables px/py. check-in: bb775a49d4 user: andreask tags: work-for-critcl-2.1
00:04
Fix of demos framework. Stop current demo before reloading. check-in: 1ee871e2c8 user: andreask tags: work-for-critcl-2.1
2011-05-26
20:30
Refactored the magnifier demo and made it work properly at the image borders, and outside. check-in: 4442b2549e user: andreask tags: work-for-critcl-2.1
20:03
Added a demonstration of a magnifier following the mouse when over the shown image. Not perfect at the borders. This is something which I should add to the framework, so that it can be used to look at the output of any demo. Another obvious extension would be to multiple settings (currently fixed to 8x of a 20x20 region) check-in: deeb8fc52f user: andreask tags: work-for-critcl-2.1
02:03
Convert "puts" commands left by merge into "critcl::msg", and noted where we could provide messaging about the operators compiled into the library. check-in: e5aa30beff user: andreask tags: work-for-critcl-3
01:52
Merged the latests merges (kbk-extras) and fixes from work-for-critcl-2.1. check-in: 3cbd0c6fef user: andreask tags: work-for-critcl-3
2011-05-25
21:56
Added checks for the existence of various float-math functions and delegates them to their double counterpart of the compiler doesn't provide them.

This replaces rev [1a2b5e973a] (moved to a mistake branch), and reverts part of rev [2e4a6fce26].

This change relies on functionality provided by critcl in rev [8299af2478] and forward. check-in: 62fc511af8 user: andreask tags: work-for-critcl-2.1

17:17
Last portability fixes in c/gauss.c, replacing various float functions with their double counterparts (hypot, sin, cos, sqrt, exp) Closed-Leaf check-in: 1a2b5e973a user: andreask tags: mistake
17:12
Fix typo in commit [9e3ea9e26b]. Now we only have link errors from c/gauss.c check-in: 486eac3cd8 user: andreask tags: work-for-critcl-2.1
16:49
Fix portability issue with the inline qualifier. MSVC uses a different keyword, __inline check-in: 9e3ea9e26b user: andreask tags: work-for-critcl-2.1
16:40
Moved the M_PI portability definition from its location in crimp.tcl into a more generally accessible header file (util.h). Fixed gauss.c windows issues with M_PI by including util.h check-in: 3421db6902 user: andreask tags: work-for-critcl-2.1
15:32
brew.tcl: restore execute permission Leaf check-in: 3af4594870 user: kbk tags: work-for-critcl-2.1
2011-05-21
20:20
Merged kbk-extras into development branch at aku's request check-in: 0e688f656a user: kbk tags: work-for-critcl-2.1
20:17
Merge aku's changes again Leaf check-in: 86f498cf99 user: kbk tags: kbk-extras
20:17
Merge aku's changes (slightly stale) check-in: 5a2c34f2ee user: kbk tags: kbk-extras
2011-05-20
17:27
Updated the Devguide based on feedback from S. M. Saurabh. check-in: 70ddc44581 user: andreask tags: work-for-critcl-2.1
2011-05-19
21:31
Added gui mode to 'brew' helper, and made it default when called with no arguments, on Windows (= double-click). Also added .tcl extension, again for Windows, to pick up the intepreter through the association on the extension. check-in: aadf19d7ab user: andreask tags: work-for-critcl-2.1
21:24
Use the new critcl messaging command instead of directly writing to stdout. That way mode compile & run will not generate spurious output. check-in: 860ed71a82 user: andreask tags: work-for-critcl-3
2011-05-11
21:24
And merged back from work-for-critcl-2.1 to get the M_PI Windows fix. check-in: c5c14bde58 user: andreask tags: work-for-critcl-3
21:03
Cherry picked the lrint() compat code from the work-for-critcl-3 branch. We need this for Windows.

Furthermore fixed the issue of the missing M_PI definition as well. check-in: f3474ad7e1 user: andreask tags: work-for-critcl-2.1

2011-05-10
05:21
Extended the crimp core to use the new critcl utilities to detect systems without lrint(), and provide a compat implementation for these. check-in: 396e145ec2 user: andreask tags: work-for-critcl-3
2011-05-07
04:12
Merged housekeeping check-in: 029354c539 user: andreask tags: work-for-critcl-3
04:11
Merged housekeeping check-in: 5b82fb66eb user: andreask tags: work-for-critcl-2.1
04:10
Housekeeping. Dropped all the unused variables and most other problems pointed out by gcc -Wall. check-in: c933ceda23 user: andreask tags: trunk
03:18
Found a few problems building on AIX 5.2. Replaced sinf, cosf, and hypotf with their sin, cos, and hypot counterparts. In the f2c.h a number of macros are now undefined before getting redefined, for added robustness. Although it was required only for abs(), being in conflict with a system definition. Note that the AIX used also had no definition of lrint(), for this a compat implementation will be needed, plus a dynamic check at configure/build time to activate it when needed. check-in: 2e4a6fce26 user: andreask tags: trunk
2011-05-06
15:52
Merged addition of dev guide check-in: 307dc136d4 user: andreask tags: work-for-critcl-3
15:51
Merged addition of dev guide check-in: 13176faa46 user: andreask tags: work-for-critcl-2.1
15:50
Added the Dev Guide. check-in: 9e46c5143e user: andreask tags: trunk
03:06
Added the remaining monochrome 'map' operators, and a demonstrator of Laplacian-of-Gaussian segmentation. check-in: e6bca39f2a user: kennykb tags: kbk-extras
01:50
Development checkpoint: added basic infrastructure for piecewise-linear intensity maps (not yet instantiated for all data types) check-in: 9968ab5ad9 user: kennykb tags: kbk-extras
2011-05-04
01:40
Merged in the fixes to bicubic interpolation. check-in: c08a1947d6 user: andreask tags: work-for-critcl-3
01:39
Merged in the fixes to bicubic interpolation. check-in: 19eaea37db user: andreask tags: work-for-critcl-2.1
01:38
Modified to the float conversion ops to use the same MAXVAL defines as the bicubic interpolators. check-in: 3a0580850f user: andreask tags: trunk
01:37
Clamp bicubic interpolation to the limits of the representable range of the destination. Do not allow overflow. This fixes the bogus colors at content edges due to bicubic halos. Added a demo showing the three interpolation methods side by side (scaling).

Thanks to Pat Thoyts for the report. check-in: 7a934fa654 user: andreask tags: trunk

2011-04-23
17:43
Added missing comment header check-in: 35dc2c9345 user: kennykb tags: kbk-extras
2011-04-22
22:46
merge andreas's kbk-extras changes check-in: 4460966a22 user: kennykb tags: kbk-extras
22:09
Added squared-Euclidean-distance map, and an auxiliary 'indicator' function needed to produce it. See demos/euclidean_dist.tcl check-in: 98b013c703 user: kennykb tags: kbk-extras
21:25
Merge extended demo framework. check-in: 0c0d7e8a33 user: andreask tags: closed, kbk-extras
21:25
Merge extended demo framework. check-in: fa74c4ee12 user: andreask tags: work-for-critcl-3
21:24
Merge extended demo framework. check-in: 5abdbd70d7 user: andreask tags: work-for-critcl-2.1
21:24
Extended demos.tcl with the ability to reload demos/ and images/ after changes, for faster turn-around when only a demos/ file, or image changed, and not crimp itself. check-in: a3daf82077 user: andreask tags: trunk
19:35
Merge type and morph fixes, resolved conflict. check-in: 38e2562c93 user: andreask tags: kbk-extras
19:29
Merge type and morph fixes. check-in: 29e5b62340 user: andreask tags: work-for-critcl-3
19:28
Merge type and morph fixes. check-in: 618760de04 user: andreask tags: work-for-critcl-2.1
19:27
Fixed definitions of erode/dilate, updated documentation. Added references for morphological tophat to documentation. Fixed definition of charcoal effect to keep it same despite the change. Updated charcoal demo for same. Added demo to show off all morph operations in one. New morph operation toggle(map), edge sharpener. check-in: 74b720037a user: andreask tags: trunk
17:20
Filled out the data types for 'connected components' operators check-in: 86687258a5 user: kennykb tags: kbk-extras
17:05
Added macros for area and volume calculations, with proper casting to avoid the 4-gpixel barrier. Updated various places to use these macros now. Note that Tcl_Objs are still limited to 4G, mostly. check-in: fcddf7d438 user: andreask tags: trunk
16:30
Continued [a3e9e3d06c] for the voxel access. check-in: 04964918a5 user: andreask tags: trunk
16:11
Added cast to size_t in the pixel access macros to break the 4gpixel barrier. check-in: a3e9e3d06c user: andreask tags: trunk
16:03
Fixed type for GREY32 to be "unsigned int", and made the GREY access macros uniform in structure. Last is prep for future type changes using intXXX_t type(def)s. check-in: c0394f9354 user: andreask tags: trunk
2011-04-21
21:55
Added C code for connected component labeling, and the first of several operators to invoke it. check-in: 647a7908f6 user: kennykb tags: kbk-extras
21:54
Removed obsolete code for testing without Tcl check-in: 612f2c3bbb user: kennykb tags: kbk-extras
13:54
merge work-for-critcl-2.1 check-in: e4b89c8b58 user: kennykb tags: kbk-extras
13:50
merge trunk Closed-Leaf check-in: 4e5fb11fe8 user: kennykb tags: mistake
02:36
Merged from work-for-critcl-2.1, license information check-in: d42f7beb2c user: andreask tags: work-for-critcl-3
02:35
Merged from trunk: Added license information. check-in: 7c24433a8e user: andreask tags: work-for-critcl-2.1
02:33
Added license information. check-in: f032972911 user: andreask tags: trunk
02:31
Modifications for the -tea mode of critcl v3-in-development check-in: dda5645096 user: andreask tags: work-for-critcl-3
01:46
Added low-level Gaussian derivative filters and a new demo, 'gauss_laplacian_luma3.tcl', that exercises them. check-in: 5ce3d5c33e user: kennykb tags: kbk-extras
2011-04-20
14:28
simplify Gaussian derivative demos by using FITFLOAT check-in: 6507bdc844 user: kennykb tags: kbk-extras
03:57
Merged the simplifications for declaring pure Tcl reader/writer. check-in: 80a0eccbec user: andreask tags: work-for-critcl-2.1
03:54
Simplify the declaration of Tcl readers and writeres, using critcl's glob matching ability instead of doing that ourselves. check-in: 3f0577202f user: andreask tags: trunk
01:54
Add Gaussian derivative operations check-in: 9fe1614b7d user: kennykb tags: kbk-extras
2011-04-10
04:06
Merge latest fixes and extensions from trunk. check-in: 7b66d15551 user: andreask tags: work-for-critcl-2.1
04:04
Added export of image to Tcl list of list of pixel values. No markers, no dimensions, just plain pixels. Caller is expected to know the structure and thus meaning of the values. check-in: 9e144376f9 user: andreask tags: trunk
04:03
Added missing return of TCL_OK in ImageFromAny. Was ok for 8.5, tripped for 8.6, raising bogus errors. check-in: 372132f38b user: andreask tags: trunk
2011-03-22
17:40
Made branch "ak-experimental" official, merging it over into the trunk aka main-line. Closing the branch. check-in: cbf1f93ff5 user: andreask tags: trunk
2011-03-17
21:00
Simplified package setup and use (demos), by using features from my critcl work (unreleased v2.1). check-in: 13c0452d35 user: andreask tags: work-for-critcl-2.1
21:00
Added buildsystem, brew-style (Derived from critcl). Closed-Leaf check-in: 75bee3e229 user: andreask tags: ak-experimental
2011-02-20
20:50
More work on retinexes. Added demo for color retinex working in HSV, processing V like the greyscale retinex, leaving HS unchanged. After a test run on a known set and comparing against the results of GHE the retinex desaturates the colors quite strongly (I suspect that this is the "graying out" noted in the various papers). check-in: e760560b3b user: andreask tags: ak-experimental
19:58
Moved some of the supporting code from the retinex demo into the crimp package itself. check-in: bff20fa64c user: andreask tags: ak-experimental
19:25
Refactoring the FITFLOAT code a bit to separate the extraction of the necessary statistics a bit. check-in: a1be9797e9 user: andreask tags: ak-experimental
19:24
Fixed the unintentional clipping of values found in the float convolutions. Was summing to integer variable, clipping each kernel product, and was also using clamp to grey8 range. Now using a "double" variable for the summing to keep the full precision of all intermediate results, performing any clamping only when storing the final result, and without any clamping at all for images of type "float". The problem was found while experimenting with getting a retinex implementation done, where the middle-range smoothing went spectacularly and visibly wrong because of this. check-in: 43b4914565 user: andreask tags: ak-experimental
19:24
Extended the retinex experiment to show the smoothing results. check-in: d5c9bef552 user: andreask tags: ak-experimental
2011-02-18
06:38
Experimenting with retinexes, single- and multi-scale, greyscale-only. check-in: ab0ee96f70 user: andreask tags: ak-experimental
00:16
Extended the montage operators to handle float images too. check-in: 6d2556f6ac user: andreask tags: ak-experimental
2011-02-17
20:28
More fp math ops check-in: d4939e527f user: andreask tags: ak-experimental
2011-02-09
21:28
Two bug fixes in the bilaterals: Added the forgotten the scaling factor in the gaussian filtering. And added the missing padding in phase 4, equivalent to the one in phase 2. check-in: d3a262e09b user: andreask tags: ak-experimental
21:26
Extended the bilateral demo to show the residuals. check-in: 109ba417bf user: andreask tags: ak-experimental
2011-01-20
23:54
Bilateral filter, fixed the striping artifacts. check-in: a2792b8d43 user: andreask tags: ak-experimental
23:40
Fix compile, link, and runtime issues with bilateral filter. The filter is definitely incorrect still, has quite obvious defects in the output. check-in: 45378d3264 user: andreask tags: ak-experimental
23:38
Added demo for bilateral filter check-in: dd67bbb456 user: andreask tags: ak-experimental
2011-01-19
23:46
Joint bilateral filter. Implemented per http://people.csail.mit.edu/sparis/bf_course/. No test cases yet. check-in: 621b077b0f user: andreask tags: ak-experimental
23:15
Bilateral filter. Implemented per http://people.csail.mit.edu/sparis/bf_course/. No test cases yet. First use of volume structures. check-in: d03c942360 user: andreask tags: ak-experimental
23:13
Integrate volume declarations. check-in: 2c3a7d05fd user: andreask tags: ak-experimental
23:10
Added volume structure and basic API. Needed for bilateral grid. Consider re-unification with images, i.e. images == volumes with depth 1. Note also that at least one image processing toolkit uses 4 dimensional structures. x, y, z, and t. check-in: 06c007135c user: andreask tags: ak-experimental
2011-01-12
19:33
Updated the List & Has helper commands, now that the C layer forces compilation and loads its shared library there is no need to check the auto_index any longer when looking for primitives. In the future we may also incrementally inline these procedures at their call-sites. check-in: 731ef4e129 user: andreask tags: ak-experimental
19:30
Moved the compile check up before we are sourcing the higher API, and modified to actually load the shared library if its ok. The check builds the code, but explicitly isn't loading the results. check-in: 2e71cd9505 user: andreask tags: ak-experimental
17:50
Learned how to force the compilation of the C pieces using official/public critcl API calls, and removed the hack from the demos. Plus additional check in crimp if compilation is possible. check-in: b1c7289e2a user: andreask tags: ak-experimental
2010-12-12
02:27
Fixed bug in local contrast equalization, added the missing propagation of AHE radius for the rgb/a branches. check-in: 1d1f47843f user: andreask tags: ak-experimental
2010-12-10
03:48
Extended gradient demo with a canny edge-detector. check-in: 17abfd8ad4 user: andreask tags: ak-experimental
03:48
Additional primitives, the last two steps of canny edge-detection (non-max suppression, and edge-tracing with hysteresis) check-in: 4d11f5d4c9 user: andreask tags: ak-experimental
02:06
Documentation update check-in: 5b2297c975 user: andreask tags: ak-experimental
2010-12-09
22:28
New demo for the gradient calculation and visualization. check-in: 77ec37b772 user: andreask tags: ak-experimental
22:25
Fix more bugs in scharr and prewitt check-in: 20b7bb8e16 user: andreask tags: ak-experimental
21:15
Base documentation for the gradient methods and the underlying edge-detecting filters, see [d5d2f1a6f6]. check-in: 565696fdee user: andreask tags: ak-experimental
19:55
Base documentation for hypot and atan2 operators. check-in: 050c81b4f1 user: andreask tags: ak-experimental
08:44
Fix bugs in the signature and implementation of the sobel, prewitt, scharr y filters.

Modified the symmetric binary operators to not try argument reversal when the argument image types are identical, as then the second try is identical to the first, thus superfluous.

Filled the conversion of gradients from cartesian to polar representation, and added a method to generate a visualization of the gradient. check-in: 1d969fb0c3 user: andreask tags: ak-experimental

08:01
Fix oops in name of the primitive. check-in: 48a8abd916 user: andreask tags: ak-experimental
07:26
API for the hypot and atan2 operators, see [4dadc8d0a7] and [b2cab740d3] for the underlying primitives. check-in: 859a3e3d61 user: andreask tags: ak-experimental
07:25
New binary operator, atan2. Result is always float, regardless of input types check-in: b2cab740d3 user: andreask tags: ak-experimental
07:02
Fixed bugs introduced by [a8b237cf02] check-in: f4735e8af6 user: andreask tags: ak-experimental
07:01
New binary operator, hypot. Result is always float, regardless of input types check-in: 4dadc8d0a7 user: andreask tags: ak-experimental
06:59
Replace custom clamping code with common macro. check-in: 7613b6db74 user: andreask tags: ak-experimental
2010-12-08
22:09
Added more predefined filters: sobel, prewitt, scharr. And gradient methods on top of them. check-in: d5d2f1a6f6 user: andreask tags: ak-experimental
06:40
Extended the slide show code in demo framework to allow start without cycling the images. check-in: 0e176b570d user: andreask tags: ak-experimental
06:17
Added methods computing the kernel of a gaussian blur, discrete, or sampled, and filters based on these kernels. Updated demos and docs. check-in: a8b237cf02 user: andreask tags: ak-experimental
05:33
Finally bit the apple and remodified the API of the table eval/linear methods, replacing their option '-wrap' with a deeper submethod, i.e wrap/clamp. The option processing needed to handle -wrap simply forces use of -- always, because of the need to protect negative numbers, and it simply doesn't look nice. Updated implementation, demos, and docs. check-in: 11bc8533d2 user: andreask tags: ak-experimental
2010-12-07
20:02
Added more convenience methods for affine transforms: shear, and reflection along lines through the origin. check-in: 9ba5b9ff90 user: andreask tags: ak-experimental
08:08
Changed convolution on float image to not clamp the result to grey8 range. Bad. Float is present to allow us the use of large dynamic ranges. check-in: 3d1a041674 user: andreask tags: ak-experimental
08:07
Added two additional float operators, hypot and offset (+constant) check-in: 3f72899637 user: andreask tags: ak-experimental
08:06
Fix comment of scale float operator, and go double for argument check-in: 3a5d4ff4ec user: andreask tags: ak-experimental
08:06
Fix comment of sqrt float operator check-in: c8fc173ab2 user: andreask tags: ak-experimental
06:47
Fix bug in expand/const, handle all single-channel image-types. check-in: acc3641e66 user: andreask tags: ak-experimental
2010-12-02
17:21
Replaced the Tcl implementation of the reader for PPM files with C code, structured like the C-based PGM reader committed with [186b7b5109]. It simply was stuck in my craw to have a slow PPM reader while knowing that it can be fast too, as demonstrated by the PGM rewrite, and pretty trivial to implement to boot. check-in: 7952dbe0b6 user: andreask tags: ak-experimental
2010-11-29
01:22
Fixed bug in [186b7b5109], corner case in handling the end of the PGM header. check-in: c7a7753351 user: andreask tags: ak-experimental
2010-11-28
20:36
Close a plain PGM image written to a channel with a newline. Apparently expected by the pgm* commands of netpbm. check-in: ee398a3cad user: andreask tags: ak-experimental
20:35
Replaced the Tcl implementation of the reader for PGM files with C code.

This was done because usage of the PGM format for the greyscale page images in the bookflow project showed that the conversion of the read PGM data to a crimp image was a big bottleneck, dominating the time to calculate the global brightness of the pages.

Using one the images as example (IMG_2291.pgm, 3264x2448) let us compare the before and after times for all the steps, for both the raw and plain sub-formats of PGM:

28 MB plain PGM Tcl read pgm C read pgm Speedup C/Tcl
fileutil::cat 0.304102 s 0.010526 μs/byte 0.293129 s 0.010146 μs/byte n/a
crimp read pgm 21.683829 s 2.713779 μs/pixel 0.915391 s 0.114563 μs/pixel 23.69
crimp statistics basic 0.200785 s 0.025129 μs/pixel 0.193059 s 0.024162 μs/pixel n/a
Total 22.188716 s 1.401579 s 15.83

8 MB raw PGM Tcl read pgm C read pgm Speedup C/Tcl
fileutil::cat 0.159231 s 0.010526 μs/byte 0.199514 s 0.024970 μs/byte n/a
crimp read pgm 12.948204 s 5.707877 μs/pixel 0.333799 s 0.041776 μs/pixel 38.79
crimp statistics basic 0.060432 s 0.026640 μs/pixel 0.193233 s 0.024184 μs/pixel n/a
Total 13.167867 s 0.726546 s 18.12

Much better. The time spent on calculating the statistics and reading the bytes is essentially the same, within error margins, and the parsing of the PGM format is an order of magnitude faster. check-in: 186b7b5109 user: andreask tags: ak-experimental

2010-11-20
00:57
Reworked the locally adaptive equalization to also work only the value/luma channel of color images. check-in: 2304fa5dd1 user: andreask tags: ak-experimental
00:49
Added whole slew of methods for manipulation of contrast (global, local histogram equalization, normalization aka stretching). The latter, applied to color images can be considered a very primitive form of changing the color balance. check-in: 315bb6c0e6 user: andreask tags: ak-experimental
00:48
Fix bad calculation in table::stretch and borken setup of conversions check-in: 1653d45b83 user: andreask tags: ak-experimental
00:47
fix bad C in [1cc2e4740f] check-in: 7168e068d3 user: andreask tags: ak-experimental
2010-11-19
22:24
Added matrix based color transformations (mix, and combine), reusing the machinery for linear algebra. See ticket [d33e3ed3f441701fbad39a6939cce32d62ccaefa].

Applications of these are whitepoint correction, conversion between various colorspaces (CIE *, LMS, ...), etc.

Added convenience commands for various colorspace conversion matrices (RGB -> CIE XYZ, CIE XYZ -> LMS, RGB -> LMS (analogous to previous)).

Still need the inverse conversions.

Started on the CIE spaces, this is very incomplete, and the value ranges (domains) especially are not known, so the scaling is very likely very off.

Plus demos. check-in: 1cc2e4740f user: andreask tags: ak-experimental

19:42
Separated the geometry support code into core linear algebra and actual geometry functions. Updated all users. check-in: e1e8d27e37 user: andreask tags: ak-experimental
2010-11-18
07:05
Added primitives to compute the basic statistics for the single-channel types going beyond a single byte of data for their channel, and integrated them into 'crimp statistics basic'. No histogram for these, nor median (which is computed from the histogram). Plus demo.

Added the extended statistics to the hough demo. check-in: fc24897d1e user: andreask tags: ak-experimental

2010-11-17
18:25
Back to the hough transform, this implementation needs the background (non-line) color, to represent empty buckets. check-in: 5f08ca4dd3 user: andreask tags: ak-experimental
07:42
Fixed a number of older C primitives to use the proper macro for image argument processing check-in: e24f31bc75 user: andreask tags: ak-experimental
07:41
Fix the overzealous changes from [007a79aa59] check-in: 9165920582 user: andreask tags: ak-experimental
06:34
Reworked internals to avoid ensemble overhead, calling on the commands directly check-in: 007a79aa59 user: andreask tags: ak-experimental
06:32
Fixed typo check-in: f1177dd0eb user: andreask tags: ak-experimental
00:25
First work on the hough transform. check-in: e544dbf0ae user: andreask tags: ak-experimental
2010-11-16
07:00
Bringing the warp branch back into the main development line. With this the following tickets are fixed/implemented:
  • [60254f4954] arbitrary affine transformations.
  • [7068afa5f5] rotation through arbitrary angles and center.
  • [f17efe0938] arbitrary projective transformations.
  • [233e0d0b5a] general deformation through quadrilateral mapping.
  • [126d0ace8f] bilinear/bicubic interpolation.
check-in: 53c344efe8 user: andreask tags: ak-experimental
06:53
Merged from [3440950d67] Closed-Leaf check-in: 88563a96b1 user: andreask tags: warp-experiment
06:42
Default interpolation switched from nearest neighbour to bilinear.

Re-added a resize method, now based on projective warp.

Renamed the 'crimp warp warp' to 'crimp warp field', in deference to the vector fields providing the sampling coordinates. And yes, it is a bit tongue-in-cheek re StarTrek.

Implemented the primitives for 'warp field'.

Demo for 'warp field', a blur mode like light scattering through milky acryl.

Documented 'resize, 'warp field' and the 'transform' methods.

New demos for quadrilateral mapping. check-in: 5a58eae505 user: andreask tags: warp-experiment

04:58
Fixed missing undef of SAMPLE macros check-in: b82e53528b user: andreask tags: warp-experiment
03:20
Use explicit choice of interpolation method in all warp demos check-in: ffc482dad3 user: andreask tags: warp-experiment
03:19
Fixed problems with transform setup, boundary calculations were off check-in: 0bd668ba6e user: andreask tags: warp-experiment
2010-11-14
07:48
Tweaked the names for transform inversion and chaining, and extended the latter to take an arbitrary number of transform instead of just two. check-in: 80a80a9a34 user: andreask tags: warp-experiment
07:01
Finalized the public API to access image meta data. Documented this API and updated the derived documentation. Added a demo for the basics. check-in: 3440950d67 user: andreask tags: ak-experimental
04:18
Actually implemented the bicubic interpolation now. The edge cases, i.e. border pixels however do not look very nice yet, but fuzzy. This requires a bit more research. check-in: 795404435b user: andreask tags: warp-experiment
03:18
Staring at the code and then instrumenting it and looking at the generated log I came to the conclusion that the code for the 'bicubic' interpolation is actually the 'bilinear' one. Oops. Renamed and updated all comments. Added wikipedia reference link. check-in: 822cab159f user: andreask tags: warp-experiment
00:26
Extended the projective warp primitives with bicubic interpolation, snarfed from the matrix method. check-in: c888db113c user: andreask tags: warp-experiment
2010-11-13
23:58
Completed the nearest neighbour primitives (projective warp) with all image types using single bytes in their channel handled by a single primitive. Additional demos, for color, and scaling. Fixed bug in handling of -interpolate option, was a no-op. check-in: f4c266208f user: andreask tags: warp-experiment
23:56
Changed names in prep for a reorg. check-in: 5ffbb14163 user: andreask tags: warp-experiment
20:41
Merge [07628191fd] from trunk check-in: f4e0a29324 user: andreask tags: warp-experiment
20:41
Fixed missing header check-in: cf8f68b6c0 user: andreask tags: warp-experiment
20:40
First projective warp primitive, plus demo check-in: b93edc26e1 user: andreask tags: warp-experiment
20:39
Fixed name resolution issues in warp and transform commands. Decided on API to the projective warp primitives regarding transform matrices (one only, forward) check-in: 402bfcf9d0 user: andreask tags: warp-experiment
20:37
Factored core matrix code into a plain C module, updated the affected operators. Extended the new C file with functions to transform a vector, and perform setup for warping (result dimensions, and origin placement) check-in: d334c775bc user: andreask tags: warp-experiment
20:31
Write type, dimensions, and meta data for the currently shown image to the log check-in: 07628191fd user: andreask tags: ak-experimental
20:30
Added missing header, for the macros used inside of ASSERT_IMGTYPE check-in: d9a8287f65 user: andreask tags: ak-experimental
19:46
Fix bug in meta_get, handle the case of no meta data being set at all check-in: e470b1a89d user: andreask tags: ak-experimental
02:05
Pulled the updates to the demo gui into the warp work check-in: e5a42d7682 user: andreask tags: warp-experiment
02:04
Changed wm -> transform, names of helper commands. Reordered to fix namespace import issue. Extended rotation to allow arbitrary center point. check-in: 675003ba94 user: andreask tags: warp-experiment
02:01
Tinkered with the gui for demos. Added panedwindows for interactive adjustment of the relative size for image display, log window and the listboxes. check-in: 9bd7b6e39e user: andreask tags: ak-experimental
2010-11-12
01:39
Implemented primitives for 3x3 matrix multiplication and inversion, plus demos check-in: 5d891b1a8e user: andreask tags: warp-experiment
2010-11-11
07:20
Start on proper image warping. check-in: 445eb658fe user: andreask tags: warp-experiment
2010-11-10
19:38
Undoing [0ac4353750], dropping the current 'resize' implementation.

Even with the gcd to reduce sample factors it is to easy to run into large upsampling factors and massive memory consumption by the transient intermediate images. Just need new/old width/height which are relative prime (gcd == 1).

We need something which has all the three phases (upsample, convolve, downsample) integrated, avoiding intermediate full images.

Starting to look towards the 'matrix' primitive and command now. More general (projective transform), and having the resampling integrated into the output loop. It needs some fixing tough, as is it is not usable for the intended purpose.

When that is working however we can make resize and related commands simple wrappers around it, for convenience. check-in: bbe91135d7 user: andreask tags: ak-experimental

06:03
Mark as tcl file for emacs check-in: 7ef068a4f2 user: andreask tags: ak-experimental
06:01
Fixes to the type conversions taking a gradient, and added gradient method for rgba check-in: 20d39bcc8a user: andreask tags: ak-experimental
05:32
Fixed typos in a few proc definitions check-in: 86260bc3c5 user: andreask tags: ak-experimental
05:31
More scoping errors to fix, and missing API changes. check-in: ad8ab61222 user: andreask tags: ak-experimental
2010-11-09
22:29
Added incomplete resize method based on the direction specific resampling methods, plus demo. check-in: 0ac4353750 user: andreask tags: ak-experimental
22:23
And fix the namespace resolution issues I introduced :( check-in: 339b83886a user: andreask tags: ak-experimental
22:08
Updated the relevant demos to the changed resampling API check-in: 33941f63e3 user: andreask tags: ak-experimental
21:37
Extended the resampling primitives and API to have variants working only in x or y direction. check-in: d4e0e2eaa2 user: andreask tags: ak-experimental
2010-11-01
23:51
Implemented k-means threshold selection in the demos for global threshold, possibly with bad sets for the observations (just unique pixels values, not taking the histogram into account for weighting) check-in: 0dbd09f87a user: andreask tags: ak-experimental
20:41
Added image division primitives and API on top. check-in: f8de4a07a1 user: andreask tags: ak-experimental
20:07
Modified the threshold primitives for local thresholding to expose the type of their maps through their name. Extended the set of primitives to allow many more combinations of image- and map-types. Modifed to the threshold::local method to now check the maps for type consistency and usability with the image-type. check-in: addbb29380 user: andreask tags: ak-experimental
2010-10-31
04:17
Extended the demo for local adaptive thresholding to showcase niblack's and sauvola's methods (based on local mean/stddev, as provided in the recent commits), and just using local 'mean'. Added the global otsu for comparison too. check-in: ceb9b94a4c user: andreask tags: ak-experimental
02:21
Added a filter computing the stddev of a pixel, for a square region around it. New and extended demos, plus documentation. For the latter added notes on the tradeoffs in the mean and stddev filters regarding precision and multi-channel images. Created a 'square I' method, for convenience, it is a wrapper for 'multiply I I'. check-in: 1b9fb1d884 user: andreask tags: ak-experimental
02:17
New primitive to apply sqrt() to float images. Not public. check-in: 95ac682267 user: andreask tags: ak-experimental
2010-10-30
22:21
Documented the method for creation of summed area tables check-in: 6578262aba user: andreask tags: ak-experimental
22:13
Documented the new mean filter, and the adaptive histogram equalization. check-in: 6e24163d22 user: andreask tags: ak-experimental
22:12
New functionality, a mean filter. Like a median filter, except each pixel is replaced by the mean value of its window.

The implementation uses summed area tables, i.e. integral images, to calculate the sum of pixels in all windows, making it very fast as the summation is independent of the filter radius, i.e. window size. check-in: cb6683b4d3 user: andreask tags: ak-experimental

21:54
New primitive, quick region sums based on summed area tables as input. Not public. check-in: 600e76c398 user: andreask tags: ak-experimental
21:53
New functionality, creation of summed area tables, aka integral images. Input has to be single-channel. Result is always float check-in: 77791721cd user: andreask tags: ak-experimental
21:51
Added primitive to scale float images by a constant. Not public. check-in: d38bb4edf4 user: andreask tags: ak-experimental
21:50
New image format, writing only. Analogous to portable greymaps a portable float map (PFM). The typecodes used are made up, i.e. fake. check-in: 3c36d1fb35 user: andreask tags: ak-experimental
19:04
Adjunct to last commit. check-in: fc0374c139 user: andreask tags: ak-experimental
19:03
Extended all the binary operators except for 'screen' to work with float images. check-in: 59fb93c6c7 user: andreask tags: ak-experimental
18:33
Kill a few warnings about redefined macros check-in: 0fcc63daad user: andreask tags: ak-experimental
05:51
Documented the FFT methods.

This completes the implementation of ticket [723f624229854bf48c120a238ffc23f3cf4f96eb]. check-in: 5f4c3be4ba user: andreask tags: ak-experimental

04:34
New functionality: Fast Fourier Transform. Based on netlib's fftpack (FORTRAN code, converted to C via f2c). Plus demo check-in: ec5e0b51e0 user: andreask tags: ak-experimental
04:32
Additional assertion macros for image primitives. check-in: 504d7d4a18 user: andreask tags: ak-experimental
04:30
Fixed the 2rgb(a) conversion to make the gradient optional, using a std greyscale if not present, and separated its implementation from the other conversions which do not take additional arguments. check-in: 122c200260 user: andreask tags: ak-experimental
04:27
Added primitives for conversion from float images to the various grey-ranges. Mapping is identity within the destination range, and saturated to min and max respectively, outside. More complex mappings can come later. check-in: 7e6997f23d user: andreask tags: ak-experimental
03:19
Added border to existing gradient demo. Added second demo showing use in image conversion (grey -> rgb). Extended converter method API to allow additional argument (like a gradient map) check-in: c55981b533 user: andreask tags: ak-experimental
03:17
Fixed bug in expansion core leaving the south area uninitialized memory check-in: 74c953c932 user: andreask tags: ak-experimental
01:47
Oops. Forgot to document the new thresholding methods when committing [b78795911f]. Fixed. check-in: 6066bdbe7a user: andreask tags: ak-experimental
2010-10-29
20:46
Lots of work in the area of global thresholding, and automatically computing the necessary threshold from the image itself in various ways.
  1. Reworked the statistics method to be an ensemble. The original statistics command now is 'statistics basic'. Extended this command to compute the mid-grey (middle) value (1/2(min+max)).
  2. Changed the dictionary a bit, use a single 'channel' sub-dictionary to hold the per-channel statistics, instead of a flat hierarchy, with the hierarchy in long keys. Updated the statistics demo to take this into account for printing. Ditto the threshold-le demo.
  3. Added an otsu subcommand to compute the binarization threshold of each channel in a statistics dictionary via Otsu's method.
  4. Added global thresholding commands which compute the threshold to use on their own, in various ways (mean/average, median, middle, otsu).
  5. Added a separate demo for the global thresholding commands with automatic threshold.
  6. Updated the documentation for the statistics and global thresholding commands.
check-in: b78795911f user: andreask tags: ak-experimental
2010-10-28
06:54
First experiments with computing local thresholding maps, using median filter as basis check-in: e0528b7527 user: andreask tags: ak-experimental
06:53
Fix oops in processing of -border options in various places, bad order of arguments for lindex check-in: c82791fc2c user: andreask tags: ak-experimental
05:57
Demos. Threshold. Started experimentation on methods for the automatic calculation of a global threshold check-in: 9a7f1684c0 user: andreask tags: ak-experimental
05:18
Three effects committed and documented, namely sharpen, emboss and charcoal. Based on convolution and morphology. check-in: 82abcf342f user: andreask tags: ak-experimental
03:26
Updated the documentation of the montage methods; and regenerated the derived doc files check-in: 73c19bab97 user: andreask tags: ak-experimental
2010-10-27
22:35
Extended the montage methods to expand and align images of unequal height/width, with user options to control the process (-align, and -border) check-in: c36e9f4729 user: andreask tags: ak-experimental
18:25
Fixed documentation typo for the filter methods, input image was not mentioned in the syntax. check-in: 564951d8cd user: andreask tags: ak-experimental
18:23
Tweaked the descriptions and labels for the full laplace demos check-in: 58ad097da3 user: andreask tags: ak-experimental
2010-10-19
01:32
Extended the "simple equalization" demo with AHE check-in: ca092fb1b5 user: andreask tags: ak-experimental
2010-10-18
22:32
Updated the comments regarding AHE. The code is ok. I just needed a bit of thinking. check-in: 1d49870a06 user: andreask tags: ak-experimental
2010-10-12
17:18
Added functionality: AHE aka Adaptive Histogram Equalization. Plus demos. check-in: 73d3683de9 user: andreask tags: ak-experimental
2010-10-07
02:58
Documented the gradient-generating methods. check-in: 43883d17b6 user: andreask tags: ak-experimental
2010-10-06
19:38
New methods to generate (color) gradients, for the grey -> color conversions check-in: 0a7ebe09ef user: andreask tags: ak-experimental
19:36
Fix typos in the conversions added by [e754af6950] and [c423c94a1c] check-in: 629ae0e669 user: andreask tags: ak-experimental
04:36
Updated version number in the docs check-in: 074ed9991e user: andreask tags: ak-experimental
01:41
Documentation: Added reference to paper on fast median/rank filtering check-in: a768363864 user: andreask tags: ak-experimental
2010-10-05
22:49
Bump version down to 0, proper to its state as alpha check-in: 789b45c340 user: andreask tags: ak-experimental
22:46
Added grey -> color conversions, based on luts. False/pseudo color display. check-in: c423c94a1c user: andreask tags: ak-experimental
22:45
Added basic grey -> float conversions check-in: e754af6950 user: andreask tags: ak-experimental
2010-09-29
07:22
Primitives for blank, crop, downsample, expand, threshold, and upsample extended to handle the image types grey16, grey32, and float check-in: 8ffbf4cf60 user: andreask tags: ak-experimental
2010-09-28
05:27
Fixed bad use of linear table. check-in: f9811846d3 user: andreask tags: ak-experimental
04:46
Fix the replication kernels demonstrating 1st-order-hold check-in: c3e8e62ed4 user: andreask tags: ak-experimental
04:43
Extended the reader demos with 8x magnification (pixel replication) to better see the read image contents check-in: cabaae8049 user: andreask tags: ak-experimental
04:41
Fixed bug in strimj reader. Drop empty last line. It caused loss of first line too check-in: ed2d4084e4 user: andreask tags: ak-experimental
04:39
Blank demo extended to color choice check-in: 36eb2a766d user: andreask tags: ak-experimental
04:39
Fix shutdown issue with demos using frame elements. A continuation of [dd85ca0fc4a811f72ad1dfcc013cc0f2d78b1bfc] check-in: 7d017ac525 user: andreask tags: ak-experimental
03:39
Demos of interpolation with first-order-hold = pixel replication check-in: 3c3a831ded user: andreask tags: ak-experimental
2010-09-25
06:42
Commented code from experiments with gamma-bracketing before/after processing check-in: e51044f7ee user: andreask tags: ak-experimental
06:28
Make the psychedelia animation larger check-in: d1bbdabd4d user: andreask tags: ak-experimental
06:28
Fix shutdown issue with animated demos not using input images check-in: dd85ca0fc4 user: andreask tags: ak-experimental
06:23
Another equalization demo, rgb, with single function based on the luma histogram check-in: 5257e52635 user: andreask tags: ak-experimental
06:15
More equalize demos (simple = without all the plots), plus one aggregation of all the simples check-in: f9c796d732 user: andreask tags: ak-experimental
04:46
Updated figure of the Tcl_ObjType to account for the new meta data slot check-in: 03d04f07aa user: andreask tags: ak-experimental
04:34
Extended the image intrep with a Tcl_Obj* slot to pass around. Implemented [a52909fa0c88de970ee33795ff07b211d546f35e].

Still have to go through the primitives and decide how each handles this meta data from input to output.

Still have to implement some nice handling of the data on top of the meta primitives (i.e. treat as a dictionary). check-in: 48ba899215 user: andreask tags: ak-experimental

03:47
Updated documentation for the extended read and kernel functionality. check-in: 981edf41d7 user: andreask tags: ak-experimental
2010-09-24
22:00
New work on the spatial convolution primitives and API.

(1) The primitives now expose the expected image-type of their kernel through their name.

(1a) Updated the 'filter convolve' implementation to select the primitive based on kernel type, and throw errors if no primitives are available for image and kernel types.

(2) Extended the existing set of primitives (using a grey8 signed kernel) to grey16, grey32, and float image types.

(3) Created a whole new set of primitives which use kernels specified in the new floating-point image-type.

(4) Extended the kernel ensemble with commands to make FP-kernels.

(5) New demo, family of gaussian kernels, sampled and discrete. check-in: 121b03874c user: andreask tags: ak-experimental

20:50
Plots. Allow the x-axis to be free-wheeling as well, based on series length check-in: 365d7b2d8e user: andreask tags: ak-experimental
20:00
Continued work on supporting a floating-point image type.

Created the whole suite of flip primitives for it. This implicitly provides us with the quarter and half rotations as well. check-in: 17013beeee user: andreask tags: ak-experimental

19:48
Continued work on supporting a floating-point image type.

(1) Modified the read-tcl primitive to expose the destination type in its name.

(2a) New read-tcl primitive with the new float type as destination format.

(3) Updated the 'read' API initialization to handle the expansion of destination types for 'read tcl'.

(4) Updated all users of 'read tcl' to be 'read tcl grey8', code and demos, i.e. properly announce the destination type. check-in: 06979e6ed5 user: andreask tags: ak-experimental

19:29
Added convenience creation macro for floating-point image type, and the higher grey* types check-in: da758d258f user: andreask tags: ak-experimental
19:28
Updated the demos to use the proper 'mapof' command instead of the old direct use of 'read tcl' check-in: 50bd4c8a1e user: andreask tags: ak-experimental
17:05
Laid the foundation for a floating-point image-type (pixel macro, structure definition) check-in: cec95ba06f user: andreask tags: ak-experimental
2010-09-22
06:22
Revamped the table commands for thresholding (le/ge => above, below, plus 2 new inside/outside), and linear ramps. Added tables for log- and sqrt-compression. Updated the associated documentation and demos. check-in: db432799b4 user: andreask tags: ak-experimental
2010-09-21
23:05
Demo app. UI tweaks, more logging at startup, and more robust access to the local critcl package check-in: e90f5d4192 user: andreask tags: ak-experimental
22:47
Moved a few global commands into lambdas to reduce cruft in the global namespace check-in: 125e8d832a user: andreask tags: ak-experimental
22:45
Demo app. UI tweaks, more logging at startup, and more robust access to the local critcl package Closed-Leaf check-in: fc8a972261 user: andreask tags: mistake
22:41
The blank image also belongs to none-selected area check-in: 16c030b46c user: andreask tags: ak-experimental
19:29
Fixed critcl::tsources not taking glob pattern, and separated the reader/writer files by name to allow use in single directory, as is done when the package is prebuilt check-in: 6ba730b10c user: andreask tags: ak-experimental
19:26
Demo app. update command in log* causes unwanted flashing. check-in: 10042c987d user: andreask tags: ak-experimental
19:25
Fixed signed/unsigned mismatch check-in: b35c7defdb user: andreask tags: ak-experimental
08:02
Demos. Additional laplace/sobel variants. check-in: 112655e7fe user: andreask tags: ak-experimental
07:17
Redirect statistics into the new log window check-in: 1adbd58c74 user: andreask tags: ak-experimental
07:14
Demos. Handle early calling of procedures, with undefined variables. check-in: f77e444b3f user: andreask tags: ak-experimental
07:12
Demo App. Shrink width of the image/demo lists check-in: 30370c89eb user: andreask tags: ak-experimental
07:11
Demos. Blue, tinted display. Fix typo in name. check-in: 986c5a0775 user: andreask tags: ak-experimental
07:10
Demos. Image Readers. Moved to be active if nothing is selected, like psych check-in: 0bd7547250 user: andreask tags: ak-experimental
2010-09-20
23:41
Another equalize demo, HSV space, value only. And logging now to a text window. check-in: efc39eeaaa user: andreask tags: ak-experimental
22:09
Changed where the time list is reset, added units, added pixel number check-in: b82eb3534f user: andreask tags: ak-experimental
19:39
Morph/Grey/Gradient is charcoal effect, added separate demo for that check-in: fd963df956 user: andreask tags: ak-experimental
2010-09-14
22:38
Changed psychdelia demo to be active when nothing is selected.

Fixed problems in demo shutdown exposed by that (writing of demo times, and the defered compile+loading of C-level primitives).

Modified the demo startup to begin with no images selected. check-in: bf3c48bcb1 user: andreask tags: ak-experimental

2010-09-09
03:54
Refreshed the derived documentation files check-in: 2093e3a61a user: andreask tags: ak-experimental
03:52
New primitives for per-pixel (local) thresholding, using another image as the map holding the thresholds. Reorganized the high-level threshold code to be an ensemble, properly separating global from local methods. Updated the existing demos to use the new command names, and added two demos to show the local thresholding. Updated the documentation. check-in: ecee2370f0 user: andreask tags: ak-experimental
01:44
New demo: interactive shell for construction of arbitrary processing pipelines. check-in: a19a12f610 user: andreask tags: ak-experimental
01:07
Force a proper alpha channel on the basic morphology demos. check-in: 5ec7492650 user: andreask tags: ak-experimental
01:06
Extend type conversion to accept image of the destination type as input and pass them through unchanged. check-in: 2decb83e03 user: andreask tags: ak-experimental
2010-09-08
22:21
Documented the montage and morphological commands. check-in: 87548958f8 user: andreask tags: ak-experimental
21:31
Fix for ticket [bbeae152b2eaf659f13bc927b86182a6cfa3531f]: Basic set of (grayscale) morphology commands for a single structuring element: flat 3x3 brick; plus attendant demos. Note: morph_gradient_grey <==> charcoal effect. check-in: fd28850373 user: andreask tags: ak-experimental
21:16
Modified the rank function for rank filter to handle min/0. Modified max however. check-in: f7e5444014 user: andreask tags: ak-experimental
07:01
New demo images, texts for document analytics. check-in: 76b870dee6 user: andreask tags: ak-experimental
2010-09-03
22:49
Demo of pyramid blending now working, except that the example images I have currently do not lend themselves to this type blending, they are too disparate. Added cut blending for comparison. check-in: 0d82b34a5d user: andreask tags: ak-experimental
22:13
Added the primitives for vertical montage. Now only the high-level image expansion and alignment processing is needed to complete the functionality check-in: a4cbec6467 user: andreask tags: ak-experimental
22:12
Removed duplicate configuration comments at the bottom of the files. check-in: c4b891ee7d user: andreask tags: ak-experimental
21:33
Draft of pyramid blending, basic processing works, result does not look correct yet. check-in: 4db044d164 user: andreask tags: ak-experimental
21:32
New functionality, horizontal montage, plus start on vertical montage check-in: 6d16e92fd7 user: andreask tags: ak-experimental
21:31
Fixed bug in description of laplace pyramid, gaussian at the end is decimated compared to predecessor check-in: 4d2f67fb09 user: andreask tags: ak-experimental
20:33
Fixed bug introduced with change [f0341e8f0a06d039310d61a3b8c104efea61a222]. "kernel transpose" had to know about the new offset. check-in: 09ecc7be60 user: andreask tags: ak-experimental
20:04
Fixed the bugs introduced with change [59d925e1472dacb28262cef7a9278d5c690b3d1b]. check-in: c795ad4ebb user: andreask tags: ak-experimental
2010-09-02
22:39
More convolutions (wiki ulis), plus better naming and referencing of origins check-in: 8773ef5b1d user: andreask tags: ak-experimental
00:04
More changes to the convolution. Extended the primitives with an 'offset' argument. Updated the kernel make method with an optional offset, and an auto-offset heuristic which does the right thing for zero-sum kernels like the various edge detectors, i.e. +128 for zero-sum, and 0 else. Removed the 'o'ffset demos. Added more edge/sobel demos operating in greyscale. check-in: f0341e8f0a user: andreask tags: ak-experimental
2010-09-01
23:27
Changed the convolution primitives to access the kernel pixels as signed numbers with proper clamping of results, and modified the 'kernel make' method to properly convert the input to unsigned two's complement for that.

Extended the demos with laplace operators, embossing, and basic edge detectors (simple and sobel). check-in: 00eb759f1f user: andreask tags: ak-experimental

2010-08-27
05:56
Added demos for r/g/b channels but tinted instead of grey8 check-in: f91fe94765 user: andreask tags: ak-experimental
05:56
Added x8 upsampling and interpolation demos check-in: 023be58abd user: andreask tags: ak-experimental
05:55
Renamed a few demos to sort them nearer to related operations check-in: 09c69b9f06 user: andreask tags: ak-experimental
05:54
Sort images in the list, to have fixed canonical order check-in: ae7def8f47 user: andreask tags: ak-experimental
2010-08-26
20:07
Added 'table eval' method converting a function (command prefix) into a table for remapping. Additionally added method to compose tables, i.e. compute the result of chaining their application into a single table.

Fixed ticket [7dea5be1bf9f099bfa46614ba5992c51245a8805]. check-in: 882ebaeb7a user: andreask tags: ak-experimental

2010-08-24
18:53
Documented decimate, downsample, interpolate, and upsample command. Fixed ticket [7c34b19455dffca13c13d674be3223eaa99ce857]. check-in: 03c737922c user: andreask tags: ak-experimental
18:29
Comment typo fix check-in: aed28c5f78 user: andreask tags: ak-experimental
2010-08-21
03:36
New figure, internal structure of the image Tcl_ObjType check-in: 69f1852bde user: andreask tags: ak-experimental
03:36
Updated derived docs check-in: c1fa1bf22d user: andreask tags: ak-experimental
03:35
Updated derived docs check-in: 399579e613 user: andreask tags: ak-experimental
2010-08-19
23:11
Documented pixel accessor. Added diagram showing the organisation of the commands check-in: b820640128 user: andreask tags: ak-experimental
05:46
Added documentation for the binary operators (add, subtract, difference, multiply, screen, min, max), and regenerated the embedded docs check-in: 37d50a4bf3 user: andreask tags: ak-experimental
2010-08-18
23:40
Added image rotation (90, 180 degree steps). Documented. Added to flip chain demo. check-in: 04e81e77be user: andreask tags: ak-experimental
07:20
Added demo, pseudo-bandpass images via median filter check-in: a360af1032 user: andreask tags: ak-experimental
07:07
Added new demo allowing the chaing of flips check-in: e31fc40d96 user: andreask tags: ak-experimental
07:07
Fixed bug left behind by [a526962f88]. Updated the decimation and interpolation commands to invoke the convolution step by the new name of the command. check-in: 8a38295342 user: andreask tags: ak-experimental
07:03
Updated the notes a bit check-in: f496692d48 user: andreask tags: ak-experimental
2010-08-17
22:25
Added read support for Richard Suchenwirth's strimj'es. See http://wiki.tcl.tk/_/search?S=strimj Plus demo (image) and docs. check-in: 6c31876011 user: andreask tags: ak-experimental
04:49
Reorganized the high-level API to the write primitives to support writing to strings, channels, and files with common code. Further reorganized the PPM and PGM support to provide primitives as expected by the new highlevel API. Updated demos. Documentation written. check-in: d7dcfe922d user: andreask tags: ak-experimental
04:49
Hook error display tweaked, added separator space check-in: 281b08bb20 user: andreask tags: ak-experimental
2010-08-16
23:24
Reworked the setup of more ensembles to encapsulate variables better, using lambdas. check-in: 477601cf35 user: andreask tags: ak-experimental
23:17
Fixed the pgm/ppm plain writers. Fixed command naming of pgm writers. check-in: 9e16b14c6b user: andreask tags: ak-experimental
23:11
Added ppm/pgm writer commands, raw and plain sub-formats. raw is ok, plain is buggy check-in: 41383cf51f user: andreask tags: ak-experimental
23:10
Added a command to return the raw pixel data of an image value check-in: 054bed584b user: andreask tags: ak-experimental
22:22
Completed the ppm reader without extending the C level, i.e. 'read tcl'. Fixed bad image name in the ppm reader demo. check-in: 932c475ef0 user: andreask tags: ak-experimental
2010-08-12
23:36
Added crop and cut functionality to shrink images, extract a region. Updated docs, demos check-in: 6c9e2010d7 user: andreask tags: ak-experimental
2010-08-11
23:50
Added PPM format specification, image reader, sample image, and demo. Incomplete, a primitive for makingi mages from rgb tuples is not yet done (an rgb analogue of "read tcl", or extension of same command) check-in: a1556f7804 user: andreask tags: ak-experimental
23:41
Added PGM format specification, image reader, sample image, and demo. check-in: 2fc451413a user: andreask tags: ak-experimental
23:27
Functionality. Reworked setup of read/write ensembles to encapsulate variables better, using lambdas. Further extended to allow read/write commands written in Tcl. check-in: 611bb0cb77 user: andreask tags: ak-experimental
2010-08-05
05:55
Functionality. New table & map generator: quantization based on global histogram. Plus demo. check-in: a9060dc616 user: andreask tags: ak-experimental
03:43
Demos. Equalization. Modified to use the package internal helper commands instead of having their own separate copies of CUMULATE and FIT. check-in: a9da82ff12 user: andreask tags: ak-experimental
2010-08-04
22:28
New functionality: Image statistics. They are done per channel. Added draft demo, and documentation.

Pulled the helper code for cumulation and scaling from the equalization demos. Found and fixed a bug in the cumulation. check-in: 3730fe3d94 user: andreask tags: ak-experimental

21:48
Documentation. Added notes on solarization == sabattier effect. thresholding (as is) == binarization. Tweaked the math formulas for the thresholding. check-in: 4852683e54 user: andreask tags: ak-experimental
19:50
Documentation. Helper script added to generate the images and embedded docs. The helper requires mimetex, ImageMagick's convert, and tklib's dia application with attendant packages, especially img::png and its dependencies check-in: ae82fbce21 user: andreask tags: ak-experimental
19:05
Documentation. Reorganized generation results to allow for embedding. check-in: dccd782cf9 user: andreask tags: ak-experimental
04:41
Demos. Split the overcrowded histogram demo into three equalization demos, hsv, rgb, and luma. check-in: 7b00e44132 user: andreask tags: ak-experimental
2010-08-03
04:56
Documentation. Tweaks to the description of convolution filters. check-in: 09c720ef10 user: andreask tags: ak-experimental
04:53
Documentation. Completed the descriptions of the filter methods. check-in: 255a90f7ce user: andreask tags: ak-experimental
2010-08-02
22:24
API reorganization. Bundled all methods related to filtering, i.e. 'convolve' and 'rankfilter' under the new 'crimp filter' namespace and ensemble. 'rankfilter' further renamed to 'filter rank'.

Updated demos and documentation. Plus more demos for rank filtering (min, and max). check-in: a526962f88 user: andreask tags: ak-experimental

22:01
Fixed conflict between the use of user .top for the slide gui and demos using the same check-in: 480bf65823 user: andreask tags: ak-experimental
04:49
API reorganization. Bundled all methods related to manipulating the alpha of an image, i.e. blend, over, and setalpha under the new 'crimp alpha' namespace and ensemble. 'setalpha' further renamed to 'alpha set'. Added a convenience method 'alpha opaque' using 'alpha set'.

Updated demos and documentation. check-in: 59d925e147 user: andreask tags: ak-experimental

2010-07-30
05:13
Documentation. Updated the derived formats, i.e. HTML and nroff check-in: 93966057fc user: andreask tags: ak-experimental
05:07
Demos. Updates the demos performing their slideshows to use the new support in the framework instead. This simplified them substantially. check-in: 764b516cd7 user: andreask tags: ak-experimental
05:06
Demos. Extended the framework with the ability to show slide shows. Enough of the newer demos rolled their own code to make this worthwhile. Extended beyond the original code to allow changes of speed, pause/continue, forward/backward, and single stepping. check-in: cda167b34e user: andreask tags: ak-experimental
2010-07-29
23:04
Documentation. Added description of rank-filters check-in: 8fe4e71132 user: andreask tags: ak-experimental
22:38
Demos. For the demos cycling through images, moved a lot of image-independent code out of the per-image setup into the proper section for global setup. check-in: 1d17722ebf user: andreask tags: ak-experimental
22:36
Fixed the issue with the median filter. The initialization step I was incorrect. Put the whole column into the column histograms, not just the first 2*radius_1 rows. At that point SHIFT_DOWN was essentially a null-op, returning the same value for all rows, giving rise to the vertical stripes I saw.

Added the RGB and HSV variants. check-in: e2992a1a13 user: andreask tags: ak-experimental

06:24
New primitive, rank order filter. Implementation, public API, and demos. BUGGY. check-in: 81f6727661 user: andreask tags: ak-experimental
2010-07-28
21:23
Undo the breakage of border.png check-in: ffa1c25bec user: andreask tags: ak-experimental
20:54
Documentation. Added descriptions and images for the pyramid generation methods. check-in: e96f08bc18 user: andreask tags: ak-experimental
06:05
Added primitives for pixel remapping conditional on the data in a second channel check-in: bc9ae77c7a user: andreask tags: ak-experimental
01:31
Fixed bugs in the pyramid code and demos. Two additional demos which scale pyramid results back to original size for better comparison. check-in: 8cf2fc72a4 user: andreask tags: ak-experimental
2010-07-27
23:27
Draft code to generate image pyramids check-in: afef524f56 user: andreask tags: ak-experimental
21:57
Documentation. Added for the new map table constructors and convenience commands. check-in: ab1be653c8 user: andreask tags: ak-experimental
21:38
Added map tables for thesholding and (sampled) gaussian. Thresholding also got convenience commands for direct access. Added appropriate demos. check-in: dfcebdfb37 user: andreask tags: ak-experimental
05:23
Added resampling primitives. Up- and downsampling, interpolation and decimation. The latter two are done at the Tcl level for the moment. That is inefficient and future work should replace them with C level primitives which integrate the up/down sampling with the proper filtering. Added associated demos. check-in: 97dd176de7 user: andreask tags: ak-experimental
2010-07-22
07:21
Documentation. Started to document the "kernel ..." and "convolve" methods check-in: 738a10a619 user: andreask tags: ak-experimental
06:49
Convolution.

Simplified the primitive, ripped out the special case code handling of image borders. This means that to avoid accessing pixels outside of the input image we scan only the inner pixels of the input, and consequently get a result shrunken by the kernel dimensions minus one.

To compensate for that we use the expand primitives implemented in the last revisions to make the input appropriately larger before applying the convolution.

The convolve method now accepts an option -border enabling the caller to specify what type of border to use, with the default zero const border. This shares the border type processing with 'expand', therefore the code for that was moved into its own internal helper command.

The method was further extended to accept more than one kernel, and apply them in sequence.

The methods to make and transpose kernels have been reorganized into an ensemble. check-in: 3cc7886413 user: andreask tags: ak-experimental

03:22
Documentation. Reformatted for line length. check-in: ed806a5194 user: andreask tags: ak-experimental
03:13
Completed the documentation for border types.

Added keywords to the documentation of various methods.

Moved the figures into their directory, and the math figures again in a subdirectory of that. check-in: f84c9769cf user: andreask tags: ak-experimental

2010-07-21
23:33
Added the documentation for "expand", with one image missing check-in: 8146392769 user: andreask tags: ak-experimental
23:02
Completed the 'expand' implementation by adding the border type 'extend', where the edge pixels are subtracted from the mirrored pixels to get the pixels in the border. check-in: 989ea0118b user: andreask tags: ak-experimental
21:51
Renamed the border handling to 'expand'. Reworked the higher-level implementation to make the border type a sub-method instead of an option.

Reworked the handling of border-type specific arguments for const: auto-extend missing data per number of color channels in the image), ignore superfluous values.

Renamed 'extend' to 'replicate', so that we can use 'extend' for the last border type to be implemented. check-in: cdbfcd8700 user: andreask tags: ak-experimental

04:11
Reworked demo gui, list of demos is now shown in a listbox. The toolbar became too wide with the increasing number of demos. It shows only the active demos, per the selected images. check-in: f8769263e5 user: andreask tags: ak-experimental
2010-07-20
22:43
Border expansion. Added

* Replication of the border pixels.

Not yet done are:

* Subtract reflection from the border pixel. check-in: 80aa718ff4 user: andreask tags: ak-experimental

22:21
Added a new set of primitives and method. Expand an image, i.e. add a border. This can be done in various ways. Currently implemented are expansion by

* Adding a constant pixel. * Cyclically (toroidal) wrap around the borders. * Reflection/mirroring at the borders.

Not yet done are:

* Replication of the border pixels. * Subtract reflection from the border pixel. check-in: d76e4838c1 user: andreask tags: ak-experimental

03:29
Demos. Factored kernel translation out of the convolve method, added kernel transposition. Updated demo for API change, caching the translated kernel. Added demo, box blur, demonstrating speed advantage for separable kernels. check-in: 7ea8a21279 user: andreask tags: ak-experimental
03:28
Demos. Helper app to perform manual benchmarks check-in: 531f97eecc user: andreask tags: ak-experimental
03:27
Demos. Extended the frameework to record and print operation timings check-in: 9e12923cd5 user: andreask tags: ak-experimental
2010-07-16
14:49
image Tcl_ObjType. Fixed name. check-in: 25302ca920 user: andreask tags: ak-experimental
06:20
Added generic convolution operator. Runs in the spatial domain. Naive implementation. check-in: 3ceaa2b3d3 user: andreask tags: ak-experimental
03:49
Moved the support code for the binary operators to their own directory.

Added template code for all the missing directions between rgb, rgba, and grey8.

Added the missing operator implementations. For the commutative operators we are leaving out half of the missing, and handle them through commutation in the Tcl level. check-in: 2c2c0c2211 user: andreask tags: ak-experimental

2010-07-15
22:18
Implemented the new operators of revision [8942f8463c] for rgb and grey8 as well. check-in: 5fe20f9e55 user: andreask tags: ak-experimental
22:05
7 seven new binary operators (max, min, multiply, screen, add, subtract, difference) Added to C level (rgba/rgba only so far), Tcl level, and demos. No documentation yet. check-in: 8942f8463c user: andreask tags: ak-experimental
21:51
Demos. Fix conditions on the "over" demos, forgot to check dimensions, like "blend" check-in: 3cc0a28954 user: andreask tags: ak-experimental
21:31
Tcl layer. Fix typos in error messages of methods "blend" and "over". check-in: f26f774a7f user: andreask tags: ak-experimental
19:03
Demos.

The demos are now handled like they are in a matrix, with the choice of images and actions as the two axes.

Choose an action and it applies to the current image. Choose an image and the current action is applied.

So, choose an image and walk the toolbar to see the various actions. Or, choose an action, maybe parameterize it, and then walk the images. check-in: 8ee78df8f1 user: andreask tags: ak-experimental

06:41
Demos. Updated to take advantage of their code running in a namespace. check-in: 93e9361948 user: andreask tags: ak-experimental
05:39
Demos. Moved execution of demo code into a namespace. Updated demos negatively affected by this back to working order. check-in: 8f6d5aad23 user: andreask tags: ak-experimental
05:32
Demos. Extended framework with API allowing a demo to check its viability. Modified the blending demos to be activate iff two images are selected. Default check is for single images being selected. check-in: 6738ce0b18 user: andreask tags: ak-experimental
05:10
Demos. Fixed the problem with the geometry not updating when changing demos. Reset shown image when changing demos. check-in: a4ffb7cc93 user: andreask tags: ak-experimental
2010-07-14
19:39
Tweaked the demo app to auto-select between pre-compiled and dyn. compiled crimp. Added output showing the choices made in case of trouble check-in: 59db487cb5 user: andreask tags: ak-experimental
19:37
Hack around issue with sourcing plot and pre-compiling crimp check-in: de99cc5262 user: andreask tags: ak-experimental
19:35
Fixed scope bug check-in: 0d423c6d5d user: andreask tags: ak-experimental
19:07
Continued work on the documentation. Documented the I/O methods. Brought the derived files up-to-date. Documentation for the current state of the package as a whole is done. check-in: 4220893b9d user: andreask tags: ak-experimental
02:22
Continued work on the documentation. Documented the conversion methods, plus tweaks in the math images. check-in: 71279aa139 user: andreask tags: ak-experimental