CRIMP
Timeline
Not logged in

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

441 check-ins using file operator/threshold-rgb-rgb.crimp version fe16766c20

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Still need the inverse conversions.

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

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

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

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

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

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

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

Implemented the primitives for 'warp field'.

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

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

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

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

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

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

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

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

06:03
Mark as tcl file for emacs check-in: 7ef068a4f2 user: andreask tags: ak-experimental
06:01
Fixes to the type conversions taking a gradient, and added gradient method for rgba check-in: 20d39bcc8a user: andreask tags: ak-experimental
05:32
Fixed typos in a few proc definitions check-in: 86260bc3c5 user: andreask tags: ak-experimental
05:31
More scoping errors to fix, and missing API changes. check-in: ad8ab61222 user: andreask tags: ak-experimental
2010-11-09
22:29
Added incomplete resize method based on the direction specific resampling methods, plus demo. check-in: 0ac4353750 user: andreask tags: ak-experimental
22:23
And fix the namespace resolution issues I introduced :( check-in: 339b83886a user: andreask tags: ak-experimental
22:08
Updated the relevant demos to the changed resampling API check-in: 33941f63e3 user: andreask tags: ak-experimental
21:37
Extended the resampling primitives and API to have variants working only in x or y direction. check-in: d4e0e2eaa2 user: andreask tags: ak-experimental
2010-11-01
23:51
Implemented k-means threshold selection in the demos for global threshold, possibly with bad sets for the observations (just unique pixels values, not taking the histogram into account for weighting) check-in: 0dbd09f87a user: andreask tags: ak-experimental
20:41
Added image division primitives and API on top. check-in: f8de4a07a1 user: andreask tags: ak-experimental
20:07
Modified the threshold primitives for local thresholding to expose the type of their maps through their name. Extended the set of primitives to allow many more combinations of image- and map-types. Modifed to the threshold::local method to now check the maps for type consistency and usability with the image-type. check-in: addbb29380 user: andreask tags: ak-experimental