AKTIVE

Timeline
Login

Timeline

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

415 check-ins using file etc/transformer/location.tcl version 01094c221c

2025-05-16
20:47
fixup: typo in column doc change. chore: regenerated docs for accumulated changes. Leaf check-in: e5ca73f527 user: aku tags: trunk
20:41
tweak: reformat color image, reduced code width. tweak: simplified column profile doc setup. check-in: aa3c402e37 user: aku tags: trunk
20:39
feat: support single-input for the associative binary/n-ary ops. returns input unchanged. note: implemented with the new simplifier commands. note: updated tests, new tests. check-in: 71841bc561 user: aku tags: trunk
20:37
feat: extended simplifier with arity check, and return first input of many. fix: typo in input counter, wrong list. check-in: 2c9eef4d61 user: aku tags: trunk
18:45
fixup: typo check-in: 8711c47606 user: aku tags: trunk
18:43
feat: tool providing code statistics for the repository/project. check-in: 9d04da31a2 user: aku tags: trunk
2025-04-10
16:34
feat: added `transform points` to handle batch transform of point series chore: regenerated docs check-in: b91608abf5 user: aku tags: trunk
2025-04-09
16:41
chore: regenerated docs check-in: bcef8e9a2b user: aku tags: trunk
16:38
feat: database of named colors (CSS level 4), lookup command, image command check-in: f7c6ef1631 user: aku tags: trunk
16:20
update: code statistics update: tooling info check-in: ab02b79ec9 user: aku tags: trunk
2025-04-06
13:21
fix: typo (sources) fix: remove profile reference from `cached` check-in: b4f6eec15c user: aku tags: trunk
13:14
fix: typo chore: regenerated docs check-in: 901f7749df user: aku tags: trunk
13:11
tweak: indent/formatting of generated trace code check-in: 45aa31db99 user: aku tags: trunk
13:09
redo: switched column `top profile` from `cached` to custom implementation perf: ~200x (*) note: structurally identical to connected components (per-row base results + row fusion into larger blocks) feat: added complementary bottom profile (*) Comparing the generation of top and bottom profiles for 184 example images, the aggregated time went from 709513 milliseconds (before) down to 3215 milliseconds (after), for a factor `220.69 before/after`. check-in: 423b19c96b user: aku tags: trunk
2025-04-05
12:05
tweak: batch internals to identify a possibly hung batch processor check-in: a6bc813205 user: aku tags: trunk
2025-04-04
20:04
chore: more doc work check-in: 03ec2c4ef9 user: aku tags: trunk
20:03
chore: regenerated docs check-in: 6cd3629c5d user: aku tags: trunk
19:53
redo: switched `left profile` from `cached` to a simple row reducer. perf: ~10x (*) feat: added complementary right profile. (*) Comparing the generation of left and right profiles for 184 example images, the aggregated time went from 70922 milliseconds (before) down to 2168 milliseconds (after), for a factor `32.71 before/after`. check-in: 8f4bf0cb33 user: aku tags: trunk
16:34
feat: add `lines` sdf, representing a set of independent line segments check-in: a24a1f6a6c user: aku tags: trunk
15:58
tweak: emit marker comments highlighting generated glue code in tcl-type operators check-in: 0660097441 user: aku tags: trunk
15:57
tweak: drop superfluous type casting check-in: 2e23197773 user: aku tags: trunk
2025-03-31
22:53
fix: missing validations for polyline and circles. have to check for required number of points/circles check-in: f11ee38110 user: aku tags: trunk
22:52
core: regenerate documentation, see fix in previous commit check-in: 09a99642da user: aku tags: trunk
16:45
fix: small documentation typo check-in: d91a88e5af user: aku tags: trunk
2025-03-28
22:26
chore: regenerated embedded docs, new files check-in: 5e7d314124 user: aku tags: trunk
22:25
chore: regenerated embedded docs check-in: 2660b263c6 user: aku tags: trunk
22:22
feat: switched sdf element configuration to floating point (locations) where sensible note: IOW, sdf elements now can have fractional positions and dimensions relative to the pixel grid chore: updated examples and tests check-in: dfc3fb00c0 user: aku tags: trunk
22:19
feat: new types for fractional (floating point) 2d locations and rectangles, plus basic functionality check-in: f854da796b user: aku tags: trunk
22:18
fix: mishandling of degenerate stretch input (horiz line: src max == src min) feat: export stretch parameters and configuration through result meta data check-in: 5433851f98 user: aku tags: trunk
2025-03-22
10:55
perf: re-implement sdf circles at C level. perf: re-implement sdf polyline at C level. chore: updated test results (meta data, pixels are unchanged) chore: regenerated documentation check-in: defa56328f user: aku tags: trunk
2025-03-05
20:07
feat: image readers for reading from a string/bytearray feat: removed need for a temp file from the image -> tk photo conversion note: readers became ensembles chore: fix all uses of the `file` readers to match the changed syntax chore: regenerated docs check-in: 877403cead user: aku tags: trunk
20:05
feat: doc writer; extended to provide individual anchors for each example check-in: 150f71cb85 user: aku tags: trunk
2025-01-08
14:42
chore: regenerated docs. check-in: dd4d9ef80f user: aku tags: trunk
14:41
fix: aggregate argument checking and messaging. check-in: b488c542b7 user: aku tags: trunk
2024-12-19
14:56
fix: missing ref to cross reference file holding source markers. drop: doc fossil processing feat: new install helper, for debug, no doc processing at all. check-in: 8ff8edcc62 user: aku tags: trunk
14:54
doc: more internals doc about the lanczos interpolator. tweek: formatting, for clarity. check-in: ff143ab9e9 user: aku tags: trunk
2024-12-15
15:16
chore: documented new DSL `ref` command. chore: went through op specs, moved internals refs into docs. added additional refs. tweak: dropped asset labels, not really relevant. might re-add as reference to a doc page. chore: regenerated embedded docs. check-in: 2bb22628f0 user: aku tags: trunk
15:11
feat: extended DSL to support declaration of references, and writing into the generated docs. check-in: d30fcbfd35 user: aku tags: trunk
12:55
fixup: drop removed example files. check-in: 24f9e14819 user: aku tags: trunk
12:54
fix: (wobble) copy pasta error in comment. feat: Added polar and cartesian transformations (origin maps, effects) note: here the range for angles, i.e. [-pi,pi], mattered, needed [0,2pi]. chore: regenerated embedded docs. check-in: 7a89c39394 user: aku tags: trunk
12:49
chore: made note of angle's range. this matters. check-in: 7d1662d4bb user: aku tags: trunk
12:48
fix: copy pasta error in comment. check-in: 54e905524a user: aku tags: trunk
2024-12-14
16:14
fix: missing line separator for table. chore: regenerated embedded docs. check-in: e218f2ac33 user: aku tags: trunk
16:09
chore: regenerated embedded docs. check-in: d09c2833c0 user: aku tags: trunk
16:08
chore: activated xref source scanning. feat: marked a number of referencable locations in the sources. rework: dsl documentation, filled in a number of missing things. use the new src references. refactor: separated wobble config into own file, shared between the low- and highlevel ops. check-in: 49ef3ed559 user: aku tags: trunk
16:03
refactor: moved example support procs out of writer into separate file (esupport.tcl). feat: added ability to set and use source code references (!xref-mark ...). tweak: extended available operator references for use from different locations while keeping to relative links. check-in: 6f9b87ec21 user: aku tags: trunk
2024-12-12
23:12
fix: missing examples. something bogus in the tools/re check-in: 81c1eb8c95 user: aku tags: trunk
23:11
chore: regenerated embedded documentation. tweak: package builder to update the doc/ref add/miss information. check-in: cc363bac05 user: aku tags: trunk
23:09
feat: new effect, wobble, a wave effect around a center. tweak: swirl documentation check-in: 5b70942355 user: aku tags: trunk
23:08
tweak: swirl map documentation check-in: b944b56521 user: aku tags: trunk
21:49
fix: missing added examples. check-in: 4e37cb17c3 user: aku tags: trunk
21:48
chore: regenerated embedded docs. check-in: 109cb6080f user: aku tags: trunk
21:46
chore: added input image names and descriptions where suitable. chore: updated tests to match. tweak: lots of operator descriptions (input name refs), added a few more examples. check-in: c8e7a416a5 user: aku tags: trunk
21:43
feat: added color conversion sRGB to gray. check-in: 02a039d51d user: aku tags: trunk
21:43
feat: extended dsl front- and backend to support image input names and descriptions. check-in: 09a0ec9b4c user: aku tags: trunk
2024-12-10
21:44
feat: new effects min/max-rgb, idea from <https://docs.gimp.org/2.8/en/plug-in-max-rgb.html>, with examples. chore: regenerated docs. check-in: 17030bd9db user: aku tags: trunk
21:06
fix: potential un/signed mismatches via explicit casts. check-in: 0d1937782e user: aku tags: trunk
21:05
chore: regenerated docs (parameter order for `indexed`). check-in: d98e68c495 user: aku tags: trunk
21:02
tweak: parameter order for `indexed`. fix: missed test updates to match the added x/y parameters for the various `image from ...` generators. check-in: 8ec0416335 user: aku tags: trunk
2024-11-22
20:35
chore: completed examples for sdf and drawing. chore: completed examples for global and local thresholds, and masks. chore: regenerated docs. check-in: 6782f13186 user: aku tags: trunk
20:33
feat: back links from operator docs to page top. feat: additional asset added to quick access by examples check-in: b84a3317ba user: aku tags: trunk
17:03
chore: near-complete set of examples for sdf and draw ops. chore: regenerated docs. check-in: 3d31eeb98e user: aku tags: trunk
15:55
chore: add examples to various operators not having any yet. chore: regenerated docs. check-in: 0b45f968e6 user: aku tags: trunk
15:54
tweak: handling of example -text results. support multi-line. feat: added operator locations to the listing of ops without examples. check-in: 97bef8fd22 user: aku tags: trunk
14:28
feat: added operator locations to the operator listing, and aligned the columns. feat: link operator docs back to the definition in the code. tweak: the generated html for the examples. chore: regenerated docs. check-in: 0b5afd79d7 user: aku tags: trunk
14:25
tweak: make collected operator locations more useful (proper relative paths). tweak: added more colors, although not used. tweak: print defined operators to log. check-in: 1af446909f user: aku tags: trunk
13:09
chore: regenerated docs. check-in: 5700455558 user: aku tags: trunk
13:06
tweak: transform examples. additional overlays to hopefully boost operator understanding. feat: examples for viewport. check-in: 5a67c26f2e user: aku tags: trunk
13:04
feat: added convenience operator for arbitrary rotation. feat: added convenience operator for arbitrary resizing. check-in: d6e98a83d1 user: aku tags: trunk
13:01
fix: broken location pass-through when drawing. tweak: documentation. check-in: cead2f55b8 user: aku tags: trunk
13:00
feat: extended `image from *`, added support for arbitrary locations. check-in: 25ca102eff user: aku tags: trunk
12:59
feat: extended example render for images, show geometry underneath. tweak: example support code, comments. check-in: f7e8f406dd user: aku tags: trunk
12:59
fix: better reporting for duplicate operators. record and print def location. check-in: fe446d46e0 user: aku tags: trunk
2024-11-21
12:11
tweak: examples some more, more quad/transform down build from debug support. chore: regenerated docs. check-in: cc9197eeb4 user: aku tags: trunk
11:54
tweak: quad examples, rebuild down from debug support chore: regenerated docs. check-in: 3b40d81685 user: aku tags: trunk
11:49
fix: Eq a6 of the paper [2] was wrong in the paper. note: corrected eq from [3]. tweak: references, diagram. check-in: b9a09a33d7 user: aku tags: trunk
11:47
tweak: formatting used by helper to print a transform matrix. check-in: 28c38da429 user: aku tags: trunk
11:46
fixup: things missing from commit [5cfa316912]. tweak: formatting. check-in: b4f7318f6c user: aku tags: trunk
2024-11-20
20:48
chore: regenerated docs. check-in: 82474f828d user: aku tags: trunk
20:48
feat: added `transform point` operator to transform single locations. debugging aid. tweak: renamed `transform box` to `transform domain` for clarity. tweak: renamed `quad unit` to `quad unit2`, and `quad quad` to `quad 2quad`. note: examples use `-full`. tweak: `quad 2quad` implementation for clarity. note: main issue in the quad example was a bad order of origin points creating a very twisted transform. note: previous changes, and example changes here all in aid of debugging this. note: issue left now is the forward mapping improperly mapping point C. All else is good. note: unclear if math/equation/implementation error, or even double precision calcs running into limits. note: other quad examples do not show this kind of mis-mapping. check-in: fa7dbe3dfc user: aku tags: trunk
20:40
feat: modified helper procs adding dot/line/polyline overlays to images to support multiple colors, and added blue. feat: added `-full` mode for `-matrix` display in examples (no restrictions on float precision in display) tweak: place `-label text under the regular stage description. check-in: 5cfa316912 user: aku tags: trunk
20:37
tweak: op::view documentation. check-in: 6e577e934c user: aku tags: trunk
15:30
rework: shear transforms. note: proper parameter semantics. note: defined application order when specifying both x and y shears. chore: regenerate the docs. check-in: 58c1d3f9b9 user: aku tags: trunk
14:52
feat: extended example support with proc to add overlays (dot, line, polyline) to images. feat: added quick access to some of the assets. chore: regenerate the docs. check-in: e8c5cc087b user: aku tags: trunk
14:49
feat: implement highlevel application of forward projective transform. note: internally creates backward transform. note: internally deduces geometry of result from applying the forward transform. check-in: f2c4e5ad5c user: aku tags: trunk
14:48
feat: extended rotation transform to allow spec of rotation center, for convenience. feat: compute bounding box of applying a transform to a geometry. check-in: 9ad527ce10 user: aku tags: trunk
14:46
feat: extended transform helper - mat/vec multiplication in script fixup: removed leftover debug output check-in: 16d3b52fb2 user: aku tags: trunk
14:43
fix: un/signed mismatch causing bogus index values for negative locations. fix: broken mat/vec multiplication for projective transform. check-in: 8a4fd0914a user: aku tags: trunk
14:40
fix: missing handling of arbitrary x/y locations for the noise maps. check-in: cb72229b02 user: aku tags: trunk
14:39
feat: support non-origin x/y location for indexed. fix: un/signed mismatch causing bogus index values for negative locations. check-in: e2f740949b user: aku tags: trunk
09:58
tweak: added xrefs from the highlevel warp effect ops pointing to the relevant low-level ops. chore: regenerated docs. check-in: 9f2225c4c5 user: aku tags: trunk
09:45
feat: added anchors to doc example sections, modified DSL writer. tweak: added some labels to effect examples. chore: regenerated docs. check-in: 77af6abf9b user: aku tags: trunk
09:31
chore: regenerated docs. check-in: 056baaf107 user: aku tags: trunk
09:29
feat: added highlevel operators on top of the warp foundation. note: swirl effect, jitter effect (frosted glass). check-in: 8d10a12738 user: aku tags: trunk
09:25
tweak: added min/max parameters to the warper based on uniform noise. thought: maybe put this into the noise image generator itself. tweak: code organization check-in: f223b846ef user: aku tags: trunk
09:22
tweak: to the swirl formula, simplified. plus parameter name changes to make command read nicer: example: ... decay X from Y, or ... from Y decay X fix: conversion from polar to cartesian. I should know this. check-in: 6d3d6042f9 user: aku tags: trunk
09:20
bugfix: in the blitter spec for the application of origin maps. check-in: cf54261850 user: aku tags: trunk
2024-11-19
15:16
chore: regenerated docs. check-in: ab256e9ce4 user: aku tags: trunk
15:15
feat: added generic warp operators applying origin maps, using various methods of interpolation. beware: untested. check-in: 127addf642 user: aku tags: trunk
15:13
feat: extended runtime with foundation for interpolated pixel access, plus base interpolators. note: nearest neighbour, bilinear, bicubic, lanczos3. beware: untested. check-in: 0074c734b9 user: aku tags: trunk
15:12
tweak: documentation, internal and public check-in: 9b8a3ea385 user: aku tags: trunk
11:37
fixup: missed new files in regen'd docs. check-in: c565a7543f user: aku tags: trunk
11:37
chore: regenerated docs. check-in: 03075a5ec1 user: aku tags: trunk
11:35
feat: additional transform ops. note: inversion, reflections, quadrilaterals, identity. redone: shear, single op, not separate x, y. rework: internals, many low-level code blocks moved into helper procedures. note: mat mul, scale, cofactor, adjoint, invers, determinants 2x2, 3x3, un/boxing. note: higher levels re-assembled from these blocks. rework: transform examples throughout. check-in: d275dfbe31 user: aku tags: trunk
11:30
feat: extended DSL, enable a -label option for use in examples. check-in: 2932dc3e8d user: aku tags: trunk
2024-11-18
15:19
feat: foundations for general warping of geometry. feat: generation of origin maps - swirl, noise, transform matrix. feat: generation of transform matrices - projective, affine, rotate, scale, shear, translate. feat: composition of transform matrices. chore: doc, examples. todo: tests check-in: 032042c7d7 user: aku tags: trunk
15:15
fix: removed documentation text I do not understand anymore. check-in: ad7af46bb1 user: aku tags: trunk
15:14
fix: emitted text for strict ness tweak: added debug output to examples check-in: fc43793a6e user: aku tags: trunk
08:45
feat: additional methods for the plot widget. feat: additional helpers in the trial base code. chore: adapted photo display tool to the trial base changes. check-in: da206f47ea user: aku tags: trunk
08:42
tweak: extended documentation of the morphology ops. added short explanations for the more complex ops. chore: regen embedded docs. check-in: bea60373c3 user: aku tags: trunk
2024-10-04
15:42
fix: bad reading behind netpbm header into the pixel area when the pixel data looks like whitespace characters. note: now immediately stopping at the terminating whitespace. new function added to support this. chore: reworked the string reader functions a bit to make their DFAs more readable (named states). chore: moved the state name string array into global scope for shared use in all 3 string funcs. check-in: faa2c546f2 user: aku tags: trunk
2024-09-28
21:03
fix: mismatch code vs doc of bbox coordinate order, in favor of doc. chore: updated tests to match. check-in: c792287efe user: aku tags: trunk
2024-09-27
19:49
chore: undo the changes for tcl8 / tcl 9 build and testing. note: this is now properly driven from outside of the project (PATH manipulation and proper dev installs). check-in: 746bdb57f9 user: aku tags: trunk
2024-09-25
18:48
chore: regenerated documentation. check-in: d8ea84d3ee user: aku tags: trunk
18:47
feat: added examples to morphology ops. feat: added pretty printing of CC data in examples. fix: better formatting of the support code for examples when emitting to example gen script. check-in: 63c79d3b47 user: aku tags: trunk
18:45
rework: output of `connected components` note: moved bounding box, centroid into sub lists, reducing the number of main dict keys. note: updated tests to match. chore: documented the cc output format now. made note of cc perimeter through morph gradient. check-in: 496c83b086 user: aku tags: trunk
06:55
chore: updated docs for `connected-components get` (new centroids). check-in: 1b3ee31c45 user: aku tags: trunk
06:54
chore: updated docs for `aktive processors`. check-in: c7e9e260d7 user: aku tags: trunk
2024-09-24
21:22
feat: added calculation of centroid connected components. chore: updated tests, cc.norm helper. check-in: dffca4c3c8 user: aku tags: trunk
20:25
fix: avoid pass-through of image values through `expr`. note: Tcl 8 is ok, Tcl 9 loses the internal rep. note: see ticket [0439e1e1a3], and commit [a197811f135d262b]. todo: package docs, users are under the same restriction. check-in: 3ea3b22bd9 user: aku tags: trunk
2024-08-14
18:41
chore: removed old bench suites. feat: new bench suites, starting minimal, plus minimal tooling to invoke and process results. note: results are saved to repo, keep history. check-in: 78eafeeebf user: aku tags: trunk
2024-08-13
21:53
feat: enable full disabling of concurrency (set #processor < 0). feat: switch sink from compile time mode to runtime switching based on concurrency. todo: extend runtime switching with heuristics to also choose access pattern (rows, columns, tiles, all at once). check-in: 502674a973 user: aku tags: trunk
16:36
tweak: cutil 0.5, extended TRACE_THREAD_EXIT macro, moved from here. check-in: 7cbc17fef3 user: aku tags: trunk
16:23
fixup: remove superfluous macro. fix: memory leak, worker state array. tweak: internal documentation. check-in: 6c8a70706b user: aku tags: trunk
16:17
fix: memory leak when first call to worker signals EOF, avoid worker state memory churn. check-in: e97f582a91 user: aku tags: trunk
16:15
fix: test file description check-in: 3043884d13 user: aku tags: trunk
2024-08-12
16:08
fix: missing interval ordering case check-in: 5c35953ca0 user: aku tags: trunk
16:07
fixup: block dump signature, label was not marked as const. check-in: 6e9619c0e6 user: aku tags: trunk
16:05
feat: support for changing processor count, and thus available concurrency. check-in: e6da81195a user: aku tags: trunk
2024-07-30
21:15
chore: doc regen check-in: f3b9cdc2eb user: aku tags: trunk
20:54
tweak: examples note: these are already visible in the public docs, see commit [8cc33becdd]. check-in: ae31eb5633 user: aku tags: trunk
20:53
chore: regenerated public docs check-in: 8cc33becdd user: aku tags: trunk
20:50
tweak: reworked example render around multiple show commands. check-in: b41613882b user: aku tags: trunk
2024-07-29
21:48
rework: complete redo of the example support. note: new example syntax, rendering tweaks. chore: updated all existing examples to new syntax. chore: regenerated public documentation. check-in: ac81286cfa user: aku tags: trunk
18:50
chore: regenerated documentation. check-in: 8d40d25cb2 user: aku tags: trunk
18:49
tweak: switch `embed black` internals to input domain, depth is not needed, nor used. check-in: 2535dfefc2 user: aku tags: trunk
18:49
feat: cross-references between the two CC commands. feat: support a transform callback for CC image to modify the CCs between retrieval and imaging. feat: support bbox/full input size toggle for CC imaging. note: this uses the new externally supplied geometry of `from sparse ranges` (commit [beb44a621b]). check-in: d23741d7f1 user: aku tags: trunk
18:46
feat: support externally supplied geometry for `from sparse ranges`. chore: updated tests. check-in: beb44a621b user: aku tags: trunk
18:45
tweak: example formatting - save matrix data as HTML table, not markdown, and in-line it into a markdown table. note: all examples are now one-row tables, nothing is separate feat: provide a cc.max helper for the CC transform example tweak: log entire install (i.e. examples, ...) during install fix: remove the in-lined example files (.txt, .md) after use. check-in: 785cf12f90 user: aku tags: trunk
2024-07-28
20:27
chore: bringing the operator DSL docs out of the internal docs into the developer docs. note: incomplete. tweak: image pipeline data structures, moved to separate file. check-in: 21a88ce37d user: aku tags: trunk
2024-07-27
20:14
chore: regenerated the visible documentation. note: templating in descriptions (see [6ba5f66d9a]) fixed old, missed templating place holders. note: xref works. check-in: f310416100 user: aku tags: trunk
20:12
chore: went over and rephrased accessor descriptions. first use of `<!xref: ...>`. check-in: 5520e02906 user: aku tags: trunk
20:11
feat: support `<!xref: ...>` instruction in the `md-include` helper. feat: emit xref information (operator -> doc location) for `md-include` to use. feat: pass emitted xref to `md-include` when rebuilding the docs. check-in: 6fa42057ef user: aku tags: trunk
17:46
feat: enable templating in operator descriptions. fix: mishandling of templating when there are no blocks. check-in: 6ba5f66d9a user: aku tags: trunk
15:38
chore: filled in reference doc for the Netpbm file formats. fix: format cross links with operators. check-in: efd1fe61d6 user: aku tags: trunk
15:01
chore: filled in reference doc for the AKTIVE file format. fixup: removed bogus `require package aktive` in pure tcl decoder helper script. check-in: 5a238746b9 user: aku tags: trunk
13:12
chore: filled in the developer documentation of the batch processor. check-in: ba006c413b user: aku tags: trunk
12:07
chore: updated docs from sources, with nav tweaks and fixes. check-in: 6696d46153 user: aku tags: trunk
12:05
fixup: nav link breakages introduced by commit [03778989e8]. check-in: a4ef351fb4 user: aku tags: trunk
11:44
feat: Moved docs into dedicated source directory, split out the nav bars as includable pieces. note: no generated elements. chore: updated `tools/re` to generate docs from the doc sources now, with integration of all the generated parts and resolving inclusions. check-in: 03778989e8 user: aku tags: trunk
2024-07-22
16:44
feat: direct link to logo page on home page beyond the hidden link through the logo itself feat: note the github and fossil repo mirrors. check-in: 2e68e8853a user: aku tags: trunk
16:42
tweak: svg image reference check-in: cd738c3cab user: aku tags: trunk
2024-07-21
15:42
feat: addtional montage example check-in: dfdb6432f1 user: aku tags: trunk
15:30
feat: large set of new examples for transformers. chore: regenerated reference docs. check-in: 2d2c18984c user: aku tags: trunk
15:30
tweak: creation of main example code block, enable nested pre-processing commands. check-in: 130ac38dab user: aku tags: trunk
2024-07-20
19:47
fixup: link the cc and batch dev docs into the proper index. check-in: 5ddda8ca8b user: aku tags: trunk
19:43
feat: dev docs for CC calculation. feat: placeholder for batch processor dev docs. tweak: renamed CC `run` to `range`. chore: added internal docs to the cconn implementation. check-in: 2b7989086e user: aku tags: trunk
19:39
fixup: tests affected by argument rename in point/rectangle ops - forgotten in commit [4b2602d5d99d38fe]. check-in: 0b02c3f51f user: aku tags: trunk
17:13
fix: typo check-in: 916713eb74 user: aku tags: trunk
17:12
chore: regenerated doc reference section check-in: a8caf27fab user: aku tags: trunk
17:10
feat: added computing connected components / labeled regions, plus tests, and examples. note: 2 ops, retrieval as Tcl structures, and as image of labeled regions. note: 2nd uses the `virtual sparse ranges` from converted Tcl structures. check-in: 7215f37137 user: aku tags: trunk
17:08
rework: switch example images to `.gif`. note: `.gif` does not contain timestamps, as `.png` do. note: this prevents the example images from seen as changed with every regeneration of the docs. chore: additional example render cases filled in (4 left). chore: example for meta query. check-in: 1e8a4e7fac user: aku tags: trunk
12:40
fix: typo check-in: bbec7b0569 user: aku tags: trunk
12:35
feat: more examples check-in: 4b2602d5d9 user: aku tags: trunk
12:33
rework: example generation internals. feat: support -text result type. feat: support inline include (<!include: PATH>). check-in: 7db53a128a user: aku tags: trunk
2024-07-19
20:11
fixup: mis-links check-in: d5dd1e61ff user: aku tags: trunk
20:02
fixup: doc files missing from commit [3207ef059c] check-in: 770d981680 user: aku tags: trunk
20:01
rework: static docs note: logo, license, change log added note: placeholders for get sources, build & install howto-s note: added link to ticket tracker note: some files changed locations (strict/materialize explanations) check-in: 3207ef059c user: aku tags: trunk
19:57
chore: regenerated reference documentation note: all the new examples note: tweaks to the page headings (order,logo added, ...) check-in: 5900634bdb user: aku tags: trunk
19:47
chore: added examples to the image generators / virtual images. check-in: bb20eef53f user: aku tags: trunk
19:44
feat: virtual image based on set of row ranges, plus tests. first user of examples. note: each row range covers part of a scan line. note: specified as row, start/end columns, and pixel value. note: looking ahead to connected components check-in: 0b12ac2059 user: aku tags: trunk
19:40
chore: hide the generated example generation script from commits check-in: f4ec279d66 user: aku tags: trunk
19:20
feat: extended DSL frontend to capture example specifications/requests. feat: extended DSL backend to insert the examples into the docs. note: this includes running the examples and capturing the resulting image (as image or data matrix). feat: helper app to resolve `!include` directives in the doc markdown. note: looking ahead to breaking common parts out of the fixed doc pages. chore: extended the custom package build tool to run the example generation, conversion, and inclusion. check-in: 4c162b2f58 user: aku tags: trunk
19:16
tweak: structure processing - colored output check-in: 57fe0584a5 user: aku tags: trunk
2024-07-18
20:32
tweak: extend logo page, refer to image of processing pipeline, introduce inspection / D2. check-in: 67d1f63a35 user: aku tags: trunk
20:04
rework: doc writer, separate section tree from main entry page, for consistency/symmetry rework: doc writer, nicer doc navbar with current section not a link. chore: redone reference docs. feat: added logo to docs, including page explaining thinking behind it, and creation script. check-in: e8e8edb586 user: aku tags: trunk
16:29
doc: notes on the image/region structures doc: explanations regarding strictness and materialization. check-in: 8edfe87709 user: aku tags: trunk
16:26
feat: logo for the package, plus generator script. note: this here is what the palette and grid are for. note: various formats. check-in: 1931f20b76 user: aku tags: trunk
16:22
fix: mishandling of root sections for the section tree. guard: against bad file names when writing emitting dsl results. tweak: properly mark end of dsl processing. check-in: 1c754495cb user: aku tags: trunk
16:20
fix: typo check-in: 0e88a3ab25 user: aku tags: trunk
16:18
rework: simplified `embed copy` internals. use `sample replicate *` instead of ` montage *-rep`. note: single operator instead of a big tree of binary montages. check-in: 3cc8b5d55f user: aku tags: trunk
16:14
feat: more virtual images, plus tests note: fixed grey/color palettes, stripes, grids, checkerboards. check-in: 7a2a84c7e5 user: aku tags: trunk
16:01
feat: new operation to fully clear image meta data. check-in: bb5ceac4aa user: aku tags: trunk
06:41
feat: extended batch processor. completer now has ability to inject tasks of their own into the system. note: completer tasks are entered into the worker queue as priority items. See [f258012eb1] for the queue change. note: plus internal docs of the function vectors (maker, worker, completer); expectations and the like. chore: updated all current users of the batch system (sink, image reducers) to match the changed API signatures. check-in: 96de0236ac user: aku tags: trunk
06:36
fix: typos check-in: 59ac23bdb8 user: aku tags: trunk
06:32
feat: extended the queues with ability to pass priority entries in front of regular entries note: priority data is handled as stack, last entered is returned first. note: priority data is unlimited linked list. check-in: f258012eb1 user: aku tags: trunk
2024-07-17
21:17
tweak: trace check-in: ae906a686f user: aku tags: trunk
21:17
fix: sample replication mishandling images not at origin. check-in: 5b10a94dbb user: aku tags: trunk
20:19
tweak: section tree. keep only the tail element of the section names in the tree. more readable to me. tweak: structure extraction, special handling of `*_ptr` type names as refs. check-in: b197d95f28 user: aku tags: trunk
2024-07-04
21:16
feat: fully caching operator. plus tests. note: on first access the new operator materializes its input fully into memory for fast upstream access. note: basic idea for structure of full-image operators looks to be workable. todo: connected components. check-in: 258750b63b user: aku tags: trunk
18:33
fix: typo check-in: f689580514 user: aku tags: trunk
18:32
feat: start on developer docs, D2 figures for the core structures using the generated D2 structure information. check-in: 60fdecf2b5 user: aku tags: trunk
18:30
tweak: descriptions of the attribute query operators. chore: regenerated docs. check-in: 250d57486c user: aku tags: trunk
18:26
feat: C macros for markup of structures amenable to parsing without understanding C syntax. feat: DSL extension to extract and convert marked structures into [D2](d2lang.com) definitions. chore: marking up the core definition and runtime structures for image (pipelines). chore: generated the first D2 for the marked structures. check-in: 017162174c user: aku tags: trunk
2024-07-03
21:19
fix: duplicate superflous assignment. check-in: 7f30e05181 user: aku tags: trunk
2024-06-30
14:58
tewak: doc, strictness index check-in: 69f4012206 user: aku tags: trunk
14:54
feat: support marking of operators as strict in (parts of) their image inputs. chore: mark the strict operators chore: regenerate docs check-in: ad8b385f43 user: aku tags: trunk
2024-06-29
20:49
tweak, and forgotten link fixups check-in: 5accd75c52 user: aku tags: trunk
20:47
fixup: links, and generator usage check-in: 07d75c5776 user: aku tags: trunk
20:45
more doc tweaks. check-in: 511d93f0d5 user: aku tags: trunk
20:34
rework: shuffled the generated reference into child directory, make space for static documents. feat: entry point and placeholders for user documentation. rework: navigation bars. check-in: a807d168e5 user: aku tags: trunk
19:20
tweak: home link check-in: c125572722 user: aku tags: trunk
19:13
tweak: doc generation after first review in the repo site note: proper main nav note: undo doubled section names in various titles check-in: 885d327ee0 user: aku tags: trunk
18:49
feat: DSL backend extended for generation of embedded docs. plus first embedded docs. fix: missing section ref for `op if-then-else`. chore: Add links from the operator READMEs into the generated reference docs. check-in: 43c6d2fc2f user: aku tags: trunk
18:45
fixup: ensure existence of log destination directory. check-in: b8eb81de3b user: aku tags: trunk
12:45
rework: dropped n-ary math ops (and, or, xor, add, mul, max, min) into C level. removed their binary *-core operators. note: reduces pipeline overhead. reduction tree of binary ops becomes single ops in the pipeline. note: hopefully scales better when combining lots of SDFs. todo: simplification rules to inline like ops, i.e `max(a,max(b,c) -> max(a,b,c)`. note: this is what the accumulating blit was added for to support. note: this also exposed the mishandling of input variadics by the DSL backend. check-in: c1d1351580 user: aku tags: trunk
12:37
fix: typo in operator description check-in: d7d99a80f8 user: aku tags: trunk
12:34
feat: convenience function for accumulating blit of binary functions. note: base blit is `d = op (a,b)`. now also have `d = op (d,a)`. check-in: 42a199b741 user: aku tags: trunk
12:31
doc: rect union/intersect allow for destination to be one of the sources. check-in: ae7ca9e54f user: aku tags: trunk
12:30
fix: mishandling of image variadics in glue and types. note: glue did not splat ({*}). note: variadic type did not match vector type, yet was cast to it. note: fix made them identical with a dummy field in the vector type. note: less runtime work, keep to cast, instead of memory churn to transform. beware: track changes to variadic types in critcl. check-in: a438474595 user: aku tags: trunk
12:27
chore: exclude a scratch directory from commits check-in: 8b56cc92e3 user: aku tags: trunk
2024-06-24
21:56
remove: old draw implementations refactor: sdf internals for more sharing with draw ops, and enabling heavier templating. chore: updated all affected tests. note: draw ops now automatically integrate any new sdf added to the system. check-in: 01cf424b19 user: aku tags: trunk
21:19
note: additional sdf reference check-in: 9a4505baa0 user: aku tags: trunk
21:18
chore: remove superfluous helper macro check-in: 1f53fc7582 user: aku tags: trunk
21:17
feat: new `pass` command and auto-generated text block for parameter pass through. tweak: allow variadic parameter with images - this may need a slightly different check check-in: 96d7e0a632 user: aku tags: trunk
21:16
fix: location of the install log. check-in: 1188513135 user: aku tags: trunk
21:16
tweak: formatting generated by `astclx`, lead with \n to match expectations. check-in: 5b3b1e709a user: aku tags: trunk
2024-06-22
16:00
fixup: formatting check-in: e0bc95466e user: aku tags: trunk
15:54
feat: demo pipeline visualization/debugging. check-in: 1e7f1d564f user: aku tags: trunk
15:10
fixup: previous commit, forgotten extended test support. check-in: 54e09c0d3c user: aku tags: trunk
15:08
feat: signed distance fields (SDFs), with base primitives, modifiers, and composers, plus tests. note: this exposes the level underneath the draw operators as images in their own right. todo: redo the draw ops in terms of the SDFs. check-in: 36a9a7f758 user: aku tags: trunk
2024-06-20
22:12
tweak: changed implementation of clamp, now using fmin/fmax combo instead of ternaries. check-in: 7d61926771 user: aku tags: trunk
2024-06-15
19:14
feat: extended the binary ops `and`, `or`, `xor`, `add`, `mul`, `max`, and `min` to n-ary. note: via the tree-reduction aggregator introduced with [66be8d418f]. chore: updated internal users and tests. note: simplified the multi-element draw ops with the aggregation now hidden in the `max`. check-in: b430057a8f user: aku tags: trunk
18:09
tweak: kuwahara internal docs, better visual separation of the quadrant filters. fix: typo in same. check-in: 5519fbe82f user: aku tags: trunk
18:09
fix: alias -> antialias in code, tests, descriptions note: added refs to 2D SDF site by Inigo Quilez todo: expose the 2d SDF fields as images and build the drawing ops on top of that. note: see https://github.com/libvips/libvips/discussions/3998 for the idea. check-in: b05f7c8029 user: aku tags: trunk
11:50
tweak: formatting. feat: draw poly-lines, plus tests. doc: basic idea behind the code (distance functions). check-in: b8e0539e52 user: aku tags: trunk
11:48
tweak: error message, properly highlight parameter name by bracketing in double-apostrophes. check-in: aec4d8cedb user: aku tags: trunk
09:33
feat: drawing a line segment. plus tests. tweak: draw operator, param descriptions. fix: blit action, use proper point/2d. note: issue only seen in trace mode. remove: outdated draft defines for circle work. check-in: 6003e5d4a0 user: aku tags: trunk
09:27
feat: additional blit action, point/2d, derived from point (which is 3d) check-in: 5fc9e02abc user: aku tags: trunk
2024-06-14
19:17
tweak: save install logs to file check-in: 9b624ed06c user: aku tags: trunk
19:16
rework: circle draw internals, nicer names (circle/disc - filled?, bw/grey - alias?) fix: distance equations note: simplified alias calculation update: affected tests feat: start of geo util functions check-in: 8142ff4355 user: aku tags: trunk
19:13
truly now - feat: new helper for simpler b/w specs check-in: b9f383480c user: aku tags: trunk
19:13
tweak: match debug code feat: new helper for simpler b/w specs check-in: 8e3f64081d user: aku tags: trunk
2024-06-13
19:31
refactor: moved the binary tree reduction into a common helper. note: switched montage and draw commands over to this helper. check-in: 66be8d418f user: aku tags: trunk
19:00
followup: on [5ba079509b] feat: draw multiple circles (varying locations, else identical) fixup: draw circle test oopses check-in: 223fea59ea user: aku tags: trunk
18:57
fixup: test oopses in if-then-else check-in: 2faaa8fee0 user: aku tags: trunk
16:42
feat: new operator, if-then-else, for conditional switch between images, plus tests. check-in: 81cdf18a38 user: aku tags: trunk
16:41
rework: of trial foundation internals. note: more helper functions for series, plus conversion to/from images. note: redone the internals of image and plot viewers. note: more ways of aggregating series and other lines into plots and into toplevels. note: renamed the various globals, added `__` prefix to keep them away from trial script variables. note: fix of dots, now matching the renames of the sample operators done quite a lot ago. check-in: d87d6379ae user: aku tags: trunk
16:38
rework: replaced lowlevel xy plotchart functionality with `xyplot` package. note: provides scrolling, mouse-based zooming. feat: added methods for horizontals, verticals. note: added auto-coloring. check-in: fe9c43e2f5 user: aku tags: trunk
16:17
tweak: reformat of virtual/pattern readme, proper markdown indentation. check-in: 5bc9d0e3be user: aku tags: trunk
16:16
feat: new virtual image, draws (filled, aliased) circle of varying location, radius and width, plus tests. check-in: 5ba079509b user: aku tags: trunk
16:11
fixup: another profile oops, missing inclusion of the op header. check-in: 5bebe25cd3 user: aku tags: trunk
16:07
tweak/fixup: internal documentation. check-in: b3e526d841 user: aku tags: trunk
16:07
feat: new operators to pick pixel data from specific points, or small region around a point, plus tests. note: accessors, as the operator results are not images. Tcl lists instead. check-in: 9d5b60f5b9 user: aku tags: trunk
16:04
fixup: oops, forgotten C-level profile support. check-in: c8ca3b645f user: aku tags: trunk
16:03
feat: New `profile` operators, plus tests. note: compute distance from top/left image border to first non-black pixel of the column/row. check-in: 3e778a708e user: aku tags: trunk
15:58
tweak: dropped the plural `s` from the `from Xs` operations, X in (row, band, column). tweak: it is confusing and made me mentally switch axes regarding the operation's meaning. tweak: fixed the operator descriptions as well. tweak: updated all places using the changed operators internally. tweak: renamed `embed bg`'s parameter supplying the values. check-in: 45b5be2179 user: aku tags: trunk
2024-06-02
11:32
tweak: -rsize semantics for row/col cached operator, more generic. check-in: a051678f69 user: aku tags: trunk
11:27
tweak: more stuff in the trial base layer check-in: 3a4fdccd34 user: aku tags: trunk
2024-05-30
16:22
chore: updated DSL docs with information about the new `cached` command. check-in: a4edd0cd32 user: aku tags: trunk
16:03
chore: switch row/col histogram/cumulation operators to multi-operator spec. check-in: 628c353b08 user: aku tags: trunk
16:01
fix: Switch @@@ to %%% in cache operator templating. Avoid clashes with multi-operator templating. check-in: 7e1419dabe user: aku tags: trunk
15:42
chore: switched row/column histogram/cumulation operators over to row/column-caching support of the DSL. check-in: c090d349e3 user: aku tags: trunk
15:39
feat: extended DSL with high-level support for row/column-caching operators check-in: 4d05ddaad0 user: aku tags: trunk
15:37
tweak: formatting, internal docs check-in: e1c4fcdcad user: aku tags: trunk
2024-05-10
18:25
fix: forgotten file change in commit [979e847cea] check-in: 7958fcaef3 user: aku tags: trunk
2024-04-30
19:09
fix: misspelling check-in: c5465d5e71 user: aku tags: trunk
19:07
feat: official conversions of image pipelines into representations suitable for debugging and visualization. note: outputs to tcl script, markdown table, and d2 ([declarative diagrams](https://d2lang.com/)). todo: support graphviz dot. this started in commit [d48aeb25315bef7c] check-in: 979e847cea user: aku tags: trunk
16:08
doc: HSL/HSV value ranges check-in: 82a329e14d user: aku tags: trunk
16:07
perf fix: norm is #pixels, can be directly queried at low cost; no need to compute dynamically from the csum's max doc fix: added notes regarding materialization of the LUT for the lut ops check-in: 38bec074d0 user: aku tags: trunk
15:55
tweak: code formatting check-in: 70e54ce43b user: aku tags: trunk
2024-04-28
08:57
fix: (triple facepalm) missing setup of AKTIVE input channel as binary check-in: a38b5c3bbf user: aku tags: trunk
2024-04-26
20:47
fix: forgotten test assets belonging to commit [ad4f1087a8] feat: debug helper app, conversion of AKTIVE files to plain text check-in: 86c2628d69 user: aku tags: trunk
16:56
tweak: trial support - nicer intro header, properly distinguish shell from script tweak: trial support - label images the basics are shown for tweak: trial support - extend dag to show image params feat: trial support - new deconstructor, print instruction sequence recreating the image DAG check-in: d48aeb2531 user: aku tags: trunk
16:47
debug: extended tracing of the new relational arg* ops tweak: reordered retrieval of threshold and pixel data beware: in the original order a shared dag node (region, buffer) had its geometry overwritten, breaking processing beware: with the changed order the overwrite is avoided beware: INDICATION of issues with having the processing network a DAG matching the declaration network DAG beware: CONSIDER undoing the sharing, going from dag back to tree beware: OR detect the issue in the shared node and prevent it check-in: d5d0be2dac user: aku tags: trunk
16:36
debug: extended tracing of inputs and outputs for cumulative sums check-in: 8fe6c261db user: aku tags: trunk
16:33
forgotten in previous commit fix: AKTIVE reader - 4G limitations fix: AKTIVE reader - mishandled image x, y on read (signed int, not unsigned) fix: AKTIVE reader - mishandled image x, y when addressing the pixel block note: added self checks - file size, actual vs expected - pixel positions check-in: ce9c8136dc user: aku tags: trunk
16:29
feat: support read/write signed ints fix: undo 4G limitations in chan writer (string needs Tcl 9) fix: AKTIVE writer - 4G limitations fix: AKTIVE writer - mishandled image x, y on read, write (signed int, not unsigned) fix: AKTIVE writer - mishandled image x, y when addressing the pixel block check-in: f2c96c91a2 user: aku tags: trunk
16:19
tweak: equalization doc comments tweak: embed mirror doc comment tweak: blit tracing, added one more digit for coord printing check-in: d9328e2bd9 user: aku tags: trunk
16:04
fix: pgm text reader - always read full rows into the vector cache, even when pipeline only asks for a partial row fix: ppm text reader - see above fix: ppm text reader - missing factor for triplets when indexing into cached row note: plus tests check-in: ad4f1087a8 user: aku tags: trunk
2024-04-20
17:44
tweak: changed agmin, argmax to arg::min, arg::max (i.e. namespaced) note: updated users (tests, kuwahara) feat: added more `arg` operators (`gt`, `gt`, `le`, `lt`) taking a threshold to compare against, plus tests note: additional C level reducers for these check-in: 4f5d8324e5 user: aku tags: trunk
16:57
tweak: replaced `set foo [lindex [split $__op :] ...]` constructs poking dsl internals with a proper dsl command (`op`). check-in: 75b7d5075f user: aku tags: trunk
2024-04-17
19:43
feat: basic image comparisons, metrics MSE and RMSE, plus tests check-in: de61dd510f user: aku tags: trunk
19:27
fixup: description of gaussian kernel generator tweak: documented the C state accessors for the generated reduction operators tweak: the internal notes for the statistics operators tweak: especially noted the introduction of vector caches for various histogram ops check-in: 062ba42202 user: aku tags: trunk
2024-04-11
18:41
tweak: shuffled various transformers into a new filter directory tweak: shuffled band un/fold to structure transformers feat: completed set of READMEs for all the sub directories tweak: reworked the math READMEs, removed unneeded details check-in: 0ad07c2d56 user: aku tags: trunk
2024-04-10
21:39
fix: gamma function links in math README check-in: 98fa443d00 user: aku tags: trunk
21:32
tweak: math README check-in: 5303be47a9 user: aku tags: trunk
21:22
feat: more per-directory README.md files explaining the directory contents, i.e. embedded docs check-in: d0f68d1811 user: aku tags: trunk
19:15
feat: added per-directory README.md files explaining the directory contents, i.e. embedded docs note: shown nicely by fossil when browsing the repositories' file hierarchy check-in: 29c97a9507 user: aku tags: trunk
2024-02-10
12:29
feat: more lut operators, construction & composition fix: missing direct tests tweak: extended tracing in the non-interpolated lut-implementation check-in: 5c4032bfcc user: aku tags: trunk
12:28
fix: argument formatting for `apply1z` blitter check-in: 472b4a3efe user: aku tags: trunk
2024-02-08
21:39
tweak: simplify indexed lut, use `embed band copy` over `montage z` note: where possible the `copy` internally uses `resample replicate` over `montage` note: testing happens as part of the `equalization` operator and tests check-in: 699aed59d1 user: aku tags: trunk
21:37
fix: missing argument in `aktive 2file` operator implementation tweak: simplify `save-to` test helper, use `2file` operators chore: update all test cases to match the changed signature of `save-to` check-in: 1eae044edc user: aku tags: trunk
20:26
cleanup: removed unused `aktive::2string` helper note: this removes our dependency on `tcl::chan::variable` as well check-in: 78684f4ebd user: aku tags: trunk
20:18
feat: added band embedding operators, `black` and `copy`, plus tests note: when embedding a single-band `copy` uses `resample replicate` instead of `montage z` feat: added pixel-wise linear blending between two images under control of image with blend factors, plus tests note: uses band embedding to match the image depths check-in: c4b6c0e2c3 user: aku tags: trunk
17:35
feat: support building from non-standard kettle feat: support testing with non-standard tclsh locations/versions note: both used to check the 8.6 / 9 compatibility work check-in: 06eb0b6ebf user: aku tags: trunk
17:33
change: reimplemented the `2string` operators of AKTIVE and NETPBM in C note: first actual use of the bytearray writer check-in: f93c253f4a user: aku tags: trunk
17:31
chore: tcl 9 compatibility work, runtime note: mostly Tcl_Size work, marking places, headers, data formatting, enable in tests note: bytearray writer redone. changed signatures, define special values, write note: to C-managed byte buffer, conversion to bytearray Tcl_Obj only at end feat: low-level macros providing linear and bilinear interpolation chore: copyright bumps check-in: 49928cdba7 user: aku tags: trunk
2023-12-15
16:59
fix: bad varname in docs, added missing variable. feat: extended docs, operator template, with list of visible variables. tweak: formatting, operator head line. check-in: 4b8592a13b user: aku tags: trunk
2023-12-14
20:58
feat: support for single-parameter unary transforms with a complex parameter (void*). feat: operator to transform image via indexed lookup table. note: lut examples - histogram, (scaled) csum of histogram, ... feat: global histogram equalization (GHE) via LUT mapping (scaled csum of global histogram). plus tests. note: lut mapping is indirectly tested through the GHE. check-in: 31728a1b08 user: aku tags: trunk
20:54
fix: variable aliasing breaking trial support introduced by commit [ce9343b7fe]. check-in: cd02b33d43 user: aku tags: trunk
20:52
tweak: changed image histogram implementation for speed. note: dependent on current fixed access pattern, i.e. (concurrent) row-wise. check-in: a633d5a6c3 user: aku tags: trunk
20:46
fixup: typo check-in: ff98d5da3e user: aku tags: trunk
12:43
fix: band un/folding - mistreatment of images not at (0,0) position. tests updated, reorg. fix: histograms - mistreatment of images not at (0,0) position. tests updated, reorg. fix: cumulative sums - mistreatment of images not at (0,0) position. tests updated, reorg. note: confusion wrt the various coordinate systems (logical, physical, cache indexing). feat: extended test/trial support. check-in: 10db3c22c0 user: aku tags: trunk
2023-12-13
09:29
feat: new accessor `query values` for easy direct pixel retrieval, plus tests. chore: updated/simplified all places using astcl+dict.get for pixel access. note: mostly tests and support. also global otsu threshold. feat: extended trial support with multi photo display command check-in: ce9343b7fe user: aku tags: trunk
2023-12-08
21:17
feat: wolf-jolion thresholding (sauvola variant) beware: not tested check-in: 0d0b1d9bf8 user: aku tags: trunk
21:16
feat: wiener filter. beware: not tested. check-in: 70bd48f61c user: aku tags: trunk
20:03
fixup: followup to [a1291b6a4f]. update internal comments to match code changes. check-in: d32517de18 user: aku tags: trunk
14:28
chore: tweaked main file wrt debugging - default off for everything feat: support options in tools/re (f.e: redirect install locations) feat: show executable, script for tial operation. feat: activate memory validation where possible, for trialing. fix: typo in perf output check-in: 06c8e1d858 user: aku tags: trunk
14:25
chore: extended/modified tracing in netpbm, context, tracked memory, and vector cache. check-in: 37952b3fb7 user: aku tags: trunk
14:22
fix: context handling by region. region recording itself in context has to remove itself too. note: old code left first region of DAG in context, leaking the hash entry. check-in: 887dc7774d user: aku tags: trunk
14:21
fix: mishandling of eof when reading text uint. fail only if we have not seen an actual number. note: old code left the last value of text P*M data undefined. check-in: 7d7330c592 user: aku tags: trunk
14:19
fix: size of vectors for netbpm vector cache. include depth. note: old code smashed memory when reading PPM data. check-in: 362caf1989 user: aku tags: trunk
11:35
fix: left-over reference to removed argument. check-in: efc5bb45e5 user: aku tags: trunk
09:47
fix: properly separate laplace from sharpening kernels. note: sharpening is laplace + original image check-in: a1291b6a4f user: aku tags: trunk
2023-11-10
20:28
feat: new operators computing an otsu threshold across the axes, plus tests. feat: added otsu to the set of global and local thresholding/mask operators, plus tests. fix: description of global phansalkar threshold. check-in: 2f08441b1d user: aku tags: trunk
13:03
feat: added mean threshold operator, local/adaptive, plus tests feat: added set of global thresholding operators, plus tests. check-in: 9c4ac2ca18 user: aku tags: trunk
11:29
feat: row histogram operator reworked to use caches. chore: proper shared cache histogram fill function and context. check-in: f8144f67c5 user: aku tags: trunk
11:28
tweak: debug texts, argument name check-in: 21ac8aca6d user: aku tags: trunk
10:01
chore: moved the remaining shared csum support out of the op spec into op/opsum.*. feat: implemented the band csum operator, plus tests. note: image csum defered, needs more thought check-in: 8bb564a4d4 user: aku tags: trunk
2023-11-09
15:47
chore: extracted csum core into function. chore: reworked the extant csum operators to share filler function and context structure. check-in: 12e724ae25 user: aku tags: trunk
15:04
feat: new operators for cumulative sums (row, column). both cached. plus tests. note: cumulative sum of image is `Sum Area Table` todo: extract the core cumulation loop into shareable function. todo: implement band and image variants check-in: 0e3f2b1b48 user: aku tags: trunk
15:02
fix: missing undefs tweak: internal test docs check-in: 56de2ae045 user: aku tags: trunk
12:28
chore: cleanup templating of the histogram operators, i.e. remove leftovers, inline constant pieces, ... fix: re-add multi-band ability into the new column histogram operator note: this is now back to the capabilities of said operator before caching was added chore: extended tests later: rework row histograms to use caching as well - good when selecting parts, multiple times check-in: 0f46daf49f user: aku tags: trunk
10:29
tweak: redone the veccache. note: detached from global cache. note: using tracked allocations. note: locking only on vector creation, after RO immutable data accessible without. chore: updated netpbm text reader to changed API of veccache. check-in: 3ce9614a05 user: aku tags: trunk
09:38
chore: switched column histogram operator to changed API of iveccache. note: implied by the perf data from the previous commit. fix: removed the leftover cache lock from iveccache. check-in: c42fb4f0db user: aku tags: trunk
2023-11-08
15:53
feat: new functions to track memory allocations tweak: redone and simplified the iveccache. note: detached from global cache. note: using tracked allocations. note: locking only on vector creation, after RO immutable data accessible without. perf: ~66% over baseline, ~44% over previous cache check-in: 19c84bb373 user: aku tags: trunk
14:12
chore: research into the [libvips](https://github.com/libvips/libvips) caching system. note: much less fine grained - tracks operations in a cache, not the individual memory blocks note: memory usage is tracked through (serializing) wrappers around the system malloc/free note: ops cache has a single lock note: caching of tiles is separate, linked to specific operation, using locks & conditions todo: implement memory tracking through wrappers todo: rework the iveccache, disconnect from the global cache code todo: rework the veccache, disconnect from the global cache code todo: rework the global cache into an ops cache note: do this on a branch first check-in: 87e78b7ae6 user: aku tags: trunk
10:42
chore: place timing code around the locks and critical sections chore: tool to process the results fix: a missing critical section check-in: 5aa01543bb user: aku tags: trunk
2023-11-07
16:08
feat: vector cache for independent vectors. feat: re-implemented column histgoram using this cache to keep column histograms. note: updated the perf document. note: we get a boost, although feels like it is not nowhere near the limit of the possible. note: suspecting lock contention on the various cache structures. note: there is complexity in havign to handle cache evictions. note: without that much would be read-only immutable data not needing locks. note: currently paying price despite no actual evictions expected. check-in: 525e406dd3 user: aku tags: trunk
13:18
fix: typos in dsl docs, cleanup of old stuff feat: documented the new `support` command (renamed from `supporting`) fix: support command backend, prevent multiple definitions of the same code check-in: a8f2dc06a6 user: aku tags: trunk
12:34
feat: new dsl command providing supporting C code fragments to an operator check-in: 2d8277e67f user: aku tags: trunk
09:44
fix: comment typos tweak: internal docs check-in: 505a982287 user: aku tags: trunk
09:13
perf: Added performance report on `column histogram` ops. check-in: d014f9b59c user: aku tags: trunk
2023-11-06
16:37
feat: convenience operators `2file` for NETPBM and AKTIVE, encapsulating 2chan for direct writing into a file note: untested invisible: gathering performance data for the `column histogram` operator under the available scan modes, and varying input heights check-in: 985162cf2b user: aku tags: trunk
14:59
feat: support netpbm text format for reading, plus tests note: uses a vector cache for image rows to ensure row-sequential access regardless of queried regions check-in: 97287e6cf2 user: aku tags: trunk
14:58
feat: vector cache on top of the global cache note: vectors, i.e image rows or columns check-in: 1cc806cbd0 user: aku tags: trunk
13:24
feat: global cache of unstructured double arrays note: no users yet check-in: 18a4568f1f user: aku tags: trunk
2023-10-26
19:59
comment tweaks check-in: 6b92b6b62c user: aku tags: trunk
19:59
refactor: trial base plot/photo/toplevel support. result enables multiple elements in a single toplevel. check-in: 9e026b562f user: aku tags: trunk
19:54
feat: new `take (along) x|y|z (axis) operators extract specific rows, bands, columns under the control of an index input. plus tests. note: argmin/max results are suitable indices. feat: new non-linear kuwahara filter operator, plus tests. note: implemented through a combination of convolution, argmin, and take operations. check-in: 663c8c17a4 user: aku tags: trunk
19:40
fix: mishandling of input translation in `montage z`, plus test. Sign error. check-in: 3570d65e7d user: aku tags: trunk
2023-10-25
21:00
feat: argmin/max statistics for rows, columns, bands - I.e. return index of first min/max along the axis. chore: tests for above. ahead: core selection reducer function chosing vector element by index. tweak: `op select` formatting, vertical code alignment. check-in: 074043c372 user: aku tags: trunk
18:36
fix: missing mathfunc for the new `square` support forgotten in previous commit. check-in: 55085be9b5 user: aku tags: trunk
18:35
tweak: moved `op math1 square` to a C implementation, from Tcl. check-in: e5b5d277ec user: aku tags: trunk
18:33
followup: tests for greyworld color correction check-in: eac1bab542 user: aku tags: trunk
2023-10-24
19:15
fix: color handling - added pieces forgotten in previous commit check-in: 7c6231cd35 user: aku tags: trunk
19:13
feat: color handling - new convenience operators to set/query colorspace information feat: color handling - new greyworld color correction, global and local (tiled) note: no tests yet check-in: 7f0e83fddf user: aku tags: trunk
19:10
chore: comment tweak feat: extended image min-max with upper/lower parameters to modify actual results with percentiles. feat: updated `math1 fit min-max` stretcher to take the same upper/lower percentile modifiers. chore: updated tests. check-in: eb3f581c21 user: aku tags: trunk
2023-10-23
16:32
fix: non-handling of comments in the netpbm header. Uses the new `uintstr` variant. check-in: 8238ab1769 user: aku tags: trunk
16:31
feat: extended reader API with uint_str variant detecting #-based comments, and skipping them. chore: documented the uint_str reader DFA fix: mishandling of non-digit character after leading whitespace. exposed by the documentation. check-in: cbaa51be64 user: aku tags: trunk
2023-10-19
19:17
chore: remove stretch from trial, see the `math1::fit` operators ([394a0e84487360b3]). feat: move tk photo handling out of trial into new package `aktive::tk`. chore: updated users (`tools/photo` helper) check-in: 392564bbe9 user: aku tags: trunk
19:07
fix: missing teapot meta data for aktive::plot package check-in: 97db7ccf63 user: aku tags: trunk
2023-10-18
20:52
feat: reworked writer API and implementation to support seeking and writing at arbitrary locations. note: a number of functions were renamed to match the new semantics. chore: updated netpbm format to the new function names. chore: updated aktive format to the new function names. feat: reworked format writer for non-sequential writing of pixel data based on the changed writer. todo: the same for the netpbm binary writers. check-in: 8fed74e50d user: aku tags: trunk
20:48
fix/feat: test helper. using file join enables passing in of absolute path and code behaving properly. check-in: fd690d29be user: aku tags: trunk
20:47
feat: extended dump of block structure. report location as well. chore: comment tweaks, reformatting check-in: 47b9b22e62 user: aku tags: trunk
2023-10-17
21:50
feat: added image histogram, plus tests note: computed as column sum of the row histograms of the input check-in: 79c25bd09d user: aku tags: trunk
21:30
feat: added row, column, band, and tile histograms, plus tests. note: with the exception of the tests this was waiting in the checkout since may. check-in: 1ab4c685b4 user: aku tags: trunk
18:57
fix: missing documentation for the `xy` convenience resample operators check-in: be0288d6fe user: aku tags: trunk
18:46
tweak: updated README for current state of the sources. check-in: 6fba70fe67 user: aku tags: trunk
18:45
fix: off-by-one error seen in code review (upper bin index limit one too high). check-in: 233d3a3a16 user: aku tags: trunk
2023-05-25
20:35
feat: low-level histogram support (row, column, band, tile) feat: strided mem copy for histogram support check-in: a3e35c0e73 user: aku tags: trunk
19:45
fix: tracing code broken by commit [5bd4eaa786] implementing the base meta data management. note: the tracing code was not updated as part of the restructuring. note: issue was not seen due to tracing completely inactive by default, i.e. not compiled at all. check-in: 8a827af992 user: aku tags: trunk
16:31
rewrite: split fit operators into generic stretcher, and operators computing the input limits for them. chore: plus test check-in: 3d30e392c9 user: aku tags: trunk
2023-05-24
15:44
refactor: trial helper, extract conversion of image to photo from photo widget command. feat: added simple contrast stretcher to trial helpers check-in: 062a71565e user: aku tags: trunk
15:41
chore: updated info on colorspaces (+gray, Lab value ranges) check-in: 27d3586336 user: aku tags: trunk
2023-05-10
21:37
feat: helper application to display P*M images into Tk widgets. check-in: 551f9e6a26 user: aku tags: trunk
21:36
feat: added pixel decimation and interpolation, plus tests. feat: added convenience operators for `xy` sampling ops combining the corresponding x and y resampling operations. tweak: reworked the naming of all resampling operations. `op::downsample::x` -> `op::sample::sub::x` int factor sub sampling `op::decimate::x` -> `op::sample::decimate::x` low pass filter (gaussian), then int factor sub-sample `op::upsample::x` -> `op::sample::fill::x` int factor zero-stuff (any stuffing actually, zero just default) `op::upsample::xrep` -> `op::sample::replicate::x` int factor replicate nearest-left/up-neighbour `op::interpolate::x` -> `op::sample::interpolate::x` int factor zero-stuff, then low pass filter (gaussian) todo: lanczos resampling to come. check-in: d00be33f22 user: aku tags: trunk
20:17
tweak: error reporting for lanczos and discreate gauss kernels. chore: tests handling the error cases added. check-in: e2f04187e7 user: aku tags: trunk
2023-05-02
21:23
feat: alternate way of looking at embeddings. align the input to a border in a larger area, plus tests. check-in: 838af26fc6 user: aku tags: trunk
21:01
fix: terminology in the upsampler code, use `stuff(ing)` over `stretch(ing)`. tweak: formatting changes, error messages. check-in: a3e5d44596 user: aku tags: trunk
20:48
fix: terminology in the downsampler code and tests. downsampling is not decimation. that term is reserved for applying down sampling after applying a low-pass filter on the input. tweak: some formatting changes. check-in: 9f2b3dae7f user: aku tags: trunk
19:34
feat: extended netpbm and aktive file readers to supply the origin path in the image meta data. check-in: dd1b532c26 user: aku tags: trunk
18:49
feat: extended color conversions to supply result color space in the meta data. feat: extended color conversions to verify input colorspace, if specified, plus tests. fix: missing integration of meta data commands into installed package. check-in: 5d9196c382 user: aku tags: trunk
18:45
fix: missing meta data handling in file format AKTIVE reader/writer, now that meta data is actually available. chore: updated tests, check-in: 44ffb1a604 user: aku tags: trunk
16:27
feat: extended low-level meta data functions - key existence check, value exact equality. check-in: 007b564a93 user: aku tags: trunk
16:24
fix: duplicated interp argument in error code setup. check-in: c85ab5690a user: aku tags: trunk
2023-04-28
18:54
feat: extended netpbm reader to supply basic meta data for its images (maxval information, and colorspace). note: PGM's `gray` colorspace is not the `Grey` coming out of the various color conversions. check-in: 8f25c2920f user: aku tags: trunk
18:51
feat: expose the base meta data management to the script level, wrapping Tcl's `dict` command for use with images. plus tests. check-in: c40657cd54 user: aku tags: trunk
18:45
feat: implemented the base meta data management for images, runtime and dsl. chore: test support, and base test for meta data query. note: on implementation. shuffled the fields describing the image content (*) into its own refcounted structure. changing the meta data of an image generates a new main structure, i.e. proper image, which however references the old content from the input, making it shared. this also means that meta data changes do not appear as their own image type, and all the existing simplifications keep working without change. on the other side, meta data changes are not visible in the DAG. this does __not prevent__ future simplifications based on values found in the meta data of an image. (*) opspec, i.e. type, plus the data visible to the callbacks, i.e. geometry, parameters, inputs, and the type-specific state. note: future. caching of pixel data has to attach to the new content structure. check-in: 5bd4eaa786 user: aku tags: trunk
2023-04-25
19:29
feat: lanczos kernel, plus tests and math support. check-in: ad4129c69f user: aku tags: trunk
19:25
tweak: extended error message for not-image data. check-in: 92286c9169 user: aku tags: trunk
2023-04-24
22:05
feat: more effects, plus tests and assets. note: emboss, sharpen, blur. note: mostly convolution. emboss also uses min/max fitting to lift results into the proper range. check-in: 10fe42b441 user: aku tags: trunk
22:02
fix: conversion float > grey8 in test/trial helpers to match C code. feat: fits, linear transforms guided by image statistics (min/max, mean/stddev), plus tests. check-in: 394a0e8448 user: aku tags: trunk
2023-04-19
21:04
feat: dsl, support simplifications for tcl operators, front- and backend. chore: updated rank order filters, replaced simplification translations hacked into the body with proper dsl specs. check-in: 7d16b2e832 user: aku tags: trunk
20:27
feat: photo titles in trial helpers tweak: plot titles in trial helpers check-in: b586d93f6e user: aku tags: trunk
18:54
fixup: broken netpbm short formats (reworked the byte/short differentiation). fix: missing binary setup of channel in netpbm pixel fetch init. check-in: 881df7f196 user: aku tags: trunk
18:21
chore: extended tracing in netpbm core, and properly distinguish byte/short check-in: 1dfb679324 user: aku tags: trunk
16:39
chore: extended tracing for path operations and channel setup fix: channel setup return type check-in: 49c7df8d6d user: aku tags: trunk
2023-04-17
21:09
fix: missing command section check-in: 4fd8c6b021 user: aku tags: trunk
21:09
feat: extended small gaussian kernels (binomials actually). feat: arbitrary size discrete gaussian kernel. chore: updated and extended tests. check-in: d0dbf48650 user: aku tags: trunk
21:07
feat: plot widget. feat: extended trial helper for plot and photo display. check-in: bc60b7c2f6 user: aku tags: trunk
2023-04-12
20:49
feat: basic spatial convolution operator, plus support, plus tests. check-in: 81256de55f user: aku tags: trunk
20:44
fix: test suite description, copy/paste error check-in: 4d7146f27a user: aku tags: trunk
20:23
feat: extended `image from matrix` with optional scaling `factor`. chore: updated affected tests. check-in: 0072822976 user: aku tags: trunk
20:19
chore: blit specs of remaining virtual images, set proper destination, simplified setup, plus extended tests. check-in: c60d11d4d2 user: aku tags: trunk
2023-04-06
21:34
feat: basic set of convolution kernels, plus tests, and support. note: no convolution operators available yet. check-in: 207d7a9c80 user: aku tags: trunk
17:46
feat: first artistic effects (sketch, charcoal), plus assets, tests, test support. chore: extended internal docs on Grey, range of values. check-in: f0a1879ac4 user: aku tags: trunk
17:44
fix: blit specs of noise generators, set proper destination. feat: extended noise images with more parameters (seed for all, some specific). chore: tests for noise images, fixed seed -> deterministic results. chore: more use of `makei` helpers on older tests. check-in: 55d0d354b5 user: aku tags: trunk
2023-04-05
21:09
fix: blit specs, set proper destination check-in: dd7c27a6e4 user: aku tags: trunk
2023-04-04
18:37
feat: (binary/grey) morphology operators, plus tests. check-in: 4d99ab3b72 user: aku tags: trunk
18:36
fix: broken qsort in tile reduction core. note: do a regular count up to limit now, not count down of limit. note: issue introduced by commit [e6deeba2f07360f1]. check-in: 9416dd9942 user: aku tags: trunk
18:33
fix: statistics/rof blit code, now blit into proper dst area. note: from commits [e6deeba2f0], [1fe7935db0fb33b6], [f5c88afa4ca8d801]. chore: updated and extended tests. check-in: 1f7b6aa45c user: aku tags: trunk
17:38
fix: bad blit, was not into proper dst area chore: extended tests. check-in: 9175c9dba2 user: aku tags: trunk
16:22
chore: insert more tracing into fetch region functions check-in: d100c90b54 user: aku tags: trunk
16:20
chore: switch older tests to makei helper. check-in: b0552d7e68 user: aku tags: trunk
2023-03-30
18:18
feat: more virtual images, structuring elements for morphology, plus tests. check-in: 18b6d5659f user: aku tags: trunk
16:10
fix: trace formatting of the x,y,z coordinate data going into the point function. check-in: ea457ee0f2 user: aku tags: trunk
16:09
tweak: name of the blitter, to match the context. check-in: 43a59419f8 user: aku tags: trunk
2023-03-29
21:56
feat: extended stats simplification, handle any 1-(band|row|column) input, not just itself. chore: hidden variable and condition enabling tests to disable simplifier wholesale. chore: test updates, handle new rules, redone handling of old rules. fix: variable scope of imported files. check-in: 0f91a22ad1 user: aku tags: trunk
18:32
feat: grey(scale) color space, and conversions into it, plus tests. note: conversion is one-way, into the space. due to the loss of color information conversion out is not possible. check-in: 202dc1762c user: aku tags: trunk
16:26
rename: `wrap` to `scrolling` as better fit feat: additional `center-origin xy` operator, to center both main axes. chore: updated file names, tests check-in: ddc48c2243 user: aku tags: trunk
16:13
fix: missed special casing in tests for `math1 square` missed in commit [0ece731ad9]. check-in: 65a1b495f2 user: aku tags: trunk
16:05
fix: missed squaring for tile buffer size in commit [e6deeba2f07360f1] causing memory smash and crash. check-in: f00052c7ee user: aku tags: trunk
16:03
feat: unary math `square`, plus tests feat: unary logical `not`, plus support,, and tests. feat: binary logical `and`, `nand`, `or`, `nor`, `xor`, plus support, and tests. check-in: 0ece731ad9 user: aku tags: trunk
2023-03-28
20:06
feat: band|column|row|tile rank order filter (rof), plus median convenience wrapper, plus tests. note: not yet - image rof - this requires proper row histogram support to be sensible (compressed data). chore: reducer internals extended to take client data, ignored by all preceding functionality, used only by new rof code. tweak: to some of the existing code, for clarity. check-in: e6deeba2f0 user: aku tags: trunk
2023-03-27
18:56
tweak: code comments, fix typos and phrasing. check-in: d30b2e9ad8 user: aku tags: trunk
18:54
feat: extended region management with custom `fetch` trace tag to inspect region requests across images, regions, threads. feat: extended regions with context. feat: use region context to detect shared image DAG nodes and generate a reused region DAG node. note: sink, reduce manage a context per worker/thread. `as tcl` also manages a context. note: region structure becomes isomorph to image DAG, instead of tree. note: with shared regions requests for the same area of an image, with no intermediate access of other areas become visible to the system. feat: extended regions with location in image. feat: use region location, plus dimensions, to detect adjacent same-area requests, and short-circuit. IOW just return what we already have, instead of recomputing the same data. note: testing with phansalkar thresholding boosts performance by roughly 1.7x (short-circuit of `tile mean`). note: the actual effect is DAG dependent, of course. bernsen thresholding is boosted only roughly 1.2x. fix?: blit copy0 band, use dstarea x/y instead of dst x/y (0,0). check-in: f53dad3d08 user: aku tags: trunk
18:39
feat: context management note: just a hash table inside, with a bit of wrapping. check-in: a968f05523 user: aku tags: trunk
15:58
feat: added point eqality, rect dimensional equality (same WxH, possibly different location). check-in: 9ac7400310 user: aku tags: trunk
15:56
feat: perf helper upgrade to millisecond precision, values/ms display. tweak: file saver, readability. check-in: 72b8902262 user: aku tags: trunk
15:47
feat: added ASCII diagrams for the operation DAGs of the thresholding operators check-in: 3c238974a3 user: aku tags: trunk
15:20
chore: extended set of ignored files (backups, new tmp dir). chore: renamed file providing the error helper to match contents. check-in: 7acff4cc59 user: aku tags: trunk
2023-03-26
19:32
fix: forgotten update of trial helper base to operator API changes brought in with commit [2cbec910b5]. check-in: 6f2db2ae0b user: aku tags: trunk
19:22
rework: dsl reader/writer changes, operator signatures and use chore: updated testsuite feat: converted (some) parameters of select, crop, embed, upsample, threshold, and mask operators to optional. - dsl reader : `(tcl-)operater` unified, only operator. - dsl reader : `arguments` removed, all done through regular parameters and inputs. - dsl reader : new `external!`, describe operators not implemented through dsl yet placed into the hierarchy. - dsl writer : most operators now have a Tcl wrapper handling parameters (required, optional). - dsl writer : operator signature change : parameters, even required, as args key/value series after inputs (if any). - dsl writer : exception: non-image result without simplifications, no images or parameters -> no wrapper, and no args key/value series for parameters, regular in-order command arguments instead. (see point and rectangle operators) check-in: 2cbec910b5 user: aku tags: trunk