CRIMP
Timeline
Not logged in

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

655 check-ins using file demos/warp_rc_bilinear.tcl version a990a1b835

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
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