Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
| Comment: | chore: completed examples for sdf and drawing. chore: completed examples for global and local thresholds, and masks. chore: regenerated docs. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
6782f1318690c49e0c35f76366148339 |
| User & Date: | aku 2024-11-22 20:35:04.252 |
|
2024-12-10
| ||
| 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 | |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ## Subsections |
| ︙ | ︙ | |||
34 35 36 37 38 39 40 | - [aktive query params](#query_params) - [aktive query setup](#query_setup) - [aktive query type](#query_type) ## Operators --- | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | - [aktive query params](#query_params) - [aktive query setup](#query_setup) - [aktive query type](#query_type) ## Operators --- ### [↑](#top) <a name='format_as_d2'></a> aktive format as d2 Syntax: __aktive format as d2__ src [[→ definition](../../../../file?ci=trunk&ln=6&name=etc/sink/asother.tcl)] Converts the internal DAG representation of the image into a D2 graph format and returns the resulting string. Despite the naming the operator is __not strict__. It does not access the input's pixels at all, only the meta information of the pipeline. |
| ︙ | ︙ | |||
61 62 63 64 65 66 67 |
<td valign='top'><img src='example-00036.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> # -\*- d2 -\*-<br> direction: left<br> 1: "aktive read from netpbm\\n(path tests/assets/butterfly.ppm)"<br> 1.shape: document<br> 1.style.fill: lightgreen<br> 2: "aktive op view\\n(port {-1 -1 382 252})"<br> 2.shape: oval<br> 1 -> 2<br> 3: "aktive op tile max\\n(radius 1)"<br> 3.shape: oval<br> 2 -> 3<br> 4: "aktive op view\\n(port {-1 -1 382 252})"<br> 4.shape: oval<br> 1 -> 4<br> 5: "aktive op tile min\\n(radius 1)"<br> 5.shape: oval<br> 4 -> 5<br> 6: "aktive op math sub"<br> 6.shape: oval<br> 3 -> 6<br> 5 -> 6<br> 7: "aktive op math1 invert"<br> 7.shape: oval<br> 6 -> 7<br> 8: "aktive op math1 gamma expand"<br> 8.shape: oval<br> 7 -> 8<br> 9: "aktive op color scRGB to Grey"<br> 9.shape: oval<br> 8 -> 9<br> 10: "aktive op math1 scale\\n(factor 0.01)"<br> 10.shape: oval<br> 10.style.fill: orange<br> 9 -> 10</td></tr>
</table>
---
| | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
<td valign='top'><img src='example-00036.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> # -\*- d2 -\*-<br> direction: left<br> 1: "aktive read from netpbm\\n(path tests/assets/butterfly.ppm)"<br> 1.shape: document<br> 1.style.fill: lightgreen<br> 2: "aktive op view\\n(port {-1 -1 382 252})"<br> 2.shape: oval<br> 1 -> 2<br> 3: "aktive op tile max\\n(radius 1)"<br> 3.shape: oval<br> 2 -> 3<br> 4: "aktive op view\\n(port {-1 -1 382 252})"<br> 4.shape: oval<br> 1 -> 4<br> 5: "aktive op tile min\\n(radius 1)"<br> 5.shape: oval<br> 4 -> 5<br> 6: "aktive op math sub"<br> 6.shape: oval<br> 3 -> 6<br> 5 -> 6<br> 7: "aktive op math1 invert"<br> 7.shape: oval<br> 6 -> 7<br> 8: "aktive op math1 gamma expand"<br> 8.shape: oval<br> 7 -> 8<br> 9: "aktive op color scRGB to Grey"<br> 9.shape: oval<br> 8 -> 9<br> 10: "aktive op math1 scale\\n(factor 0.01)"<br> 10.shape: oval<br> 10.style.fill: orange<br> 9 -> 10</td></tr>
</table>
---
### [↑](#top) <a name='format_as_markdown'></a> aktive format as markdown
Syntax: __aktive format as markdown__ src [[→ definition](../../../../file?ci=trunk&ln=6&name=etc/sink/asother.tcl)]
Converts the internal DAG representation of the image into a Markdown table and returns the resulting string.
Despite the naming the operator is __not strict__. It does not access the input's pixels at all, only the meta information of the pipeline.
|
| ︙ | ︙ | |||
88 89 90 91 92 93 94 |
<td valign='top'><img src='example-00039.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> ||Id|Command|Config|Inputs|Notes|<br> |:---|:---|:---|:---|:---|:---|<br> |__FILE__|1|aktive read from netpbm|path tests/assets/butterfly.ppm||FO(2): 2, 4|<br> ||2|aktive op view|port {-1 -1 382 252}|1||<br> ||3|aktive op tile max|radius 1|2||<br> ||4|aktive op view|port {-1 -1 382 252}|1||<br> ||5|aktive op tile min|radius 1|4||<br> ||6|aktive op math sub||3, 5||<br> ||7|aktive op math1 invert||6||<br> ||8|aktive op math1 gamma expand||7||<br> ||9|aktive op color scRGB to Grey||8||<br> |__OUT__|10|aktive op math1 scale|factor 0.01|9||</td></tr>
</table>
---
| | | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
<td valign='top'><img src='example-00039.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> ||Id|Command|Config|Inputs|Notes|<br> |:---|:---|:---|:---|:---|:---|<br> |__FILE__|1|aktive read from netpbm|path tests/assets/butterfly.ppm||FO(2): 2, 4|<br> ||2|aktive op view|port {-1 -1 382 252}|1||<br> ||3|aktive op tile max|radius 1|2||<br> ||4|aktive op view|port {-1 -1 382 252}|1||<br> ||5|aktive op tile min|radius 1|4||<br> ||6|aktive op math sub||3, 5||<br> ||7|aktive op math1 invert||6||<br> ||8|aktive op math1 gamma expand||7||<br> ||9|aktive op color scRGB to Grey||8||<br> |__OUT__|10|aktive op math1 scale|factor 0.01|9||</td></tr>
</table>
---
### [↑](#top) <a name='format_as_tclscript'></a> aktive format as tclscript
Syntax: __aktive format as tclscript__ src [[→ definition](../../../../file?ci=trunk&ln=6&name=etc/sink/asother.tcl)]
Converts the internal DAG representation of the image into a Tcl script and returns the resulting string.
Despite the naming the operator is __not strict__. It does not access the input's pixels at all, only the meta information of the pipeline.
|
| ︙ | ︙ | |||
115 116 117 118 119 120 121 |
<td valign='top'><img src='example-00042.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> set file1 [aktive read from netpbm path tests/assets/butterfly.ppm] ;# FO(2): tmp2, tmp4<br> set tmp2 [aktive op view $file1 port {-1 -1 382 252}]<br> set tmp3 [aktive op tile max $tmp2 radius 1]<br> set tmp4 [aktive op view $file1 port {-1 -1 382 252}]<br> set tmp5 [aktive op tile min $tmp4 radius 1]<br> set tmp6 [aktive op math sub $tmp3 $tmp5]<br> set tmp7 [aktive op math1 invert $tmp6]<br> set tmp8 [aktive op math1 gamma expand $tmp7]<br> set tmp9 [aktive op color scRGB to Grey $tmp8]<br> set result [aktive op math1 scale $tmp9 factor 0.01]</td></tr>
</table>
---
| | | | | | | | | | | | | | | 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
<td valign='top'><img src='example-00042.gif' alt='@2 (charcoal)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td>
<td valign='top'> set file1 [aktive read from netpbm path tests/assets/butterfly.ppm] ;# FO(2): tmp2, tmp4<br> set tmp2 [aktive op view $file1 port {-1 -1 382 252}]<br> set tmp3 [aktive op tile max $tmp2 radius 1]<br> set tmp4 [aktive op view $file1 port {-1 -1 382 252}]<br> set tmp5 [aktive op tile min $tmp4 radius 1]<br> set tmp6 [aktive op math sub $tmp3 $tmp5]<br> set tmp7 [aktive op math1 invert $tmp6]<br> set tmp8 [aktive op math1 gamma expand $tmp7]<br> set tmp9 [aktive op color scRGB to Grey $tmp8]<br> set result [aktive op math1 scale $tmp9 factor 0.01]</td></tr>
</table>
---
### [↑](#top) <a name='op_query_colorspace'></a> aktive op query colorspace
Syntax: __aktive op query colorspace__ src [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/accessor/colorspace.tcl)]
Returns the name of the color space the input is in.
If no colorspace is set then `sRGB` is assumed for 3-band images, and `grey` for single-band images.
For anything else an error is thrown instead of making assumptions.
#### <a name='op_query_colorspace__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op query colorspace @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00453.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td>
<td valign='top'> sRGB</td></tr>
</table>
---
### [↑](#top) <a name='query_id'></a> aktive query id
Syntax: __aktive query id__ src [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/accessor/attributes.tcl)]
Returns the input's implementation-specific image identity.
---
### [↑](#top) <a name='query_inputs'></a> aktive query inputs
Syntax: __aktive query inputs__ src [[→ definition](../../../../file?ci=trunk&ln=169&name=etc/accessor/attributes.tcl)]
Returns a list of the input's inputs.
For an image without inputs the result is the empty list.
---
### [↑](#top) <a name='query_params'></a> aktive query params
Syntax: __aktive query params__ src [[→ definition](../../../../file?ci=trunk&ln=194&name=etc/accessor/attributes.tcl)]
Returns a dictionary containing the input's parameters.
For an image without parameters the result is the empty dictionary.
#### <a name='query_params__examples'></a> Examples
<table>
<tr><th>@1
<br>(zone width 32 height 32)</th>
<th>aktive query params @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00639.gif' alt='@1 (zone width 32 height 32)' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> width 32 height 32</td></tr>
</table>
<table>
<tr><th>@1
<br>(gradient width 32 height 32 depth 1 first 0 last 1)</th>
<th>aktive query params @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00641.gif' alt='@1 (gradient width 32 height 32 depth 1 first 0 last 1)' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> width 32 height 32 depth 1 first 0.0 last 1.0</td></tr>
</table>
---
### [↑](#top) <a name='query_setup'></a> aktive query setup
Syntax: __aktive query setup__ src [[→ definition](../../../../file?ci=trunk&ln=219&name=etc/accessor/attributes.tcl)]
Returns a dictionary containing the input's setup.
This includes type, geometry, and parameters, if any. The inputs however are excluded.
#### <a name='query_setup__examples'></a> Examples
<table>
<tr><th>@1
<br>(zone width 32 height 32)</th>
<th>aktive query setup @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00651.gif' alt='@1 (zone width 32 height 32)' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> type image::zone domain {x 0 y 0 width 32 height 32 depth 1} config {width 32 height 32}</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query setup @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00653.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> type image::gradient domain {x 0 y 0 width 32 height 32 depth 1} config {width 32 height 32 depth 1 first 0.0 last 1.0}</td></tr>
</table>
---
### [↑](#top) <a name='query_type'></a> aktive query type
Syntax: __aktive query type__ src [[→ definition](../../../../file?ci=trunk&ln=27&name=etc/accessor/attributes.tcl)]
Returns the input's type.
#### <a name='query_type__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query type @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00659.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> image::zone</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query type @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00661.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> image::gradient</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor geometry | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor geometry ## <anchor='top'> Table Of Contents - [accessor](accessor.md) ↗ ### Operators - [aktive query depth](#query_depth) |
| ︙ | ︙ | |||
30 31 32 33 34 35 36 | - [aktive query xmax](#query_xmax) - [aktive query y](#query_y) - [aktive query ymax](#query_ymax) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 |
- [aktive query xmax](#query_xmax)
- [aktive query y](#query_y)
- [aktive query ymax](#query_ymax)
## Operators
---
### [↑](#top) <a name='query_depth'></a> aktive query depth
Syntax: __aktive query depth__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's depth.
#### <a name='query_depth__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query depth @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00617.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query depth @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00619.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1</td></tr>
</table>
---
### [↑](#top) <a name='query_domain'></a> aktive query domain
Syntax: __aktive query domain__ src [[→ definition](../../../../file?ci=trunk&ln=69&name=etc/accessor/attributes.tcl)]
Returns the input's domain, a 2D rectangle. I.e. location, width, and height.
#### <a name='query_domain__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query domain @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00621.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0 32 32</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query domain @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00623.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0 32 32</td></tr>
</table>
---
### [↑](#top) <a name='query_geometry'></a> aktive query geometry
Syntax: __aktive query geometry__ src [[→ definition](../../../../file?ci=trunk&ln=90&name=etc/accessor/attributes.tcl)]
Returns the input's full geometry, i.e. domain and depth.
#### <a name='query_geometry__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query geometry @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00625.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0 32 32 1</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query geometry @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00627.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0 32 32 1</td></tr>
</table>
---
### [↑](#top) <a name='query_height'></a> aktive query height
Syntax: __aktive query height__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's height.
#### <a name='query_height__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query height @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00629.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query height @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00631.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
---
### [↑](#top) <a name='query_location'></a> aktive query location
Syntax: __aktive query location__ src [[→ definition](../../../../file?ci=trunk&ln=48&name=etc/accessor/attributes.tcl)]
Returns the input's location, a 2D point.
#### <a name='query_location__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query location @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00633.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query location @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00635.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0 0</td></tr>
</table>
---
### [↑](#top) <a name='query_pitch'></a> aktive query pitch
Syntax: __aktive query pitch__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's pitch, the number of values in a row, i.e. width times depth.
#### <a name='query_pitch__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query pitch @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00643.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query pitch @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00645.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
---
### [↑](#top) <a name='query_pixels'></a> aktive query pixels
Syntax: __aktive query pixels__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's number of pixels.
#### <a name='query_pixels__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query pixels @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00647.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1024</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query pixels @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00649.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1024</td></tr>
</table>
---
### [↑](#top) <a name='query_size'></a> aktive query size
Syntax: __aktive query size__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's size, i.e. the number of pixels times depth.
#### <a name='query_size__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query size @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00655.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1024</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query size @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00657.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 1024</td></tr>
</table>
---
### [↑](#top) <a name='query_width'></a> aktive query width
Syntax: __aktive query width__ src [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/accessor/attributes.tcl)]
Returns the input's width.
#### <a name='query_width__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query width @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00667.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query width @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00669.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 32</td></tr>
</table>
---
### [↑](#top) <a name='query_x'></a> aktive query x
Syntax: __aktive query x__ src [[→ definition](../../../../file?ci=trunk&ln=111&name=etc/accessor/attributes.tcl)]
Returns the input's x location.
#### <a name='query_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query x @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00671.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query x @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00673.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0</td></tr>
</table>
---
### [↑](#top) <a name='query_xmax'></a> aktive query xmax
Syntax: __aktive query xmax__ src [[→ definition](../../../../file?ci=trunk&ln=111&name=etc/accessor/attributes.tcl)]
Returns the input's maximum x location.
#### <a name='query_xmax__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query xmax @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00675.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 31</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query xmax @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00677.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 31</td></tr>
</table>
---
### [↑](#top) <a name='query_y'></a> aktive query y
Syntax: __aktive query y__ src [[→ definition](../../../../file?ci=trunk&ln=111&name=etc/accessor/attributes.tcl)]
Returns the input's y location.
#### <a name='query_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query y @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00679.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query y @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00681.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 0</td></tr>
</table>
---
### [↑](#top) <a name='query_ymax'></a> aktive query ymax
Syntax: __aktive query ymax__ src [[→ definition](../../../../file?ci=trunk&ln=111&name=etc/accessor/attributes.tcl)]
Returns the input's maximum y location.
#### <a name='query_ymax__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query ymax @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00683.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 31</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive query ymax @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00685.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'> 31</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor metadata | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- accessor metadata
## <anchor='top'> Table Of Contents
- [accessor](accessor.md) ↗
### Operators
- [aktive meta exists](#meta_exists)
- [aktive meta for](#meta_for)
- [aktive meta get](#meta_get)
- [aktive meta info](#meta_info)
- [aktive meta keys](#meta_keys)
- [aktive meta size](#meta_size)
- [aktive meta values](#meta_values)
- [aktive query meta](#query_meta)
## Operators
---
### [↑](#top) <a name='meta_exists'></a> aktive meta exists
Syntax: __aktive meta exists__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "exists" for image meta data management.
Returns result of "dict exists" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_for'></a> aktive meta for
Syntax: __aktive meta for__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "for" for image meta data management.
Returns result of "dict for" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_get'></a> aktive meta get
Syntax: __aktive meta get__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "get" for image meta data management.
Returns result of "dict get" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_info'></a> aktive meta info
Syntax: __aktive meta info__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "info" for image meta data management.
Returns result of "dict info" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_keys'></a> aktive meta keys
Syntax: __aktive meta keys__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "keys" for image meta data management.
Returns result of "dict keys" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_size'></a> aktive meta size
Syntax: __aktive meta size__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "size" for image meta data management.
Returns result of "dict size" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='meta_values'></a> aktive meta values
Syntax: __aktive meta values__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)]
Wraps the dict method "values" for image meta data management.
Returns result of "dict values" applied to the input's meta data dictionary
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input queried|
|args|str...||Dict command arguments, except for dict value or variable.|
---
### [↑](#top) <a name='query_meta'></a> aktive query meta
Syntax: __aktive query meta__ src [[→ definition](../../../../file?ci=trunk&ln=243&name=etc/accessor/attributes.tcl)]
Returns a dictionary containing the input's meta data.
#### <a name='query_meta__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query meta @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00637.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td>
<td valign='top'> netpbm {maxval 255} path tests/assets/sines.ppm colorspace sRGB</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor morphology | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor morphology ## <anchor='top'> Table Of Contents - [accessor](accessor.md) ↗ ### Operators - [aktive op connected-components get](#op_connected_components_get) ## Operators --- ### [↑](#top) <a name='op_connected_components_get'></a> aktive op connected-components get Syntax: __aktive op connected-components get__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/accessor/cc.tcl)] Returns a dictionary describing all the connected components of the single-band input. The input is expected to be binary. If not, all `values > 0` are treated as the foreground searched for components. |
| ︙ | ︙ | |||
50 51 52 53 54 55 56 |
#### <a name='op_connected_components_get__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components get @1
<br> </th></tr>
| | | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
#### <a name='op_connected_components_get__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components get @1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00328.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>cc.pretty</td><td valign='top'> 1 {<br/> area 8<br/> box {0 0 5 2}<br/> centroid {3.125 1.625}<br/> parts {<br/> {0 5 5} {1 5 5} {2 0 5}<br/> }<br/>}<br/>2 {<br/> area 15<br/> box {1 1 9 6}<br/> centroid {5.266666666666667 3.4}<br/> parts {<br/> {1 8 9} {2 8 9} {3 7 8} {4 1 7} {5 1 1}<br/> {6 1 1}<br/> }<br/>}<br/>3 {<br/> area 8<br/> box {12 1 14 3}<br/> centroid {13.0 2.0}<br/> parts {<br/> {1 12 14} {2 12 12} {2 14 14} {3 12 14}<br/> }<br/>}<br/>4 {<br/> area 18<br/> box {16 1 20 6}<br/> centroid {18.0 3.5}<br/> parts {<br/> {1 16 20} {2 16 16} {2 20 20} {3 16 16}<br/> {3 20 20} {4 16 16} {4 20 20} {5 16 16}<br/> {5 20 20} {6 16 20}<br/> }<br/>}<br/>5 {<br/> area 45<br/> box {22 1 32 7}<br/> centroid {27.0 3.422222222222222}<br/> parts {<br/> {1 24 30} {2 23 31} {3 22 32} {4 22 24}<br/> {4 30 32} {5 22 23} {5 31 32} {6 23 24}<br/> {6 30 31} {7 24 25} {7 29 30}<br/> }<br/>}<br/>6 {<br/> area 15<br/> box {1 4 9 9}<br/> centroid {4.733333333333333 6.6}<br/> parts {<br/> {4 9 9} {5 9 9} {6 3 9} {7 2 3} {8 1 2}<br/> {9 1 2}<br/> }<br/>}<br/>7 {<br/> area 18<br/> box {22 5 32 10}<br/> centroid {27.0 8.61111111111111}<br/> parts {<br/> {5 27 27} {6 27 27} {7 27 27} {8 27 27}<br/> {9 22 32} {10 26 28}<br/> }<br/>}<br/>8 {<br/> area 8<br/> box {5 8 10 10}<br/> centroid {6.875 8.375}<br/> parts {<br/> {8 5 10} {9 5 5} {10 5 5}<br/> }<br/>}<br/>9 {<br/> area 20<br/> box {12 8 19 10}<br/> centroid {15.5 8.8}<br/> parts {<br/> {8 12 19} {9 12 19} {10 12 13} {10 18 19}<br/> }<br/>}</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op connected-components get @2
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00330.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00331.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>cc.pretty</td><td valign='top'> 1 {<br/> area 18<br/> box {1 1 4 7}<br/> centroid {2.5 4.0}<br/> parts {<br/> {1 1 4} {2 1 1} {2 4 4} {3 1 1} {3 4 4}<br/> {4 1 1} {4 4 4} {5 1 1} {5 4 4} {6 1 1}<br/> {6 4 4} {7 1 4}<br/> }<br/>}<br/>2 {<br/> area 14<br/> box {9 1 22 1}<br/> centroid {15.5 1.0}<br/> parts {<br/> {1 9 22}<br/> }<br/>}<br/>3 {<br/> area 28<br/> box {7 3 15 9}<br/> centroid {11.0 6.0}<br/> parts {<br/> {3 7 15} {4 7 7} {4 15 15} {5 7 7} {5 15 15}<br/> {6 7 7} {6 15 15} {7 7 7} {7 15 15} {8 7 7}<br/> {8 15 15} {9 7 15}<br/> }<br/>}<br/>4 {<br/> area 12<br/> box {9 5 13 7}<br/> centroid {11.0 6.0}<br/> parts {<br/> {5 9 13} {6 9 9} {6 13 13} {7 9 13}<br/> }<br/>}<br/>5 {<br/> area 24<br/> box {13 10 23 12}<br/> centroid {18.208333333333332 11.208333333333334}<br/> parts {<br/> {10 18 23} {11 13 18} {11 23 23} {12 13 23}<br/> }<br/>}</td></tr></table></td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor threshold | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor threshold ## <anchor='top'> Table Of Contents - [accessor](accessor.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor threshold generate | | | | > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- accessor threshold generate
## <anchor='top'> Table Of Contents
- [accessor threshold](accessor_threshold.md) ↗
### Operators
- [aktive image threshold global bernsen](#image_threshold_global_bernsen)
- [aktive image threshold global mean](#image_threshold_global_mean)
- [aktive image threshold global niblack](#image_threshold_global_niblack)
- [aktive image threshold global otsu](#image_threshold_global_otsu)
- [aktive image threshold global phansalkar](#image_threshold_global_phansalkar)
- [aktive image threshold global sauvola](#image_threshold_global_sauvola)
## Operators
---
### [↑](#top) <a name='image_threshold_global_bernsen'></a> aktive image threshold global bernsen
Syntax: __aktive image threshold global bernsen__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, according to [Bernsen](https://craftofcoding.wordpress.com/2021/10/27/thresholding-algorithms-bernsen-local)'s method.
The operator [aktive image mask per global bernsen](transform_threshold_mask_generate.md#image_mask_per_global_bernsen) uses this to generate a mask of the input.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
#### <a name='image_threshold_global_bernsen__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global bernsen @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00241.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.33137254901960783</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global bernsen @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00243.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'> 0.5078431372549019</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_global_mean'></a> aktive image threshold global mean
Syntax: __aktive image threshold global mean__ src [[→ definition](../../../../file?ci=trunk&ln=19&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, as the image mean.
The operator [aktive image mask per global mean](transform_threshold_mask_generate.md#image_mask_per_global_mean) uses this to generate a mask of the input.
There are better methods. Extensions to the simple mean, in order of creation (and complexity), are [Sauvola](https://craftofcoding.wordpress.com/2021/10/06/thresholding-algorithms-sauvola-local), [Niblack](https://craftofcoding.wordpress.com/2021/09/30/thresholding-algorithms-niblack-local), and [Phansalkar](https://craftofcoding.wordpress.com/2021/09/28/thresholding-algorithms-phansalkar-local). Each of these modifies the plain mean with a bias based on a mix of mean, standard deviation, and parameters.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
#### <a name='image_threshold_global_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00245.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.46493130718954245</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00247.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'> 0.37447068455452354</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_global_niblack'></a> aktive image threshold global niblack
Syntax: __aktive image threshold global niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=112&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, according to [Niblack](https://craftofcoding.wordpress.com/2021/09/30/thresholding-algorithms-niblack-local)'s method.
The operator [aktive image mask per global niblack](transform_threshold_mask_generate.md#image_mask_per_global_niblack) uses this to generate a mask of the input.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|-0.2|niblack parameter|
#### <a name='image_threshold_global_niblack__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global niblack @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00249.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.4461036579290674</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global niblack @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00251.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'> 0.3194965780697608</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_global_otsu'></a> aktive image threshold global otsu
Syntax: __aktive image threshold global otsu__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=274&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, according to [Otsu](https://en.wikipedia.org/wiki/Otsu%27s_method)'s method.
The operator [aktive image mask per global otsu](transform_threshold_mask_generate.md#image_mask_per_global_otsu) uses this to generate a mask of the input.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|The number of bins used by the internal histogram. The pixel values are quantized to fit. Only values in the range of `[0..1]` are considered valid. Values outside of that range are placed into the smallest/largest bins, respectively. The default quantizes the image values to 8-bit.|
#### <a name='image_threshold_global_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global otsu @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00253.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.3515625</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_global_phansalkar'></a> aktive image threshold global phansalkar
Syntax: __aktive image threshold global phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=217&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, according to [Phansalkar](https://craftofcoding.wordpress.com/2021/09/28/thresholding-algorithms-phansalkar-local)'s method.
The operator [aktive image mask per global phansalkar](transform_threshold_mask_generate.md#image_mask_per_global_phansalkar) uses this to generate a mask of the input.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.25|phansalkar parameter|
|R|double|0.5|phansalkar parameter|
|p|double|3|phansalkar parameter|
|q|double|10|phansalkar parameter|
#### <a name='image_threshold_global_phansalkar__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global phansalkar @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00255.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.3839280179396569</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global phansalkar @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00257.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'> 0.35887882734383425</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_global_sauvola'></a> aktive image threshold global sauvola
Syntax: __aktive image threshold global sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=164&name=etc/accessor/thresholds.tcl)]
Returns a global threshold for the input, according to [Sauvola](https://craftofcoding.wordpress.com/2021/10/06/thresholding-algorithms-sauvola-local)'s method.
The operator [aktive image mask per global sauvola](transform_threshold_mask_generate.md#image_mask_per_global_sauvola) uses this to generate a mask of the input.
This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately reduced to the threshold.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|sauvola parameter|
|R|double|128|sauvola parameter|
#### <a name='image_threshold_global_sauvola__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global sauvola @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00259.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'> 0.23263662163348175</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold global sauvola @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00261.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'> 0.18763741632585793</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor values | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- accessor values ## <anchor='top'> Table Of Contents - [accessor](accessor.md) ↗ ### Operators - [aktive query value around](#query_value_around) - [aktive query value at](#query_value_at) - [aktive query values](#query_values) ## Operators --- ### [↑](#top) <a name='query_value_around'></a> aktive query value around Syntax: __aktive query value around__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=318&name=etc/accessor/attributes.tcl)] Returns the input's pixel values for the region around the specified 2D point, within the manhattan `radius`. The result is __not__ an image. Beware that the coordinate domain is `0..width|height`, regardless of image location. This operator is __strict__ in its single input. The requested pixel region is materialized in memory. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |x|int||Physical x-coordinate of the pixel to query| |y|int||Physical y-coordinate of the pixel to query| |radius|uint|1|Region radius, defaults to 1, i.e. a 3x3 region.| --- ### [↑](#top) <a name='query_value_at'></a> aktive query value at Syntax: __aktive query value at__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=288&name=etc/accessor/attributes.tcl)] Returns the input's pixel value(s) at the given 2D point. The result is __not__ an image. It is a list of floating point numbers for a multi-band input, and a single floating point number otherwise. |
| ︙ | ︙ | |||
63 64 65 66 67 68 69 |
#### <a name='query_value_at__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query value at @1 x 0 y 1
<br> </th></tr>
| | | | | 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
#### <a name='query_value_at__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query value at @1 x 0 y 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 16</td><td valign='top'><img src='example-00663.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td></tr></table></td>
<td valign='top'> 0.6666666666666666</td></tr>
</table>
---
### [↑](#top) <a name='query_values'></a> aktive query values
Syntax: __aktive query values__ src [[→ definition](../../../../file?ci=trunk&ln=262&name=etc/accessor/attributes.tcl)]
Returns a list containing the input's pixel values.
The values are provided in row-major order.
The list has length "[aktive query size](accessor_geometry.md#query_size) \<src\>".
This operator is __strict__ in its single input. The image is materialized in memory.
#### <a name='query_values__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive query values @1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 16</td><td valign='top'><img src='example-00665.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td></tr></table></td>
<td valign='top'> 0.0 0.3333333333333333 0.6666666666666666 1.0</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- cache | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- cache ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ### Operators - [aktive op cache](#op_cache) ## Operators --- ### [↑](#top) <a name='op_cache'></a> aktive op cache Syntax: __aktive op cache__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/cache.tcl)] Returns the unchanged input. However, this operator materializes and caches the input in memory, for fast random access. Yet it is __not strict__, as the materialization is deferred until the first access. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- composer | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- composer
## <anchor='top'> Table Of Contents
- [Roots](bysection.md) ↗
### Operators
- [aktive op montage x](#op_montage_x)
- [aktive op montage x-core](#op_montage_x_core)
- [aktive op montage x-rep](#op_montage_x_rep)
- [aktive op montage y](#op_montage_y)
- [aktive op montage y-core](#op_montage_y_core)
- [aktive op montage y-rep](#op_montage_y_rep)
- [aktive op montage z](#op_montage_z)
- [aktive op montage z-core](#op_montage_z_core)
- [aktive op montage z-rep](#op_montage_z_rep)
## Operators
---
### [↑](#top) <a name='op_montage_x'></a> aktive op montage x
Syntax: __aktive op montage x__ srcs... [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/composer/montage.tcl)]
Returns image with all inputs joined left to right along the x-axis.
#### <a name='op_montage_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage x @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00383.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00384.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00385.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00386.gif' alt='aktive op montage x @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 224 128 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage x @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00387.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00388.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00389.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00390.gif' alt='aktive op montage x @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 192 64 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_montage_x_core'></a> aktive op montage x-core
Syntax: __aktive op montage x-core__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/composer/montage.tcl)]
Returns image with the 2 inputs joined left to right along the x-axis.
The location of the first image becomes the location of the result.
The other location is ignored.
The width of the result is the sum of the widths of the inputs.
The other dimensions use the maximum of the same over the inputs.
In the result the uncovered parts are zero (black)-filled.
---
### [↑](#top) <a name='op_montage_x_rep'></a> aktive op montage x-rep
Syntax: __aktive op montage x-rep__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=12&name=etc/composer/montage.tcl)]
Returns image with input joined left to right with itself N times along the x-axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Replication factor|
#### <a name='op_montage_x_rep__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op montage x-rep @1 by 3
<br> </th></tr>
<tr><td valign='top'><img src='example-00391.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00392.gif' alt='aktive op montage x-rep @1 by 3' style='border:4px solid gold'>
<br>geometry(0 0 96 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_montage_y'></a> aktive op montage y
Syntax: __aktive op montage y__ srcs... [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/composer/montage.tcl)]
Returns image with all inputs joined top to bottom along the y-axis.
#### <a name='op_montage_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage y @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00393.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00394.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00395.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00396.gif' alt='aktive op montage y @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 128 224 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage y @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00397.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00398.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00399.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00400.gif' alt='aktive op montage y @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 64 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_montage_y_core'></a> aktive op montage y-core
Syntax: __aktive op montage y-core__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/composer/montage.tcl)]
Returns image with the 2 inputs joined top to bottom along the y-axis.
The location of the first image becomes the location of the result.
The other location is ignored.
The height of the result is the sum of the heights of the inputs.
The other dimensions use the maximum of the same over the inputs.
In the result the uncovered parts are zero (black)-filled.
---
### [↑](#top) <a name='op_montage_y_rep'></a> aktive op montage y-rep
Syntax: __aktive op montage y-rep__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=12&name=etc/composer/montage.tcl)]
Returns image with input joined top to bottom with itself N times along the y-axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Replication factor|
#### <a name='op_montage_y_rep__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op montage y-rep @1 by 3
<br> </th></tr>
<tr><td valign='top'><img src='example-00401.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00402.gif' alt='aktive op montage y-rep @1 by 3' style='border:4px solid gold'>
<br>geometry(0 0 32 96 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_montage_z'></a> aktive op montage z
Syntax: __aktive op montage z__ srcs... [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/composer/montage.tcl)]
Returns image with all inputs joined front to back along the z-axis.
#### <a name='op_montage_z__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage z @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00403.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00404.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00405.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00406.gif' alt='aktive op montage z @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 128 128 3)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>@3
<br> </th>
<th>aktive op montage z @1 @2 @3
<br> </th></tr>
<tr><td valign='top'><img src='example-00407.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00408.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00409.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td>
<td valign='top'><img src='example-00410.gif' alt='aktive op montage z @1 @2 @3' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_montage_z_core'></a> aktive op montage z-core
Syntax: __aktive op montage z-core__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/composer/montage.tcl)]
Returns image with the 2 inputs joined front to back along the z-axis.
The location of the first image becomes the location of the result.
The other location is ignored.
The depth of the result is the sum of the depths of the inputs.
The other dimensions use the maximum of the same over the inputs.
In the result the uncovered parts are zero (black)-filled.
---
### [↑](#top) <a name='op_montage_z_rep'></a> aktive op montage z-rep
Syntax: __aktive op montage z-rep__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=12&name=etc/composer/montage.tcl)]
Returns image with input joined front to back with itself N times along the z-axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Replication factor|
#### <a name='op_montage_z_rep__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op montage z-rep @1 by 3
<br> </th></tr>
<tr><td valign='top'><img src='example-00411.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><img src='example-00412.gif' alt='aktive op montage z-rep @1 by 3' style='border:4px solid gold'>
<br>geometry(0 0 32 32 3)</td></tr>
</table>
|
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
cannot compute difference between binary files
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator reader | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- generator reader
## <anchor='top'> Table Of Contents
- [generator](generator.md) ↗
### Operators
- [aktive read from aktive](#read_from_aktive)
- [aktive read from netpbm](#read_from_netpbm)
## Operators
---
### [↑](#top) <a name='read_from_aktive'></a> aktive read from aktive
Syntax: __aktive read from aktive__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/generator/reader/aktive.tcl)]
Construct image from file content in the native AKTIVE format.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|path|object||Path to file holding the AKTIVE image data to read|
#### <a name='read_from_aktive__examples'></a> Examples
<table>
<tr><th>aktive read from aktive path tests/assets/results/format-colorbox.aktive
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00687.gif' alt='aktive read from aktive path tests/assets/results/format-colorbox.aktive' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr></table></td></tr>
</table>
<table>
<tr><th>aktive read from aktive path tests/assets/results/format-graybox.aktive
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00688.gif' alt='aktive read from aktive path tests/assets/results/format-graybox.aktive' style='border:4px solid gold'>
<br>geometry(0 0 64 64 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='read_from_netpbm'></a> aktive read from netpbm
Syntax: __aktive read from netpbm__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/generator/reader/netpbm.tcl)]
Construct image from file content in one of the NetPBM formats.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|path|object||Path to file holding the NetPBM image data to read|
#### <a name='read_from_netpbm__examples'></a> Examples
<table>
<tr><th>aktive read from netpbm path tests/assets/sines.ppm
<br> </th></tr>
<tr><td valign='top'><img src='example-00689.gif' alt='aktive read from netpbm path tests/assets/sines.ppm' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td></tr>
</table>
<table>
<tr><th>aktive read from netpbm path tests/assets/crop.pgm
<br> </th></tr>
<tr><td valign='top'><img src='example-00690.gif' alt='aktive read from netpbm path tests/assets/crop.pgm' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual ## <anchor='top'> Table Of Contents - [generator](generator.md) ↗ ## Subsections |
| ︙ | ︙ | |||
91 92 93 94 95 96 97 | - [aktive image vbar](#image_vbar) - [aktive image xcross](#image_xcross) - [aktive image zone](#image_zone) ## Operators --- | | | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 | - [aktive image vbar](#image_vbar) - [aktive image xcross](#image_xcross) - [aktive image zone](#image_zone) ## Operators --- ### [↑](#top) <a name='image_cbar'></a> aktive image cbar Syntax: __aktive image cbar__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)] Returns square single-band image containing a cross diagonal bar. The image has size `2*radius + 1` squared. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |
| ︙ | ︙ | |||
113 114 115 116 117 118 119 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00044.gif' alt='aktive image cbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
| | | 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00044.gif' alt='aktive image cbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_checkers'></a> aktive image checkers
Syntax: __aktive image checkers__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=143&name=etc/generator/virtual/pattern/checkers.tcl)]
Returns image containing a black/white checker board.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
152 153 154 155 156 157 158 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00047.gif' alt='aktive image checkers width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00047.gif' alt='aktive image checkers width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_circle'></a> aktive image circle
Syntax: __aktive image circle__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a circle (disc perimeter). The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
174 175 176 177 178 179 180 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00048.gif' alt='aktive image circle radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
| | | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00048.gif' alt='aktive image circle radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_cross'></a> aktive image cross
Syntax: __aktive image cross__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a cross. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
196 197 198 199 200 201 202 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00049.gif' alt='aktive image cross radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
| | | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00049.gif' alt='aktive image cross radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_dbar'></a> aktive image dbar
Syntax: __aktive image dbar__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a diagonal bar. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
218 219 220 221 222 223 224 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00050.gif' alt='aktive image dbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
| | | 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00050.gif' alt='aktive image dbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_dgrid'></a> aktive image dgrid
Syntax: __aktive image dgrid__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/generator/virtual/pattern/checkers.tcl)]
Returns image containing a diagonal black/white grid with configurable stripes
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
257 258 259 260 261 262 263 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00053.gif' alt='aktive image dgrid width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | | 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00053.gif' alt='aktive image dgrid width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_disc'></a> aktive image disc
Syntax: __aktive image disc__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a filled disc. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Radius of the filled disc.|
#### <a name='image_disc__examples'></a> Examples
<table>
<tr><th>aktive image disc radius 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00054.gif' alt='aktive image disc radius 32' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_dstripes'></a> aktive image dstripes
Syntax: __aktive image dstripes__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=98&name=etc/generator/virtual/pattern/checkers.tcl)]
Returns image containing a series of diagonal black/white stripes.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
317 318 319 320 321 322 323 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00084.gif' alt='aktive image dstripes width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00084.gif' alt='aktive image dstripes width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_eye'></a> aktive image eye
Syntax: __aktive image eye__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/pattern/eye.tcl)]
Returns image containing a test pattern with increasing spatial frequency from left to right, and increasing amplitude (i.e. black to white) from top to bottom.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
340 341 342 343 344 345 346 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00085.gif' alt='aktive image eye width 256 height 256 factor 0.8' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
---
| | | 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00085.gif' alt='aktive image eye width 256 height 256 factor 0.8' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_from_band'></a> aktive image from band
Syntax: __aktive image from band__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/generator/virtual/constant.tcl)]
Returns image where all pixels have the same band values.
Depth is len(value)
|
| ︙ | ︙ | |||
374 375 376 377 378 379 380 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00087.gif' alt='aktive image from band width 64 height 64 values 0.3 0.5 0.7' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr>
</table>
---
| | | 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00087.gif' alt='aktive image from band width 64 height 64 values 0.3 0.5 0.7' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_from_column'></a> aktive image from column
Syntax: __aktive image from column__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=83&name=etc/generator/virtual/constant.tcl)]
Returns image of the specified width where all columns have the same set of values.
The image's height is the number of values.
|
| ︙ | ︙ | |||
400 401 402 403 404 405 406 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00088.gif' alt='aktive image from column width 64 values 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1' style='border:4px solid gold'>
<br>geometry(0 0 64 21 1)</td></tr>
</table>
---
| | | 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00088.gif' alt='aktive image from column width 64 values 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1' style='border:4px solid gold'>
<br>geometry(0 0 64 21 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_from_matrix'></a> aktive image from matrix
Syntax: __aktive image from matrix__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=109&name=etc/generator/virtual/constant.tcl)]
Returns single-band image with the pixel VALUEs.
Less than width by height values are extended with zeroes.
|
| ︙ | ︙ | |||
432 433 434 435 436 437 438 |
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00089.gif' alt='aktive image from matrix width 16 height 16 values 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
| | | 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 |
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00089.gif' alt='aktive image from matrix width 16 height 16 values 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_from_row'></a> aktive image from row
Syntax: __aktive image from row__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=57&name=etc/generator/virtual/constant.tcl)]
Returns image of the specified height where all rows have the same set of values.
The image's width is the number of values.
|
| ︙ | ︙ | |||
458 459 460 461 462 463 464 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00090.gif' alt='aktive image from row height 64 values 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1' style='border:4px solid gold'>
<br>geometry(0 0 21 64 1)</td></tr>
</table>
---
| | | 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00090.gif' alt='aktive image from row height 64 values 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 0.55 0.6 0.6 0.7 0.75 0.8 0.85 0.9 0.95 1' style='border:4px solid gold'>
<br>geometry(0 0 21 64 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_from_sparse_deltas'></a> aktive image from sparse deltas
Syntax: __aktive image from sparse deltas__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=55&name=etc/generator/virtual/sparse.tcl)]
Returns a single-band image where pixels are set to white at exactly the specified points. In contrast to `sparse points` the points are specified as linear distances from the origin.
The height is infered from the points
|
| ︙ | ︙ | |||
491 492 493 494 495 496 497 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00091.gif' alt='aktive image from sparse deltas width 7 deltas 0 20 5 15' style='border:4px solid gold'>
<br>geometry(0 0 7 6 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00092.gif' alt='aktive image from sparse deltas width 7 deltas 0 20 5 15' style='border:4px solid gold'>
<br>geometry(0 0 56 48 1)</td></tr></table></td></tr>
</table>
---
| | | 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00091.gif' alt='aktive image from sparse deltas width 7 deltas 0 20 5 15' style='border:4px solid gold'>
<br>geometry(0 0 7 6 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00092.gif' alt='aktive image from sparse deltas width 7 deltas 0 20 5 15' style='border:4px solid gold'>
<br>geometry(0 0 56 48 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_from_sparse_points'></a> aktive image from sparse points
Syntax: __aktive image from sparse points__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/sparse.tcl)]
Returns a single-band image where pixels are set to white at exactly the specified coordinates.
Generally, the bounding box specifies the geometry, especially also the image origin
|
| ︙ | ︙ | |||
523 524 525 526 527 528 529 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00093.gif' alt='aktive image from sparse points coords {0 0} {4 3} {5 5} {6 2}' style='border:4px solid gold'>
<br>geometry(0 0 7 6 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00094.gif' alt='aktive image from sparse points coords {0 0} {4 3} {5 5} {6 2}' style='border:4px solid gold'>
<br>geometry(0 0 56 48 1)</td></tr></table></td></tr>
</table>
---
| | | 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00093.gif' alt='aktive image from sparse points coords {0 0} {4 3} {5 5} {6 2}' style='border:4px solid gold'>
<br>geometry(0 0 7 6 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00094.gif' alt='aktive image from sparse points coords {0 0} {4 3} {5 5} {6 2}' style='border:4px solid gold'>
<br>geometry(0 0 56 48 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_from_sparse_ranges'></a> aktive image from sparse ranges
Syntax: __aktive image from sparse ranges__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=126&name=etc/generator/virtual/sparse.tcl)]
Returns a single-band image where the pixels are set to the specified values as per the provided row ranges.
A single row range is specified by 4 numbers.
|
| ︙ | ︙ | |||
556 557 558 559 560 561 562 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00095.gif' alt='aktive image from sparse ranges ranges {1 24 30 1} {2 23 31 1} {3 22 32 1} {4 22 24 0.75} {4 30 32 0.75} {5 22 23 0.75} {5 31 32 0.75} {6 23 24 0.5} {6 30 31 0.5} {7 24 25 0.5} {7 29 30 0.5}' style='border:4px solid gold'>
<br>geometry(22 1 11 7 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00096.gif' alt='aktive image from sparse ranges ranges {1 24 30 1} {2 23 31 1} {3 22 32 1} {4 22 24 0.75} {4 30 32 0.75} {5 22 23 0.75} {5 31 32 0.75} {6 23 24 0.5} {6 30 31 0.5} {7 24 25 0.5} {7 29 30 0.5}' style='border:4px solid gold'>
<br>geometry(22 1 88 56 1)</td></tr></table></td></tr>
</table>
---
| | | 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 |
<tr><td valign='top'><table><tr><td valign='top'><img src='example-00095.gif' alt='aktive image from sparse ranges ranges {1 24 30 1} {2 23 31 1} {3 22 32 1} {4 22 24 0.75} {4 30 32 0.75} {5 22 23 0.75} {5 31 32 0.75} {6 23 24 0.5} {6 30 31 0.5} {7 24 25 0.5} {7 29 30 0.5}' style='border:4px solid gold'>
<br>geometry(22 1 11 7 1)</td><td valign='top'>times 8</td><td valign='top'><img src='example-00096.gif' alt='aktive image from sparse ranges ranges {1 24 30 1} {2 23 31 1} {3 22 32 1} {4 22 24 0.75} {4 30 32 0.75} {5 22 23 0.75} {5 31 32 0.75} {6 23 24 0.5} {6 30 31 0.5} {7 24 25 0.5} {7 29 30 0.5}' style='border:4px solid gold'>
<br>geometry(22 1 88 56 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_from_value'></a> aktive image from value
Syntax: __aktive image from value__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/constant.tcl)]
Returns image which has the same VALUE everywhere.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
589 590 591 592 593 594 595 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00098.gif' alt='aktive image from value width 64 height 64 depth 3 value 0.5' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr>
</table>
---
| | | 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00098.gif' alt='aktive image from value width 64 height 64 depth 3 value 0.5' style='border:4px solid gold'>
<br>geometry(0 0 64 64 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_gradient'></a> aktive image gradient
Syntax: __aktive image gradient__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/gradient.tcl)]
Returns image containing a linear gradient through all cells.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
621 622 623 624 625 626 627 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00100.gif' alt='aktive image gradient width 128 height 128 depth 1 first 0 last 1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00100.gif' alt='aktive image gradient width 128 height 128 depth 1 first 0 last 1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_grey'></a> aktive image grey
Syntax: __aktive image grey__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/grey.tcl)]
Returns image containing a left to right black to white gradient.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
643 644 645 646 647 648 649 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00101.gif' alt='aktive image grey width 256 height 32' style='border:4px solid gold'>
<br>geometry(0 0 256 32 1)</td></tr>
</table>
---
| | | 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00101.gif' alt='aktive image grey width 256 height 32' style='border:4px solid gold'>
<br>geometry(0 0 256 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_grid'></a> aktive image grid
Syntax: __aktive image grid__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/pattern/checkers.tcl)]
Returns image containing an axis-aligned black/white grid with configurable stripes
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
682 683 684 685 686 687 688 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00104.gif' alt='aktive image grid width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00104.gif' alt='aktive image grid width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_hbar'></a> aktive image hbar
Syntax: __aktive image hbar__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a horizontal bar. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
704 705 706 707 708 709 710 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00105.gif' alt='aktive image hbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
| | | 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00105.gif' alt='aktive image hbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_indexed'></a> aktive image indexed
Syntax: __aktive image indexed__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/indexed.tcl)]
Returns a 2-band image where each pixel declares its own position.
__Note__ that while the result is usable as a warp map for the <!xref aktive op warp map> operation, it will not do anything, as it represents the identity warping.
|
| ︙ | ︙ | |||
735 736 737 738 739 740 741 |
<tr><th>aktive image indexed x -5 y -5 width 8 height 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(-5, -5)</td><td>(-4, -5)</td><td>(-3, -5)</td><td>(-2, -5)</td><td>(-1, -5)</td><td>(0, -5)</td><td>(1, -5)</td><td>(2, -5)</td></tr><tr><td>(-5, -4)</td><td>(-4, -4)</td><td>(-3, -4)</td><td>(-2, -4)</td><td>(-1, -4)</td><td>(0, -4)</td><td>(1, -4)</td><td>(2, -4)</td></tr><tr><td>(-5, -3)</td><td>(-4, -3)</td><td>(-3, -3)</td><td>(-2, -3)</td><td>(-1, -3)</td><td>(0, -3)</td><td>(1, -3)</td><td>(2, -3)</td></tr><tr><td>(-5, -2)</td><td>(-4, -2)</td><td>(-3, -2)</td><td>(-2, -2)</td><td>(-1, -2)</td><td>(0, -2)</td><td>(1, -2)</td><td>(2, -2)</td></tr><tr><td>(-5, -1)</td><td>(-4, -1)</td><td>(-3, -1)</td><td>(-2, -1)</td><td>(-1, -1)</td><td>(0, -1)</td><td>(1, -1)</td><td>(2, -1)</td></tr><tr><td>(-5, 0)</td><td>(-4, 0)</td><td>(-3, 0)</td><td>(-2, 0)</td><td>(-1, 0)</td><td>(0, 0)</td><td>(1, 0)</td><td>(2, 0)</td></tr><tr><td>(-5, 1)</td><td>(-4, 1)</td><td>(-3, 1)</td><td>(-2, 1)</td><td>(-1, 1)</td><td>(0, 1)</td><td>(1, 1)</td><td>(2, 1)</td></tr><tr><td>(-5, 2)</td><td>(-4, 2)</td><td>(-3, 2)</td><td>(-2, 2)</td><td>(-1, 2)</td><td>(0, 2)</td><td>(1, 2)</td><td>(2, 2)</td></tr></table></td></tr>
</table>
---
| | | | | | | | | | | | | 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 |
<tr><th>aktive image indexed x -5 y -5 width 8 height 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(-5, -5)</td><td>(-4, -5)</td><td>(-3, -5)</td><td>(-2, -5)</td><td>(-1, -5)</td><td>(0, -5)</td><td>(1, -5)</td><td>(2, -5)</td></tr><tr><td>(-5, -4)</td><td>(-4, -4)</td><td>(-3, -4)</td><td>(-2, -4)</td><td>(-1, -4)</td><td>(0, -4)</td><td>(1, -4)</td><td>(2, -4)</td></tr><tr><td>(-5, -3)</td><td>(-4, -3)</td><td>(-3, -3)</td><td>(-2, -3)</td><td>(-1, -3)</td><td>(0, -3)</td><td>(1, -3)</td><td>(2, -3)</td></tr><tr><td>(-5, -2)</td><td>(-4, -2)</td><td>(-3, -2)</td><td>(-2, -2)</td><td>(-1, -2)</td><td>(0, -2)</td><td>(1, -2)</td><td>(2, -2)</td></tr><tr><td>(-5, -1)</td><td>(-4, -1)</td><td>(-3, -1)</td><td>(-2, -1)</td><td>(-1, -1)</td><td>(0, -1)</td><td>(1, -1)</td><td>(2, -1)</td></tr><tr><td>(-5, 0)</td><td>(-4, 0)</td><td>(-3, 0)</td><td>(-2, 0)</td><td>(-1, 0)</td><td>(0, 0)</td><td>(1, 0)</td><td>(2, 0)</td></tr><tr><td>(-5, 1)</td><td>(-4, 1)</td><td>(-3, 1)</td><td>(-2, 1)</td><td>(-1, 1)</td><td>(0, 1)</td><td>(1, 1)</td><td>(2, 1)</td></tr><tr><td>(-5, 2)</td><td>(-4, 2)</td><td>(-3, 2)</td><td>(-2, 2)</td><td>(-1, 2)</td><td>(0, 2)</td><td>(1, 2)</td><td>(2, 2)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_emboss'></a> aktive image kernel emboss
Syntax: __aktive image kernel emboss__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for embossing effect
#### <a name='image_kernel_emboss__examples'></a> Examples
<table>
<tr><th>aktive image kernel emboss
<br> </th></tr>
<tr><td valign='top'><table><tr><td>2</td><td>0</td><td>0</td></tr><tr><td>0</td><td>-1</td><td>0</td></tr><tr><td>0</td><td>0</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss3_x'></a> aktive image kernel gauss3 x
Syntax: __aktive image kernel gauss3 x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss3ian blur effect
#### <a name='image_kernel_gauss3_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss3 x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.2500</td><td>0.5000</td><td>0.2500</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss3_xy'></a> aktive image kernel gauss3 xy
Syntax: __aktive image kernel gauss3 xy__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss3ian blur effect
#### <a name='image_kernel_gauss3_xy__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss3 xy
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0625</td><td>0.1250</td><td>0.0625</td></tr><tr><td>0.1250</td><td>0.2500</td><td>0.1250</td></tr><tr><td>0.0625</td><td>0.1250</td><td>0.0625</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss3_y'></a> aktive image kernel gauss3 y
Syntax: __aktive image kernel gauss3 y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss3ian blur effect
#### <a name='image_kernel_gauss3_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss3 y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.2500</td></tr><tr><td>0.5000</td></tr><tr><td>0.2500</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss5_x'></a> aktive image kernel gauss5 x
Syntax: __aktive image kernel gauss5 x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss5ian blur effect
#### <a name='image_kernel_gauss5_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss5 x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0625</td><td>0.2500</td><td>0.3750</td><td>0.2500</td><td>0.0625</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss5_y'></a> aktive image kernel gauss5 y
Syntax: __aktive image kernel gauss5 y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss5ian blur effect
#### <a name='image_kernel_gauss5_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss5 y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0625</td></tr><tr><td>0.2500</td></tr><tr><td>0.3750</td></tr><tr><td>0.2500</td></tr><tr><td>0.0625</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss7_x'></a> aktive image kernel gauss7 x
Syntax: __aktive image kernel gauss7 x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss7ian blur effect
#### <a name='image_kernel_gauss7_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss7 x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0156</td><td>0.0938</td><td>0.2344</td><td>0.3125</td><td>0.2344</td><td>0.0938</td><td>0.0156</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss7_y'></a> aktive image kernel gauss7 y
Syntax: __aktive image kernel gauss7 y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss7ian blur effect
#### <a name='image_kernel_gauss7_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss7 y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0156</td></tr><tr><td>0.0938</td></tr><tr><td>0.2344</td></tr><tr><td>0.3125</td></tr><tr><td>0.2344</td></tr><tr><td>0.0938</td></tr><tr><td>0.0156</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss9_x'></a> aktive image kernel gauss9 x
Syntax: __aktive image kernel gauss9 x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss9ian blur effect
#### <a name='image_kernel_gauss9_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss9 x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0078</td><td>0.0625</td><td>0.2188</td><td>0.4375</td><td>0.5469</td><td>0.4375</td><td>0.2188</td><td>0.0625</td><td>0.0078</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss9_y'></a> aktive image kernel gauss9 y
Syntax: __aktive image kernel gauss9 y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for gauss9ian blur effect
#### <a name='image_kernel_gauss9_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel gauss9 y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0078</td></tr><tr><td>0.0625</td></tr><tr><td>0.2188</td></tr><tr><td>0.4375</td></tr><tr><td>0.5469</td></tr><tr><td>0.4375</td></tr><tr><td>0.2188</td></tr><tr><td>0.0625</td></tr><tr><td>0.0078</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_gauss_discrete'></a> aktive image kernel gauss discrete
Syntax: __aktive image kernel gauss discrete__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=99&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns the 1D discrete gaussian convolution kernel, for the specified sigma and radius. By default sigma is 1. By default the radius is max(1,ceil(3*sigma)).
For more about the math see http://en.wikipedia.org/wiki/Scale_space_implementation#The_discrete_Gaussian_kernel
|
| ︙ | ︙ | |||
940 941 942 943 944 945 946 |
<tr><th>aktive image kernel gauss discrete sigma 1 radius 6
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0000</td><td>0.0001</td><td>0.0010</td><td>0.0082</td><td>0.0499</td><td>0.2079</td><td>0.4658</td><td>0.2079</td><td>0.0499</td><td>0.0082</td><td>0.0010</td><td>0.0001</td><td>0.0000</td></tr></table></td></tr>
</table>
---
| | | | | | | 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 |
<tr><th>aktive image kernel gauss discrete sigma 1 radius 6
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0.0000</td><td>0.0001</td><td>0.0010</td><td>0.0082</td><td>0.0499</td><td>0.2079</td><td>0.4658</td><td>0.2079</td><td>0.0499</td><td>0.0082</td><td>0.0010</td><td>0.0001</td><td>0.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_kirsch_md'></a> aktive image kernel kirsch md
Syntax: __aktive image kernel kirsch md__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for kirsch edge detection
#### <a name='image_kernel_kirsch_md__examples'></a> Examples
<table>
<tr><th>aktive image kernel kirsch md
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-3</td><td>5</td><td>5</td></tr><tr><td>-3</td><td>0</td><td>5</td></tr><tr><td>-3</td><td>-3</td><td>-3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_kirsch_sd'></a> aktive image kernel kirsch sd
Syntax: __aktive image kernel kirsch sd__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for kirsch edge detection
#### <a name='image_kernel_kirsch_sd__examples'></a> Examples
<table>
<tr><th>aktive image kernel kirsch sd
<br> </th></tr>
<tr><td valign='top'><table><tr><td>5</td><td>5</td><td>-3</td></tr><tr><td>5</td><td>0</td><td>-3</td></tr><tr><td>-3</td><td>-3</td><td>-3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_kirsch_x'></a> aktive image kernel kirsch x
Syntax: __aktive image kernel kirsch x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for kirsch edge detection
#### <a name='image_kernel_kirsch_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel kirsch x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>5</td><td>-3</td><td>-3</td></tr><tr><td>5</td><td>0</td><td>-3</td></tr><tr><td>5</td><td>-3</td><td>-3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_kirsch_y'></a> aktive image kernel kirsch y
Syntax: __aktive image kernel kirsch y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for kirsch edge detection
#### <a name='image_kernel_kirsch_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel kirsch y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>5</td><td>5</td><td>5</td></tr><tr><td>-3</td><td>0</td><td>-3</td></tr><tr><td>-3</td><td>-3</td><td>-3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_lanczos'></a> aktive image kernel lanczos
Syntax: __aktive image kernel lanczos__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=165&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns lanczos convolution kernel of the specified order. The default order is 3. Step expands the kernel to the given resolution (default 1).
For more about the math see https://en.wikipedia.org/wiki/Lanczos_resampling#Lanczos_kernel
|
| ︙ | ︙ | |||
1043 1044 1045 1046 1047 1048 1049 |
<tr><th>aktive image kernel lanczos order 2 step 0.25
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-0.0179</td><td>-0.0637</td><td>-0.0847</td><td>0.0000</td><td>0.2353</td><td>0.5732</td><td>0.8774</td><td>1.0000</td><td>0.8774</td><td>0.5732</td><td>0.2353</td><td>0.0000</td><td>-0.0847</td><td>-0.0637</td><td>-0.0179</td></tr></table></td></tr>
</table>
---
| | | | | | | | | | | | | | | | | | | | | | | | 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 |
<tr><th>aktive image kernel lanczos order 2 step 0.25
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-0.0179</td><td>-0.0637</td><td>-0.0847</td><td>0.0000</td><td>0.2353</td><td>0.5732</td><td>0.8774</td><td>1.0000</td><td>0.8774</td><td>0.5732</td><td>0.2353</td><td>0.0000</td><td>-0.0847</td><td>-0.0637</td><td>-0.0179</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_laplace_4'></a> aktive image kernel laplace 4
Syntax: __aktive image kernel laplace 4__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for laplacian edge detection
#### <a name='image_kernel_laplace_4__examples'></a> Examples
<table>
<tr><th>aktive image kernel laplace 4
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0</td><td>-1</td><td>0</td></tr><tr><td>-1</td><td>4</td><td>-1</td></tr><tr><td>0</td><td>-1</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_laplace_8'></a> aktive image kernel laplace 8
Syntax: __aktive image kernel laplace 8__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for laplacian edge detection
#### <a name='image_kernel_laplace_8__examples'></a> Examples
<table>
<tr><th>aktive image kernel laplace 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>-1</td><td>-1</td></tr><tr><td>-1</td><td>8</td><td>-1</td></tr><tr><td>-1</td><td>-1</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_laplace_X'></a> aktive image kernel laplace X
Syntax: __aktive image kernel laplace X__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for laplacian edge detection
#### <a name='image_kernel_laplace_X__examples'></a> Examples
<table>
<tr><th>aktive image kernel laplace X
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>-2</td><td>1</td></tr><tr><td>-2</td><td>4</td><td>-2</td></tr><tr><td>1</td><td>-2</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_prewitt_md'></a> aktive image kernel prewitt md
Syntax: __aktive image kernel prewitt md__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for prewitt edge detection
#### <a name='image_kernel_prewitt_md__examples'></a> Examples
<table>
<tr><th>aktive image kernel prewitt md
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0</td><td>1</td><td>1</td></tr><tr><td>-1</td><td>0</td><td>1</td></tr><tr><td>-1</td><td>-1</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_prewitt_sd'></a> aktive image kernel prewitt sd
Syntax: __aktive image kernel prewitt sd__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for prewitt edge detection
#### <a name='image_kernel_prewitt_sd__examples'></a> Examples
<table>
<tr><th>aktive image kernel prewitt sd
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>-1</td><td>0</td></tr><tr><td>-1</td><td>0</td><td>1</td></tr><tr><td>0</td><td>1</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_prewitt_x'></a> aktive image kernel prewitt x
Syntax: __aktive image kernel prewitt x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for prewitt edge detection
#### <a name='image_kernel_prewitt_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel prewitt x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>0</td><td>1</td></tr><tr><td>-1</td><td>0</td><td>1</td></tr><tr><td>-1</td><td>0</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_prewitt_y'></a> aktive image kernel prewitt y
Syntax: __aktive image kernel prewitt y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for prewitt edge detection
#### <a name='image_kernel_prewitt_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel prewitt y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>-1</td><td>-1</td></tr><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_roberts_x'></a> aktive image kernel roberts x
Syntax: __aktive image kernel roberts x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for roberts cross edge detection
#### <a name='image_kernel_roberts_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel roberts x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0</td><td>-1</td><td>0</td></tr><tr><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_roberts_y'></a> aktive image kernel roberts y
Syntax: __aktive image kernel roberts y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for roberts cross edge detection
#### <a name='image_kernel_roberts_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel roberts y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>1</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_scharr_x'></a> aktive image kernel scharr x
Syntax: __aktive image kernel scharr x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for scharr edge detection
#### <a name='image_kernel_scharr_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel scharr x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-3</td><td>0</td><td>3</td></tr><tr><td>-10</td><td>0</td><td>10</td></tr><tr><td>-3</td><td>0</td><td>3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_scharr_y'></a> aktive image kernel scharr y
Syntax: __aktive image kernel scharr y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for scharr edge detection
#### <a name='image_kernel_scharr_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel scharr y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-3</td><td>-10</td><td>-3</td></tr><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>3</td><td>10</td><td>3</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sharp_4'></a> aktive image kernel sharp 4
Syntax: __aktive image kernel sharp 4__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sharpening effect
#### <a name='image_kernel_sharp_4__examples'></a> Examples
<table>
<tr><th>aktive image kernel sharp 4
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0</td><td>-1</td><td>0</td></tr><tr><td>-1</td><td>5</td><td>-1</td></tr><tr><td>0</td><td>-1</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sharp_8'></a> aktive image kernel sharp 8
Syntax: __aktive image kernel sharp 8__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sharpening effect
#### <a name='image_kernel_sharp_8__examples'></a> Examples
<table>
<tr><th>aktive image kernel sharp 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>-1</td><td>-1</td><td>-1</td></tr><tr><td>-1</td><td>9</td><td>-1</td></tr><tr><td>-1</td><td>-1</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sharp_X'></a> aktive image kernel sharp X
Syntax: __aktive image kernel sharp X__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sharpening effect
#### <a name='image_kernel_sharp_X__examples'></a> Examples
<table>
<tr><th>aktive image kernel sharp X
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>-2</td><td>1</td></tr><tr><td>-2</td><td>5</td><td>-2</td></tr><tr><td>1</td><td>-2</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sobel_md'></a> aktive image kernel sobel md
Syntax: __aktive image kernel sobel md__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sobel edge detection
#### <a name='image_kernel_sobel_md__examples'></a> Examples
<table>
<tr><th>aktive image kernel sobel md
<br> </th></tr>
<tr><td valign='top'><table><tr><td>0</td><td>-1</td><td>-1</td></tr><tr><td>2</td><td>0</td><td>-2</td></tr><tr><td>1</td><td>1</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sobel_sd'></a> aktive image kernel sobel sd
Syntax: __aktive image kernel sobel sd__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sobel edge detection
#### <a name='image_kernel_sobel_sd__examples'></a> Examples
<table>
<tr><th>aktive image kernel sobel sd
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>1</td><td>0</td></tr><tr><td>2</td><td>0</td><td>-2</td></tr><tr><td>0</td><td>-1</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sobel_x'></a> aktive image kernel sobel x
Syntax: __aktive image kernel sobel x__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sobel edge detection
#### <a name='image_kernel_sobel_x__examples'></a> Examples
<table>
<tr><th>aktive image kernel sobel x
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>0</td><td>-1</td></tr><tr><td>2</td><td>0</td><td>-2</td></tr><tr><td>1</td><td>0</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_kernel_sobel_y'></a> aktive image kernel sobel y
Syntax: __aktive image kernel sobel y__ [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/generator/virtual/pattern/kernels.tcl)]
Returns convolution kernel for sobel edge detection
#### <a name='image_kernel_sobel_y__examples'></a> Examples
<table>
<tr><th>aktive image kernel sobel y
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>2</td><td>1</td></tr><tr><td>0</td><td>0</td><td>0</td></tr><tr><td>-1</td><td>-2</td><td>-1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_noise_gauss'></a> aktive image noise gauss
Syntax: __aktive image noise gauss__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/noise/gauss.tcl)]
Returns image where pixels are set to random values drawn from a gaussian distribution with mean and sigma over +/-sigma. The defaults are 0 and 1.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|width|uint||Width of the returned image|
|height|uint||Height of the returned image|
|depth|uint||Depth of the returned image|
|mean|double|0|Mean of the desired gauss distribution.|
|sigma|double|1|Sigma of the desired gauss distribution.|
|seed|uint|[expr {int(4294967296*rand())}]|Randomizer seed. Needed only to force fixed results.|
#### <a name='image_noise_gauss__examples'></a> Examples
<table>
<tr><th>aktive image noise gauss width 256 height 256 depth 1 seed 703011174
<br> </th></tr>
<tr><td valign='top'><img src='example-00194.gif' alt='aktive image noise gauss width 256 height 256 depth 1 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
<table>
<tr><th>aktive image noise gauss width 256 height 256 depth 3 seed 703011174
<br> </th></tr>
<tr><td valign='top'><img src='example-00195.gif' alt='aktive image noise gauss width 256 height 256 depth 3 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_noise_salt'></a> aktive image noise salt
Syntax: __aktive image noise salt__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/generator/virtual/noise/salt.tcl)]
Returns image containing salt and pepper noise.
Pixels are set where the uniformly distributed random value is under the threshold.
|
| ︙ | ︙ | |||
1407 1408 1409 1410 1411 1412 1413 |
|seed|uint|[expr {int(4294967296*rand())}]|Randomizer seed. Needed only to force fixed results.|
#### <a name='image_noise_salt__examples'></a> Examples
<table>
<tr><th>aktive image noise salt width 256 height 256 depth 1 seed 703011174 threshold 0.02
<br> </th></tr>
| | | | | | | | | | | | | | | | | | | | | | | | | 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 |
|seed|uint|[expr {int(4294967296*rand())}]|Randomizer seed. Needed only to force fixed results.|
#### <a name='image_noise_salt__examples'></a> Examples
<table>
<tr><th>aktive image noise salt width 256 height 256 depth 1 seed 703011174 threshold 0.02
<br> </th></tr>
<tr><td valign='top'><img src='example-00196.gif' alt='aktive image noise salt width 256 height 256 depth 1 seed 703011174 threshold 0.02' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
<table>
<tr><th>aktive image noise salt width 256 height 256 depth 3 seed 703011174 threshold 0.02
<br> </th></tr>
<tr><td valign='top'><img src='example-00197.gif' alt='aktive image noise salt width 256 height 256 depth 3 seed 703011174 threshold 0.02' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_noise_uniform'></a> aktive image noise uniform
Syntax: __aktive image noise uniform__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/noise/uniform.tcl)]
Returns image where pixels are set to random values drawn from a uniform distribution over [0..1]
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|width|uint||Width of the returned image|
|height|uint||Height of the returned image|
|depth|uint||Depth of the returned image|
|seed|uint|[expr {int(4294967296*rand())}]|Randomizer seed. Needed only to force fixed results.|
#### <a name='image_noise_uniform__examples'></a> Examples
<table>
<tr><th>aktive image noise uniform width 256 height 256 depth 1 seed 703011174
<br> </th></tr>
<tr><td valign='top'><img src='example-00198.gif' alt='aktive image noise uniform width 256 height 256 depth 1 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
<table>
<tr><th>aktive image noise uniform width 256 height 256 depth 3 seed 703011174
<br> </th></tr>
<tr><td valign='top'><img src='example-00199.gif' alt='aktive image noise uniform width 256 height 256 depth 3 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_palette_color'></a> aktive image palette color
Syntax: __aktive image palette color__ [[→ definition](../../../../file?ci=trunk&ln=19&name=etc/generator/virtual/pattern/palette.tcl)]
Returns a 128x128 image containing a color palette.
#### <a name='image_palette_color__examples'></a> Examples
<table>
<tr><th>aktive image palette color
<br> </th></tr>
<tr><td valign='top'><img src='example-00200.gif' alt='aktive image palette color ' style='border:4px solid gold'>
<br>geometry(0 0 128 128 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_palette_grey'></a> aktive image palette grey
Syntax: __aktive image palette grey__ [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/pattern/palette.tcl)]
Returns a 128x128 image containing a gray palette.
#### <a name='image_palette_grey__examples'></a> Examples
<table>
<tr><th>aktive image palette grey
<br> </th></tr>
<tr><td valign='top'><img src='example-00201.gif' alt='aktive image palette grey ' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_sines'></a> aktive image sines
Syntax: __aktive image sines__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/pattern/sines.tcl)]
Returns image containing a sine wave in two dimensions.
The ratio between horizontal and vertical frequencies determines the angle of the composite wave relative to the X axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|width|uint||Width of the returned image|
|height|uint||Height of the returned image|
|hf|double||Horizontal frequency|
|vf|double||Vertical frequency|
#### <a name='image_sines__examples'></a> Examples
<table>
<tr><th>aktive image sines width 256 height 256 hf 0.5 vf 0.6
<br> </th></tr>
<tr><td valign='top'><img src='example-00232.gif' alt='aktive image sines width 256 height 256 hf 0.5 vf 0.6' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_square'></a> aktive image square
Syntax: __aktive image square__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=17&name=etc/generator/virtual/pattern/selements.tcl)]
Returns single-band white square with radius. Default radius 1.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Radius of the square. Full size is 2*radius + 1.|
#### <a name='image_square__examples'></a> Examples
<table>
<tr><th>aktive image square radius 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00233.gif' alt='aktive image square radius 32' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_stripes'></a> aktive image stripes
Syntax: __aktive image stripes__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=53&name=etc/generator/virtual/pattern/checkers.tcl)]
Returns image containing a series of vertical black/white stripes.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|width|uint||Width of the returned image|
|height|uint||Height of the returned image|
|offset|uint|0|Pattern offset|
|black|uint|8|Width of the black stripe|
|white|uint|8|Width of the white stripe|
#### <a name='image_stripes__examples'></a> Examples
<table>
<tr><th>aktive image stripes width 128 height 128
<br> </th></tr>
<tr><td valign='top'><img src='example-00234.gif' alt='aktive image stripes width 128 height 128' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
<table>
<tr><th>aktive image stripes width 128 height 128 black 16 white 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00235.gif' alt='aktive image stripes width 128 height 128 black 16 white 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
<table>
<tr><th>aktive image stripes width 128 height 128 black 16 white 32 offset 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00236.gif' alt='aktive image stripes width 128 height 128 black 16 white 32 offset 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_vbar'></a> aktive image vbar
Syntax: __aktive image vbar__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a vertical bar. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Radius of the vertical bar.|
|width|uint|0|Width of the element. Default 0. Has to be less or equal to the radius.|
#### <a name='image_vbar__examples'></a> Examples
<table>
<tr><th>aktive image vbar radius 32 width 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00285.gif' alt='aktive image vbar radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_xcross'></a> aktive image xcross
Syntax: __aktive image xcross__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=34&name=etc/generator/virtual/pattern/selements.tcl)]
Returns square single-band image containing a diagonal cross. The image has size `2*radius + 1` squared.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Radius of the diagonal cross.|
|width|uint|0|Width of the element. Default 0. Has to be less or equal to the radius.|
#### <a name='image_xcross__examples'></a> Examples
<table>
<tr><th>aktive image xcross radius 32 width 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00286.gif' alt='aktive image xcross radius 32 width 8' style='border:4px solid gold'>
<br>geometry(0 0 65 65 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_zone'></a> aktive image zone
Syntax: __aktive image zone__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/pattern/zone.tcl)]
Returns image containing a zone plate test pattern.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|width|uint||Width of the returned image|
|height|uint||Height of the returned image|
#### <a name='image_zone__examples'></a> Examples
<table>
<tr><th>aktive image zone width 256 height 256
<br> </th></tr>
<tr><td valign='top'><img src='example-00287.gif' alt='aktive image zone width 256 height 256' style='border:4px solid gold'>
<br>geometry(0 0 256 256 1)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual drawing | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual drawing ## <anchor='top'> Table Of Contents - [generator virtual](generator_virtual.md) ↗ ### Operators - [aktive image draw box](#image_draw_box) - [aktive image draw box-rounded](#image_draw_box_rounded) - [aktive image draw circle](#image_draw_circle) - [aktive image draw circles](#image_draw_circles) - [aktive image draw line](#image_draw_line) - [aktive image draw parallelogram](#image_draw_parallelogram) - [aktive image draw polyline](#image_draw_polyline) - [aktive image draw rhombus](#image_draw_rhombus) - [aktive image draw triangle](#image_draw_triangle) ## Operators --- ### [↑](#top) <a name='image_draw_box'></a> aktive image draw box Syntax: __aktive image draw box__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)] Returns an image with the given dimensions and location, with a box drawn into it. Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain. |
| ︙ | ︙ | |||
77 78 79 80 81 82 83 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00057.gif' alt='aktive image draw box center {64 64} width 128 height 128 ewidth 32 eheight 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00057.gif' alt='aktive image draw box center {64 64} width 128 height 128 ewidth 32 eheight 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_box_rounded'></a> aktive image draw box-rounded
Syntax: __aktive image draw box-rounded__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a box drawn into it.
Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain.
|
| ︙ | ︙ | |||
134 135 136 137 138 139 140 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00060.gif' alt='aktive image draw box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00060.gif' alt='aktive image draw box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_circle'></a> aktive image draw circle
Syntax: __aktive image draw circle__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a circle drawn into it.
Beware, the location and size of the circle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a circle located completely outside of the image domain.
|
| ︙ | ︙ | |||
184 185 186 187 188 189 190 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00063.gif' alt='aktive image draw circle center {64 64} width 128 height 128 radius 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00063.gif' alt='aktive image draw circle center {64 64} width 128 height 128 radius 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_circles'></a> aktive image draw circles
Syntax: __aktive image draw circles__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a set of circles drawn into it.
Beware, the location and size of the set of circles are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of circles located completely outside of the image domain.
|
| ︙ | ︙ | |||
234 235 236 237 238 239 240 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00066.gif' alt='aktive image draw circles width 128 height 128 radius 8 antialiased 0 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00066.gif' alt='aktive image draw circles width 128 height 128 radius 8 antialiased 0 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_line'></a> aktive image draw line
Syntax: __aktive image draw line__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a line drawn into it.
Beware, the location and size of the line are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a line located completely outside of the image domain.
|
| ︙ | ︙ | |||
284 285 286 287 288 289 290 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00069.gif' alt='aktive image draw line width 128 height 128 from {10 10} to {30 80} antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00069.gif' alt='aktive image draw line width 128 height 128 from {10 10} to {30 80} antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_parallelogram'></a> aktive image draw parallelogram
Syntax: __aktive image draw parallelogram__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a parallelogram drawn into it.
Beware, the location and size of the parallelogram are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a parallelogram located completely outside of the image domain.
|
| ︙ | ︙ | |||
336 337 338 339 340 341 342 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00072.gif' alt='aktive image draw parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00072.gif' alt='aktive image draw parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_polyline'></a> aktive image draw polyline
Syntax: __aktive image draw polyline__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a set of lines drawn into it.
Beware, the location and size of the set of lines are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of lines located completely outside of the image domain.
|
| ︙ | ︙ | |||
385 386 387 388 389 390 391 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00075.gif' alt='aktive image draw polyline width 128 height 128 antialiased 0 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00075.gif' alt='aktive image draw polyline width 128 height 128 antialiased 0 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_rhombus'></a> aktive image draw rhombus
Syntax: __aktive image draw rhombus__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a rhombus drawn into it.
Beware, the location and size of the rhombus are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a rhombus located completely outside of the image domain.
|
| ︙ | ︙ | |||
436 437 438 439 440 441 442 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00078.gif' alt='aktive image draw rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 |
<br> </th></tr>
<tr><td valign='top'><img src='example-00078.gif' alt='aktive image draw rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32 antialiased 0' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_draw_triangle'></a> aktive image draw triangle
Syntax: __aktive image draw triangle__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/generator/virtual/draw.tcl)]
Returns an image with the given dimensions and location, with a triangle drawn into it.
Beware, the location and size of the triangle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a triangle located completely outside of the image domain.
|
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual sdf | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual sdf ## <anchor='top'> Table Of Contents - [generator virtual](generator_virtual.md) ↗ ### Operators - [aktive image sdf box](#image_sdf_box) - [aktive image sdf box-rounded](#image_sdf_box_rounded) - [aktive image sdf circle](#image_sdf_circle) - [aktive image sdf circles](#image_sdf_circles) - [aktive image sdf line](#image_sdf_line) - [aktive image sdf parallelogram](#image_sdf_parallelogram) - [aktive image sdf polyline](#image_sdf_polyline) - [aktive image sdf rhombus](#image_sdf_rhombus) - [aktive image sdf triangle](#image_sdf_triangle) ## Operators --- ### [↑](#top) <a name='image_sdf_box'></a> aktive image sdf box Syntax: __aktive image sdf box__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)] Returns an image with the given dimensions and location, containing the signed distance field of a box. Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain. |
| ︙ | ︙ | |||
53 54 55 56 57 58 59 |
|center|point||Element center|
#### <a name='image_sdf_box__examples'></a> Examples
<table>
<tr><th>aktive image sdf box center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
| | | | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
|center|point||Element center|
#### <a name='image_sdf_box__examples'></a> Examples
<table>
<tr><th>aktive image sdf box center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00202.gif' alt='aktive image sdf box center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00203.gif' alt='aktive image sdf box center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00204.gif' alt='aktive image sdf box center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_box_rounded'></a> aktive image sdf box-rounded
Syntax: __aktive image sdf box-rounded__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a box.
Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain.
|
| ︙ | ︙ | |||
94 95 96 97 98 99 100 |
|center|point||Element center|
#### <a name='image_sdf_box_rounded__examples'></a> Examples
<table>
<tr><th>aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
| | | | | | | | | 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 |
|center|point||Element center|
#### <a name='image_sdf_box_rounded__examples'></a> Examples
<table>
<tr><th>aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00205.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00206.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00207.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00208.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00209.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00210.gif' alt='aktive image sdf box-rounded center {64 64} width 128 height 128 ewidth 32 eheight 32 upleftradius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_circle'></a> aktive image sdf circle
Syntax: __aktive image sdf circle__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a circle.
Beware, the location and size of the circle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a circle located completely outside of the image domain.
|
| ︙ | ︙ | |||
137 138 139 140 141 142 143 |
|center|point||Element center|
#### <a name='image_sdf_circle__examples'></a> Examples
<table>
<tr><th>aktive image sdf circle center {64 64} width 128 height 128 radius 32
<br> </th></tr>
| | | | | | 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 |
|center|point||Element center|
#### <a name='image_sdf_circle__examples'></a> Examples
<table>
<tr><th>aktive image sdf circle center {64 64} width 128 height 128 radius 32
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00211.gif' alt='aktive image sdf circle center {64 64} width 128 height 128 radius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00212.gif' alt='aktive image sdf circle center {64 64} width 128 height 128 radius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00213.gif' alt='aktive image sdf circle center {64 64} width 128 height 128 radius 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_circles'></a> aktive image sdf circles
Syntax: __aktive image sdf circles__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a set of circles.
Beware, the location and size of the set of circles are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of circles located completely outside of the image domain.
|
| ︙ | ︙ | |||
171 172 173 174 175 176 177 |
|centers|point...||Circle centers|
#### <a name='image_sdf_circles__examples'></a> Examples
<table>
<tr><th>aktive image sdf circles width 128 height 128 radius 8 centers {10 10} {30 80} {80 30}
<br> </th></tr>
| | | | | | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 |
|centers|point...||Circle centers|
#### <a name='image_sdf_circles__examples'></a> Examples
<table>
<tr><th>aktive image sdf circles width 128 height 128 radius 8 centers {10 10} {30 80} {80 30}
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00214.gif' alt='aktive image sdf circles width 128 height 128 radius 8 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00215.gif' alt='aktive image sdf circles width 128 height 128 radius 8 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00216.gif' alt='aktive image sdf circles width 128 height 128 radius 8 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_line'></a> aktive image sdf line
Syntax: __aktive image sdf line__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a line.
Beware, the location and size of the line are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a line located completely outside of the image domain.
|
| ︙ | ︙ | |||
205 206 207 208 209 210 211 |
|to|point||End location|
#### <a name='image_sdf_line__examples'></a> Examples
<table>
<tr><th>aktive image sdf line width 128 height 128 from {10 10} to {30 80}
<br> </th></tr>
| | | | | | 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 |
|to|point||End location|
#### <a name='image_sdf_line__examples'></a> Examples
<table>
<tr><th>aktive image sdf line width 128 height 128 from {10 10} to {30 80}
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00217.gif' alt='aktive image sdf line width 128 height 128 from {10 10} to {30 80}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00218.gif' alt='aktive image sdf line width 128 height 128 from {10 10} to {30 80}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00219.gif' alt='aktive image sdf line width 128 height 128 from {10 10} to {30 80}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_parallelogram'></a> aktive image sdf parallelogram
Syntax: __aktive image sdf parallelogram__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a parallelogram.
Beware, the location and size of the parallelogram are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a parallelogram located completely outside of the image domain.
|
| ︙ | ︙ | |||
241 242 243 244 245 246 247 |
|center|point||Element center|
#### <a name='image_sdf_parallelogram__examples'></a> Examples
<table>
<tr><th>aktive image sdf parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8
<br> </th></tr>
| | | | | | 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
|center|point||Element center|
#### <a name='image_sdf_parallelogram__examples'></a> Examples
<table>
<tr><th>aktive image sdf parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00220.gif' alt='aktive image sdf parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00221.gif' alt='aktive image sdf parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00222.gif' alt='aktive image sdf parallelogram center {64 64} width 128 height 128 ewidth 32 eheight 32 eskew 8' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_polyline'></a> aktive image sdf polyline
Syntax: __aktive image sdf polyline__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a set of lines.
Beware, the location and size of the set of lines are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of lines located completely outside of the image domain.
|
| ︙ | ︙ | |||
274 275 276 277 278 279 280 |
|points|point...||Points of the poly-line|
#### <a name='image_sdf_polyline__examples'></a> Examples
<table>
<tr><th>aktive image sdf polyline width 128 height 128 points {10 10} {30 80} {80 30}
<br> </th></tr>
| | | | | | 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 |
|points|point...||Points of the poly-line|
#### <a name='image_sdf_polyline__examples'></a> Examples
<table>
<tr><th>aktive image sdf polyline width 128 height 128 points {10 10} {30 80} {80 30}
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00223.gif' alt='aktive image sdf polyline width 128 height 128 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00224.gif' alt='aktive image sdf polyline width 128 height 128 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00225.gif' alt='aktive image sdf polyline width 128 height 128 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_rhombus'></a> aktive image sdf rhombus
Syntax: __aktive image sdf rhombus__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a rhombus.
Beware, the location and size of the rhombus are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a rhombus located completely outside of the image domain.
|
| ︙ | ︙ | |||
309 310 311 312 313 314 315 |
|center|point||Element center|
#### <a name='image_sdf_rhombus__examples'></a> Examples
<table>
<tr><th>aktive image sdf rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
| | | | | | 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 |
|center|point||Element center|
#### <a name='image_sdf_rhombus__examples'></a> Examples
<table>
<tr><th>aktive image sdf rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00226.gif' alt='aktive image sdf rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00227.gif' alt='aktive image sdf rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00228.gif' alt='aktive image sdf rhombus center {64 64} width 128 height 128 ewidth 32 eheight 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='image_sdf_triangle'></a> aktive image sdf triangle
Syntax: __aktive image sdf triangle__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=75&name=etc/generator/virtual/sdf.tcl)]
Returns an image with the given dimensions and location, containing the signed distance field of a triangle.
Beware, the location and size of the triangle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a triangle located completely outside of the image domain.
|
| ︙ | ︙ | |||
344 345 346 347 348 349 350 |
|c|point||Triangle point C|
#### <a name='image_sdf_triangle__examples'></a> Examples
<table>
<tr><th>aktive image sdf triangle width 128 height 128 a {10 10} b {30 80} c {80 30}
<br> </th></tr>
| | | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 |
|c|point||Triangle point C|
#### <a name='image_sdf_triangle__examples'></a> Examples
<table>
<tr><th>aktive image sdf triangle width 128 height 128 a {10 10} b {30 80} c {80 30}
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00229.gif' alt='aktive image sdf triangle width 128 height 128 a {10 10} b {30 80} c {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00230.gif' alt='aktive image sdf triangle width 128 height 128 a {10 10} b {30 80} c {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00231.gif' alt='aktive image sdf triangle width 128 height 128 a {10 10} b {30 80} c {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual warp | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- generator virtual warp ## <anchor='top'> Table Of Contents - [generator virtual](generator_virtual.md) ↗ ### Operators - [aktive transform affine](#transform_affine) |
| ︙ | ︙ | |||
38 39 40 41 42 43 44 | - [aktive warp noise gauss](#warp_noise_gauss) - [aktive warp noise uniform](#warp_noise_uniform) - [aktive warp swirl](#warp_swirl) ## Operators --- | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | - [aktive warp noise gauss](#warp_noise_gauss) - [aktive warp noise uniform](#warp_noise_uniform) - [aktive warp swirl](#warp_swirl) ## Operators --- ### [↑](#top) <a name='transform_affine'></a> aktive transform affine Syntax: __aktive transform affine__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=686&name=etc/generator/virtual/warp.tcl)] Returns a single-band 3x3 image holding the affine transformation specifed by the 6 parameters a to f. The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix) |
| ︙ | ︙ | |||
65 66 67 68 69 70 71 |
<tr><th>aktive transform affine a 1 b 2 c 3 d 4 e 5 f 6
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>0</td><td>0</td><td>1</td></tr></table></td></tr>
</table>
---
| | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
<tr><th>aktive transform affine a 1 b 2 c 3 d 4 e 5 f 6
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>0</td><td>0</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_compose'></a> aktive transform compose
Syntax: __aktive transform compose__ srcs... [[→ definition](../../../../file?ci=trunk&ln=155&name=etc/generator/virtual/warp.tcl)]
Takes any number of 3x3 projective transformation matrices and returns their composition.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
95 96 97 98 99 100 101 |
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>-5.7071</td></tr><tr><td>0.7071</td><td>0.7071</td><td>1.7782</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 |
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>-5.7071</td></tr><tr><td>0.7071</td><td>0.7071</td><td>1.7782</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_compose_core'></a> aktive transform compose-core
Syntax: __aktive transform compose-core__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=183&name=etc/generator/virtual/warp.tcl)]
Takes two 3x3 projective transformation matrices and returns their composition.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
134 135 136 137 138 139 140 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>5.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | | | | 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>5.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_domain'></a> aktive transform domain
Syntax: __aktive transform domain__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=42&name=etc/generator/virtual/warp.tcl)]
Returns the domain generated by applying the transformation (`src0`) to the domain of the image (`src1`). The domain is returned in the same form at as generated by [aktive query domain](accessor_geometry.md#query_domain), i.e. a 4-element Tcl list in the format __{x y w h}__.
Fractions are rounded to integers such that the actual domain is kept enclosed.
This operator is __strict__ in the 1st input. The projective matrix is materialized for the calculation of the domain.
#### <a name='transform_domain__examples'></a> Examples
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(rotate by 30)</th>
<th>aktive transform domain @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00712.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>0.8660</td><td>-0.5000</td><td>0.0000</td></tr><tr><td>0.5000</td><td>0.8660</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'> -124 0 454 407</td></tr>
</table>
---
### [↑](#top) <a name='transform_identity'></a> aktive transform identity
Syntax: __aktive transform identity__ [[→ definition](../../../../file?ci=trunk&ln=220&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image containing the identity transform.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
#### <a name='transform_identity__examples'></a> Examples
<table>
<tr><th>aktive transform identity
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_invert'></a> aktive transform invert
Syntax: __aktive transform invert__ src [[→ definition](../../../../file?ci=trunk&ln=124&name=etc/generator/virtual/warp.tcl)]
Takes a single 3x3 projective transformation matrix and returns the matrix of the inverted transformation. This is used to turn forward into backward transformations, and vice versa.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
217 218 219 220 221 222 223 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>-5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>-6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>5.0000</td></tr><tr><td>-0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>-5.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>-6.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>5.0000</td></tr><tr><td>-0.0000</td><td>1.0000</td><td>6.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_point'></a> aktive transform point
Syntax: __aktive transform point__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/generator/virtual/warp.tcl)]
Returns the point generated by the application of the transformation to the input point.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
267 268 269 270 271 272 273 |
<td valign='top'> 7.000000000000001 1.0000000000000004</td>
<td valign='top'> 8.000000000000002 7.000000000000002</td>
<td valign='top'> 1.0000000000000004 7.000000000000002</td></tr>
</table>
---
| | | 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 |
<td valign='top'> 7.000000000000001 1.0000000000000004</td>
<td valign='top'> 8.000000000000002 7.000000000000002</td>
<td valign='top'> 1.0000000000000004 7.000000000000002</td></tr>
</table>
---
### [↑](#top) <a name='transform_projective'></a> aktive transform projective
Syntax: __aktive transform projective__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=714&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image holding the projective transformation specifed by the 8 parameters a to h.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
296 297 298 299 300 301 302 |
<tr><th>aktive transform projective a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>8</td><td>1</td></tr></table></td></tr>
</table>
---
| | | 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 |
<tr><th>aktive transform projective a 1 b 2 c 3 d 4 e 5 f 6 g 7 h 8
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>8</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_quad_2quad'></a> aktive transform quad 2quad
Syntax: __aktive transform quad 2quad__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=501&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image transforming the specified quadrilateral A to the second quadrilateral B.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
417 418 419 420 421 422 423 |
<td valign='top'> 100.0 125.0</td>
<td valign='top'> 210.00000000000003 80.0</td>
<td valign='top'> 190.0 10.0</td></tr>
</table>
---
| | | 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 |
<td valign='top'> 100.0 125.0</td>
<td valign='top'> 210.00000000000003 80.0</td>
<td valign='top'> 190.0 10.0</td></tr>
</table>
---
### [↑](#top) <a name='transform_quad_unit2'></a> aktive transform quad unit2
Syntax: __aktive transform quad unit2__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=390&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image transforming the unit square to the specified quadrilateral.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
476 477 478 479 480 481 482 |
<tr><td valign='top'><table><tr><td>5.0000</td><td>1.0000</td><td>1.0000</td></tr><tr><td>-1.0000</td><td>5.0000</td><td>2.0000</td></tr><tr><td>-0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.1923</td><td>-0.0385</td><td>-0.1154</td></tr><tr><td>0.0385</td><td>0.1923</td><td>-0.4231</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 |
<tr><td valign='top'><table><tr><td>5.0000</td><td>1.0000</td><td>1.0000</td></tr><tr><td>-1.0000</td><td>5.0000</td><td>2.0000</td></tr><tr><td>-0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.1923</td><td>-0.0385</td><td>-0.1154</td></tr><tr><td>0.0385</td><td>0.1923</td><td>-0.4231</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_reflect_line'></a> aktive transform reflect line
Syntax: __aktive transform reflect line__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=626&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a reflection along either the line through point A and the origin, or the line through points A and B.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
529 530 531 532 533 534 535 |
<tr><td valign='top'><table><tr><td>0.3243</td><td>0.9459</td><td>0.5405</td></tr><tr><td>0.9459</td><td>-0.3243</td><td>-0.7568</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.3243</td><td>0.9459</td><td>0.5405</td></tr><tr><td>0.9459</td><td>-0.3243</td><td>-0.7568</td></tr><tr><td>-0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 |
<tr><td valign='top'><table><tr><td>0.3243</td><td>0.9459</td><td>0.5405</td></tr><tr><td>0.9459</td><td>-0.3243</td><td>-0.7568</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.3243</td><td>0.9459</td><td>0.5405</td></tr><tr><td>0.9459</td><td>-0.3243</td><td>-0.7568</td></tr><tr><td>-0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_reflect_x'></a> aktive transform reflect x
Syntax: __aktive transform reflect x__ [[→ definition](../../../../file?ci=trunk&ln=576&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a reflection along the x-axis.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
562 563 564 565 566 567 568 |
<tr><td valign='top'><table><tr><td>-1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>-1.0000</td><td>0.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>-0.0000</td></tr><tr><td>-0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 |
<tr><td valign='top'><table><tr><td>-1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>-1.0000</td><td>0.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>-0.0000</td></tr><tr><td>-0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_reflect_y'></a> aktive transform reflect y
Syntax: __aktive transform reflect y__ [[→ definition](../../../../file?ci=trunk&ln=601&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a reflection along the y-axis.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
595 596 597 598 599 600 601 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>-1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-1.0000</td><td>0.0000</td></tr><tr><td>-0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>-1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-1.0000</td><td>0.0000</td></tr><tr><td>-0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_rotate'></a> aktive transform rotate
Syntax: __aktive transform rotate__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=349&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a rotation around the coordinate origin, by the given angle (in degrees).
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
630 631 632 633 634 635 636 |
<tr><td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>0.7071</td><td>-0.0000</td></tr><tr><td>-0.7071</td><td>0.7071</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 |
<tr><td valign='top'><table><tr><td>0.7071</td><td>-0.7071</td><td>0.0000</td></tr><tr><td>0.7071</td><td>0.7071</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.7071</td><td>0.7071</td><td>-0.0000</td></tr><tr><td>-0.7071</td><td>0.7071</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_scale'></a> aktive transform scale
Syntax: __aktive transform scale__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=240&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a scaling by x- and y factors.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
665 666 667 668 669 670 671 |
<tr><td valign='top'><table><tr><td>3.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.5000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.3333</td><td>-0.0000</td><td>0.0000</td></tr><tr><td>-0.0000</td><td>2.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 |
<tr><td valign='top'><table><tr><td>3.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.5000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>0.3333</td><td>-0.0000</td><td>0.0000</td></tr><tr><td>-0.0000</td><td>2.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_shear'></a> aktive transform shear
Syntax: __aktive transform shear__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=296&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a shearing along the axes. When both X and Y angles are specified the result will shear X first, then shear Y.
__Beware__ that angles at +/- 90 degrees are poles of infinity.
|
| ︙ | ︙ | |||
714 715 716 717 718 719 720 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0875</td><td>0.0000</td></tr><tr><td>0.0524</td><td>1.0046</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0046</td><td>-0.0875</td><td>0.0000</td></tr><tr><td>-0.0524</td><td>1.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0875</td><td>0.0000</td></tr><tr><td>0.0524</td><td>1.0046</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0046</td><td>-0.0875</td><td>0.0000</td></tr><tr><td>-0.0524</td><td>1.0000</td><td>-0.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='transform_translate'></a> aktive transform translate
Syntax: __aktive transform translate__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=268&name=etc/generator/virtual/warp.tcl)]
Returns a single-band 3x3 image specifying a translation by x- and y offsets.
The result is suitable for use with [aktive warp matrix](generator_virtual_warp.md#warp_matrix)
|
| ︙ | ︙ | |||
749 750 751 752 753 754 755 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>3.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>1.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>-3.0000</td></tr><tr><td>-0.0000</td><td>1.0000</td><td>-1.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
| | | 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 |
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>3.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>1.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>-0.0000</td><td>-3.0000</td></tr><tr><td>-0.0000</td><td>1.0000</td><td>-1.0000</td></tr><tr><td>0.0000</td><td>-0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='warp_matrix'></a> aktive warp matrix
Syntax: __aktive warp matrix__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/warp/matrix.tcl)]
Returns the origin map for the projective transformation specified by the 3x3x1 matrix (`src`) applied to an image of the given geometry and location.
__Attention__. As a origin map declares origin positions for output pixels the matrix has to specify a __backward transformation__.
|
| ︙ | ︙ | |||
796 797 798 799 800 801 802 |
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0875</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>(0.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(2.0000, 0.0000)</td><td>(3.0000, 0.0000)</td><td>(4.0000, 0.0000)</td></tr><tr><td>(0.0875, 1.0000)</td><td>(1.0875, 1.0000)</td><td>(2.0875, 1.0000)</td><td>(3.0875, 1.0000)</td><td>(4.0875, 1.0000)</td></tr><tr><td>(0.1750, 2.0000)</td><td>(1.1750, 2.0000)</td><td>(2.1750, 2.0000)</td><td>(3.1750, 2.0000)</td><td>(4.1750, 2.0000)</td></tr><tr><td>(0.2625, 3.0000)</td><td>(1.2625, 3.0000)</td><td>(2.2625, 3.0000)</td><td>(3.2625, 3.0000)</td><td>(4.2625, 3.0000)</td></tr><tr><td>(0.3500, 4.0000)</td><td>(1.3500, 4.0000)</td><td>(2.3500, 4.0000)</td><td>(3.3500, 4.0000)</td><td>(4.3500, 4.0000)</td></tr></table></td></tr>
</table>
---
| | | 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 |
<br> </th></tr>
<tr><td valign='top'><table><tr><td>1.0000</td><td>0.0875</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td>(0.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(2.0000, 0.0000)</td><td>(3.0000, 0.0000)</td><td>(4.0000, 0.0000)</td></tr><tr><td>(0.0875, 1.0000)</td><td>(1.0875, 1.0000)</td><td>(2.0875, 1.0000)</td><td>(3.0875, 1.0000)</td><td>(4.0875, 1.0000)</td></tr><tr><td>(0.1750, 2.0000)</td><td>(1.1750, 2.0000)</td><td>(2.1750, 2.0000)</td><td>(3.1750, 2.0000)</td><td>(4.1750, 2.0000)</td></tr><tr><td>(0.2625, 3.0000)</td><td>(1.2625, 3.0000)</td><td>(2.2625, 3.0000)</td><td>(3.2625, 3.0000)</td><td>(4.2625, 3.0000)</td></tr><tr><td>(0.3500, 4.0000)</td><td>(1.3500, 4.0000)</td><td>(2.3500, 4.0000)</td><td>(3.3500, 4.0000)</td><td>(4.3500, 4.0000)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='warp_noise_gauss'></a> aktive warp noise gauss
Syntax: __aktive warp noise gauss__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=42&name=etc/generator/virtual/warp/noise.tcl)]
Returns a origin map derived from the identity map by application of gaussian noise as displacement values.
The result is designed to be usable with the [aktive op warp bicubic](transform_structure_warp.md#op_warp_bicubic) operation and its relatives.
|
| ︙ | ︙ | |||
826 827 828 829 830 831 832 |
<tr><th>aktive warp noise gauss width 5 height 5 seed 703011174
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(-2.0121, 1.5892)</td><td>(1.3499, 0.2499)</td><td>(2.7147, -0.1152)</td><td>(3.8782, -1.6135)</td><td>(5.1449, 0.2902)</td></tr><tr><td>(-0.6889, 2.2202)</td><td>(2.3416, -0.5845)</td><td>(1.2220, -0.3694)</td><td>(3.6195, 0.7493)</td><td>(4.7044, 0.2976)</td></tr><tr><td>(0.0954, 2.3508)</td><td>(-1.0648, 0.3407)</td><td>(1.7567, 1.7429)</td><td>(4.3928, 0.8721)</td><td>(3.1299, 2.1653)</td></tr><tr><td>(-0.1816, 2.7917)</td><td>(0.6991, 4.0203)</td><td>(3.5031, 2.0773)</td><td>(2.9707, 1.2286)</td><td>(2.6036, 4.7599)</td></tr><tr><td>(-1.3935, 4.7155)</td><td>(-0.9779, 3.3744)</td><td>(2.9045, 3.9337)</td><td>(5.0461, 5.1393)</td><td>(5.4505, 3.5626)</td></tr></table></td></tr>
</table>
---
| | | 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 |
<tr><th>aktive warp noise gauss width 5 height 5 seed 703011174
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(-2.0121, 1.5892)</td><td>(1.3499, 0.2499)</td><td>(2.7147, -0.1152)</td><td>(3.8782, -1.6135)</td><td>(5.1449, 0.2902)</td></tr><tr><td>(-0.6889, 2.2202)</td><td>(2.3416, -0.5845)</td><td>(1.2220, -0.3694)</td><td>(3.6195, 0.7493)</td><td>(4.7044, 0.2976)</td></tr><tr><td>(0.0954, 2.3508)</td><td>(-1.0648, 0.3407)</td><td>(1.7567, 1.7429)</td><td>(4.3928, 0.8721)</td><td>(3.1299, 2.1653)</td></tr><tr><td>(-0.1816, 2.7917)</td><td>(0.6991, 4.0203)</td><td>(3.5031, 2.0773)</td><td>(2.9707, 1.2286)</td><td>(2.6036, 4.7599)</td></tr><tr><td>(-1.3935, 4.7155)</td><td>(-0.9779, 3.3744)</td><td>(2.9045, 3.9337)</td><td>(5.0461, 5.1393)</td><td>(5.4505, 3.5626)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='warp_noise_uniform'></a> aktive warp noise uniform
Syntax: __aktive warp noise uniform__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/warp/noise.tcl)]
Returns a origin map derived from the identity map by application of uniform noise as displacement values
The result is designed to be usable with the [aktive op warp bicubic](transform_structure_warp.md#op_warp_bicubic) operation and its relatives.
|
| ︙ | ︙ | |||
856 857 858 859 860 861 862 |
<tr><th>aktive warp noise uniform width 5 height 5 seed 703011174
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(0.8863, 0.8719)</td><td>(1.7793, 0.2554)</td><td>(2.4107, 0.5807)</td><td>(3.9289, 0.7495)</td><td>(4.3616, 0.7607)</td></tr><tr><td>(0.3324, 1.3431)</td><td>(1.1898, 1.9291)</td><td>(2.6310, 1.1222)</td><td>(3.3401, 1.4667)</td><td>(4.3098, 1.1832)</td></tr><tr><td>(0.5581, 2.0059)</td><td>(1.9649, 2.9972)</td><td>(2.6588, 2.9941)</td><td>(3.4623, 2.0973)</td><td>(4.0229, 2.5306)</td></tr><tr><td>(0.5197, 3.8011)</td><td>(1.9559, 3.6307)</td><td>(2.3224, 3.6220)</td><td>(3.8149, 3.1401)</td><td>(4.2486, 3.3354)</td></tr><tr><td>(0.5329, 4.0316)</td><td>(1.1691, 4.5186)</td><td>(2.8783, 4.5382)</td><td>(3.5672, 4.7050)</td><td>(4.2872, 4.0349)</td></tr></table></td></tr>
</table>
---
| | | 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 |
<tr><th>aktive warp noise uniform width 5 height 5 seed 703011174
<br> </th></tr>
<tr><td valign='top'><table><tr><td>(0.8863, 0.8719)</td><td>(1.7793, 0.2554)</td><td>(2.4107, 0.5807)</td><td>(3.9289, 0.7495)</td><td>(4.3616, 0.7607)</td></tr><tr><td>(0.3324, 1.3431)</td><td>(1.1898, 1.9291)</td><td>(2.6310, 1.1222)</td><td>(3.3401, 1.4667)</td><td>(4.3098, 1.1832)</td></tr><tr><td>(0.5581, 2.0059)</td><td>(1.9649, 2.9972)</td><td>(2.6588, 2.9941)</td><td>(3.4623, 2.0973)</td><td>(4.0229, 2.5306)</td></tr><tr><td>(0.5197, 3.8011)</td><td>(1.9559, 3.6307)</td><td>(2.3224, 3.6220)</td><td>(3.8149, 3.1401)</td><td>(4.2486, 3.3354)</td></tr><tr><td>(0.5329, 4.0316)</td><td>(1.1691, 4.5186)</td><td>(2.8783, 4.5382)</td><td>(3.5672, 4.7050)</td><td>(4.2872, 4.0349)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='warp_swirl'></a> aktive warp swirl
Syntax: __aktive warp swirl__ ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/generator/virtual/warp/swirl.tcl)]
Returns the origin map for a swirl effect around the specified __center__, with fixed rotation __phi__, a base rotation __from__, and a __decay__ factor.
The rotation angle added to a pixel is given by "__phi__ + __from__ * exp(-__radius__ * __decay__)", where __radius__ is the distance of the pixel from the __center__. A large decay reduces the swirl at shorter radii. A decay of zero disables the decay.
|
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- miscellaneous | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- miscellaneous ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ## Subsections - [miscellaneous geometry](miscellaneous_geometry.md) ↘ ### Operators - [aktive error](#error) - [aktive processors](#processors) - [aktive version](#version) ## Operators --- ### [↑](#top) <a name='error'></a> aktive error Syntax: __aktive error__ m args... [[→ definition](../../../../file?ci=trunk&ln=198&name=etc/aktive.tcl)] Throw error with message and error code. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |m|str||Human readable error message| |args|str...||Trappable error code suffix| --- ### [↑](#top) <a name='processors'></a> aktive processors Syntax: __aktive processors__ n [[→ definition](../../../../file?ci=trunk&ln=215&name=etc/aktive.tcl)] Set/Return number of processor cores available for concurrent operation. Setting the default, `0`, causes the system to query the OS for the number of available processors and use the result. Anything else limits concurrency to the defined count. __Beware__ overcommit is possible, if more processors are declared for use than actually exist. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |n|int|0|Set number of processor available for concurrent operation.| --- ### [↑](#top) <a name='version'></a> aktive version Syntax: __aktive version__ [[→ definition](../../../../file?ci=trunk&ln=208&name=etc/aktive.tcl)] Return package version number. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- miscellaneous geometry | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- miscellaneous geometry ## <anchor='top'> Table Of Contents - [miscellaneous](miscellaneous.md) ↗ ### Operators - [aktive point add](#point_add) |
| ︙ | ︙ | |||
30 31 32 33 34 35 36 | - [aktive rectangle subset](#rectangle_subset) - [aktive rectangle union](#rectangle_union) - [aktive rectangle zones](#rectangle_zones) ## Operators --- | | | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
- [aktive rectangle subset](#rectangle_subset)
- [aktive rectangle union](#rectangle_union)
- [aktive rectangle zones](#rectangle_zones)
## Operators
---
### [↑](#top) <a name='point_add'></a> aktive point add
Syntax: __aktive point add__ point delta [[→ definition](../../../../file?ci=trunk&ln=22&name=etc/other/point.tcl)]
Translate a 2D point by a specific amount given as 2D vector
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|point|point||Point to modify|
|delta|point||Point to add|
#### <a name='point_add__examples'></a> Examples
<table>
<tr><th>aktive point add {11 23} {-1 7}
<br> </th></tr>
<tr><td valign='top'> 10 30</td></tr>
</table>
---
### [↑](#top) <a name='point_box'></a> aktive point box
Syntax: __aktive point box__ points... [[→ definition](../../../../file?ci=trunk&ln=59&name=etc/other/point.tcl)]
Compute minimum axis-aligned 2D rectangle enclosing the set of 2D points
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|points|point...||Points to find the bounding box for|
#### <a name='point_box__examples'></a> Examples
<table>
<tr><th>aktive point box {11 23} {45 5} {5 45}
<br> </th></tr>
<tr><td valign='top'> 5 5 41 41</td></tr>
</table>
---
### [↑](#top) <a name='point_make'></a> aktive point make
Syntax: __aktive point make__ x y [[→ definition](../../../../file?ci=trunk&ln=6&name=etc/other/point.tcl)]
Construct a 2D point from x- and y-coordinates
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|x|int||Point location, Column|
|y|int||Point location, Row|
#### <a name='point_make__examples'></a> Examples
<table>
<tr><th>aktive point make 11 23
<br> </th></tr>
<tr><td valign='top'> 11 23</td></tr>
</table>
---
### [↑](#top) <a name='point_move'></a> aktive point move
Syntax: __aktive point move__ point dx dy [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/other/point.tcl)]
Translate a 2D point by a specific amount given as separate x- and y-deltas
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
114 115 116 117 118 119 120 |
<tr><th>aktive point move {11 23} -1 7
<br> </th></tr>
<tr><td valign='top'> 10 30</td></tr>
</table>
---
| | | 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
<tr><th>aktive point move {11 23} -1 7
<br> </th></tr>
<tr><td valign='top'> 10 30</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_empty'></a> aktive rectangle empty
Syntax: __aktive rectangle empty__ rect [[→ definition](../../../../file?ci=trunk&ln=99&name=etc/other/rectangle.tcl)]
Test a 2D rectangle for emptiness
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
140 141 142 143 144 145 146 |
<tr><th>aktive rectangle empty {11 23 0 0}
<br> </th></tr>
<tr><td valign='top'> 1</td></tr>
</table>
---
| | | 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
<tr><th>aktive rectangle empty {11 23 0 0}
<br> </th></tr>
<tr><td valign='top'> 1</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_equal'></a> aktive rectangle equal
Syntax: __aktive rectangle equal__ a b [[→ definition](../../../../file?ci=trunk&ln=70&name=etc/other/rectangle.tcl)]
Test two 2D rectangles for equality (location and dimensions)
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
167 168 169 170 171 172 173 |
<tr><th>aktive rectangle equal {11 23 30 20} {11 23 10 20}
<br> </th></tr>
<tr><td valign='top'> 0</td></tr>
</table>
---
| | | 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 |
<tr><th>aktive rectangle equal {11 23 30 20} {11 23 10 20}
<br> </th></tr>
<tr><td valign='top'> 0</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_grow'></a> aktive rectangle grow
Syntax: __aktive rectangle grow__ rect left right top bottom [[→ definition](../../../../file?ci=trunk&ln=26&name=etc/other/rectangle.tcl)]
Modify 2D rectangle by moving its 4 borders by a specific amount
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
191 192 193 194 195 196 197 |
<tr><th>aktive rectangle grow {11 23 30 20} 1 7 5 10
<br> </th></tr>
<tr><td valign='top'> 10 18 38 35</td></tr>
</table>
---
| | | | 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 |
<tr><th>aktive rectangle grow {11 23 30 20} 1 7 5 10
<br> </th></tr>
<tr><td valign='top'> 10 18 38 35</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_intersect'></a> aktive rectangle intersect
Syntax: __aktive rectangle intersect__ rects... [[→ definition](../../../../file?ci=trunk&ln=139&name=etc/other/rectangle.tcl)]
Compute the maximum axis-aligned 2D rectangle shared by all input rectangles
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|rects|rect...||Rectangles to intersect|
---
### [↑](#top) <a name='rectangle_make'></a> aktive rectangle make
Syntax: __aktive rectangle make__ x y w h [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/other/rectangle.tcl)]
Construct a 2D rectangle from x- and y-coordinates and width/height dimensions
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
225 226 227 228 229 230 231 |
<tr><th>aktive rectangle make 11 23 30 20
<br> </th></tr>
<tr><td valign='top'> 11 23 30 20</td></tr>
</table>
---
| | | 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 |
<tr><th>aktive rectangle make 11 23 30 20
<br> </th></tr>
<tr><td valign='top'> 11 23 30 20</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_move'></a> aktive rectangle move
Syntax: __aktive rectangle move__ rect dx dy [[→ definition](../../../../file?ci=trunk&ln=49&name=etc/other/rectangle.tcl)]
Translate a 2D rectangle by a specific amount given as separate x- and y-deltas
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
247 248 249 250 251 252 253 |
<tr><th>aktive rectangle move {11 23 30 20} -5 7
<br> </th></tr>
<tr><td valign='top'> 6 30 30 20</td></tr>
</table>
---
| | | 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 |
<tr><th>aktive rectangle move {11 23 30 20} -5 7
<br> </th></tr>
<tr><td valign='top'> 6 30 30 20</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_subset'></a> aktive rectangle subset
Syntax: __aktive rectangle subset__ a b [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/other/rectangle.tcl)]
Test if the first 2D rectangle is a subset of the second.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
280 281 282 283 284 285 286 |
<tr><th>aktive rectangle subset {11 23 30 20} {10 20 40 25}
<br> </th></tr>
<tr><td valign='top'> 1</td></tr>
</table>
---
| | | | 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
<tr><th>aktive rectangle subset {11 23 30 20} {10 20 40 25}
<br> </th></tr>
<tr><td valign='top'> 1</td></tr>
</table>
---
### [↑](#top) <a name='rectangle_union'></a> aktive rectangle union
Syntax: __aktive rectangle union__ rects... [[→ definition](../../../../file?ci=trunk&ln=114&name=etc/other/rectangle.tcl)]
Compute the minimum axis-aligned 2D rectangle encompassing all input rectangles
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|rects|rect...||Rectangles to union|
---
### [↑](#top) <a name='rectangle_zones'></a> aktive rectangle zones
Syntax: __aktive rectangle zones__ domain request [[→ definition](../../../../file?ci=trunk&ln=166&name=etc/other/rectangle.tcl)]
Compute a set of 2D rectangles describing the relation of the request to the domain.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|domain|rect||Area covered by image pixels|
|request|rect||Area to get the pixels for|
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink statistics | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink statistics ## <anchor='top'> Table Of Contents - [sink](sink.md) ↗ ### Operators - [aktive op compare mse](#op_compare_mse) |
| ︙ | ︙ | |||
28 29 30 31 32 33 34 | - [aktive op image sum](#op_image_sum) - [aktive op image sumsquared](#op_image_sumsquared) - [aktive op image variance](#op_image_variance) ## Operators --- | | | | | | | | | | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 | - [aktive op image sum](#op_image_sum) - [aktive op image sumsquared](#op_image_sumsquared) - [aktive op image variance](#op_image_variance) ## Operators --- ### [↑](#top) <a name='op_compare_mse'></a> aktive op compare mse Syntax: __aktive op compare mse__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/sink/compare.tcl)] Compares the two input images and returns the MSE metric for their difference This operator is __strict__ in both inputs. The computed pixels are not materialized. They are immediately used for the comparison and then discarded. --- ### [↑](#top) <a name='op_compare_rmse'></a> aktive op compare rmse Syntax: __aktive op compare rmse__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/sink/compare.tcl)] Compares the two input images and returns the RMSE metric for their difference This operator is __strict__ in both inputs. The computed pixels are not materialized. They are immediately used for the comparison and then discarded. --- ### [↑](#top) <a name='op_image_max'></a> aktive op image max Syntax: __aktive op image max__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the maximum of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_mean'></a> aktive op image mean Syntax: __aktive op image mean__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the arithmetic mean of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_mean_stddev'></a> aktive op image mean-stddev Syntax: __aktive op image mean-stddev__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=74&name=etc/sink/statistics.tcl)] Returns a 2-element list containing lower and upper bounds for the image values, based on the image's mean and a multiple of its standard deviation. This operator is __strict__ in its single input. The computed pixels are not materialized and just used for the calculation of the statistics. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |sigma|double|1.2|Interval around the mean to return.| --- ### [↑](#top) <a name='op_image_min'></a> aktive op image min Syntax: __aktive op image min__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the minimum of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_min_max'></a> aktive op image min-max Syntax: __aktive op image min-max__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=44&name=etc/sink/statistics.tcl)] Returns a 2-element list containing the min and max of the image, in this order. The results can be modified by setting lower and upper percentiles. This operator is __strict__ in its single input. The computed pixels are not materialized and just used for the for the calculation of the statistics. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |upper|double|1|Upper percentile to apply to max. Default is 100%| |lower|double|0|Lower percentile to apply to min. Default is 0%| --- ### [↑](#top) <a name='op_image_stddev'></a> aktive op image stddev Syntax: __aktive op image stddev__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the standard deviation of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_sum'></a> aktive op image sum Syntax: __aktive op image sum__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the sum of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_sumsquared'></a> aktive op image sumsquared Syntax: __aktive op image sumsquared__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the sum of the squared values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. --- ### [↑](#top) <a name='op_image_variance'></a> aktive op image variance Syntax: __aktive op image variance__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/sink/statistics.tcl)] Returns a single value, the variance of the values (across all rows, columns, and bands) This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately used for the calculation of the statistic and then discarded. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink writer | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- sink writer ## <anchor='top'> Table Of Contents - [sink](sink.md) ↗ ### Operators - [aktive format as aktive 2chan](#format_as_aktive_2chan) |
| ︙ | ︙ | |||
47 48 49 50 51 52 53 | - [aktive format as ppm text 2file](#format_as_ppm_text_2file) - [aktive format as ppm text 2string](#format_as_ppm_text_2string) - [aktive format as tcl](#format_as_tcl) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 | - [aktive format as ppm text 2file](#format_as_ppm_text_2file) - [aktive format as ppm text 2string](#format_as_ppm_text_2string) - [aktive format as tcl](#format_as_tcl) ## Operators --- ### [↑](#top) <a name='format_as_aktive_2chan'></a> aktive format as aktive 2chan Syntax: __aktive format as aktive 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/sink/aktive.tcl)] Writes image to the DST channel, serialized with the [AKTIVE](ff-aktive.md) format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the image data is written to| --- ### [↑](#top) <a name='format_as_aktive_2file'></a> aktive format as aktive 2file Syntax: __aktive format as aktive 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/aktive.tcl)] Writes image to the destination file, serialized with the [AKTIVE](ff-aktive.md) format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the image data is written to.| --- ### [↑](#top) <a name='format_as_aktive_2string'></a> aktive format as aktive 2string Syntax: __aktive format as aktive 2string__ src [[→ definition](../../../../file?ci=trunk&ln=58&name=etc/sink/aktive.tcl)] Returns byte array containing the image, serialized with the [AKTIVE](ff-aktive.md) format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_null_s_2string'></a> aktive format as null-s 2string Syntax: __aktive format as null-s 2string__ src [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/null.tcl)] Returns nothing, while triggering full pixel calculation for the input. This operator is __strict__ in its single input. The computed pixels are not materialized. They are ignored, immediately discarded. --- ### [↑](#top) <a name='format_as_null_2string'></a> aktive format as null 2string Syntax: __aktive format as null 2string__ src [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/null.tcl)] Returns nothing, while triggering full pixel calculation for the input. This operator is __strict__ in its single input. The computed pixels are not materialized. They are ignored, immediately discarded. --- ### [↑](#top) <a name='format_as_pgm_byte_2chan'></a> aktive format as pgm byte 2chan Syntax: __aktive format as pgm byte 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PGM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the pgm byte image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_byte_2file'></a> aktive format as pgm byte 2file Syntax: __aktive format as pgm byte 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PGM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the pgm byte image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_byte_2string'></a> aktive format as pgm byte 2string Syntax: __aktive format as pgm byte 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PGM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_pgm_etext_2chan'></a> aktive format as pgm etext 2chan Syntax: __aktive format as pgm etext 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PGM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the pgm etext image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_etext_2file'></a> aktive format as pgm etext 2file Syntax: __aktive format as pgm etext 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PGM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the pgm etext image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_etext_2string'></a> aktive format as pgm etext 2string Syntax: __aktive format as pgm etext 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PGM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_pgm_short_2chan'></a> aktive format as pgm short 2chan Syntax: __aktive format as pgm short 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PGM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the pgm short image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_short_2file'></a> aktive format as pgm short 2file Syntax: __aktive format as pgm short 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PGM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the pgm short image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_short_2string'></a> aktive format as pgm short 2string Syntax: __aktive format as pgm short 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PGM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_pgm_text_2chan'></a> aktive format as pgm text 2chan Syntax: __aktive format as pgm text 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PGM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the pgm text image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_text_2file'></a> aktive format as pgm text 2file Syntax: __aktive format as pgm text 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PGM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the pgm text image data is written to.| --- ### [↑](#top) <a name='format_as_pgm_text_2string'></a> aktive format as pgm text 2string Syntax: __aktive format as pgm text 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PGM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_ppm_byte_2chan'></a> aktive format as ppm byte 2chan Syntax: __aktive format as ppm byte 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PPM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the ppm byte image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_byte_2file'></a> aktive format as ppm byte 2file Syntax: __aktive format as ppm byte 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PPM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the ppm byte image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_byte_2string'></a> aktive format as ppm byte 2string Syntax: __aktive format as ppm byte 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PPM](ff-netpbm.md)'s byte format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_ppm_etext_2chan'></a> aktive format as ppm etext 2chan Syntax: __aktive format as ppm etext 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PPM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the ppm etext image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_etext_2file'></a> aktive format as ppm etext 2file Syntax: __aktive format as ppm etext 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PPM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the ppm etext image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_etext_2string'></a> aktive format as ppm etext 2string Syntax: __aktive format as ppm etext 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PPM](ff-netpbm.md)'s etext format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_ppm_short_2chan'></a> aktive format as ppm short 2chan Syntax: __aktive format as ppm short 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PPM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the ppm short image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_short_2file'></a> aktive format as ppm short 2file Syntax: __aktive format as ppm short 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PPM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the ppm short image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_short_2string'></a> aktive format as ppm short 2string Syntax: __aktive format as ppm short 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PPM](ff-netpbm.md)'s short format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_ppm_text_2chan'></a> aktive format as ppm text 2chan Syntax: __aktive format as ppm text 2chan__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=38&name=etc/sink/netpbm.tcl)] Writes image to the destination channel, serialized with [PPM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|channel||Destination channel the ppm text image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_text_2file'></a> aktive format as ppm text 2file Syntax: __aktive format as ppm text 2file__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/netpbm.tcl)] Writes image to the destination file, serialized with [PPM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels are not materialized. They are immediately saved to the destination file. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |into|str||Destination file the ppm text image data is written to.| --- ### [↑](#top) <a name='format_as_ppm_text_2string'></a> aktive format as ppm text 2string Syntax: __aktive format as ppm text 2string__ src [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/sink/netpbm.tcl)] Returns byte array containing the image, serialized with [PPM](ff-netpbm.md)'s text format. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. --- ### [↑](#top) <a name='format_as_tcl'></a> aktive format as tcl Syntax: __aktive format as tcl__ src [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/sink/astcl.tcl)] Returns string containing the image serialized into readable Tcl structures. Dictionary with flat pixel list. This operator is __strict__ in its single input. The computed pixels __are__ materialized into the returned string. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform ## <anchor='top'> Table Of Contents - [Roots](bysection.md) ↗ ## Subsections |
| ︙ | ︙ | |||
38 39 40 41 42 43 44 | - [aktive op bands recombine](#op_bands_recombine) - [aktive op view](#op_view) ## Operators --- | | | | | | | | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 |
- [aktive op bands recombine](#op_bands_recombine)
- [aktive op view](#op_view)
## Operators
---
### [↑](#top) <a name='op_bands_recombine'></a> aktive op bands recombine
Syntax: __aktive op bands recombine__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/transformer/filter/recombine.tcl)]
Returns image with the input's band information recombined through a matrix-vector multiplication.
The band values of the input pixels are the vectors which are multiplied with the matrix specified as the first image argument. The input to be processed is the second image argument.
The matrix has to be single-band and its height has to match the depth of the input. The width of the matrix becomes the depth of the result.
The location of the matrix image is ignored.
---
### [↑](#top) <a name='op_view'></a> aktive op view
Syntax: __aktive op view__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=5&name=etc/transformer/viewport.tcl)]
Returns image arbitrarily offset and sized compared to the input domain. In other words, an arbitrary rectangular view (port) into the input.
Beware, the requested area may fall __anywhere__ with respect to the input's domain. Same, inside (subset), outside, partially overlapping, etc.
This is useful to add after an application of [aktive op transform by](transform_structure_warp.md#op_transform_by), as a means of focusing on the desired part of the transformation's result.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|port|rect||The specific area to view in the plane. A rectangle of the form {x y w h}.|
#### <a name='op_view__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op view @1 port {190 125 380 250}
<br> </th></tr>
<tr><td valign='top'><img src='example-00607.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00608.gif' alt='aktive op view @1 port {190 125 380 250}' style='border:4px solid gold'>
<br>geometry(190 125 380 250 3)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op view @1 port {-190 -125 380 250}
<br> </th></tr>
<tr><td valign='top'><img src='example-00609.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00610.gif' alt='aktive op view @1 port {-190 -125 380 250}' style='border:4px solid gold'>
<br>geometry(-190 -125 380 250 3)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op view @1 port {80 80 80 80}
<br> </th></tr>
<tr><td valign='top'><img src='example-00611.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00612.gif' alt='aktive op view @1 port {80 80 80 80}' style='border:4px solid gold'>
<br>geometry(80 80 80 80 3)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform color | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform color ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op color correct greyworld global](#op_color_correct_greyworld_global) |
| ︙ | ︙ | |||
84 85 86 87 88 89 90 | - [aktive op color Yxy to scRGB](#op_color_Yxy_to_scRGB) - [aktive op color Yxy to sRGB](#op_color_Yxy_to_sRGB) - [aktive op color Yxy to XYZ](#op_color_Yxy_to_XYZ) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 |
- [aktive op color Yxy to scRGB](#op_color_Yxy_to_scRGB)
- [aktive op color Yxy to sRGB](#op_color_Yxy_to_sRGB)
- [aktive op color Yxy to XYZ](#op_color_Yxy_to_XYZ)
## Operators
---
### [↑](#top) <a name='op_color_correct_greyworld_global'></a> aktive op color correct greyworld global
Syntax: __aktive op color correct greyworld global__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/color/recast.tcl)]
Corrects a color cast in the input using a global grey world assumption and returns the result.
Accepts inputs in the `sRGB` and `scRGB` color spaces, and returns a result in the same space.
The actual correction is always done in the `scRGB` space, i.e. with linear colors.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|mean|double|{}|Use as a fixed global mean, if specified. Else use the actual global mean for the input.|
---
### [↑](#top) <a name='op_color_correct_greyworld_local'></a> aktive op color correct greyworld local
Syntax: __aktive op color correct greyworld local__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=65&name=etc/transformer/color/recast.tcl)]
Corrects a color cast in the input using a local grey world assumption and returns the result.
Accepts inputs in the `sRGB` and `scRGB` color spaces, and returns a result in the same space.
The actual correction is always done in the `scRGB` space, i.e. with linear colors.
The size of the window/tile used to compute local conditions is set by radius. The default is 10.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|10|Tile size as radius from center. Full width and height of the tile are `2*radius+1`. Default value is 10.|
|mean|double|{}|Use as a fixed xglobal mean, if specified. Else use the actual xglobal mean for the input.|
---
### [↑](#top) <a name='op_color_HSL_to_Grey'></a> aktive op color HSL to Grey
Syntax: __aktive op color HSL to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Grey colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_HSV'></a> aktive op color HSL to HSV
Syntax: __aktive op color HSL to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_Lab'></a> aktive op color HSL to Lab
Syntax: __aktive op color HSL to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Lab colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_LCh'></a> aktive op color HSL to LCh
Syntax: __aktive op color HSL to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_scRGB'></a> aktive op color HSL to scRGB
Syntax: __aktive op color HSL to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in scRGB colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_sRGB'></a> aktive op color HSL to sRGB
Syntax: __aktive op color HSL to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=90&name=etc/transformer/color/hsl-srgb.tcl)]
Returns image in sRGB colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_XYZ'></a> aktive op color HSL to XYZ
Syntax: __aktive op color HSL to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in XYZ colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSL_to_Yxy'></a> aktive op color HSL to Yxy
Syntax: __aktive op color HSL to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in HSL colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_Grey'></a> aktive op color HSV to Grey
Syntax: __aktive op color HSV to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Grey colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_HSL'></a> aktive op color HSV to HSL
Syntax: __aktive op color HSV to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_Lab'></a> aktive op color HSV to Lab
Syntax: __aktive op color HSV to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Lab colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_LCh'></a> aktive op color HSV to LCh
Syntax: __aktive op color HSV to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_scRGB'></a> aktive op color HSV to scRGB
Syntax: __aktive op color HSV to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in scRGB colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_sRGB'></a> aktive op color HSV to sRGB
Syntax: __aktive op color HSV to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=87&name=etc/transformer/color/hsv-srgb.tcl)]
Returns image in sRGB colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_XYZ'></a> aktive op color HSV to XYZ
Syntax: __aktive op color HSV to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in XYZ colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_HSV_to_Yxy'></a> aktive op color HSV to Yxy
Syntax: __aktive op color HSV to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in HSV colorspace.
---
### [↑](#top) <a name='op_color_Lab_to_Grey'></a> aktive op color Lab to Grey
Syntax: __aktive op color Lab to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=133&name=etc/transformer/color/xyz-lab.tcl)]
Returns image converted to greyscale, from input in Lab colorspace.
The gray data is just the Y channel of a conversion to XYZ colorspace. A separate operator is used to completely avoid the calculation of the unwanted XZ data.
This conversion is based on the (1,1,1) reference white.
For a different whitepoint scale the greyscale by the associated illuminant value after performing the conversion.
---
### [↑](#top) <a name='op_color_Lab_to_HSL'></a> aktive op color Lab to HSL
Syntax: __aktive op color Lab to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in Lab colorspace.
---
### [↑](#top) <a name='op_color_Lab_to_HSV'></a> aktive op color Lab to HSV
Syntax: __aktive op color Lab to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in Lab colorspace.
---
### [↑](#top) <a name='op_color_Lab_to_LCh'></a> aktive op color Lab to LCh
Syntax: __aktive op color Lab to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/color/lab-lch.tcl)]
Returns image in LCh colorspace, from input in Lab colorspace.
The H coordinate is provided in degrees.
---
### [↑](#top) <a name='op_color_Lab_to_scRGB'></a> aktive op color Lab to scRGB
Syntax: __aktive op color Lab to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in scRGB colorspace, from input in Lab colorspace.
---
### [↑](#top) <a name='op_color_Lab_to_sRGB'></a> aktive op color Lab to sRGB
Syntax: __aktive op color Lab to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in sRGB colorspace, from input in Lab colorspace.
---
### [↑](#top) <a name='op_color_Lab_to_XYZ'></a> aktive op color Lab to XYZ
Syntax: __aktive op color Lab to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/color/xyz-lab.tcl)]
Returns image in XYZ colorspace, from input in Lab colorspace.
This conversion is based on the (1,1,1) reference white.
For a different whitepoint scale the XYZ bands by the associated illuminant values after performing the conversion.
---
### [↑](#top) <a name='op_color_Lab_to_Yxy'></a> aktive op color Lab to Yxy
Syntax: __aktive op color Lab to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in Lab colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_Grey'></a> aktive op color LCh to Grey
Syntax: __aktive op color LCh to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Grey colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_HSL'></a> aktive op color LCh to HSL
Syntax: __aktive op color LCh to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_HSV'></a> aktive op color LCh to HSV
Syntax: __aktive op color LCh to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_Lab'></a> aktive op color LCh to Lab
Syntax: __aktive op color LCh to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/color/lab-lch.tcl)]
Returns image in Lab colorspace, from input in LCH colorspace.
The H coordinate is expected to be in degrees.
---
### [↑](#top) <a name='op_color_LCh_to_scRGB'></a> aktive op color LCh to scRGB
Syntax: __aktive op color LCh to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in scRGB colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_sRGB'></a> aktive op color LCh to sRGB
Syntax: __aktive op color LCh to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in sRGB colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_XYZ'></a> aktive op color LCh to XYZ
Syntax: __aktive op color LCh to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in XYZ colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_LCh_to_Yxy'></a> aktive op color LCh to Yxy
Syntax: __aktive op color LCh to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in LCh colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_Grey'></a> aktive op color scRGB to Grey
Syntax: __aktive op color scRGB to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=150&name=etc/transformer/color/scrgb-xyz.tcl)]
Returns input converted to grey scale, from input in scRGB colorspace.
The gray data is just the Y channel of a conversion to XYZ colorspace. A separate operator is used to completely avoid the calculation of the unwanted XZ data.
---
### [↑](#top) <a name='op_color_scRGB_to_HSL'></a> aktive op color scRGB to HSL
Syntax: __aktive op color scRGB to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_HSV'></a> aktive op color scRGB to HSV
Syntax: __aktive op color scRGB to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_Lab'></a> aktive op color scRGB to Lab
Syntax: __aktive op color scRGB to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Lab colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_LCh'></a> aktive op color scRGB to LCh
Syntax: __aktive op color scRGB to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_sRGB'></a> aktive op color scRGB to sRGB
Syntax: __aktive op color scRGB to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/color/srgb-scrgb.tcl)]
Returns image in sRGB colorspace, from input in scRGB colorspace. Linear light becomes (gamma) compressed light.
---
### [↑](#top) <a name='op_color_scRGB_to_XYZ'></a> aktive op color scRGB to XYZ
Syntax: __aktive op color scRGB to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/color/scrgb-xyz.tcl)]
Returns image in XYZ colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_scRGB_to_Yxy'></a> aktive op color scRGB to Yxy
Syntax: __aktive op color scRGB to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in scRGB colorspace.
---
### [↑](#top) <a name='op_color_set'></a> aktive op color set
Syntax: __aktive op color set__ src colorspace [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/color/non-core.tcl)]
Forcibly sets the colorspace attribute of the input image to the specified value
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|src|image||Input to modify|
|colorspace|str||New colorspace to assume|
---
### [↑](#top) <a name='op_color_sRGB_to_Grey'></a> aktive op color sRGB to Grey
Syntax: __aktive op color sRGB to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Grey colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_HSL'></a> aktive op color sRGB to HSL
Syntax: __aktive op color sRGB to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=13&name=etc/transformer/color/hsl-srgb.tcl)]
Returns image in HSL colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_HSV'></a> aktive op color sRGB to HSV
Syntax: __aktive op color sRGB to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=13&name=etc/transformer/color/hsv-srgb.tcl)]
Returns image in HSV colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_Lab'></a> aktive op color sRGB to Lab
Syntax: __aktive op color sRGB to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Lab colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_LCh'></a> aktive op color sRGB to LCh
Syntax: __aktive op color sRGB to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_scRGB'></a> aktive op color sRGB to scRGB
Syntax: __aktive op color sRGB to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=22&name=etc/transformer/color/srgb-scrgb.tcl)]
Returns image in scRGB colorspace, from input in sRGB colorspace. (gamma) compressed light becomes linear light.
---
### [↑](#top) <a name='op_color_sRGB_to_XYZ'></a> aktive op color sRGB to XYZ
Syntax: __aktive op color sRGB to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in XYZ colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_sRGB_to_Yxy'></a> aktive op color sRGB to Yxy
Syntax: __aktive op color sRGB to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Yxy colorspace, from input in sRGB colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_Grey'></a> aktive op color XYZ to Grey
Syntax: __aktive op color XYZ to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=136&name=etc/transformer/color/scrgb-xyz.tcl)]
Returns input converted to grey scale, from input in XYZ colorspace.
The gray data is just the Y channel of the input.
---
### [↑](#top) <a name='op_color_XYZ_to_HSL'></a> aktive op color XYZ to HSL
Syntax: __aktive op color XYZ to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_HSV'></a> aktive op color XYZ to HSV
Syntax: __aktive op color XYZ to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_Lab'></a> aktive op color XYZ to Lab
Syntax: __aktive op color XYZ to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=71&name=etc/transformer/color/xyz-lab.tcl)]
Returns image in Lab colorspace, from input in XYZ colorspace.
This conversion is based on the (1,1,1) reference white.
For a different whitepoint divide the XYZ bands by the associated illuminant values before performing the conversion.
---
### [↑](#top) <a name='op_color_XYZ_to_LCh'></a> aktive op color XYZ to LCh
Syntax: __aktive op color XYZ to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_scRGB'></a> aktive op color XYZ to scRGB
Syntax: __aktive op color XYZ to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=70&name=etc/transformer/color/scrgb-xyz.tcl)]
Returns image in scRGB colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_sRGB'></a> aktive op color XYZ to sRGB
Syntax: __aktive op color XYZ to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in sRGB colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_XYZ_to_Yxy'></a> aktive op color XYZ to Yxy
Syntax: __aktive op color XYZ to Yxy__ src [[→ definition](../../../../file?ci=trunk&ln=65&name=etc/transformer/color/xyz-yxy.tcl)]
Returns image in Yxy colorspace, from input in XYZ colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_Grey'></a> aktive op color Yxy to Grey
Syntax: __aktive op color Yxy to Grey__ src [[→ definition](../../../../file?ci=trunk&ln=126&name=etc/transformer/color/xyz-yxy.tcl)]
Returns image converted to grey scale, from input in Yxy colorspace.
The gray data is just the Y channel of a conversion to XYZ colorspace. A separate operator is used to completely avoid the calculation of the unwanted XZ data.
---
### [↑](#top) <a name='op_color_Yxy_to_HSL'></a> aktive op color Yxy to HSL
Syntax: __aktive op color Yxy to HSL__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSL colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_HSV'></a> aktive op color Yxy to HSV
Syntax: __aktive op color Yxy to HSV__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in HSV colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_Lab'></a> aktive op color Yxy to Lab
Syntax: __aktive op color Yxy to Lab__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in Lab colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_LCh'></a> aktive op color Yxy to LCh
Syntax: __aktive op color Yxy to LCh__ src [[→ definition](../../../../file?ci=trunk&ln=72&name=etc/transformer/color/non-core.tcl)]
Returns image in LCh colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_scRGB'></a> aktive op color Yxy to scRGB
Syntax: __aktive op color Yxy to scRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in scRGB colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_sRGB'></a> aktive op color Yxy to sRGB
Syntax: __aktive op color Yxy to sRGB__ src [[→ definition](../../../../file?ci=trunk&ln=96&name=etc/transformer/color/non-core.tcl)]
Returns image in sRGB colorspace, from input in Yxy colorspace.
---
### [↑](#top) <a name='op_color_Yxy_to_XYZ'></a> aktive op color Yxy to XYZ
Syntax: __aktive op color Yxy to XYZ__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/color/xyz-yxy.tcl)]
Returns image in XYZ colorspace, from input in Yxy colorspace.
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform convolution | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform convolution ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op convolve xy](#op_convolve_xy) ## Operators --- ### [↑](#top) <a name='op_convolve_xy'></a> aktive op convolve xy Syntax: __aktive op convolve xy__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=15&name=etc/transformer/filter/convolve.tcl)] Returns image of input (2nd argument) convolved with the matrix (1st argument). This operator is __strict__ in the 1st input. The convolution kernel is materialized and cached. |
| ︙ | ︙ | |||
46 47 48 49 50 51 52 |
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op convolve xy @2 @1
<br> </th></tr>
| | | | | | 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op convolve xy @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00339.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td>0.0078</td><td>0.0625</td><td>0.2188</td><td>0.4375</td><td>0.5469</td><td>0.4375</td><td>0.2188</td><td>0.0625</td><td>0.0078</td></tr></table></td>
<td valign='top'><img src='example-00341.gif' alt='aktive op convolve xy @2 @1' style='border:4px solid gold'>
<br>geometry(4 0 120 128 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op convolve xy @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00342.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td>0.0078</td></tr><tr><td>0.0625</td></tr><tr><td>0.2188</td></tr><tr><td>0.4375</td></tr><tr><td>0.5469</td></tr><tr><td>0.4375</td></tr><tr><td>0.2188</td></tr><tr><td>0.0625</td></tr><tr><td>0.0078</td></tr></table></td>
<td valign='top'><img src='example-00344.gif' alt='aktive op convolve xy @2 @1' style='border:4px solid gold'>
<br>geometry(0 4 128 120 1)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform drawing | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform drawing ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op draw box-rounded on](#op_draw_box_rounded_on) - [aktive op draw box on](#op_draw_box_on) - [aktive op draw circle on](#op_draw_circle_on) - [aktive op draw circles on](#op_draw_circles_on) - [aktive op draw line on](#op_draw_line_on) - [aktive op draw parallelogram on](#op_draw_parallelogram_on) - [aktive op draw polyline on](#op_draw_polyline_on) - [aktive op draw rhombus on](#op_draw_rhombus_on) - [aktive op draw triangle on](#op_draw_triangle_on) ## Operators --- ### [↑](#top) <a name='op_draw_box_rounded_on'></a> aktive op draw box-rounded on Syntax: __aktive op draw box-rounded on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)] Returns an image where a box is drawn on the input image. Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain. |
| ︙ | ︙ | |||
60 61 62 63 64 65 66 |
#### <a name='op_draw_box_rounded_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw box-rounded on @1 center {64 64} ewidth 32 eheight 32 upleftradius 32 outlined 1 color {1 0 0}
<br> </th></tr>
| | | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
#### <a name='op_draw_box_rounded_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw box-rounded on @1 center {64 64} ewidth 32 eheight 32 upleftradius 32 outlined 1 color {1 0 0}
<br> </th></tr>
<tr><td valign='top'><img src='example-00347.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00348.gif' alt='aktive op draw box-rounded on @1 center {64 64} ewidth 32 eheight 32 upleftradius 32 outlined 1 color {1 0 0}' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_box_on'></a> aktive op draw box on
Syntax: __aktive op draw box on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a box is drawn on the input image.
Beware, the location and size of the box are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a box located completely outside of the image domain.
|
| ︙ | ︙ | |||
96 97 98 99 100 101 102 |
#### <a name='op_draw_box_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw box on @1 center {64 64} ewidth 32 eheight 32 color {1 0 0} outlined 1
<br> </th></tr>
| | | | | 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
#### <a name='op_draw_box_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw box on @1 center {64 64} ewidth 32 eheight 32 color {1 0 0} outlined 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00349.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00350.gif' alt='aktive op draw box on @1 center {64 64} ewidth 32 eheight 32 color {1 0 0} outlined 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_circle_on'></a> aktive op draw circle on
Syntax: __aktive op draw circle on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a circle is drawn on the input image.
Beware, the location and size of the circle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a circle located completely outside of the image domain.
|
| ︙ | ︙ | |||
131 132 133 134 135 136 137 |
#### <a name='op_draw_circle_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw circle on @1 center {64 64} radius 32 color {1 0 0} outlined 1
<br> </th></tr>
| | | | | 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
#### <a name='op_draw_circle_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw circle on @1 center {64 64} radius 32 color {1 0 0} outlined 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00351.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00352.gif' alt='aktive op draw circle on @1 center {64 64} radius 32 color {1 0 0} outlined 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_circles_on'></a> aktive op draw circles on
Syntax: __aktive op draw circles on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a set of circles is drawn on the input image.
Beware, the location and size of the set of circles are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of circles located completely outside of the image domain.
|
| ︙ | ︙ | |||
166 167 168 169 170 171 172 |
#### <a name='op_draw_circles_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw circles on @1 radius 8 color {1 0 0} outlined 1 centers {10 10} {30 80} {80 30}
<br> </th></tr>
| | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
#### <a name='op_draw_circles_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw circles on @1 radius 8 color {1 0 0} outlined 1 centers {10 10} {30 80} {80 30}
<br> </th></tr>
<tr><td valign='top'><img src='example-00353.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00354.gif' alt='aktive op draw circles on @1 radius 8 color {1 0 0} outlined 1 centers {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_line_on'></a> aktive op draw line on
Syntax: __aktive op draw line on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a line is drawn on the input image.
Beware, the location and size of the line are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a line located completely outside of the image domain.
|
| ︙ | ︙ | |||
201 202 203 204 205 206 207 |
#### <a name='op_draw_line_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw line on @1 from {10 10} to {30 80} color {1 0 0} strokewidth 1
<br> </th></tr>
| | | | | 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 |
#### <a name='op_draw_line_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw line on @1 from {10 10} to {30 80} color {1 0 0} strokewidth 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00355.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00356.gif' alt='aktive op draw line on @1 from {10 10} to {30 80} color {1 0 0} strokewidth 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_parallelogram_on'></a> aktive op draw parallelogram on
Syntax: __aktive op draw parallelogram on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a parallelogram is drawn on the input image.
Beware, the location and size of the parallelogram are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a parallelogram located completely outside of the image domain.
|
| ︙ | ︙ | |||
238 239 240 241 242 243 244 |
#### <a name='op_draw_parallelogram_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw parallelogram on @1 center {64 64} ewidth 32 eheight 32 eskew 8 color {1 0 0} outlined 1
<br> </th></tr>
| | | | | 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
#### <a name='op_draw_parallelogram_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw parallelogram on @1 center {64 64} ewidth 32 eheight 32 eskew 8 color {1 0 0} outlined 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00357.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00358.gif' alt='aktive op draw parallelogram on @1 center {64 64} ewidth 32 eheight 32 eskew 8 color {1 0 0} outlined 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_polyline_on'></a> aktive op draw polyline on
Syntax: __aktive op draw polyline on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a set of lines is drawn on the input image.
Beware, the location and size of the set of lines are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a set of lines located completely outside of the image domain.
|
| ︙ | ︙ | |||
272 273 274 275 276 277 278 |
#### <a name='op_draw_polyline_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw polyline on @1 color {1 0 0} strokewidth 1 points {10 10} {30 80} {80 30}
<br> </th></tr>
| | | | | 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 |
#### <a name='op_draw_polyline_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw polyline on @1 color {1 0 0} strokewidth 1 points {10 10} {30 80} {80 30}
<br> </th></tr>
<tr><td valign='top'><img src='example-00359.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00360.gif' alt='aktive op draw polyline on @1 color {1 0 0} strokewidth 1 points {10 10} {30 80} {80 30}' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_rhombus_on'></a> aktive op draw rhombus on
Syntax: __aktive op draw rhombus on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a rhombus is drawn on the input image.
Beware, the location and size of the rhombus are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a rhombus located completely outside of the image domain.
|
| ︙ | ︙ | |||
308 309 310 311 312 313 314 |
#### <a name='op_draw_rhombus_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw rhombus on @1 center {64 64} ewidth 32 eheight 32 outlined 1 color {1 0 0} outlined 1
<br> </th></tr>
| | | | | 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 |
#### <a name='op_draw_rhombus_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw rhombus on @1 center {64 64} ewidth 32 eheight 32 outlined 1 color {1 0 0} outlined 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00361.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00362.gif' alt='aktive op draw rhombus on @1 center {64 64} ewidth 32 eheight 32 outlined 1 color {1 0 0} outlined 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_draw_triangle_on'></a> aktive op draw triangle on
Syntax: __aktive op draw triangle on__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=95&name=etc/generator/virtual/draw.tcl)]
Returns an image where a triangle is drawn on the input image.
Beware, the location and size of the triangle are independent of image location and dimensions. The operator is perfectly fine computing the SDF of a triangle located completely outside of the image domain.
|
| ︙ | ︙ | |||
344 345 346 347 348 349 350 |
#### <a name='op_draw_triangle_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw triangle on @1 a {10 10} b {30 80} c {80 30} color {1 0 0} outlined 1
<br> </th></tr>
| | | | 344 345 346 347 348 349 350 351 352 353 354 355 356 357 |
#### <a name='op_draw_triangle_on__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op draw triangle on @1 a {10 10} b {30 80} c {80 30} color {1 0 0} outlined 1
<br> </th></tr>
<tr><td valign='top'><img src='example-00363.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00364.gif' alt='aktive op draw triangle on @1 a {10 10} b {30 80} c {80 30} color {1 0 0} outlined 1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform effect | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform effect ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive effect blur](#effect_blur) - [aktive effect charcoal](#effect_charcoal) - [aktive effect emboss](#effect_emboss) - [aktive effect jitter gauss](#effect_jitter_gauss) - [aktive effect jitter uniform](#effect_jitter_uniform) - [aktive effect sharpen](#effect_sharpen) - [aktive effect sketch](#effect_sketch) - [aktive effect swirl](#effect_swirl) ## Operators --- ### [↑](#top) <a name='effect_blur'></a> aktive effect blur Syntax: __aktive effect blur__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=187&name=etc/transformer/filter/effects.tcl)] Returns blurred input, per the specified blur radius. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |
| ︙ | ︙ | |||
61 62 63 64 65 66 67 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00004.gif' alt='aktive effect blur @1 radius 16' style='border:4px solid gold'>
<br>geometry(16 0 96 128 1)</td></tr>
</table>
---
| | | 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00004.gif' alt='aktive effect blur @1 radius 16' style='border:4px solid gold'>
<br>geometry(16 0 96 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='effect_charcoal'></a> aktive effect charcoal
Syntax: __aktive effect charcoal__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=232&name=etc/transformer/filter/effects.tcl)]
Returns a grey image with a charcoal-like sketch of the sRGB input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|
| ︙ | ︙ | |||
97 98 99 100 101 102 103 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00008.gif' alt='aktive effect charcoal @1 light yes' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td></tr>
</table>
---
| | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00008.gif' alt='aktive effect charcoal @1 light yes' style='border:4px solid gold'>
<br>geometry(0 0 380 250 1)</td></tr>
</table>
---
### [↑](#top) <a name='effect_emboss'></a> aktive effect emboss
Syntax: __aktive effect emboss__ src [[→ definition](../../../../file?ci=trunk&ln=151&name=etc/transformer/filter/effects.tcl)]
Returns embossed input.
#### <a name='effect_emboss__examples'></a> Examples
|
| ︙ | ︙ | |||
119 120 121 122 123 124 125 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00010.gif' alt='aktive effect emboss @1' style='border:4px solid gold'>
<br>geometry(1 1 126 126 1)</td></tr>
</table>
---
| | | 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00010.gif' alt='aktive effect emboss @1' style='border:4px solid gold'>
<br>geometry(1 1 126 126 1)</td></tr>
</table>
---
### [↑](#top) <a name='effect_jitter_gauss'></a> aktive effect jitter gauss
Syntax: __aktive effect jitter gauss__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=109&name=etc/transformer/filter/effects.tcl)]
Returns the input with a jitter effect based on gaussian noise applied to it. Visually this looks like frosted glass.
The underlying operation is [aktive warp noise gauss](generator_virtual_warp.md#warp_noise_gauss).
|
| ︙ | ︙ | |||
171 172 173 174 175 176 177 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00016.gif' alt='aktive effect jitter gauss @1 sigma 4 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
| | | 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00016.gif' alt='aktive effect jitter gauss @1 sigma 4 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='effect_jitter_uniform'></a> aktive effect jitter uniform
Syntax: __aktive effect jitter uniform__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=67&name=etc/transformer/filter/effects.tcl)]
Returns the input with a jitter effect based on uniform noise applied to it. Visually this looks like frosted glass.
The underlying operation is [aktive warp noise uniform](generator_virtual_warp.md#warp_noise_uniform).
|
| ︙ | ︙ | |||
223 224 225 226 227 228 229 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00022.gif' alt='aktive effect jitter uniform @1 min 1 max 6 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
| | | 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 |
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00022.gif' alt='aktive effect jitter uniform @1 min 1 max 6 seed 703011174' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='effect_sharpen'></a> aktive effect sharpen
Syntax: __aktive effect sharpen__ src [[→ definition](../../../../file?ci=trunk&ln=170&name=etc/transformer/filter/effects.tcl)]
Returns sharpened input.
#### <a name='effect_sharpen__examples'></a> Examples
|
| ︙ | ︙ | |||
245 246 247 248 249 250 251 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00024.gif' alt='aktive effect sharpen @1' style='border:4px solid gold'>
<br>geometry(1 1 126 126 1)</td></tr>
</table>
---
| | | 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00024.gif' alt='aktive effect sharpen @1' style='border:4px solid gold'>
<br>geometry(1 1 126 126 1)</td></tr>
</table>
---
### [↑](#top) <a name='effect_sketch'></a> aktive effect sketch
Syntax: __aktive effect sketch__ src [[→ definition](../../../../file?ci=trunk&ln=210&name=etc/transformer/filter/effects.tcl)]
Returns image with a general sketch of the input.
#### <a name='effect_sketch__examples'></a> Examples
|
| ︙ | ︙ | |||
278 279 280 281 282 283 284 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00028.gif' alt='aktive effect sketch @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
| | | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 |
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00028.gif' alt='aktive effect sketch @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='effect_swirl'></a> aktive effect swirl
Syntax: __aktive effect swirl__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/effects.tcl)]
Returns the input with a swirling effect applied to it.
This effect applies around the specified __center__, with fixed rotation __phi__, a base rotation __from__, and a __decay__ factor.
|
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform geometry | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform geometry ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op geometry bands fold](#op_geometry_bands_fold) - [aktive op geometry bands unfold](#op_geometry_bands_unfold) ## Operators --- ### [↑](#top) <a name='op_geometry_bands_fold'></a> aktive op geometry bands fold Syntax: __aktive op geometry bands fold__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=12&name=etc/transformer/structure/band-geometry.tcl)] Returns image with the input's columns folded into bands, reducing width. The result is a (input depth * k)-band image and input width divided by k. The parameter k has to be a proper divisor of the input width. I.e. the input width divided by k leaves no remainder. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |by|uint||Folding factor. Range 2... Factor 1 is a nop-op.| --- ### [↑](#top) <a name='op_geometry_bands_unfold'></a> aktive op geometry bands unfold Syntax: __aktive op geometry bands unfold__ src [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/structure/band-geometry.tcl)] Returns image with the input's bands unfolded and making it wider. The result is a single-band image wider by input depth times. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform global histogram | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform global histogram ## <anchor='top'> Table Of Contents - [transform global](transform_global.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform global histogram equalization | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform global histogram equalization ## <anchor='top'> Table Of Contents - [transform global histogram](transform_global_histogram.md) ↗ ### Operators - [aktive op equalization global](#op_equalization_global) ## Operators --- ### [↑](#top) <a name='op_equalization_global'></a> aktive op equalization global Syntax: __aktive op equalization global__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/filter/equalization.tcl)] Returns input with equalized global histogram. The location of the input is ignored, and passed to the result. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform identity | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform identity ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op pass](#op_pass) ## Operators --- ### [↑](#top) <a name='op_pass'></a> aktive op pass Syntax: __aktive op pass__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/identity.tcl)] Returns unchanged input. This is useful for round-trip testing, to stop application of simplification rules which would otherwise eliminate or modify the chain of operations under test. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform kuwahara | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform kuwahara ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op kuwahara](#op_kuwahara) - [aktive op kuwahara-core](#op_kuwahara_core) ## Operators --- ### [↑](#top) <a name='op_kuwahara'></a> aktive op kuwahara Syntax: __aktive op kuwahara__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/filter/kuwahara.tcl)] Returns input with a Kuwahara filter applied to it. The location of the input is ignored. The image is allowed to be multi-band. For known colorspaces the core filter is applied to the luminance channel of the input. The image may be converted into and out of a colorspace with such a channel if it does not have one on its own. For images without known colorspace the last band is used as the luminance channel. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |k|uint|2|Filter radius. Actual window size is `2*k-1`. The default value is 2. This is also the minimum allowed value.| --- ### [↑](#top) <a name='op_kuwahara_core'></a> aktive op kuwahara-core Syntax: __aktive op kuwahara-core__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=101&name=etc/transformer/filter/kuwahara.tcl)] Returns input with a Kuwahara filter applied to it. The location of the input is ignored. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform location | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform location ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op location move by](#op_location_move_by) - [aktive op location move to](#op_location_move_to) ## Operators --- ### [↑](#top) <a name='op_location_move_by'></a> aktive op location move by Syntax: __aktive op location move by__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/location.tcl)] Returns image translationally shifted along the x- and y-axes by a specific amount |Parameter|Type|Default|Description| |:---|:---|:---|:---| |dx|int||Shift amount for x location of image in the plane, positive to the right, negative left| |dy|int||Shift amount for y location of image in the plane, positive downward, negative upward| --- ### [↑](#top) <a name='op_location_move_to'></a> aktive op location move to Syntax: __aktive op location move to__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/location.tcl)] Returns image translationally shifted along the x- and y-axes to a specific location |Parameter|Type|Default|Description| |:---|:---|:---|:---| |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed ## <anchor='top'> Table Of Contents - [transform lookup](transform_lookup.md) ↗ ## Subsections - [transform lookup indexed compose](transform_lookup_indexed_compose.md) ↘ - [transform lookup indexed make](transform_lookup_indexed_make.md) ↘ ### Operators - [aktive op lut indexed](#op_lut_indexed) - [aktive op lut indexed-core](#op_lut_indexed_core) ## Operators --- ### [↑](#top) <a name='op_lut_indexed'></a> aktive op lut indexed Syntax: __aktive op lut indexed__ src0 src1 ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/transformer/filter/lookup.tcl)] Map the input image (second argument) through the LUT image provided as the first arguments and return the result. This operator is __strict__ in the 1st input. The LUT to map through is materialized and cached. |
| ︙ | ︙ | |||
66 67 68 69 70 71 72 | to interpolate linearly between the values at the LUT index, and the next index. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |interpolate|bool|false|Flag to activate value interpolation mode.| --- | | | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | to interpolate linearly between the values at the LUT index, and the next index. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |interpolate|bool|false|Flag to activate value interpolation mode.| --- ### [↑](#top) <a name='op_lut_indexed_core'></a> aktive op lut indexed-core Syntax: __aktive op lut indexed-core__ src0 src1 ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=126&name=etc/transformer/filter/lookup.tcl)] Map the input image (second argument) through the LUT image provided as the first arguments and return the result. The location of the LUT image is ignored. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed compose | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed compose ## <anchor='top'> Table Of Contents - [transform lookup indexed](transform_lookup_indexed.md) ↗ ### Operators - [aktive op lut compose](#op_lut_compose) ## Operators --- ### [↑](#top) <a name='op_lut_compose'></a> aktive op lut compose Syntax: __aktive op lut compose__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/filter/lookup.tcl)] Taking two indexed LUTs A and B it returns the indexed LUT computing `res = A (B (src))`. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed make | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform lookup indexed make ## <anchor='top'> Table Of Contents - [transform lookup indexed](transform_lookup_indexed.md) ↗ ### Operators - [aktive op lut from](#op_lut_from) ## Operators --- ### [↑](#top) <a name='op_lut_from'></a> aktive op lut from Syntax: __aktive op lut from__ (param value)... [[→ definition](../../../../file?ci=trunk&ln=50&name=etc/transformer/filter/lookup.tcl)] Create a single-band indexed LUT from values |Parameter|Type|Default|Description| |:---|:---|:---|:---| |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ## Subsections - [transform math binary](transform_math_binary.md) ↘ - [transform math n-ary](transform_math_nary.md) ↘ - [transform math unary](transform_math_unary.md) ↘ ### Operators - [aktive op math linear](#op_math_linear) ## Operators --- ### [↑](#top) <a name='op_math_linear'></a> aktive op math linear Syntax: __aktive op math linear__ src0 src1 src2 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/other.tcl)] Blends first and second input under control of the third. As an equation: `result = A + T*(B-A)`. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math binary | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math binary ## <anchor='top'> Table Of Contents - [transform math](transform_math.md) ↗ ## Subsections |
| ︙ | ︙ | |||
36 37 38 39 40 41 42 | - [aktive op math pow](#op_math_pow) - [aktive op math screen](#op_math_screen) - [aktive op math sub](#op_math_sub) ## Operators --- | | | | | | | | | | | | | | | | 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 | - [aktive op math pow](#op_math_pow) - [aktive op math screen](#op_math_screen) - [aktive op math sub](#op_math_sub) ## Operators --- ### [↑](#top) <a name='op_math_atan2'></a> aktive op math atan2 Syntax: __aktive op math atan2__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'atan2(A, B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_difference'></a> aktive op math difference Syntax: __aktive op math difference__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/binary.tcl)] Returns image holding the absolute difference of the inputs. --- ### [↑](#top) <a name='op_math_div'></a> aktive op math div Syntax: __aktive op math div__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A / B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_eq'></a> aktive op math eq Syntax: __aktive op math eq__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A == B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_ge'></a> aktive op math ge Syntax: __aktive op math ge__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A >= B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_gt'></a> aktive op math gt Syntax: __aktive op math gt__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A > B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_hypot'></a> aktive op math hypot Syntax: __aktive op math hypot__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'hypot (A, B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_le'></a> aktive op math le Syntax: __aktive op math le__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A <= B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_lt'></a> aktive op math lt Syntax: __aktive op math lt__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A < B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_mod'></a> aktive op math mod Syntax: __aktive op math mod__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A % B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_ne'></a> aktive op math ne Syntax: __aktive op math ne__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A != B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_pow'></a> aktive op math pow Syntax: __aktive op math pow__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'pow (A, B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_math_screen'></a> aktive op math screen Syntax: __aktive op math screen__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=21&name=etc/transformer/math/binary.tcl)] Returns image holding the `screen` of the inputs --- ### [↑](#top) <a name='op_math_sub'></a> aktive op math sub Syntax: __aktive op math sub__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation 'A - B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math binary logical | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math binary logical ## <anchor='top'> Table Of Contents - [transform math binary](transform_math_binary.md) ↗ ### Operators - [aktive op math nand](#op_math_nand) - [aktive op math nor](#op_math_nor) ## Operators --- ### [↑](#top) <a name='op_math_nand'></a> aktive op math nand Syntax: __aktive op math nand__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation '!(A && B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. As a logical operation the inputs are trivially thresholded at 0.5. Values <= 0.5 are seen as false, else as true. --- ### [↑](#top) <a name='op_math_nor'></a> aktive op math nor Syntax: __aktive op math nor__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=47&name=etc/transformer/math/binary.tcl)] Returns image with the binary operation '!(A || B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex ## <anchor='top'> Table Of Contents - [transform math](transform_math.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex binary | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex binary ## <anchor='top'> Table Of Contents - [transform math complex](transform_math_complex.md) ↗ ### Operators - [aktive op cmath add](#op_cmath_add) - [aktive op cmath cons](#op_cmath_cons) - [aktive op cmath div](#op_cmath_div) - [aktive op cmath mul](#op_cmath_mul) - [aktive op cmath pow](#op_cmath_pow) - [aktive op cmath sub](#op_cmath_sub) ## Operators --- ### [↑](#top) <a name='op_cmath_add'></a> aktive op cmath add Syntax: __aktive op cmath add__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/complex/binary.tcl)] Returns complex-valued image with the complex-valued binary operation 'A + B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_cmath_cons'></a> aktive op cmath cons Syntax: __aktive op cmath cons__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=41&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image constructed from the 2 single-band inputs. First input becomes the real part, second the imaginary. --- ### [↑](#top) <a name='op_cmath_div'></a> aktive op cmath div Syntax: __aktive op cmath div__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/complex/binary.tcl)] Returns complex-valued image with the complex-valued binary operation 'A / B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_cmath_mul'></a> aktive op cmath mul Syntax: __aktive op cmath mul__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/complex/binary.tcl)] Returns complex-valued image with the complex-valued binary operation 'A * B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_cmath_pow'></a> aktive op cmath pow Syntax: __aktive op cmath pow__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/complex/binary.tcl)] Returns complex-valued image with the complex-valued binary operation 'pow(A, B)' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. --- ### [↑](#top) <a name='op_cmath_sub'></a> aktive op cmath sub Syntax: __aktive op cmath sub__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/math/complex/binary.tcl)] Returns complex-valued image with the complex-valued binary operation 'A - B' applied to all shared pixels of the two inputs. The result geometry is the intersection of the inputs. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex reduce | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex reduce ## <anchor='top'> Table Of Contents - [transform math complex](transform_math_complex.md) ↗ ### Operators - [aktive op cmath abs](#op_cmath_abs) - [aktive op cmath arg](#op_cmath_arg) - [aktive op cmath imaginary](#op_cmath_imaginary) - [aktive op cmath real](#op_cmath_real) - [aktive op cmath sqabs](#op_cmath_sqabs) ## Operators --- ### [↑](#top) <a name='op_cmath_abs'></a> aktive op cmath abs Syntax: __aktive op cmath abs__ src [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/math/complex/reduce.tcl)] Returns single-band image with the complex unary reduction function 'abs(I)' applied to all pixels of the complex-valued input. The result geometry is the same as the input, except for depth, which becomes 1. --- ### [↑](#top) <a name='op_cmath_arg'></a> aktive op cmath arg Syntax: __aktive op cmath arg__ src [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/math/complex/reduce.tcl)] Returns single-band image with the complex unary reduction function 'phase-angle(I)' applied to all pixels of the complex-valued input. The result geometry is the same as the input, except for depth, which becomes 1. --- ### [↑](#top) <a name='op_cmath_imaginary'></a> aktive op cmath imaginary Syntax: __aktive op cmath imaginary__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/math/complex/reduce.tcl)] Returns single-band image containing the imaginary part of the complex-valued input. --- ### [↑](#top) <a name='op_cmath_real'></a> aktive op cmath real Syntax: __aktive op cmath real__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/math/complex/reduce.tcl)] Returns single-band image containing the real part of the complex-valued input. --- ### [↑](#top) <a name='op_cmath_sqabs'></a> aktive op cmath sqabs Syntax: __aktive op cmath sqabs__ src [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/math/complex/reduce.tcl)] Returns single-band image with the complex unary reduction function 'abs^2(I)' applied to all pixels of the complex-valued input. The result geometry is the same as the input, except for depth, which becomes 1. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex unary | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math complex unary ## <anchor='top'> Table Of Contents - [transform math complex](transform_math_complex.md) ↗ ### Operators - [aktive op cmath acos](#op_cmath_acos) |
| ︙ | ︙ | |||
45 46 47 48 49 50 51 | - [aktive op cmath tanh](#op_cmath_tanh) - [aktive op cmath tocartesian](#op_cmath_tocartesian) - [aktive op cmath topolar](#op_cmath_topolar) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 | - [aktive op cmath tanh](#op_cmath_tanh) - [aktive op cmath tocartesian](#op_cmath_tocartesian) - [aktive op cmath topolar](#op_cmath_topolar) ## Operators --- ### [↑](#top) <a name='op_cmath_acos'></a> aktive op cmath acos Syntax: __aktive op cmath acos__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'acos(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_acosh'></a> aktive op cmath acosh Syntax: __aktive op cmath acosh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'acosh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_as_imaginary'></a> aktive op cmath as-imaginary Syntax: __aktive op cmath as-imaginary__ src [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image constructed from the single-band input. Input becomes the imaginary part. --- ### [↑](#top) <a name='op_cmath_as_real'></a> aktive op cmath as-real Syntax: __aktive op cmath as-real__ src [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image constructed from the single-band input. Input becomes the real part. --- ### [↑](#top) <a name='op_cmath_asin'></a> aktive op cmath asin Syntax: __aktive op cmath asin__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'asin(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_asinh'></a> aktive op cmath asinh Syntax: __aktive op cmath asinh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'asinh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_atan'></a> aktive op cmath atan Syntax: __aktive op cmath atan__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'atan(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_atanh'></a> aktive op cmath atanh Syntax: __aktive op cmath atanh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'atanh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_cbrt'></a> aktive op cmath cbrt Syntax: __aktive op cmath cbrt__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'cbrt(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_conjugate'></a> aktive op cmath conjugate Syntax: __aktive op cmath conjugate__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'conjugate(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_cos'></a> aktive op cmath cos Syntax: __aktive op cmath cos__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'cos(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_cosh'></a> aktive op cmath cosh Syntax: __aktive op cmath cosh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'cosh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_exp'></a> aktive op cmath exp Syntax: __aktive op cmath exp__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'exp(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_exp2'></a> aktive op cmath exp2 Syntax: __aktive op cmath exp2__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'exp2(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_exp10'></a> aktive op cmath exp10 Syntax: __aktive op cmath exp10__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'exp10(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_log'></a> aktive op cmath log Syntax: __aktive op cmath log__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'log(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_log2'></a> aktive op cmath log2 Syntax: __aktive op cmath log2__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'log2(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_log10'></a> aktive op cmath log10 Syntax: __aktive op cmath log10__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'log10(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_neg'></a> aktive op cmath neg Syntax: __aktive op cmath neg__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function '-I' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_reciproc'></a> aktive op cmath reciproc Syntax: __aktive op cmath reciproc__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function '1/I' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_sign'></a> aktive op cmath sign Syntax: __aktive op cmath sign__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'sign(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_sin'></a> aktive op cmath sin Syntax: __aktive op cmath sin__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'sin(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_sinh'></a> aktive op cmath sinh Syntax: __aktive op cmath sinh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'sinh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_sqrt'></a> aktive op cmath sqrt Syntax: __aktive op cmath sqrt__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'sqrt(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_tan'></a> aktive op cmath tan Syntax: __aktive op cmath tan__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'tan(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_tanh'></a> aktive op cmath tanh Syntax: __aktive op cmath tanh__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'tanh(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_tocartesian'></a> aktive op cmath tocartesian Syntax: __aktive op cmath tocartesian__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'tocartesian(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_cmath_topolar'></a> aktive op cmath topolar Syntax: __aktive op cmath topolar__ src [[→ definition](../../../../file?ci=trunk&ln=64&name=etc/transformer/math/complex/unary.tcl)] Returns complex-valued image with the complex-valued unary function 'topolar(I)' applied to all pixels of the image. The resulting image has the same geometry as the input. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math n-ary | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math n-ary ## <anchor='top'> Table Of Contents - [transform math](transform_math.md) ↗ ## Subsections - [transform math n-ary logical](transform_math_nary_logical.md) ↘ ### Operators - [aktive op math add](#op_math_add) - [aktive op math max](#op_math_max) - [aktive op math min](#op_math_min) - [aktive op math mul](#op_math_mul) ## Operators --- ### [↑](#top) <a name='op_math_add'></a> aktive op math add Syntax: __aktive op math add__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] Returns image aggregated from the application of the associative binary operation 'A + B' to all shared pixels of all the inputs. --- ### [↑](#top) <a name='op_math_max'></a> aktive op math max Syntax: __aktive op math max__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] Returns image aggregated from the application of the associative binary operation 'max(A, B)' to all shared pixels of all the inputs. --- ### [↑](#top) <a name='op_math_min'></a> aktive op math min Syntax: __aktive op math min__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] Returns image aggregated from the application of the associative binary operation 'min(A, B)' to all shared pixels of all the inputs. --- ### [↑](#top) <a name='op_math_mul'></a> aktive op math mul Syntax: __aktive op math mul__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] Returns image aggregated from the application of the associative binary operation 'A * B' to all shared pixels of all the inputs. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math n-ary logical | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math n-ary logical ## <anchor='top'> Table Of Contents - [transform math n-ary](transform_math_nary.md) ↗ ### Operators - [aktive op math and](#op_math_and) - [aktive op math or](#op_math_or) - [aktive op math xor](#op_math_xor) ## Operators --- ### [↑](#top) <a name='op_math_and'></a> aktive op math and Syntax: __aktive op math and__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] As a logical operation the inputs are trivially thresholded at 0.5. Values <= 0.5 are seen as false, else as true. Returns image aggregated from the application of the associative binary operation 'A && B' to all shared pixels of all the inputs. --- ### [↑](#top) <a name='op_math_or'></a> aktive op math or Syntax: __aktive op math or__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] As a logical operation the inputs are trivially thresholded at 0.5. Values <= 0.5 are seen as false, else as true. Returns image aggregated from the application of the associative binary operation 'A || B' to all shared pixels of all the inputs. --- ### [↑](#top) <a name='op_math_xor'></a> aktive op math xor Syntax: __aktive op math xor__ srcs... [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/math/binary.tcl)] As a logical operation the inputs are trivially thresholded at 0.5. Values <= 0.5 are seen as false, else as true. Returns image aggregated from the application of the associative binary operation 'A ^^ B' to all shared pixels of all the inputs. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math unary | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math unary ## <anchor='top'> Table Of Contents - [transform math](transform_math.md) ↗ ## Subsections |
| ︙ | ︙ | |||
88 89 90 91 92 93 94 | - [aktive op math1 tan](#op_math1_tan) - [aktive op math1 tanh](#op_math1_tanh) - [aktive op math1 wrap](#op_math1_wrap) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 | - [aktive op math1 tan](#op_math1_tan) - [aktive op math1 tanh](#op_math1_tanh) - [aktive op math1 wrap](#op_math1_wrap) ## Operators --- ### [↑](#top) <a name='op_math1_abs'></a> aktive op math1 abs Syntax: __aktive op math1 abs__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'abs(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_acos'></a> aktive op math1 acos Syntax: __aktive op math1 acos__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'acos(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_acosh'></a> aktive op math1 acosh Syntax: __aktive op math1 acosh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'acosh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_asin'></a> aktive op math1 asin Syntax: __aktive op math1 asin__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'asin(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_asinh'></a> aktive op math1 asinh Syntax: __aktive op math1 asinh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'asinh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_atan'></a> aktive op math1 atan Syntax: __aktive op math1 atan__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'atan(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_atan2'></a> aktive op math1 atan2 Syntax: __aktive op math1 atan2__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'atan2(I,x)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |x|double||Atan by scalar x| --- ### [↑](#top) <a name='op_math1_atan2b'></a> aktive op math1 atan2b Syntax: __aktive op math1 atan2b__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'atan2(y,I)' applied to all pixels of the input. The image is the first argument of the command, even if not of the function The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |y|double||Atan by scalar y| --- ### [↑](#top) <a name='op_math1_atanh'></a> aktive op math1 atanh Syntax: __aktive op math1 atanh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'atanh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_cbrt'></a> aktive op math1 cbrt Syntax: __aktive op math1 cbrt__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'cbrt(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_ceil'></a> aktive op math1 ceil Syntax: __aktive op math1 ceil__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'ceil(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_clamp'></a> aktive op math1 clamp Syntax: __aktive op math1 clamp__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'clamp(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_cos'></a> aktive op math1 cos Syntax: __aktive op math1 cos__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'cos(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_cosh'></a> aktive op math1 cosh Syntax: __aktive op math1 cosh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'cosh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_eq'></a> aktive op math1 eq Syntax: __aktive op math1 eq__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I == threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels equal to the scalar threshold| --- ### [↑](#top) <a name='op_math1_exp'></a> aktive op math1 exp Syntax: __aktive op math1 exp__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'exp(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_exp2'></a> aktive op math1 exp2 Syntax: __aktive op math1 exp2__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'exp2(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_exp10'></a> aktive op math1 exp10 Syntax: __aktive op math1 exp10__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'exp10(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_expx'></a> aktive op math1 expx Syntax: __aktive op math1 expx__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'pow(base,I)' applied to all pixels of the input. The image is the first argument of the command, even if not of the function The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |base|double||Power by scalar base| --- ### [↑](#top) <a name='op_math1_fit_mean_stddev'></a> aktive op math1 fit mean-stddev Syntax: __aktive op math1 fit mean-stddev__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=313&name=etc/transformer/math/unary.tcl)] Returns image fitted into the given range. Default range is 0..1. Each band of the image is fitted separately. The actual mean and standard deviation of the image bands are used to compute the necessary fit. BEWARE, this means that construction incurs a computation cost on the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |min|double|0|Minimum value to fit the image to.| |max|double|1|Maximum value to fit the image to.| |sigma|double|1.2|Interval around the input mean to fit into the min/max range.| --- ### [↑](#top) <a name='op_math1_fit_min_max'></a> aktive op math1 fit min-max Syntax: __aktive op math1 fit min-max__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=285&name=etc/transformer/math/unary.tcl)] Returns image fitted into the given range. Default range is 0..1. Each band of the image is fitted separately. The actual min and max values of the image bands are used to compute the necessary fit. They may be modified by the upper and lower percentiles. BEWARE, this means that construction incurs a computation cost on the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |min|double|0|Minimum value to fit the image to| |max|double|1|Maximum value to fit the image to| |upper|double|1|Upper percentile to apply to input max. Default is 100%| |lower|double|0|Lower percentile to apply to input min. Default is 0%| --- ### [↑](#top) <a name='op_math1_fit_stretch'></a> aktive op math1 fit stretch Syntax: __aktive op math1 fit stretch__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=233&name=etc/transformer/math/unary.tcl)] Returns image fitted into the given range. Default range is 0..1. Each band of the image is fitted separately. The (image statistics) method `<by>` is used to determine the range of the image band values to fit into the destination range. The method is expected to return a list of two values, the min and the max to fit, in this order. BEWARE, this means that construction incurs a computation cost on the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |min|double|0|Destination minimum value to fit the image into| |max|double|1|Destination maximum value to fit the image into| |by|str||Method computing the input min and max values to fit into the destination.| |clamp|bool|1|Force clamping into result range.| --- ### [↑](#top) <a name='op_math1_floor'></a> aktive op math1 floor Syntax: __aktive op math1 floor__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'floor(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_gamma_compress'></a> aktive op math1 gamma compress Syntax: __aktive op math1 gamma compress__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'compress(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_gamma_expand'></a> aktive op math1 gamma expand Syntax: __aktive op math1 gamma expand__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'expand(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_ge'></a> aktive op math1 ge Syntax: __aktive op math1 ge__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I >= threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels greater or equal to the scalar threshold| --- ### [↑](#top) <a name='op_math1_gt'></a> aktive op math1 gt Syntax: __aktive op math1 gt__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I > threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels greater than the scalar threshold| --- ### [↑](#top) <a name='op_math1_hypot'></a> aktive op math1 hypot Syntax: __aktive op math1 hypot__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'hypot(I,y)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |y|double||Hypot to scalar y| --- ### [↑](#top) <a name='op_math1_inside_cc'></a> aktive op math1 inside-cc Syntax: __aktive op math1 inside-cc__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the closed/closed interval given by the two boundaries applied to all pixels of the input. Values inside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower closed boundary| |high|double||Upper closed boundary| --- ### [↑](#top) <a name='op_math1_inside_co'></a> aktive op math1 inside-co Syntax: __aktive op math1 inside-co__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the closed/open interval given by the two boundaries applied to all pixels of the input. Values inside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower closed boundary| |high|double||Upper open boundary| --- ### [↑](#top) <a name='op_math1_inside_oc'></a> aktive op math1 inside-oc Syntax: __aktive op math1 inside-oc__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the open/closed interval given by the two boundaries applied to all pixels of the input. Values inside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower open boundary| |high|double||Upper closed boundary| --- ### [↑](#top) <a name='op_math1_inside_oo'></a> aktive op math1 inside-oo Syntax: __aktive op math1 inside-oo__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the open/open interval given by the two boundaries applied to all pixels of the input. Values inside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower open boundary| |high|double||Upper open boundary| --- ### [↑](#top) <a name='op_math1_invert'></a> aktive op math1 invert Syntax: __aktive op math1 invert__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function '1-I' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_le'></a> aktive op math1 le Syntax: __aktive op math1 le__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I <= threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels less or equal to the scalar threshold| --- ### [↑](#top) <a name='op_math1_linear'></a> aktive op math1 linear Syntax: __aktive op math1 linear__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=218&name=etc/transformer/math/unary.tcl)] Returns image with the linear transform `(I*scale)+gain` applied to it. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |scale|double||Input scaling factor| |gain|double||Post-scaling offset| --- ### [↑](#top) <a name='op_math1_log'></a> aktive op math1 log Syntax: __aktive op math1 log__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'log(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_log2'></a> aktive op math1 log2 Syntax: __aktive op math1 log2__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'log2(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_log10'></a> aktive op math1 log10 Syntax: __aktive op math1 log10__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'log10(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_lt'></a> aktive op math1 lt Syntax: __aktive op math1 lt__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I < threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels less than the scalar threshold| --- ### [↑](#top) <a name='op_math1_max'></a> aktive op math1 max Syntax: __aktive op math1 max__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'max(I,min)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |min|double||Limit to greater or equal a scalar min| --- ### [↑](#top) <a name='op_math1_min'></a> aktive op math1 min Syntax: __aktive op math1 min__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'min(I,max)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |max|double||Limit to less or equal a scalar max| --- ### [↑](#top) <a name='op_math1_mod'></a> aktive op math1 mod Syntax: __aktive op math1 mod__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I % modulus' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |modulus|double||Remainder by scalar modulus| --- ### [↑](#top) <a name='op_math1_modb'></a> aktive op math1 modb Syntax: __aktive op math1 modb__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'numerator % I' applied to all pixels of the input. The image is the first argument of the command, even if not of the function The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |numerator|double||Remainder by scalar numerator| --- ### [↑](#top) <a name='op_math1_ne'></a> aktive op math1 ne Syntax: __aktive op math1 ne__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I != threshold' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Indicate pixels different from the scalar threshold| --- ### [↑](#top) <a name='op_math1_neg'></a> aktive op math1 neg Syntax: __aktive op math1 neg__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function '-I' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_neg_shift'></a> aktive op math1 neg-shift Syntax: __aktive op math1 neg-shift__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'offset-I' applied to all pixels of the input. The image is the first argument of the command, even if not of the function The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |offset|double||Subtract from scalar offset| --- ### [↑](#top) <a name='op_math1_outside_cc'></a> aktive op math1 outside-cc Syntax: __aktive op math1 outside-cc__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the closed/closed interval given by the two boundaries applied to all pixels of the input. Values outside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower closed boundary| |high|double||Upper closed boundary| --- ### [↑](#top) <a name='op_math1_outside_co'></a> aktive op math1 outside-co Syntax: __aktive op math1 outside-co__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the closed/open interval given by the two boundaries applied to all pixels of the input. Values outside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower closed boundary| |high|double||Upper open boundary| --- ### [↑](#top) <a name='op_math1_outside_oc'></a> aktive op math1 outside-oc Syntax: __aktive op math1 outside-oc__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the open/closed interval given by the two boundaries applied to all pixels of the input. Values outside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower open boundary| |high|double||Upper closed boundary| --- ### [↑](#top) <a name='op_math1_outside_oo'></a> aktive op math1 outside-oo Syntax: __aktive op math1 outside-oo__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=179&name=etc/transformer/math/unary.tcl)] Returns image with the double sided thresholding against the open/open interval given by the two boundaries applied to all pixels of the input. Values outside the interval are indicated in the result. The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |low|double||Lower open boundary| |high|double||Upper open boundary| --- ### [↑](#top) <a name='op_math1_pow'></a> aktive op math1 pow Syntax: __aktive op math1 pow__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'pow(I,exponent)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |exponent|double||Power by scalar exponent| --- ### [↑](#top) <a name='op_math1_reciproc'></a> aktive op math1 reciproc Syntax: __aktive op math1 reciproc__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function '1/I' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_reciproc_scale'></a> aktive op math1 reciproc-scale Syntax: __aktive op math1 reciproc-scale__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'factor/I' applied to all pixels of the input. The image is the first argument of the command, even if not of the function The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |factor|double||Divide from scalar factor| --- ### [↑](#top) <a name='op_math1_round'></a> aktive op math1 round Syntax: __aktive op math1 round__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'round(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_scale'></a> aktive op math1 scale Syntax: __aktive op math1 scale__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I*factor' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |factor|double||Multiply by scalar factor| --- ### [↑](#top) <a name='op_math1_shift'></a> aktive op math1 shift Syntax: __aktive op math1 shift__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'I+offset' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |offset|double||Add scalar offset| --- ### [↑](#top) <a name='op_math1_sign'></a> aktive op math1 sign Syntax: __aktive op math1 sign__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'sign(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_sign*'></a> aktive op math1 sign* Syntax: __aktive op math1 sign*__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'sign*(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_sin'></a> aktive op math1 sin Syntax: __aktive op math1 sin__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'sin(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_sinh'></a> aktive op math1 sinh Syntax: __aktive op math1 sinh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'sinh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_solarize'></a> aktive op math1 solarize Syntax: __aktive op math1 solarize__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=102&name=etc/transformer/math/unary.tcl)] Returns image with the parameterized unary function 'solarize(I,threshold)' applied to all pixels of the input. The image is the first argument of the command The resulting image has the same geometry as the input. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |threshold|double||Solarize pixels per the threshold| --- ### [↑](#top) <a name='op_math1_sqrt'></a> aktive op math1 sqrt Syntax: __aktive op math1 sqrt__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'sqrt(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_square'></a> aktive op math1 square Syntax: __aktive op math1 square__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'I**2' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_tan'></a> aktive op math1 tan Syntax: __aktive op math1 tan__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'tan(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_tanh'></a> aktive op math1 tanh Syntax: __aktive op math1 tanh__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'tanh(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. --- ### [↑](#top) <a name='op_math1_wrap'></a> aktive op math1 wrap Syntax: __aktive op math1 wrap__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function 'wrap(I)' applied to all pixels of the input. The resulting image has the same geometry as the input. |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math unary logical | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform math unary logical ## <anchor='top'> Table Of Contents - [transform math unary](transform_math_unary.md) ↗ ### Operators - [aktive op math1 not](#op_math1_not) ## Operators --- ### [↑](#top) <a name='op_math1_not'></a> aktive op math1 not Syntax: __aktive op math1 not__ src [[→ definition](../../../../file?ci=trunk&ln=16&name=etc/transformer/math/unary.tcl)] Returns image with the unary function '!I' applied to all pixels of the input. The resulting image has the same geometry as the input. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform metadata | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform metadata ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive meta append](#meta_append) |
| ︙ | ︙ | |||
30 31 32 33 34 35 36 | - [aktive meta unset](#meta_unset) - [aktive op meta clear](#op_meta_clear) - [aktive op meta set](#op_meta_set) ## Operators --- | | | | | | | | | | | | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 | - [aktive meta unset](#meta_unset) - [aktive op meta clear](#op_meta_clear) - [aktive op meta set](#op_meta_set) ## Operators --- ### [↑](#top) <a name='meta_append'></a> aktive meta append Syntax: __aktive meta append__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "append" for image meta data management. Returns input with meta data dictionary modified by application of "dict append" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_create'></a> aktive meta create Syntax: __aktive meta create__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "create" for image meta data management. Returns input with meta data dictionary modified by application of "dict create" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_filter'></a> aktive meta filter Syntax: __aktive meta filter__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "filter" for image meta data management. Returns input with meta data dictionary modified by application of "dict filter" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_incr'></a> aktive meta incr Syntax: __aktive meta incr__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "incr" for image meta data management. Returns input with meta data dictionary modified by application of "dict incr" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_lappend'></a> aktive meta lappend Syntax: __aktive meta lappend__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "lappend" for image meta data management. Returns input with meta data dictionary modified by application of "dict lappend" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_map'></a> aktive meta map Syntax: __aktive meta map__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "map" for image meta data management. Returns input with meta data dictionary modified by application of "dict map" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_merge'></a> aktive meta merge Syntax: __aktive meta merge__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "merge" for image meta data management. Returns input with meta data dictionary modified by application of "dict merge" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_remove'></a> aktive meta remove Syntax: __aktive meta remove__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "remove" for image meta data management. Returns input with meta data dictionary modified by application of "dict remove" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_replace'></a> aktive meta replace Syntax: __aktive meta replace__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "replace" for image meta data management. Returns input with meta data dictionary modified by application of "dict replace" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_set'></a> aktive meta set Syntax: __aktive meta set__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "set" for image meta data management. Returns input with meta data dictionary modified by application of "dict set" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='meta_unset'></a> aktive meta unset Syntax: __aktive meta unset__ src args... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/meta.tcl)] Wraps the dict method "unset" for image meta data management. Returns input with meta data dictionary modified by application of "dict unset" |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |args|str...||Dict command arguments, except for dict value or variable.| --- ### [↑](#top) <a name='op_meta_clear'></a> aktive op meta clear Syntax: __aktive op meta clear__ src [[→ definition](../../../../file?ci=trunk&ln=18&name=etc/transformer/meta.tcl)] Returns input with all meta data cleared. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| --- ### [↑](#top) <a name='op_meta_set'></a> aktive op meta set Syntax: __aktive op meta set__ src meta [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/meta.tcl)] Returns input with specified meta data replacing the old. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |src|image||Input to modify| |meta|object||New meta data dictionary replacing the input's.| |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform morphology | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform morphology ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op connected-components labeled](#op_connected_components_labeled) |
| ︙ | ︙ | |||
28 29 30 31 32 33 34 | - [aktive op morph toggle](#op_morph_toggle) - [aktive op morph tophat black](#op_morph_tophat_black) - [aktive op morph tophat white](#op_morph_tophat_white) ## Operators --- | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | - [aktive op morph toggle](#op_morph_toggle) - [aktive op morph tophat black](#op_morph_tophat_black) - [aktive op morph tophat white](#op_morph_tophat_white) ## Operators --- ### [↑](#top) <a name='op_connected_components_labeled'></a> aktive op connected-components labeled Syntax: __aktive op connected-components labeled__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/cc.tcl)] Returns the input with labeled connected components. See "[aktive op connected-components get](accessor_morphology.md#op_connected_components_get)" for the CC core. |
| ︙ | ︙ | |||
50 51 52 53 54 55 56 |
#### <a name='op_connected_components_labeled__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components labeled @1
<br> </th></tr>
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 |
#### <a name='op_connected_components_labeled__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components labeled @1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00333.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>3</td><td>3</td><td>3</td><td>0</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>0</td><td>0</td><td>0</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>0</td><td>0</td></tr><tr><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>3</td><td>0</td><td>3</td><td>0</td><td>4</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>0</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>2</td><td>0</td><td>0</td><td>0</td><td>3</td><td>3</td><td>3</td><td>0</td><td>4</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td><td>5</td></tr><tr><td>0</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>2</td><td>0</td><td>6</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>5</td><td>5</td><td>5</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>5</td><td>5</td><td>5</td></tr><tr><td>0</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>6</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>0</td><td>0</td><td>4</td><td>0</td><td>5</td><td>5</td><td>0</td><td>0</td><td>0</td><td>7</td><td>0</td><td>0</td><td>0</td><td>5</td><td>5</td></tr><tr><td>0</td><td>2</td><td>0</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>4</td><td>4</td><td>4</td><td>4</td><td>4</td><td>0</td><td>0</td><td>5</td><td>5</td><td>0</td><td>0</td><td>7</td><td>0</td><td>0</td><td>5</td><td>5</td><td>0</td></tr><tr><td>0</td><td>0</td><td>6</td><td>6</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>5</td><td>5</td><td>0</td><td>7</td><td>0</td><td>5</td><td>5</td><td>0</td><td>0</td></tr><tr><td>0</td><td>6</td><td>6</td><td>0</td><td>0</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>8</td><td>0</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>7</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>6</td><td>6</td><td>0</td><td>0</td><td>8</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>9</td><td>0</td><td>0</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td><td>7</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>8</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td><td>9</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td><td>9</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>7</td><td>7</td><td>7</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components labeled @1 transform cc.max
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00335.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00336.gif' alt='aktive op connected-components labeled @1 transform cc.max' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op connected-components labeled @1 transform cc.max bbox 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00337.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00338.gif' alt='aktive op connected-components labeled @1 transform cc.max bbox 1' style='border:4px solid gold'>
<br>geometry(22 1 88 56 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_close'></a> aktive op morph close
Syntax: __aktive op morph close__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological closing (dilate, then erode) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_close__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph close @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00413.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00414.gif' alt='aktive op morph close @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph close @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00415.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00416.gif' alt='aktive op morph close @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_dilate'></a> aktive op morph dilate
Syntax: __aktive op morph dilate__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological dilation of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_dilate__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph dilate @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00417.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00418.gif' alt='aktive op morph dilate @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph dilate @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00419.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00420.gif' alt='aktive op morph dilate @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_erode'></a> aktive op morph erode
Syntax: __aktive op morph erode__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological erosion of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_erode__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph erode @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00421.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00422.gif' alt='aktive op morph erode @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph erode @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00423.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00424.gif' alt='aktive op morph erode @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_gradient_all'></a> aktive op morph gradient all
Syntax: __aktive op morph gradient all__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological gradient (subtract eroded from dilated) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_gradient_all__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient all @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00425.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00426.gif' alt='aktive op morph gradient all @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient all @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00427.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00428.gif' alt='aktive op morph gradient all @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_gradient_external'></a> aktive op morph gradient external
Syntax: __aktive op morph gradient external__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological outer gradient (subtract input from dilated) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_gradient_external__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient external @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00429.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00430.gif' alt='aktive op morph gradient external @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient external @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00431.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00432.gif' alt='aktive op morph gradient external @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_gradient_internal'></a> aktive op morph gradient internal
Syntax: __aktive op morph gradient internal__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological inner gradient (subtract eroded from input) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_gradient_internal__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient internal @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00433.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00434.gif' alt='aktive op morph gradient internal @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph gradient internal @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00435.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00436.gif' alt='aktive op morph gradient internal @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_open'></a> aktive op morph open
Syntax: __aktive op morph open__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological opening (erode, then dilate) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_open__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph open @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00437.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00438.gif' alt='aktive op morph open @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph open @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00439.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00440.gif' alt='aktive op morph open @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_toggle'></a> aktive op morph toggle
Syntax: __aktive op morph toggle__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_toggle__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph toggle @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00441.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00442.gif' alt='aktive op morph toggle @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph toggle @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00443.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00444.gif' alt='aktive op morph toggle @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_tophat_black'></a> aktive op morph tophat black
Syntax: __aktive op morph tophat black__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological black tophat (subtract input from closing) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_tophat_black__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph tophat black @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00445.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00446.gif' alt='aktive op morph tophat black @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph tophat black @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00447.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00448.gif' alt='aktive op morph tophat black @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_morph_tophat_white'></a> aktive op morph tophat white
Syntax: __aktive op morph tophat white__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/filter/morphology.tcl)]
Returns image containing the morphological white tophat (subtract opening from input) of the input using a (2*radius+1)x(2*radius+1) square structuring element.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint|1|Size of the structuring element to perform the operation with.|
|embed|str|black|Embedding method to use before core operators to keep output from shrinking.|
#### <a name='op_morph_tophat_white__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph tophat white @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00449.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00450.gif' alt='aktive op morph tophat white @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 264 88 1)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive op morph tophat white @1 radius 1
<br> </th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00451.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00452.gif' alt='aktive op morph tophat white @1 radius 1' style='border:4px solid gold'>
<br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform sdf | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform sdf ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ## Subsections |
| ︙ | ︙ | |||
29 30 31 32 33 34 35 | - [aktive op sdf outline](#op_sdf_outline) - [aktive op sdf ring](#op_sdf_ring) - [aktive op sdf round](#op_sdf_round) ## Operators --- | | > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > | | | | | | | | | | | | | | | | | 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 |
- [aktive op sdf outline](#op_sdf_outline)
- [aktive op sdf ring](#op_sdf_ring)
- [aktive op sdf round](#op_sdf_round)
## Operators
---
### [↑](#top) <a name='op_sdf_2image_fit'></a> aktive op sdf 2image fit
Syntax: __aktive op sdf 2image fit__ src [[→ definition](../../../../file?ci=trunk&ln=291&name=etc/generator/virtual/sdf.tcl)]
Compresses the input SDF into the range 0..1 and returns the resulting grayscale image.
#### <a name='op_sdf_2image_fit__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf and @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00525.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00526.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00527.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_2image_pixelated'></a> aktive op sdf 2image pixelated
Syntax: __aktive op sdf 2image pixelated__ src [[→ definition](../../../../file?ci=trunk&ln=328&name=etc/generator/virtual/sdf.tcl)]
Converts the SDF into a black/white image with pixelated element borders.
#### <a name='op_sdf_2image_pixelated__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf and @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00528.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00529.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00530.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_2image_smooth'></a> aktive op sdf 2image smooth
Syntax: __aktive op sdf 2image smooth__ src [[→ definition](../../../../file?ci=trunk&ln=309&name=etc/generator/virtual/sdf.tcl)]
Converts the SDF into a grey-scale image with anti-aliased element borders.
#### <a name='op_sdf_2image_smooth__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf and @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00531.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00532.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00533.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_not'></a> aktive op sdf not
Syntax: __aktive op sdf not__ src [[→ definition](../../../../file?ci=trunk&ln=99&name=etc/generator/virtual/sdf.tcl)]
Returns the inverted input SDF, where inside and outside changed places.
#### <a name='op_sdf_not__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sdf not @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00539.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00540.gif' alt='aktive op sdf not @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00541.gif' alt='aktive op sdf not @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00542.gif' alt='aktive op sdf not @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_outline'></a> aktive op sdf outline
Syntax: __aktive op sdf outline__ src [[→ definition](../../../../file?ci=trunk&ln=239&name=etc/generator/virtual/sdf.tcl)]
Replaces the input SDF with an outlined form, and returns the result.
This is implemented by taking the absolute of the input.
#### <a name='op_sdf_outline__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sdf outline @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00548.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00549.gif' alt='aktive op sdf outline @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00550.gif' alt='aktive op sdf outline @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00551.gif' alt='aktive op sdf outline @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_ring'></a> aktive op sdf ring
Syntax: __aktive op sdf ring__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=215&name=etc/generator/virtual/sdf.tcl)]
Combines outlining and rounding to replace the input SDF with an SDF tracing the border at some thickness and returns the result.
The result is annular, i.e. has a ring/onion-like structure.
Note that a thickness of zero devolves this operation to a plain outline.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|thickness|uint||Desired border thickness.|
#### <a name='op_sdf_ring__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sdf ring @1 thickness 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00552.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00553.gif' alt='aktive op sdf ring @1 thickness 4' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00554.gif' alt='aktive op sdf ring @1 thickness 4' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00555.gif' alt='aktive op sdf ring @1 thickness 4' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_round'></a> aktive op sdf round
Syntax: __aktive op sdf round__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=258&name=etc/generator/virtual/sdf.tcl)]
Replaces the input SDF with a more rounded form per the radius, and returns the result.
This is implemented by shifting the input SDF down by the radius.
|
| ︙ | ︙ | |||
159 160 161 162 163 164 165 |
#### <a name='op_sdf_round__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sdf round @1 radius 20
<br> </th></tr>
| | | | | | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 |
#### <a name='op_sdf_round__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sdf round @1 radius 20
<br> </th></tr>
<tr><td valign='top'><img src='example-00556.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00557.gif' alt='aktive op sdf round @1 radius 20' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00558.gif' alt='aktive op sdf round @1 radius 20' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00559.gif' alt='aktive op sdf round @1 radius 20' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform sdf combiner | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- transform sdf combiner
## <anchor='top'> Table Of Contents
- [transform sdf](transform_sdf.md) ↗
### Operators
- [aktive op sdf and](#op_sdf_and)
- [aktive op sdf or](#op_sdf_or)
- [aktive op sdf sub](#op_sdf_sub)
- [aktive op sdf xor](#op_sdf_xor)
- [aktive op sdf xor-core](#op_sdf_xor_core)
## Operators
---
### [↑](#top) <a name='op_sdf_and'></a> aktive op sdf and
Syntax: __aktive op sdf and__ srcs... [[→ definition](../../../../file?ci=trunk&ln=134&name=etc/generator/virtual/sdf.tcl)]
Returns the intersection A and B and ... of the input SDFs
#### <a name='op_sdf_and__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf and @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00534.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00535.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00536.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00537.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00538.gif' alt='aktive op sdf and @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_or'></a> aktive op sdf or
Syntax: __aktive op sdf or__ srcs... [[→ definition](../../../../file?ci=trunk&ln=116&name=etc/generator/virtual/sdf.tcl)]
Returns the union A or B or ... of the input SDFs
#### <a name='op_sdf_or__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf or @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00543.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00544.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00545.gif' alt='aktive op sdf or @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00546.gif' alt='aktive op sdf or @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00547.gif' alt='aktive op sdf or @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_sub'></a> aktive op sdf sub
Syntax: __aktive op sdf sub__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=152&name=etc/generator/virtual/sdf.tcl)]
Returns the difference A - B of the two input SDFs
#### <a name='op_sdf_sub__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf sub @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00560.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00561.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00562.gif' alt='aktive op sdf sub @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00563.gif' alt='aktive op sdf sub @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00564.gif' alt='aktive op sdf sub @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_xor'></a> aktive op sdf xor
Syntax: __aktive op sdf xor__ srcs... [[→ definition](../../../../file?ci=trunk&ln=172&name=etc/generator/virtual/sdf.tcl)]
Returns the symmetric difference of the input SDFs
#### <a name='op_sdf_xor__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf xor @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00565.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00566.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00567.gif' alt='aktive op sdf xor @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00568.gif' alt='aktive op sdf xor @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00569.gif' alt='aktive op sdf xor @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_sdf_xor_core'></a> aktive op sdf xor-core
Syntax: __aktive op sdf xor-core__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=192&name=etc/generator/virtual/sdf.tcl)]
Returns the symmetric difference of the two input SDFs
#### <a name='op_sdf_xor_core__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>@2
<br> </th>
<th>aktive op sdf xor-core @1 @2
<br> </th></tr>
<tr><td valign='top'><img src='example-00570.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00571.gif' alt='@2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00572.gif' alt='aktive op sdf xor-core @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-smooth</td><td valign='top'><img src='example-00573.gif' alt='aktive op sdf xor-core @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td><td valign='top'>sdf-pixelated</td><td valign='top'><img src='example-00574.gif' alt='aktive op sdf xor-core @1 @2' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr></table></td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform statistics | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform statistics ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op band arg ge](#op_band_arg_ge) |
| ︙ | ︙ | |||
76 77 78 79 80 81 82 | - [aktive op tile sum](#op_tile_sum) - [aktive op tile sumsquared](#op_tile_sumsquared) - [aktive op tile variance](#op_tile_variance) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 |
- [aktive op tile sum](#op_tile_sum)
- [aktive op tile sumsquared](#op_tile_sumsquared)
- [aktive op tile variance](#op_tile_variance)
## Operators
---
### [↑](#top) <a name='op_band_arg_ge'></a> aktive op band arg ge
Syntax: __aktive op band arg ge__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=63&name=etc/transformer/statistics/by-bands.tcl)]
Returns the second image with its input bands compressed to a single value, the first index where the band value is greater than or equal than the threshold provided by the first image. The result is a single-band image with width and height of the inputs.
If no band matches the condition the result is the depth of the data image.
Both images have to have the same width and height.
The threshold image has to be single-band.
---
### [↑](#top) <a name='op_band_arg_gt'></a> aktive op band arg gt
Syntax: __aktive op band arg gt__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=63&name=etc/transformer/statistics/by-bands.tcl)]
Returns the second image with its input bands compressed to a single value, the first index where the band value is greater than than the threshold provided by the first image. The result is a single-band image with width and height of the inputs.
If no band matches the condition the result is the depth of the data image.
Both images have to have the same width and height.
The threshold image has to be single-band.
---
### [↑](#top) <a name='op_band_arg_le'></a> aktive op band arg le
Syntax: __aktive op band arg le__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=63&name=etc/transformer/statistics/by-bands.tcl)]
Returns the second image with its input bands compressed to a single value, the first index where the band value is lesser than or equal than the threshold provided by the first image. The result is a single-band image with width and height of the inputs.
If no band matches the condition the result is the depth of the data image.
Both images have to have the same width and height.
The threshold image has to be single-band.
---
### [↑](#top) <a name='op_band_arg_lt'></a> aktive op band arg lt
Syntax: __aktive op band arg lt__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=63&name=etc/transformer/statistics/by-bands.tcl)]
Returns the second image with its input bands compressed to a single value, the first index where the band value is lesser than than the threshold provided by the first image. The result is a single-band image with width and height of the inputs.
If no band matches the condition the result is the depth of the data image.
Both images have to have the same width and height.
The threshold image has to be single-band.
---
### [↑](#top) <a name='op_band_arg_max'></a> aktive op band arg max
Syntax: __aktive op band arg max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the first index of the maximal band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_arg_min'></a> aktive op band arg min
Syntax: __aktive op band arg min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the first index of the minimal band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_cumulative'></a> aktive op band cumulative
Syntax: __aktive op band cumulative__ src [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/transformer/statistics/cumulation.tcl)]
Returns image with the input bands transformed into cumulative sums.
This means that each pixel in a band is the sum of the values in the bands before it, having the same row and column.
The result has the same geometry as the input. Only the contents change.
---
### [↑](#top) <a name='op_band_histogram'></a> aktive op band histogram
Syntax: __aktive op band histogram__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=73&name=etc/transformer/statistics/histogram.tcl)]
Returns image with input bands transformed into a histogram of `bins` values.
The result is an image of bin-sized histogram bands with width and height of the input
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|The number of bins held by a single histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.|
---
### [↑](#top) <a name='op_band_max'></a> aktive op band max
Syntax: __aktive op band max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the maximum of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_mean'></a> aktive op band mean
Syntax: __aktive op band mean__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the arithmetic mean of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_median'></a> aktive op band median
Syntax: __aktive op band median__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input bands compressed to a single value, the median of the sorted band values.
The result is a single-band image with width and height of the input
---
### [↑](#top) <a name='op_band_min'></a> aktive op band min
Syntax: __aktive op band min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the minimum of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_otsu'></a> aktive op band otsu
Syntax: __aktive op band otsu__ src [[→ definition](../../../../file?ci=trunk&ln=107&name=etc/transformer/statistics/otsu.tcl)]
Returns image with the input bands compressed into an otsu threshold.
This assumes as input an image of band histograms.
The result has the same width and height as the input.
The result is single-band.
---
### [↑](#top) <a name='op_band_rank'></a> aktive op band rank
Syntax: __aktive op band rank__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input bands compressed to a single value, the chosen rank of the sorted band values.
The result is a single-band image with width and height of the input
Beware. While it is possible to use the rank filter for max/min extractions it is recommended to use the specific max/min operators instead, as they should be faster (linear scan of region, no gather, no sorting of the region).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|rank|int|-1|Index of the sorted values to return. Default creates a median filter. 0 creates min-filter.|
---
### [↑](#top) <a name='op_band_stddev'></a> aktive op band stddev
Syntax: __aktive op band stddev__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the standard deviation of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_sum'></a> aktive op band sum
Syntax: __aktive op band sum__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the sum of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_sumsquared'></a> aktive op band sumsquared
Syntax: __aktive op band sumsquared__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the sum of the squared band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_band_variance'></a> aktive op band variance
Syntax: __aktive op band variance__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-bands.tcl)]
Returns image with input bands compressed to a single value, the variance of the band values. The result is a single-band image with width and height of the input.
---
### [↑](#top) <a name='op_column_arg_max'></a> aktive op column arg max
Syntax: __aktive op column arg max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the first index of the maximal column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_arg_max__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column arg max @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00302.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>10</td><td>8</td><td>7</td><td>7</td><td>6</td><td>7</td><td>7</td><td>7</td><td>7</td><td>8</td><td>8</td><td>8</td><td>9</td><td>9</td><td>9</td><td>9</td><td>10</td><td>10</td><td>10</td><td>11</td><td>11</td><td>11</td><td>11</td><td>12</td><td>12</td><td>12</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_arg_min'></a> aktive op column arg min
Syntax: __aktive op column arg min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the first index of the minimal column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_arg_min__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column arg min @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00304.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_cumulative'></a> aktive op column cumulative
Syntax: __aktive op column cumulative__ src [[→ definition](../../../../file?ci=trunk&ln=15&name=etc/transformer/statistics/cumulation.tcl)]
Returns image with the input columns transformed into cumulative sums.
This means that each pixel in a column is the sum of the values in the row before it, having the same column.
The result has the same geometry as the input. Only the contents change.
#### <a name='op_column_cumulative__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column cumulative @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00306.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5279</td><td>0.8769</td><td>1.0000</td><td>0.8769</td><td>0.6045</td><td>0.3297</td><td>0.0550</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.7574</td><td>1.5279</td><td>1.8769</td><td>2.0000</td><td>1.8769</td><td>1.6045</td><td>1.3297</td><td>1.0550</td><td>0.7418</td><td>0.4671</td><td>0.1924</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5279</td><td>1.7574</td><td>2.5279</td><td>2.8769</td><td>3.0000</td><td>2.8769</td><td>2.6045</td><td>2.3297</td><td>2.0550</td><td>1.7418</td><td>1.4671</td><td>1.1924</td><td>0.8792</td><td>0.6045</td><td>0.3297</td><td>0.0550</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>1.4048</td><td>2.7574</td><td>3.5279</td><td>3.8769</td><td>4.0000</td><td>3.8769</td><td>3.6045</td><td>3.3297</td><td>3.0550</td><td>2.7418</td><td>2.4671</td><td>2.1924</td><td>1.8792</td><td>1.6045</td><td>1.3297</td><td>1.0550</td><td>0.7418</td><td>0.4671</td><td>0.1924</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>2.4048</td><td>3.7574</td><td>4.5279</td><td>4.8769</td><td>5.0000</td><td>4.8769</td><td>4.6045</td><td>4.3297</td><td>4.0550</td><td>3.7418</td><td>3.4671</td><td>3.1924</td><td>2.8792</td><td>2.6045</td><td>2.3297</td><td>2.0550</td><td>1.7418</td><td>1.4671</td><td>1.1924</td><td>0.8792</td><td>0.6045</td><td>0.3297</td><td>0.0550</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.2817</td><td>4.7574</td><td>5.5279</td><td>5.8769</td><td>6.0000</td><td>5.8769</td><td>5.6045</td><td>5.3297</td><td>5.0550</td><td>4.7418</td><td>4.4671</td><td>4.1924</td><td>3.8792</td><td>3.6045</td><td>3.3297</td><td>3.0550</td><td>2.7418</td><td>2.4671</td><td>2.1924</td><td>1.8792</td><td>1.6045</td><td>1.3297</td><td>1.0550</td><td>0.7418</td><td>0.4671</td><td>0.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8095</td><td>5.7574</td><td>6.5279</td><td>6.8769</td><td>7.0000</td><td>6.8769</td><td>6.6045</td><td>6.3297</td><td>6.0550</td><td>5.7418</td><td>5.4671</td><td>5.1924</td><td>4.8792</td><td>4.6045</td><td>4.3297</td><td>4.0550</td><td>3.7418</td><td>3.4671</td><td>3.1924</td><td>2.8792</td><td>2.6045</td><td>2.3297</td><td>2.0550</td><td>1.7418</td><td>1.4671</td><td>1.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>6.6642</td><td>7.5279</td><td>7.8769</td><td>8.0000</td><td>7.8769</td><td>7.6045</td><td>7.3297</td><td>7.0550</td><td>6.7418</td><td>6.4671</td><td>6.1924</td><td>5.8792</td><td>5.6045</td><td>5.3297</td><td>5.0550</td><td>4.7418</td><td>4.4671</td><td>4.1924</td><td>3.8792</td><td>3.6045</td><td>3.3297</td><td>3.0550</td><td>2.7418</td><td>2.4671</td><td>2.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>8.5279</td><td>8.8769</td><td>9.0000</td><td>8.8769</td><td>8.6045</td><td>8.3297</td><td>8.0550</td><td>7.7418</td><td>7.4671</td><td>7.1924</td><td>6.8792</td><td>6.6045</td><td>6.3297</td><td>6.0550</td><td>5.7418</td><td>5.4671</td><td>5.1924</td><td>4.8792</td><td>4.6045</td><td>4.3297</td><td>4.0550</td><td>3.7418</td><td>3.4671</td><td>3.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.3107</td><td>9.8769</td><td>10.0000</td><td>9.8769</td><td>9.6045</td><td>9.3297</td><td>9.0550</td><td>8.7418</td><td>8.4671</td><td>8.1924</td><td>7.8792</td><td>7.6045</td><td>7.3297</td><td>7.0550</td><td>6.7418</td><td>6.4671</td><td>6.1924</td><td>5.8792</td><td>5.6045</td><td>5.3297</td><td>5.0550</td><td>4.7418</td><td>4.4671</td><td>4.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>10.8769</td><td>11.0000</td><td>10.8769</td><td>10.6045</td><td>10.3297</td><td>10.0550</td><td>9.7418</td><td>9.4671</td><td>9.1924</td><td>8.8792</td><td>8.6045</td><td>8.3297</td><td>8.0550</td><td>7.7418</td><td>7.4671</td><td>7.1924</td><td>6.8792</td><td>6.6045</td><td>6.3297</td><td>6.0550</td><td>5.7418</td><td>5.4671</td><td>5.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.5357</td><td>12.0000</td><td>11.8769</td><td>11.6045</td><td>11.3297</td><td>11.0550</td><td>10.7418</td><td>10.4671</td><td>10.1924</td><td>9.8792</td><td>9.3463</td><td>9.3297</td><td>9.0550</td><td>8.7418</td><td>8.4671</td><td>8.1924</td><td>7.8792</td><td>7.6045</td><td>7.3297</td><td>7.0550</td><td>6.7418</td><td>6.4671</td><td>6.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.0000</td><td>12.8769</td><td>12.6045</td><td>12.3297</td><td>12.0550</td><td>11.7418</td><td>11.4671</td><td>11.1924</td><td>10.8792</td><td>10.3463</td><td>9.6164</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.1924</td><td>8.8792</td><td>8.6045</td><td>8.3297</td><td>8.0550</td><td>7.7418</td><td>7.4671</td><td>7.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5347</td><td>13.8769</td><td>13.6045</td><td>13.3297</td><td>13.0550</td><td>12.7418</td><td>12.4671</td><td>12.1924</td><td>11.8792</td><td>11.3463</td><td>10.3992</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3297</td><td>9.0550</td><td>8.7418</td><td>8.4671</td><td>8.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>14.7837</td><td>14.6045</td><td>14.3297</td><td>14.0550</td><td>13.7418</td><td>13.4671</td><td>13.1924</td><td>12.8792</td><td>12.3463</td><td>11.3992</td><td>9.7955</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.1924</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>15.6045</td><td>15.3297</td><td>15.0550</td><td>14.7418</td><td>14.4671</td><td>14.1924</td><td>13.8792</td><td>13.3463</td><td>12.3992</td><td>10.7023</td><td>9.3849</td><td>9.3463</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.3873</td><td>16.3297</td><td>16.0550</td><td>15.7418</td><td>15.4671</td><td>15.1924</td><td>14.8792</td><td>14.3463</td><td>13.3992</td><td>11.7023</td><td>9.9196</td><td>9.3463</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>17.3297</td><td>17.0550</td><td>16.7418</td><td>16.4671</td><td>16.1924</td><td>15.8792</td><td>15.3463</td><td>14.3992</td><td>12.7023</td><td>10.9196</td><td>9.5089</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>17.9885</td><td>18.0550</td><td>17.7418</td><td>17.4671</td><td>17.1924</td><td>16.8792</td><td>16.3463</td><td>15.3992</td><td>13.7023</td><td>11.9196</td><td>10.1677</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.0550</td><td>18.7418</td><td>18.4671</td><td>18.1924</td><td>17.8792</td><td>17.3463</td><td>16.3992</td><td>14.7023</td><td>12.9196</td><td>11.1677</td><td>9.6714</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.5898</td><td>19.7418</td><td>19.4671</td><td>19.1924</td><td>18.8792</td><td>18.3463</td><td>17.3992</td><td>15.7023</td><td>13.9196</td><td>12.1677</td><td>10.4543</td><td>9.3463</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.6284</td><td>20.6487</td><td>20.4671</td><td>20.1924</td><td>19.8792</td><td>19.3463</td><td>18.3992</td><td>16.7023</td><td>14.9196</td><td>13.1677</td><td>11.4543</td><td>9.7570</td><td>9.3463</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.6284</td><td>21.0594</td><td>21.4671</td><td>21.1924</td><td>20.8792</td><td>20.3463</td><td>19.3992</td><td>17.7023</td><td>15.9196</td><td>14.1677</td><td>12.4543</td><td>10.6639</td><td>9.3849</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.6284</td><td>21.0594</td><td>22.2499</td><td>22.1924</td><td>21.8792</td><td>21.3463</td><td>20.3992</td><td>18.7023</td><td>16.9196</td><td>15.1677</td><td>13.4543</td><td>11.6639</td><td>9.9196</td><td>9.3848</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.6284</td><td>21.0594</td><td>22.5366</td><td>23.1924</td><td>22.8792</td><td>22.3463</td><td>21.3992</td><td>19.7023</td><td>17.9196</td><td>16.1677</td><td>14.4543</td><td>12.6639</td><td>10.9196</td><td>9.5474</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>3.8481</td><td>7.0749</td><td>9.5974</td><td>11.6983</td><td>13.5734</td><td>15.1945</td><td>16.6740</td><td>18.1512</td><td>19.6284</td><td>21.0594</td><td>22.5366</td><td>23.8512</td><td>23.8792</td><td>23.3463</td><td>22.3992</td><td>20.7023</td><td>18.9196</td><td>17.1677</td><td>15.4543</td><td>13.6639</td><td>11.9196</td><td>10.2062</td><td>9.3848</td><td>9.3463</td><td>9.3463</td><td>9.3848</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_histogram'></a> aktive op column histogram
Syntax: __aktive op column histogram__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=209&name=etc/transformer/statistics/histogram.tcl)]
Returns image with input columns transformed into a histogram of `bins` values.
The result is an image of `bins`-sized histogram columns with width and depth of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|The number of bins held by a single histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.|
#### <a name='op_column_histogram__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column histogram @1 bins 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00308.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>32</td><td>32</td><td>32</td><td>32</td><td>32</td><td>32</td><td>26</td><td>21</td><td>17</td><td>13</td><td>10</td><td>6</td><td>6</td><td>6</td><td>7</td><td>7</td><td>7</td><td>7</td><td>11</td><td>14</td><td>18</td><td>21</td><td>22</td><td>22</td><td>21</td><td>22</td><td>22</td><td>22</td><td>22</td><td>22</td><td>22</td><td>21</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>2</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>2</td><td>0</td><td>2</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>2</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>3</td><td>7</td><td>12</td><td>16</td><td>20</td><td>23</td><td>25</td><td>25</td><td>25</td><td>24</td><td>24</td><td>21</td><td>18</td><td>13</td><td>11</td><td>9</td><td>8</td><td>9</td><td>9</td><td>9</td><td>8</td><td>9</td><td>9</td><td>8</td><td>9</td><td>9</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_max'></a> aktive op column max
Syntax: __aktive op column max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the maximum of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_max__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column max @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00310.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_mean'></a> aktive op column mean
Syntax: __aktive op column mean__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the arithmetic mean of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00312.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.1203</td><td>0.2211</td><td>0.2999</td><td>0.3656</td><td>0.4242</td><td>0.4748</td><td>0.5211</td><td>0.5672</td><td>0.6134</td><td>0.6581</td><td>0.7043</td><td>0.7453</td><td>0.7462</td><td>0.7296</td><td>0.7000</td><td>0.6469</td><td>0.5912</td><td>0.5365</td><td>0.4829</td><td>0.4270</td><td>0.3725</td><td>0.3189</td><td>0.2933</td><td>0.2921</td><td>0.2921</td><td>0.2933</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_median'></a> aktive op column median
Syntax: __aktive op column median__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input columns compressed to a single value, the median of the sorted column values.
The result is a single-column image with height and depth of the input
---
### [↑](#top) <a name='op_column_min'></a> aktive op column min
Syntax: __aktive op column min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the minimum of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_min__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column min @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00314.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_otsu'></a> aktive op column otsu
Syntax: __aktive op column otsu__ src [[→ definition](../../../../file?ci=trunk&ln=62&name=etc/transformer/statistics/otsu.tcl)]
Returns image with the input columns compressed into an otsu threshold.
This assumes as input an image of column histograms.
The result has the same width and depth as the input.
The result has a single row.
#### <a name='op_column_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column otsu [aktive op column histogram @1]
<br> </th></tr>
<tr><td valign='top'><img src='example-00316.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>85</td><td>120</td><td>85</td><td>120</td><td>85</td><td>120</td><td>1</td><td>85</td><td>15</td><td>1</td><td>120</td><td>120</td><td>120</td><td>120</td><td>85</td><td>85</td><td>1</td><td>120</td><td>50</td><td>120</td><td>1</td><td>85</td><td>85</td><td>1</td><td>120</td><td>50</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_profile'></a> aktive op column profile
Syntax: __aktive op column profile__ src [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/statistics/profile.tcl)]
Returns image with input columns transformed into a profile.
Where a profile contains, per column, the distance of the first pixel != 0
from the top border of the input.
The result is a single-row image with width and depth of the input.
#### <a name='op_column_profile__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column profile @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00318.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>32</td><td>32</td><td>32</td><td>32</td><td>32</td><td>32</td><td>8</td><td>7</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>6</td><td>7</td><td>7</td><td>7</td><td>8</td><td>8</td><td>8</td><td>8</td><td>9</td><td>9</td><td>9</td><td>10</td><td>10</td><td>10</td><td>10</td><td>11</td><td>11</td><td>11</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_rank'></a> aktive op column rank
Syntax: __aktive op column rank__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input columns compressed to a single value, the chosen rank of the sorted column values.
The result is a single-row image with width and depth of the input
Beware. While it is possible to use the rank filter for max/min extractions it is recommended to use the specific max/min operators instead, as they should be faster (linear scan of region, no gather, no sorting of the region).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|rank|int|-1|Index of the sorted values to return. Default creates a median filter. 0 creates min-filter.|
---
### [↑](#top) <a name='op_column_stddev'></a> aktive op column stddev
Syntax: __aktive op column stddev__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the standard deviation of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_stddev__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column stddev @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00320.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.2869</td><td>0.3953</td><td>0.4364</td><td>0.4661</td><td>0.4851</td><td>0.4856</td><td>0.4800</td><td>0.4768</td><td>0.4760</td><td>0.4570</td><td>0.4345</td><td>0.4218</td><td>0.4313</td><td>0.4288</td><td>0.4375</td><td>0.4579</td><td>0.4683</td><td>0.4757</td><td>0.4778</td><td>0.4726</td><td>0.4597</td><td>0.4443</td><td>0.4458</td><td>0.4397</td><td>0.4423</td><td>0.4445</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_sum'></a> aktive op column sum
Syntax: __aktive op column sum__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the sum of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_sum__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column sum @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00322.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>4</td><td>7</td><td>10</td><td>12</td><td>14</td><td>15</td><td>17</td><td>18</td><td>20</td><td>21</td><td>23</td><td>24</td><td>24</td><td>23</td><td>22</td><td>21</td><td>19</td><td>17</td><td>15</td><td>14</td><td>12</td><td>10</td><td>9</td><td>9</td><td>9</td><td>9</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_sumsquared'></a> aktive op column sumsquared
Syntax: __aktive op column sumsquared__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the sum of the squared column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_sumsquared__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column sumsquared @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00324.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>3</td><td>7</td><td>9</td><td>11</td><td>13</td><td>15</td><td>16</td><td>18</td><td>19</td><td>21</td><td>22</td><td>23</td><td>24</td><td>23</td><td>22</td><td>20</td><td>18</td><td>16</td><td>15</td><td>13</td><td>11</td><td>10</td><td>9</td><td>9</td><td>9</td><td>9</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_column_variance'></a> aktive op column variance
Syntax: __aktive op column variance__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-columns.tcl)]
Returns image with input columns compressed to a single value, the variance of the column values. The result is a single-row image with width and depth of the input.
The part about the `depth of the input` means that the bands in each column are handled separately.
#### <a name='op_column_variance__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op column variance @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00326.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0823</td><td>0.1563</td><td>0.1905</td><td>0.2173</td><td>0.2353</td><td>0.2358</td><td>0.2304</td><td>0.2273</td><td>0.2266</td><td>0.2088</td><td>0.1888</td><td>0.1779</td><td>0.1861</td><td>0.1838</td><td>0.1914</td><td>0.2097</td><td>0.2193</td><td>0.2263</td><td>0.2283</td><td>0.2234</td><td>0.2113</td><td>0.1974</td><td>0.1987</td><td>0.1933</td><td>0.1957</td><td>0.1976</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_image_histogram'></a> aktive op image histogram
Syntax: __aktive op image histogram__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=26&name=etc/transformer/statistics/histogram.tcl)]
Returns image with the input transformed into a histogram of `bins` values.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|The number of bins in the returned histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.|
#### <a name='op_image_histogram__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op image histogram @1 bins 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00381.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><table><tr><td>14376</td><td>52</td><td>53</td><td>35</td><td>62</td><td>53</td><td>22</td><td>1731</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_arg_max'></a> aktive op row arg max
Syntax: __aktive op row arg max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the first index of the maximal row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_arg_max__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row arg max @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00465.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>10</td></tr><tr><td>8</td></tr><tr><td>7</td></tr><tr><td>7</td></tr><tr><td>6</td></tr><tr><td>7</td></tr><tr><td>7</td></tr><tr><td>8</td></tr><tr><td>8</td></tr><tr><td>9</td></tr><tr><td>9</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>11</td></tr><tr><td>12</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>14</td></tr><tr><td>15</td></tr><tr><td>16</td></tr><tr><td>16</td></tr><tr><td>17</td></tr><tr><td>17</td></tr><tr><td>18</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_arg_min'></a> aktive op row arg min
Syntax: __aktive op row arg min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the first index of the minimal row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_arg_min__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row arg min @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00467.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_cumulative'></a> aktive op row cumulative
Syntax: __aktive op row cumulative__ src [[→ definition](../../../../file?ci=trunk&ln=15&name=etc/transformer/statistics/cumulation.tcl)]
Returns image with the input rows transformed into cumulative sums.
This means that each pixel in a row is the sum of the values in the column before it, having the same row.
The result has the same geometry as the input. Only the contents change.
#### <a name='op_row_cumulative__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row cumulative @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00469.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5279</td><td>1.4048</td><td>2.4048</td><td>3.2817</td><td>3.8861</td><td>4.2159</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td><td>4.2709</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.7574</td><td>1.7574</td><td>2.7574</td><td>3.7574</td><td>4.7574</td><td>5.7574</td><td>6.7574</td><td>7.7574</td><td>8.4992</td><td>8.9663</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td><td>9.1587</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5279</td><td>1.5279</td><td>2.5279</td><td>3.5279</td><td>4.5279</td><td>5.5279</td><td>6.5279</td><td>7.5279</td><td>8.5279</td><td>9.5279</td><td>10.5279</td><td>11.5279</td><td>12.4070</td><td>13.0115</td><td>13.3412</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td><td>13.3963</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.8769</td><td>1.8769</td><td>2.8769</td><td>3.8769</td><td>4.8769</td><td>5.8769</td><td>6.8769</td><td>7.8769</td><td>8.8769</td><td>9.8769</td><td>10.8769</td><td>11.8769</td><td>12.8769</td><td>13.8769</td><td>14.8769</td><td>15.8769</td><td>16.6187</td><td>17.0858</td><td>17.2782</td><td>17.2782</td><td>17.2782</td><td>17.2782</td><td>17.2782</td><td>17.2782</td><td>17.2782</td><td>17.2782</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>1.0000</td><td>2.0000</td><td>3.0000</td><td>4.0000</td><td>5.0000</td><td>6.0000</td><td>7.0000</td><td>8.0000</td><td>9.0000</td><td>10.0000</td><td>11.0000</td><td>12.0000</td><td>13.0000</td><td>14.0000</td><td>15.0000</td><td>16.0000</td><td>17.0000</td><td>18.0000</td><td>19.0000</td><td>19.8792</td><td>20.4836</td><td>20.8134</td><td>20.8684</td><td>20.8684</td><td>20.8684</td><td>20.8684</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.8769</td><td>1.8769</td><td>2.8769</td><td>3.8769</td><td>4.8769</td><td>5.8769</td><td>6.8769</td><td>7.8769</td><td>8.8769</td><td>9.8769</td><td>10.8769</td><td>11.8769</td><td>12.8769</td><td>13.8769</td><td>14.8769</td><td>15.8769</td><td>16.8769</td><td>17.8769</td><td>18.8769</td><td>19.8769</td><td>20.8769</td><td>21.8769</td><td>22.8769</td><td>23.6187</td><td>24.0858</td><td>24.2782</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5279</td><td>1.5279</td><td>2.5279</td><td>3.5279</td><td>4.5279</td><td>5.5279</td><td>6.5279</td><td>7.5279</td><td>8.5279</td><td>9.5279</td><td>10.5279</td><td>11.5279</td><td>12.5279</td><td>13.5279</td><td>14.5279</td><td>15.5279</td><td>16.5279</td><td>17.5279</td><td>18.5279</td><td>19.5279</td><td>20.5279</td><td>21.5279</td><td>22.5279</td><td>23.5279</td><td>24.5279</td><td>25.5279</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0386</td><td>0.9455</td><td>1.9455</td><td>2.9455</td><td>3.9455</td><td>4.9455</td><td>5.9455</td><td>6.9455</td><td>7.9455</td><td>8.9455</td><td>9.9455</td><td>10.9455</td><td>11.9455</td><td>12.9455</td><td>13.9455</td><td>14.9455</td><td>15.9455</td><td>16.9455</td><td>17.9455</td><td>18.9455</td><td>19.9455</td><td>20.9455</td><td>21.9455</td><td>22.9455</td><td>23.9455</td><td>24.9455</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.4107</td><td>1.4107</td><td>2.4107</td><td>3.4107</td><td>4.4107</td><td>5.4107</td><td>6.4107</td><td>7.4107</td><td>8.4107</td><td>9.4107</td><td>10.4107</td><td>11.4107</td><td>12.4107</td><td>13.4107</td><td>14.4107</td><td>15.4107</td><td>16.4107</td><td>17.4107</td><td>18.4107</td><td>19.4107</td><td>20.4107</td><td>21.4107</td><td>22.4107</td><td>23.4107</td><td>24.4107</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.7828</td><td>1.7828</td><td>2.7828</td><td>3.7828</td><td>4.7828</td><td>5.7828</td><td>6.7828</td><td>7.7828</td><td>8.7828</td><td>9.7828</td><td>10.7828</td><td>11.7828</td><td>12.7828</td><td>13.7828</td><td>14.7828</td><td>15.7828</td><td>16.7828</td><td>17.7828</td><td>18.7828</td><td>19.7828</td><td>20.7828</td><td>21.7828</td><td>22.7828</td><td>23.7828</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.2867</td><td>1.2867</td><td>2.2867</td><td>3.2867</td><td>4.2867</td><td>5.2867</td><td>6.2867</td><td>7.2867</td><td>8.2867</td><td>9.2867</td><td>10.2867</td><td>11.2867</td><td>12.2867</td><td>13.2867</td><td>14.2867</td><td>15.2867</td><td>16.2867</td><td>17.2867</td><td>18.2867</td><td>19.2867</td><td>20.2867</td><td>21.2867</td><td>22.2867</td><td>23.2867</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.6588</td><td>1.6588</td><td>2.6588</td><td>3.6588</td><td>4.6588</td><td>5.6588</td><td>6.6588</td><td>7.6588</td><td>8.6588</td><td>9.6588</td><td>10.4006</td><td>11.4006</td><td>12.4006</td><td>13.4006</td><td>14.4006</td><td>15.4006</td><td>16.4006</td><td>17.4006</td><td>18.4006</td><td>19.4006</td><td>20.4006</td><td>21.4006</td><td>22.4006</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.1626</td><td>1.1626</td><td>2.1626</td><td>3.1626</td><td>4.1626</td><td>5.1626</td><td>6.1626</td><td>7.1626</td><td>8.1626</td><td>9.1626</td><td>10.1626</td><td>10.4493</td><td>10.7791</td><td>11.3835</td><td>12.2627</td><td>13.2627</td><td>14.2627</td><td>15.2627</td><td>16.2627</td><td>17.2627</td><td>18.2627</td><td>19.2627</td><td>20.2627</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5347</td><td>1.5347</td><td>2.5347</td><td>3.5347</td><td>4.5347</td><td>5.5347</td><td>6.5347</td><td>7.5347</td><td>8.5347</td><td>9.5347</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.5099</td><td>10.9771</td><td>11.7189</td><td>12.7189</td><td>13.7189</td><td>14.7189</td><td>15.7189</td><td>16.7189</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0386</td><td>0.9455</td><td>1.9455</td><td>2.9455</td><td>3.9455</td><td>4.9455</td><td>5.9455</td><td>6.9455</td><td>7.9455</td><td>8.9455</td><td>9.9455</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.4112</td><td>10.7409</td><td>11.3454</td><td>12.2246</td><td>13.2246</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.4107</td><td>1.4107</td><td>2.4107</td><td>3.4107</td><td>4.4107</td><td>5.4107</td><td>6.4107</td><td>7.4107</td><td>8.4107</td><td>9.4107</td><td>10.3176</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.5486</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.7828</td><td>1.7828</td><td>2.7828</td><td>3.7828</td><td>4.7828</td><td>5.7828</td><td>6.7828</td><td>7.7828</td><td>8.7828</td><td>9.7828</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.2867</td><td>1.2867</td><td>2.2867</td><td>3.2867</td><td>4.2867</td><td>5.2867</td><td>6.2867</td><td>7.2867</td><td>8.2867</td><td>9.2867</td><td>10.2867</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.6588</td><td>1.6588</td><td>2.6588</td><td>3.6588</td><td>4.6588</td><td>5.6588</td><td>6.6588</td><td>7.6588</td><td>8.6588</td><td>9.6588</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.1626</td><td>1.1626</td><td>2.1626</td><td>3.1626</td><td>4.1626</td><td>5.1626</td><td>6.1626</td><td>7.1626</td><td>8.1626</td><td>9.1626</td><td>10.1626</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.5347</td><td>1.5347</td><td>2.5347</td><td>3.5347</td><td>4.5347</td><td>5.5347</td><td>6.5347</td><td>7.5347</td><td>8.5347</td><td>9.5347</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0386</td><td>0.9455</td><td>1.9455</td><td>2.9455</td><td>3.9455</td><td>4.9455</td><td>5.9455</td><td>6.9455</td><td>7.9455</td><td>8.9455</td><td>9.9455</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.4107</td><td>1.4107</td><td>2.4107</td><td>3.4107</td><td>4.4107</td><td>5.4107</td><td>6.4107</td><td>7.4107</td><td>8.4107</td><td>9.4107</td><td>10.3176</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td><td>10.3562</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.7828</td><td>1.7828</td><td>2.7828</td><td>3.7828</td><td>4.7828</td><td>5.7828</td><td>6.7828</td><td>7.7828</td><td>8.7828</td><td>9.7828</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.2867</td><td>1.2867</td><td>2.2867</td><td>3.2867</td><td>4.2867</td><td>5.2867</td><td>6.2867</td><td>7.2867</td><td>8.2867</td><td>9.2867</td><td>10.2867</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td><td>10.4493</td></tr><tr><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.0000</td><td>0.6588</td><td>1.6588</td><td>2.6588</td><td>3.6588</td><td>4.6588</td><td>5.6588</td><td>6.6588</td><td>7.6588</td><td>8.6588</td><td>9.6588</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td><td>10.3176</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_histogram'></a> aktive op row histogram
Syntax: __aktive op row histogram__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=209&name=etc/transformer/statistics/histogram.tcl)]
Returns image with input rows transformed into a histogram of `bins` values.
The result is an image of `bins`-sized histogram rows with height and depth of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|The number of bins held by a single histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.|
#### <a name='op_row_histogram__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row histogram @1 bins 8
<br> </th></tr>
<tr><td valign='top'><img src='example-00471.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>32</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td></tr><tr><td>26</td><td>0</td><td>1</td><td>0</td><td>2</td><td>0</td><td>0</td><td>3</td></tr><tr><td>21</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>1</td><td>7</td></tr><tr><td>17</td><td>0</td><td>1</td><td>0</td><td>2</td><td>0</td><td>0</td><td>12</td></tr><tr><td>13</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>16</td></tr><tr><td>10</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>0</td><td>20</td></tr><tr><td>6</td><td>1</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>23</td></tr><tr><td>6</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>25</td></tr><tr><td>6</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>25</td></tr><tr><td>7</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>25</td></tr><tr><td>7</td><td>0</td><td>0</td><td>0</td><td>0</td><td>1</td><td>0</td><td>24</td></tr><tr><td>7</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>24</td></tr><tr><td>7</td><td>2</td><td>0</td><td>1</td><td>0</td><td>1</td><td>0</td><td>21</td></tr><tr><td>11</td><td>0</td><td>1</td><td>1</td><td>1</td><td>0</td><td>0</td><td>18</td></tr><tr><td>14</td><td>1</td><td>0</td><td>1</td><td>1</td><td>2</td><td>0</td><td>13</td></tr><tr><td>18</td><td>0</td><td>2</td><td>0</td><td>1</td><td>0</td><td>0</td><td>11</td></tr><tr><td>21</td><td>1</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>22</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>8</td></tr><tr><td>22</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>21</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>22</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>22</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>8</td></tr><tr><td>22</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>22</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>22</td><td>0</td><td>0</td><td>0</td><td>1</td><td>1</td><td>0</td><td>8</td></tr><tr><td>22</td><td>0</td><td>0</td><td>1</td><td>0</td><td>0</td><td>0</td><td>9</td></tr><tr><td>21</td><td>2</td><td>0</td><td>0</td><td>0</td><td>0</td><td>0</td><td>9</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_max'></a> aktive op row max
Syntax: __aktive op row max__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the maximum of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_max__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row max @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00473.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr><tr><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_mean'></a> aktive op row mean
Syntax: __aktive op row mean__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the arithmetic mean of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00475.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.1335</td></tr><tr><td>0.2862</td></tr><tr><td>0.4186</td></tr><tr><td>0.5399</td></tr><tr><td>0.6521</td></tr><tr><td>0.7587</td></tr><tr><td>0.7977</td></tr><tr><td>0.7795</td></tr><tr><td>0.7628</td></tr><tr><td>0.7432</td></tr><tr><td>0.7277</td></tr><tr><td>0.7000</td></tr><tr><td>0.6332</td></tr><tr><td>0.5225</td></tr><tr><td>0.4133</td></tr><tr><td>0.3296</td></tr><tr><td>0.3224</td></tr><tr><td>0.3265</td></tr><tr><td>0.3224</td></tr><tr><td>0.3265</td></tr><tr><td>0.3224</td></tr><tr><td>0.3236</td></tr><tr><td>0.3236</td></tr><tr><td>0.3224</td></tr><tr><td>0.3265</td></tr><tr><td>0.3224</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_median'></a> aktive op row median
Syntax: __aktive op row median__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input rows compressed to a single value, the median of the sorted row values.
The result is a single-row image with width and depth of the input
---
### [↑](#top) <a name='op_row_min'></a> aktive op row min
Syntax: __aktive op row min__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the minimum of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_min__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row min @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00477.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_otsu'></a> aktive op row otsu
Syntax: __aktive op row otsu__ src [[→ definition](../../../../file?ci=trunk&ln=17&name=etc/transformer/statistics/otsu.tcl)]
Returns image with the input rows compressed into an otsu threshold.
This assumes as input an image of row histograms.
The result has the same height and depth as the input.
The result has a single column.
#### <a name='op_row_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row otsu [aktive op row histogram @1]
<br> </th></tr>
<tr><td valign='top'><img src='example-00479.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>85</td></tr><tr><td>120</td></tr><tr><td>85</td></tr><tr><td>120</td></tr><tr><td>85</td></tr><tr><td>120</td></tr><tr><td>1</td></tr><tr><td>10</td></tr><tr><td>106</td></tr><tr><td>1</td></tr><tr><td>74</td></tr><tr><td>1</td></tr><tr><td>85</td></tr><tr><td>120</td></tr><tr><td>106</td></tr><tr><td>106</td></tr><tr><td>1</td></tr><tr><td>74</td></tr><tr><td>1</td></tr><tr><td>74</td></tr><tr><td>1</td></tr><tr><td>106</td></tr><tr><td>106</td></tr><tr><td>1</td></tr><tr><td>74</td></tr><tr><td>1</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_profile'></a> aktive op row profile
Syntax: __aktive op row profile__ src [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/statistics/profile.tcl)]
Returns image with input rows transformed into a profile.
Where a profile contains, per row, the distance of the first pixel != 0
from the left border of the input.
The result is a single-column image with height and depth of the input.
#### <a name='op_row_profile__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row profile @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00481.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>32</td></tr><tr><td>32</td></tr><tr><td>32</td></tr><tr><td>32</td></tr><tr><td>32</td></tr><tr><td>32</td></tr><tr><td>8</td></tr><tr><td>7</td></tr><tr><td>6</td></tr><tr><td>6</td></tr><tr><td>6</td></tr><tr><td>6</td></tr><tr><td>6</td></tr><tr><td>6</td></tr><tr><td>7</td></tr><tr><td>8</td></tr><tr><td>8</td></tr><tr><td>9</td></tr><tr><td>9</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>11</td></tr><tr><td>12</td></tr><tr><td>12</td></tr><tr><td>13</td></tr><tr><td>13</td></tr><tr><td>14</td></tr><tr><td>14</td></tr><tr><td>15</td></tr><tr><td>16</td></tr><tr><td>16</td></tr><tr><td>17</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_rank'></a> aktive op row rank
Syntax: __aktive op row rank__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/transformer/statistics/rank-order.tcl)]
Returns image with input rows compressed to a single value, the chosen rank of the sorted row values.
The result is a single-column image with height and depth of the input
Beware. While it is possible to use the rank filter for max/min extractions it is recommended to use the specific max/min operators instead, as they should be faster (linear scan of region, no gather, no sorting of the region).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|rank|int|-1|Index of the sorted values to return. Default creates a median filter. 0 creates min-filter.|
---
### [↑](#top) <a name='op_row_stddev'></a> aktive op row stddev
Syntax: __aktive op row stddev__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the standard deviation of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_stddev__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row stddev @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00483.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.2917</td></tr><tr><td>0.4242</td></tr><tr><td>0.4650</td></tr><tr><td>0.4758</td></tr><tr><td>0.4556</td></tr><tr><td>0.4014</td></tr><tr><td>0.3919</td></tr><tr><td>0.4099</td></tr><tr><td>0.4164</td></tr><tr><td>0.4307</td></tr><tr><td>0.4379</td></tr><tr><td>0.4438</td></tr><tr><td>0.4516</td></tr><tr><td>0.4667</td></tr><tr><td>0.4602</td></tr><tr><td>0.4525</td></tr><tr><td>0.4532</td></tr><tr><td>0.4575</td></tr><tr><td>0.4521</td></tr><tr><td>0.4575</td></tr><tr><td>0.4532</td></tr><tr><td>0.4556</td></tr><tr><td>0.4556</td></tr><tr><td>0.4532</td></tr><tr><td>0.4575</td></tr><tr><td>0.4521</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_sum'></a> aktive op row sum
Syntax: __aktive op row sum__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the sum of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_sum__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row sum @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00485.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>4</td></tr><tr><td>9</td></tr><tr><td>13</td></tr><tr><td>17</td></tr><tr><td>21</td></tr><tr><td>24</td></tr><tr><td>26</td></tr><tr><td>25</td></tr><tr><td>24</td></tr><tr><td>24</td></tr><tr><td>23</td></tr><tr><td>22</td></tr><tr><td>20</td></tr><tr><td>17</td></tr><tr><td>13</td></tr><tr><td>11</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_sumsquared'></a> aktive op row sumsquared
Syntax: __aktive op row sumsquared__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the sum of the squared row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_sumsquared__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row sumsquared @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00487.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>0</td></tr><tr><td>3</td></tr><tr><td>8</td></tr><tr><td>13</td></tr><tr><td>17</td></tr><tr><td>20</td></tr><tr><td>24</td></tr><tr><td>25</td></tr><tr><td>25</td></tr><tr><td>24</td></tr><tr><td>24</td></tr><tr><td>23</td></tr><tr><td>22</td></tr><tr><td>19</td></tr><tr><td>16</td></tr><tr><td>12</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr><tr><td>10</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_row_variance'></a> aktive op row variance
Syntax: __aktive op row variance__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-rows.tcl)]
Returns image with input rows compressed to a single value, the variance of the row values. The result is a single-column image with height and depth of the input.
The part about the `depth of the input` means that the bands in each row are handled separately.
#### <a name='op_row_variance__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op row variance @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00489.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td>
<td valign='top'><table><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0000</td></tr><tr><td>0.0851</td></tr><tr><td>0.1799</td></tr><tr><td>0.2163</td></tr><tr><td>0.2264</td></tr><tr><td>0.2075</td></tr><tr><td>0.1611</td></tr><tr><td>0.1536</td></tr><tr><td>0.1681</td></tr><tr><td>0.1734</td></tr><tr><td>0.1855</td></tr><tr><td>0.1918</td></tr><tr><td>0.1970</td></tr><tr><td>0.2039</td></tr><tr><td>0.2178</td></tr><tr><td>0.2118</td></tr><tr><td>0.2048</td></tr><tr><td>0.2054</td></tr><tr><td>0.2093</td></tr><tr><td>0.2044</td></tr><tr><td>0.2093</td></tr><tr><td>0.2054</td></tr><tr><td>0.2075</td></tr><tr><td>0.2075</td></tr><tr><td>0.2054</td></tr><tr><td>0.2093</td></tr><tr><td>0.2044</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_tile_histogram'></a> aktive op tile histogram
Syntax: __aktive op tile histogram__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=73&name=etc/transformer/statistics/histogram.tcl)]
Returns image with input tiles transformed into a histogram of `bins` values.
Only single-band images are legal inputs. The result will have `bins` bands.
|
| ︙ | ︙ | |||
988 989 990 991 992 993 994 | |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| |bins|int|256|The number of bins held by a single histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.| --- | | | | | | | 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 | |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| |bins|int|256|The number of bins held by a single histogram. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.| --- ### [↑](#top) <a name='op_tile_max'></a> aktive op tile max Syntax: __aktive op tile max__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the maximum of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for maximum is mirror. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_mean'></a> aktive op tile mean Syntax: __aktive op tile mean__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the arithmetic mean of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for arithmetic mean is mirror. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_median'></a> aktive op tile median Syntax: __aktive op tile median__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/statistics/rank-order.tcl)] Returns image with input tiles compressed to a single value, the median of the sorted tile values. Beware, the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for rank is mirror. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_min'></a> aktive op tile min Syntax: __aktive op tile min__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the minimum of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for minimum is mirror. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_rank'></a> aktive op tile rank Syntax: __aktive op tile rank__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=84&name=etc/transformer/statistics/rank-order.tcl)] Returns image with input tiles compressed to a single value, the chosen rank of the sorted tile values. Beware, the operator consumes overlapping tiles, not just adjacent. |
| ︙ | ︙ | |||
1096 1097 1098 1099 1100 1101 1102 | |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| |rank|int|-1|Index of the sorted values to return. Default creates a median filter. 0 creates min-filter.| --- | | | | | | 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 | |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| |rank|int|-1|Index of the sorted values to return. Default creates a median filter. 0 creates min-filter.| --- ### [↑](#top) <a name='op_tile_stddev'></a> aktive op tile stddev Syntax: __aktive op tile stddev__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the standard deviation of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for standard deviation is mirror. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_sum'></a> aktive op tile sum Syntax: __aktive op tile sum__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the sum of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for sum is black. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_sumsquared'></a> aktive op tile sumsquared Syntax: __aktive op tile sumsquared__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the sum of the squared tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. Beware, the result image is shrunken by 2*radius in width and height relative to the input. Inputs smaller than that are rejected. If shrinkage is not desired add a border to the input using one of the `aktive op embed ...` operators before applying this operator. The prefered embedding for sum is black. It is chosen to have minimal to no impact on the statistics at the original input's borders. The input bands are handled separately. |Parameter|Type|Default|Description| |:---|:---|:---|:---| |radius|uint||Tile size as radius from center. Full width and height of the tile are `2*radius+1`.| --- ### [↑](#top) <a name='op_tile_variance'></a> aktive op tile variance Syntax: __aktive op tile variance__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/statistics/by-tiles.tcl)] Returns image containing the variance of the tile values, for all tiles of radius R in the input. Beware, "all tiles" means that the operator consumes overlapping tiles, not just adjacent. |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform structure | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform structure ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ## Subsections |
| ︙ | ︙ | |||
83 84 85 86 87 88 89 | - [aktive op take z](#op_take_z) - [aktive op transpose](#op_transpose) - [aktive op transverse](#op_transverse) ## Operators --- | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 |
- [aktive op take z](#op_take_z)
- [aktive op transpose](#op_transpose)
- [aktive op transverse](#op_transverse)
## Operators
---
### [↑](#top) <a name='op_align_bottom'></a> aktive op align bottom
Syntax: __aktive op align bottom__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/structure/align.tcl)]
Returns image aligned to a border in a larger image.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|size|uint||Desired size of the image along the y-axis.|
|border|str|black|Method of embedding to use.|
#### <a name='op_align_bottom__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op align bottom @1 size 160 border mirror
<br> </th></tr>
<tr><td valign='top'><img src='example-00288.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00289.gif' alt='aktive op align bottom @1 size 160 border mirror' style='border:4px solid gold'>
<br>geometry(0 -32 128 160 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_align_left'></a> aktive op align left
Syntax: __aktive op align left__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/structure/align.tcl)]
Returns image aligned to a border in a larger image.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|size|uint||Desired size of the image along the x-axis.|
|border|str|black|Method of embedding to use.|
#### <a name='op_align_left__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op align left @1 size 160 border mirror
<br> </th></tr>
<tr><td valign='top'><img src='example-00290.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00291.gif' alt='aktive op align left @1 size 160 border mirror' style='border:4px solid gold'>
<br>geometry(0 0 160 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_align_right'></a> aktive op align right
Syntax: __aktive op align right__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/structure/align.tcl)]
Returns image aligned to a border in a larger image.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|size|uint||Desired size of the image along the x-axis.|
|border|str|black|Method of embedding to use.|
#### <a name='op_align_right__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op align right @1 size 160 border mirror
<br> </th></tr>
<tr><td valign='top'><img src='example-00292.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00293.gif' alt='aktive op align right @1 size 160 border mirror' style='border:4px solid gold'>
<br>geometry(-32 0 160 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_align_top'></a> aktive op align top
Syntax: __aktive op align top__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=7&name=etc/transformer/structure/align.tcl)]
Returns image aligned to a border in a larger image.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|size|uint||Desired size of the image along the y-axis.|
|border|str|black|Method of embedding to use.|
#### <a name='op_align_top__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op align top @1 size 160 border mirror
<br> </th></tr>
<tr><td valign='top'><img src='example-00294.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00295.gif' alt='aktive op align top @1 size 160 border mirror' style='border:4px solid gold'>
<br>geometry(0 0 128 160 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_center_origin_x'></a> aktive op center-origin x
Syntax: __aktive op center-origin x__ src [[→ definition](../../../../file?ci=trunk&ln=48&name=etc/transformer/structure/scrolling.tcl)]
Returns image where the center column of the input is shifted to the origin of the x axis.
#### <a name='op_center_origin_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op center-origin x @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00296.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00297.gif' alt='aktive op center-origin x @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_center_origin_xy'></a> aktive op center-origin xy
Syntax: __aktive op center-origin xy__ src [[→ definition](../../../../file?ci=trunk&ln=73&name=etc/transformer/structure/scrolling.tcl)]
Returns image where the center pixel of the input is shifted to the origin.
#### <a name='op_center_origin_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op center-origin xy @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00298.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00299.gif' alt='aktive op center-origin xy @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_center_origin_y'></a> aktive op center-origin y
Syntax: __aktive op center-origin y__ src [[→ definition](../../../../file?ci=trunk&ln=48&name=etc/transformer/structure/scrolling.tcl)]
Returns image where the center row of the input is shifted to the origin of the y axis.
#### <a name='op_center_origin_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op center-origin y @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00300.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00301.gif' alt='aktive op center-origin y @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_center_origin_z'></a> aktive op center-origin z
Syntax: __aktive op center-origin z__ src [[→ definition](../../../../file?ci=trunk&ln=48&name=etc/transformer/structure/scrolling.tcl)]
Returns image where the center band of the input is shifted to the origin of the z axis.
---
### [↑](#top) <a name='op_crop'></a> aktive op crop
Syntax: __aktive op crop__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/crop.tcl)]
Returns image containing a rectangular subset of input, specified by the amount of rows and columns to remove from the four borders.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to remove from the left input border|
|right|uint|0|Number of columns to remove from the right input border|
|top|uint|0|Number of rows to remove from the top input border|
|bottom|uint|0|Number of rows to remove from the bottom input border|
#### <a name='op_crop__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op crop @1 left 10 right 20 top 30 bottom 50
<br> </th></tr>
<tr><td valign='top'><img src='example-00345.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00346.gif' alt='aktive op crop @1 left 10 right 20 top 30 bottom 50' style='border:4px solid gold'>
<br>geometry(10 30 98 48 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_band_black'></a> aktive op embed band black
Syntax: __aktive op embed band black__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/band/black.tcl)]
Returns image embedding the input into a set of black bands.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|up|uint|0|Number of bands to add before the image bands|
|down|uint|0|Number of bands to add after the image bands|
---
### [↑](#top) <a name='op_embed_band_copy'></a> aktive op embed band copy
Syntax: __aktive op embed band copy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/band/copy.tcl)]
Returns image embedding the input into a set of copied bands.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|up|uint|0|Number of first band copies to add before the image bands|
|down|uint|0|Number of last band copies to add after the image bands|
---
### [↑](#top) <a name='op_embed_bg'></a> aktive op embed bg
Syntax: __aktive op embed bg__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/bg.tcl)]
Returns image embedding the input into an arbitrarily colored border. The color is specified through the band values.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
|values|double[]||Band values|
#### <a name='op_embed_bg__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed bg @1 left 32 right 32 top 32 bottom 32 values 0.5
<br> </th></tr>
<tr><td valign='top'><img src='example-00365.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00366.gif' alt='aktive op embed bg @1 left 32 right 32 top 32 bottom 32 values 0.5' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_black'></a> aktive op embed black
Syntax: __aktive op embed black__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/black.tcl)]
Returns image embedding the input into a black border.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
#### <a name='op_embed_black__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed black @1 left 32 right 32 top 32 bottom 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00367.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00368.gif' alt='aktive op embed black @1 left 32 right 32 top 32 bottom 32' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_copy'></a> aktive op embed copy
Syntax: __aktive op embed copy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/copy.tcl)]
Returns image embedding the input into a border made from the replicated input edges.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
#### <a name='op_embed_copy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed copy @1 left 32 right 32 top 32 bottom 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00369.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00370.gif' alt='aktive op embed copy @1 left 32 right 32 top 32 bottom 32' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_mirror'></a> aktive op embed mirror
Syntax: __aktive op embed mirror__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/mirror.tcl)]
Returns image embedding the input into a border made from the replicated mirrored input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
#### <a name='op_embed_mirror__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed mirror @1 left 32 right 32 top 32 bottom 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00371.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00372.gif' alt='aktive op embed mirror @1 left 32 right 32 top 32 bottom 32' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_tile'></a> aktive op embed tile
Syntax: __aktive op embed tile__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/tile.tcl)]
Returns image embedding the input into a border made from the replicated input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
#### <a name='op_embed_tile__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed tile @1 left 32 right 32 top 32 bottom 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00373.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00374.gif' alt='aktive op embed tile @1 left 32 right 32 top 32 bottom 32' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_embed_white'></a> aktive op embed white
Syntax: __aktive op embed white__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/structure/embed/white.tcl)]
Returns image embedding the input into a white border.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|left|uint|0|Number of columns to extend the left input border by|
|right|uint|0|Number of columns to extend the right input border by|
|top|uint|0|Number of rows to extend the top input border by|
|bottom|uint|0|Number of rows to extend the bottom input border by|
#### <a name='op_embed_white__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op embed white @1 left 32 right 32 top 32 bottom 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00375.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00376.gif' alt='aktive op embed white @1 left 32 right 32 top 32 bottom 32' style='border:4px solid gold'>
<br>geometry(-32 -32 192 192 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_flip_x'></a> aktive op flip x
Syntax: __aktive op flip x__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/flip.tcl)]
Returns image which mirrors the input along the x-axis.
#### <a name='op_flip_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op flip x @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00377.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00378.gif' alt='aktive op flip x @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_flip_y'></a> aktive op flip y
Syntax: __aktive op flip y__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/flip.tcl)]
Returns image which mirrors the input along the y-axis.
#### <a name='op_flip_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op flip y @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00379.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00380.gif' alt='aktive op flip y @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_flip_z'></a> aktive op flip z
Syntax: __aktive op flip z__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/flip.tcl)]
Returns image which mirrors the input along the z-axis.
---
### [↑](#top) <a name='op_if_then_else'></a> aktive op if-then-else
Syntax: __aktive op if-then-else__ src0 src1 src2 [[→ definition](../../../../file?ci=trunk&ln=149&name=etc/transformer/structure/take.tcl)]
Choose between second and third images based on the content of the first.
All images have to have the same width and height. The selector image has to be single-band. The other images may have arbitrary depth, as long as both have the same.
---
### [↑](#top) <a name='op_resize'></a> aktive op resize
Syntax: __aktive op resize__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/resize.tcl)]
Returns image resized to the specified width and height.
This is a convenience operator implemented on top of [aktive op transform by](transform_structure_warp.md#op_transform_by).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|interpolate|str|bilinear|Interpolation method to use|
|width|uint||Desired width of the result|
|height|uint||Desired height of the result|
#### <a name='op_resize__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op resize @1 width 21 height 29
<br> </th></tr>
<tr><td valign='top'><img src='example-00455.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td>
<td valign='top'><img src='example-00456.gif' alt='aktive op resize @1 width 21 height 29' style='border:4px solid gold'>
<br>geometry(0 0 21 29 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_rotate_any'></a> aktive op rotate any
Syntax: __aktive op rotate any__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=62&name=etc/transformer/structure/rotate.tcl)]
Returns image rotating the input at an arbitrary angle around an arbitrary center. The default center is the image center.
This is a convenience operator implemented on top of [aktive op transform by](transform_structure_warp.md#op_transform_by).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|double||In degrees, angle to rotate|
|around|point|{}|Rotation center. Default is the origin|
|interpolate|str|bilinear|Interpolation method to use|
#### <a name='op_rotate_any__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op rotate any @1 by 33 around {32 32}
<br> </th></tr>
<tr><td valign='top'><img src='example-00457.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 256 256 3)</td>
<td valign='top'><table><tr><td valign='top'>sframe</td><td valign='top'><img src='example-00458.gif' alt='aktive op rotate any @1 by 33 around {32 32}' style='border:4px solid gold'>
<br>geometry(-116 -12 354 354 3)</td></tr></table></td></tr>
</table>
---
### [↑](#top) <a name='op_rotate_ccw'></a> aktive op rotate ccw
Syntax: __aktive op rotate ccw__ src [[→ definition](../../../../file?ci=trunk&ln=28&name=etc/transformer/structure/rotate.tcl)]
Returns image rotating the input 90 degrees counter clockwise
#### <a name='op_rotate_ccw__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op rotate ccw @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00459.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00460.gif' alt='aktive op rotate ccw @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_rotate_cw'></a> aktive op rotate cw
Syntax: __aktive op rotate cw__ src [[→ definition](../../../../file?ci=trunk&ln=11&name=etc/transformer/structure/rotate.tcl)]
Returns image rotating the input 90 degrees clockwise.
#### <a name='op_rotate_cw__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op rotate cw @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00461.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00462.gif' alt='aktive op rotate cw @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_rotate_half'></a> aktive op rotate half
Syntax: __aktive op rotate half__ src [[→ definition](../../../../file?ci=trunk&ln=45&name=etc/transformer/structure/rotate.tcl)]
Returns image rotating the input 180 degrees (counter) clockwise.
#### <a name='op_rotate_half__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op rotate half @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00463.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00464.gif' alt='aktive op rotate half @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_decimate_x'></a> aktive op sample decimate x
Syntax: __aktive op sample decimate x__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=33&name=etc/transformer/structure/resample/decimate.tcl)]
Returns image with the input decimated along the x-axis according to the decimation factor (>= 1).
This is accomplished by sub sampling the result of a lowpass filter applied to the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Decimation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_decimate_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample decimate x @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00491.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00492.gif' alt='aktive op sample decimate x @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 32 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_decimate_xy'></a> aktive op sample decimate xy
Syntax: __aktive op sample decimate xy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/resample/decimate.tcl)]
Returns image with the input decimated along both x and y axes according to the decimation factor (>= 1).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Decimation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_decimate_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample decimate xy @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00493.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00494.gif' alt='aktive op sample decimate xy @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_decimate_y'></a> aktive op sample decimate y
Syntax: __aktive op sample decimate y__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=33&name=etc/transformer/structure/resample/decimate.tcl)]
Returns image with the input decimated along the y-axis according to the decimation factor (>= 1).
This is accomplished by sub sampling the result of a lowpass filter applied to the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Decimation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_decimate_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample decimate y @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00495.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00496.gif' alt='aktive op sample decimate y @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 128 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_fill_x'></a> aktive op sample fill x
Syntax: __aktive op sample fill x__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/transformer/structure/resample/fill.tcl)]
Returns image where the input is "zero-stuffed" along the x-axis according to the stuffing factor S (>= 1). The S-1 gaps in the result are set to the given fill value, with zero, i.e. 0, used by default.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stuff factor, range 2...|
|fill|double|0|Pixel fill value|
#### <a name='op_sample_fill_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample fill x @1 by 4 fill 0.5
<br> </th></tr>
<tr><td valign='top'><img src='example-00497.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00498.gif' alt='aktive op sample fill x @1 by 4 fill 0.5' style='border:4px solid gold'>
<br>geometry(0 0 512 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_fill_xy'></a> aktive op sample fill xy
Syntax: __aktive op sample fill xy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=15&name=etc/transformer/structure/resample/fill.tcl)]
Returns image where the input is "zero-stuffed" along both x and y axes according to the stuffing factor S (>= 1). The S-1 gaps in the result are set to the given fill value, with zero, i.e. 0, used by default.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Stuff factor, range 2...|
|fill|double|0|Pixel fill value|
#### <a name='op_sample_fill_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample fill xy @1 by 4 fill 0.5
<br> </th></tr>
<tr><td valign='top'><img src='example-00499.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00500.gif' alt='aktive op sample fill xy @1 by 4 fill 0.5' style='border:4px solid gold'>
<br>geometry(0 0 512 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_fill_y'></a> aktive op sample fill y
Syntax: __aktive op sample fill y__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/transformer/structure/resample/fill.tcl)]
Returns image where the input is "zero-stuffed" along the y-axis according to the stuffing factor S (>= 1). The S-1 gaps in the result are set to the given fill value, with zero, i.e. 0, used by default.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stuff factor, range 2...|
|fill|double|0|Pixel fill value|
#### <a name='op_sample_fill_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample fill y @1 by 4 fill 0.5
<br> </th></tr>
<tr><td valign='top'><img src='example-00501.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00502.gif' alt='aktive op sample fill y @1 by 4 fill 0.5' style='border:4px solid gold'>
<br>geometry(0 0 128 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_fill_z'></a> aktive op sample fill z
Syntax: __aktive op sample fill z__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=40&name=etc/transformer/structure/resample/fill.tcl)]
Returns image where the input is "zero-stuffed" along the z-axis according to the stuffing factor S (>= 1). The S-1 gaps in the result are set to the given fill value, with zero, i.e. 0, used by default.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stuff factor, range 2...|
|fill|double|0|Pixel fill value|
---
### [↑](#top) <a name='op_sample_interpolate_x'></a> aktive op sample interpolate x
Syntax: __aktive op sample interpolate x__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=37&name=etc/transformer/structure/resample/interpolate.tcl)]
Returns image with the input interpolated along the x-axis according to the interpolation factor (>= 1).
This is accomplished by low-pass filtering applied to the result of zero-stuffing the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Interpolation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_interpolate_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample interpolate x @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00503.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00504.gif' alt='aktive op sample interpolate x @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 512 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_interpolate_xy'></a> aktive op sample interpolate xy
Syntax: __aktive op sample interpolate xy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/resample/interpolate.tcl)]
Returns image with the input interpolated along both x and y axes according to the interpolation factor (>= 1).
This is accomplished by low-pass filtering applied to the result of zero-stuffing the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Interpolation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_interpolate_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample interpolate xy @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00505.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00506.gif' alt='aktive op sample interpolate xy @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 512 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_interpolate_y'></a> aktive op sample interpolate y
Syntax: __aktive op sample interpolate y__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=37&name=etc/transformer/structure/resample/interpolate.tcl)]
Returns image with the input interpolated along the y-axis according to the interpolation factor (>= 1).
This is accomplished by low-pass filtering applied to the result of zero-stuffing the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Interpolation factor, range 2...|
|embed|str|mirror|Embedding to apply to prevent input from shrinking before sampled down.|
#### <a name='op_sample_interpolate_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample interpolate y @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00507.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00508.gif' alt='aktive op sample interpolate y @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 128 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_replicate_x'></a> aktive op sample replicate x
Syntax: __aktive op sample replicate x__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/structure/resample/replicated.tcl)]
Returns image where the input is stretched along the x-axis according to the stretching factor (>= 1), and the gaps are filled by replicating the preceding non-gap pixel.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stretch factor, range 2...|
#### <a name='op_sample_replicate_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample replicate x @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00509.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00510.gif' alt='aktive op sample replicate x @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 512 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_replicate_xy'></a> aktive op sample replicate xy
Syntax: __aktive op sample replicate xy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/resample/replicated.tcl)]
Returns image where the input is stretched along both x and y axes according to the stretching factor (>= 1), and the gaps are filled by replicating the preceding non-gap pixel.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Stretch factor, range 2...|
#### <a name='op_sample_replicate_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample replicate xy @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00511.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00512.gif' alt='aktive op sample replicate xy @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 512 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_replicate_y'></a> aktive op sample replicate y
Syntax: __aktive op sample replicate y__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/structure/resample/replicated.tcl)]
Returns image where the input is stretched along the y-axis according to the stretching factor (>= 1), and the gaps are filled by replicating the preceding non-gap pixel.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stretch factor, range 2...|
#### <a name='op_sample_replicate_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample replicate y @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00513.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00514.gif' alt='aktive op sample replicate y @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 128 512 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_replicate_z'></a> aktive op sample replicate z
Syntax: __aktive op sample replicate z__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=30&name=etc/transformer/structure/resample/replicated.tcl)]
Returns image where the input is stretched along the z-axis according to the stretching factor (>= 1), and the gaps are filled by replicating the preceding non-gap pixel.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint||Stretch factor, range 2...|
---
### [↑](#top) <a name='op_sample_sub_x'></a> aktive op sample sub x
Syntax: __aktive op sample sub x__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=61&name=etc/transformer/structure/resample/sub.tcl)]
Returns image with the input sampled down along the x-axis according to the sampling factor S (>= 1). The result keeps every S'th pixel of the input. S-1 pixels after every kept pixel are removed.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Sampling factor, range 2...|
#### <a name='op_sample_sub_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample sub x @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00515.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00516.gif' alt='aktive op sample sub x @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 32 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_sub_xy'></a> aktive op sample sub xy
Syntax: __aktive op sample sub xy__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=32&name=etc/transformer/structure/resample/sub.tcl)]
Returns image with the input sampled down along both x and y axes according to the sampling factor S (>= 1). The result keeps every S'th pixel of the input. S-1 pixels after every kept pixel are removed.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Sampling factor, range 2...|
#### <a name='op_sample_sub_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample sub xy @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00517.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00518.gif' alt='aktive op sample sub xy @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 32 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_sub_y'></a> aktive op sample sub y
Syntax: __aktive op sample sub y__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=61&name=etc/transformer/structure/resample/sub.tcl)]
Returns image with the input sampled down along the y-axis according to the sampling factor S (>= 1). The result keeps every S'th pixel of the input. S-1 pixels after every kept pixel are removed.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Sampling factor, range 2...|
#### <a name='op_sample_sub_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op sample sub y @1 by 4
<br> </th></tr>
<tr><td valign='top'><img src='example-00519.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00520.gif' alt='aktive op sample sub y @1 by 4' style='border:4px solid gold'>
<br>geometry(0 0 128 32 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_sample_sub_z'></a> aktive op sample sub z
Syntax: __aktive op sample sub z__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=61&name=etc/transformer/structure/resample/sub.tcl)]
Returns image with the input sampled down along the z-axis according to the sampling factor S (>= 1). The result keeps every S'th pixel of the input. S-1 pixels after every kept pixel are removed.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|by|uint|2|Sampling factor, range 2...|
---
### [↑](#top) <a name='op_scroll_x'></a> aktive op scroll x
Syntax: __aktive op scroll x__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/structure/scrolling.tcl)]
Returns image with the pixels of the input shifted along the x axis so that the N'th column becomes the origin on that axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|offset|uint||x scroll offset|
#### <a name='op_scroll_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op scroll x @1 offset 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00521.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00522.gif' alt='aktive op scroll x @1 offset 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_scroll_y'></a> aktive op scroll y
Syntax: __aktive op scroll y__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/structure/scrolling.tcl)]
Returns image with the pixels of the input shifted along the y axis so that the N'th row becomes the origin on that axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|offset|uint||y scroll offset|
#### <a name='op_scroll_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op scroll y @1 offset 32
<br> </th></tr>
<tr><td valign='top'><img src='example-00523.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00524.gif' alt='aktive op scroll y @1 offset 32' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_scroll_z'></a> aktive op scroll z
Syntax: __aktive op scroll z__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=14&name=etc/transformer/structure/scrolling.tcl)]
Returns image with the pixels of the input shifted along the z axis so that the N'th band becomes the origin on that axis.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|offset|uint||z scroll offset|
---
### [↑](#top) <a name='op_select_x'></a> aktive op select x
Syntax: __aktive op select x__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/select.tcl)]
Returns image containing a contiguous subset of the input's columns.
The result has a properly reduced width.
|
| ︙ | ︙ | |||
1183 1184 1185 1186 1187 1188 1189 |
#### <a name='op_select_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op select x @1 from 20 to 50
<br> </th></tr>
| | | | | 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 |
#### <a name='op_select_x__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op select x @1 from 20 to 50
<br> </th></tr>
<tr><td valign='top'><img src='example-00575.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00576.gif' alt='aktive op select x @1 from 20 to 50' style='border:4px solid gold'>
<br>geometry(20 0 31 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_select_y'></a> aktive op select y
Syntax: __aktive op select y__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/select.tcl)]
Returns image containing a contiguous subset of the input's rows.
The result has a properly reduced height.
|
| ︙ | ︙ | |||
1217 1218 1219 1220 1221 1222 1223 |
#### <a name='op_select_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op select y @1 from 20 to 50
<br> </th></tr>
| | | | | | | | | | | | | | 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 |
#### <a name='op_select_y__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op select y @1 from 20 to 50
<br> </th></tr>
<tr><td valign='top'><img src='example-00577.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00578.gif' alt='aktive op select y @1 from 20 to 50' style='border:4px solid gold'>
<br>geometry(0 20 128 31 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_select_z'></a> aktive op select z
Syntax: __aktive op select z__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/select.tcl)]
Returns image containing a contiguous subset of the input's bands.
The result has a properly reduced depth.
The other two dimension are unchanged.
The 2D location of the first cell of the input going into the
result is the location of the result.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|from|uint||The input's first band to be placed into the result.|
|to|uint|from|The input's last band to be placed into the result. If not specified defaults to the first.|
---
### [↑](#top) <a name='op_split_x'></a> aktive op split x
Syntax: __aktive op split x__ src [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/split.tcl)]
Returns list containing each column of the input as separate image.
---
### [↑](#top) <a name='op_split_y'></a> aktive op split y
Syntax: __aktive op split y__ src [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/split.tcl)]
Returns list containing each row of the input as separate image.
---
### [↑](#top) <a name='op_split_z'></a> aktive op split z
Syntax: __aktive op split z__ src [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/split.tcl)]
Returns list containing each band of the input as separate image.
---
### [↑](#top) <a name='op_swap_xy'></a> aktive op swap xy
Syntax: __aktive op swap xy__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/swap.tcl)]
Returns image with the x- and y-axes of the input exchanged.
The location of the image is not changed.
#### <a name='op_swap_xy__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op swap xy @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00579.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00580.gif' alt='aktive op swap xy @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_swap_xz'></a> aktive op swap xz
Syntax: __aktive op swap xz__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/swap.tcl)]
Returns image with the x- and z-axes of the input exchanged.
The location of the image is not changed.
---
### [↑](#top) <a name='op_swap_yz'></a> aktive op swap yz
Syntax: __aktive op swap yz__ src [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/swap.tcl)]
Returns image with the y- and z-axes of the input exchanged.
The location of the image is not changed.
---
### [↑](#top) <a name='op_take_x'></a> aktive op take x
Syntax: __aktive op take x__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/take.tcl)]
Select values of the input (2nd argument) under the control of the index.
Takes two inputs of the same height and depth.
|
| ︙ | ︙ | |||
1339 1340 1341 1342 1343 1344 1345 | The locations of index and data inputs are ignored. The resut is placed at the coordinate origin/zero. --- | | | 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 | The locations of index and data inputs are ignored. The resut is placed at the coordinate origin/zero. --- ### [↑](#top) <a name='op_take_y'></a> aktive op take y Syntax: __aktive op take y__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/take.tcl)] Select values of the input (2nd argument) under the control of the index. Takes two inputs of the same width and depth. |
| ︙ | ︙ | |||
1365 1366 1367 1368 1369 1370 1371 | The locations of index and data inputs are ignored. The resut is placed at the coordinate origin/zero. --- | | | 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 | The locations of index and data inputs are ignored. The resut is placed at the coordinate origin/zero. --- ### [↑](#top) <a name='op_take_z'></a> aktive op take z Syntax: __aktive op take z__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/take.tcl)] Select values of the input (2nd argument) under the control of the index. Takes two inputs of the same width and height. |
| ︙ | ︙ | |||
1391 1392 1393 1394 1395 1396 1397 | The locations of index and data inputs are ignored. The resut is placed at the coordinate origin/zero. --- | | | | | | | | 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 |
The locations of index and data inputs are ignored.
The resut is placed at the coordinate origin/zero.
---
### [↑](#top) <a name='op_transpose'></a> aktive op transpose
Syntax: __aktive op transpose__ src [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/structure/transpose.tcl)]
Returns image with the input mirrored along the primary diagonal.
This is an alias of `swap xy`.
#### <a name='op_transpose__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op transpose @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00603.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00604.gif' alt='aktive op transpose @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
---
### [↑](#top) <a name='op_transverse'></a> aktive op transverse
Syntax: __aktive op transverse__ src [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/structure/transpose.tcl)]
Returns image with the input mirrored along the secondary diagonal.
#### <a name='op_transverse__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive op transverse @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00605.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td>
<td valign='top'><img src='example-00606.gif' alt='aktive op transverse @1' style='border:4px solid gold'>
<br>geometry(0 0 128 128 1)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform structure warp | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform structure warp ## <anchor='top'> Table Of Contents - [transform structure](transform_structure.md) ↗ ### Operators - [aktive op transform by](#op_transform_by) - [aktive op warp bicubic](#op_warp_bicubic) - [aktive op warp bilinear](#op_warp_bilinear) - [aktive op warp lanczos](#op_warp_lanczos) - [aktive op warp near-neighbour](#op_warp_near_neighbour) ## Operators --- ### [↑](#top) <a name='op_transform_by'></a> aktive op transform by Syntax: __aktive op transform by__ src0 src1 ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/transform.tcl)] Returns an image generated by the application of the projective __forward__transform (`src0`) to the input (`src1`), using some kind of pixel interpolation. The default is `bilinear`. The necessary backward transformation is computed internally. |
| ︙ | ︙ | |||
53 54 55 56 57 58 59 |
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(rotate by 30 around {10 50})</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
| | | | | | | | | | | | | | | | | | | | | 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 |
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(rotate by 30 around {10 50})</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00581.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>0.8660</td><td>-0.5000</td><td>26.3397</td></tr><tr><td>0.5000</td><td>0.8660</td><td>1.6987</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>bframe</td><td valign='top'><img src='example-00583.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(-98 1 454 407 3)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(scale x 0.5 y 1.5)</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00584.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>0.5000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.5000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><img src='example-00586.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(0 0 191 375 3)</td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(shear x 20 y 10)</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00587.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>1.0000</td><td>0.3640</td><td>0.0000</td></tr><tr><td>0.1763</td><td>1.0642</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><img src='example-00589.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(0 0 471 333 3)</td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(reflect x)</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00590.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>-1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><img src='example-00592.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(-379 0 380 250 3)</td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(reflect y)</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00593.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>1.0000</td><td>0.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>-1.0000</td><td>0.0000</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><img src='example-00595.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(0 -249 380 250 3)</td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(reflect line {50 260} b {150 -10})</th>
<th>aktive op transform by @2 @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00596.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>-0.7587</td><td>-0.6514</td><td>257.2979</td></tr><tr><td>-0.6514</td><td>0.7587</td><td>95.2955</td></tr><tr><td>0.0000</td><td>0.0000</td><td>1.0000</td></tr></table></td>
<td valign='top'><table><tr><td valign='top'>bframe</td><td valign='top'><img src='example-00598.gif' alt='aktive op transform by @2 @1' style='border:4px solid gold'>
<br>geometry(-192 -151 451 437 3)</td></tr></table></td></tr>
</table>
<table>
<tr><th>@1
<br>(assets/butterfly.ppm)</th>
<th>@2
<br>(quadrilateral)</th>
<th>@3
<br> </th>
<th>aktive op view @3 port {0 0 100 100}
<br> </th></tr>
<tr><td valign='top'><img src='example-00599.gif' alt='@1 (assets/butterfly.ppm)' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><table><tr><td>0.4944</td><td>-0.4159</td><td>2.5504</td></tr><tr><td>0.3440</td><td>0.9460</td><td>-74.8181</td></tr><tr><td>-0.0014</td><td>-0.0023</td><td>1.2110</td></tr></table></td>
<td valign='top'><img src='example-00601.gif' alt='@3' style='border:4px solid gold'>
<br>geometry(-161 -61 1036 3006 3)</td>
<td valign='top'><img src='example-00602.gif' alt='aktive op view @3 port {0 0 100 100}' style='border:4px solid gold'>
<br>geometry(0 0 100 100 3)</td></tr>
</table>
---
### [↑](#top) <a name='op_warp_bicubic'></a> aktive op warp bicubic
Syntax: __aktive op warp bicubic__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/warp.tcl)]
Returns an image generated by the application of the origin map (`src0`) to the image (`src1`), with bicubic interpolation.
The result has the domain of the origin map, and the depth of the image.
See [aktive transform affine](generator_virtual_warp.md#transform_affine) and its relatives for a set of operations creating origin maps acceptable here.
---
### [↑](#top) <a name='op_warp_bilinear'></a> aktive op warp bilinear
Syntax: __aktive op warp bilinear__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/warp.tcl)]
Returns an image generated by the application of the origin map (`src0`) to the image (`src1`), with bilinear interpolation.
The result has the domain of the origin map, and the depth of the image.
See [aktive transform affine](generator_virtual_warp.md#transform_affine) and its relatives for a set of operations creating origin maps acceptable here.
---
### [↑](#top) <a name='op_warp_lanczos'></a> aktive op warp lanczos
Syntax: __aktive op warp lanczos__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/warp.tcl)]
Returns an image generated by the application of the origin map (`src0`) to the image (`src1`), with order-3 lanczos interpolation.
The result has the domain of the origin map, and the depth of the image.
See [aktive transform affine](generator_virtual_warp.md#transform_affine) and its relatives for a set of operations creating origin maps acceptable here.
---
### [↑](#top) <a name='op_warp_near_neighbour'></a> aktive op warp near-neighbour
Syntax: __aktive op warp near-neighbour__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=8&name=etc/transformer/structure/warp.tcl)]
Returns an image generated by the application of the origin map (`src0`) to the image (`src1`), with nearest neighbour interpolation.
The result has the domain of the origin map, and the depth of the image.
See [aktive transform affine](generator_virtual_warp.md#transform_affine) and its relatives for a set of operations creating origin maps acceptable here.
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold generate | | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 |
<img src='../assets/aktive-logo-128.png' style='float:right;'>
||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|
|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|
# Documentation -- Reference Pages -- transform threshold generate
## <anchor='top'> Table Of Contents
- [transform threshold](transform_threshold.md) ↗
### Operators
- [aktive image threshold bernsen](#image_threshold_bernsen)
- [aktive image threshold mean](#image_threshold_mean)
- [aktive image threshold niblack](#image_threshold_niblack)
- [aktive image threshold otsu](#image_threshold_otsu)
- [aktive image threshold phansalkar](#image_threshold_phansalkar)
- [aktive image threshold sauvola](#image_threshold_sauvola)
- [aktive image threshold wolfjolion](#image_threshold_wolfjolion)
## Operators
---
### [↑](#top) <a name='image_threshold_bernsen'></a> aktive image threshold bernsen
Syntax: __aktive image threshold bernsen__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=65&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Bernsen's method.
The operator [aktive image mask per bernsen](transform_threshold_mask_generate.md#image_mask_per_bernsen) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_bernsen__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold bernsen @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00237.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00238.gif' alt='aktive image threshold bernsen @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold bernsen @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00239.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00240.gif' alt='aktive image threshold bernsen @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_mean'></a> aktive image threshold mean
Syntax: __aktive image threshold mean__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=18&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per the local mean.
The operator [aktive image mask per mean](transform_threshold_mask_generate.md#image_mask_per_mean) uses this to generate a mask of the input.
There are better methods. Extensions to the simple mean, in order of creation (and complexity), are Sauvola, Niblack, and Phansalkar. Each of these modifies the plain mean with a bias based on a mix of standard deviation, parameters, and the mean itself.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold mean @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00263.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00264.gif' alt='aktive image threshold mean @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold mean @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00265.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00266.gif' alt='aktive image threshold mean @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_niblack'></a> aktive image threshold niblack
Syntax: __aktive image threshold niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=113&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Niblack's method.
The operator [aktive image mask per niblack](transform_threshold_mask_generate.md#image_mask_per_niblack) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|-0.2|niblack parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_niblack__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold niblack @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00267.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00268.gif' alt='aktive image threshold niblack @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold niblack @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00269.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00270.gif' alt='aktive image threshold niblack @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_otsu'></a> aktive image threshold otsu
Syntax: __aktive image threshold otsu__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=283&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Otsu's method.
The operator [aktive image mask per otsu](transform_threshold_mask_generate.md#image_mask_per_otsu) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|
|bins|int|256|The number of bins used by the internal histograms. The pixel values are quantized to fit. Only values in the range of [0..1] are considered valid. Values outside of that range are placed into the smallest/largest bin. The default quantizes the image values to 8-bit.|
#### <a name='image_threshold_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold otsu @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00271.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00272.gif' alt='aktive image threshold otsu @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_phansalkar'></a> aktive image threshold phansalkar
Syntax: __aktive image threshold phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=218&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Phansalkar's method.
The operator [aktive image mask per phansalkar](transform_threshold_mask_generate.md#image_mask_per_phansalkar) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.25|phansalkar parameter|
|R|double|0.5|phansalkar parameter|
|p|double|3|phansalkar parameter|
|q|double|10|phansalkar parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_phansalkar__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold phansalkar @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00273.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00274.gif' alt='aktive image threshold phansalkar @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold phansalkar @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00275.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00276.gif' alt='aktive image threshold phansalkar @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_sauvola'></a> aktive image threshold sauvola
Syntax: __aktive image threshold sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=164&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Sauvola's method.
The operator [aktive image mask per sauvola](transform_threshold_mask_generate.md#image_mask_per_sauvola) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|sauvola parameter|
|R|double|128|sauvola parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_sauvola__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold sauvola @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00277.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00278.gif' alt='aktive image threshold sauvola @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold sauvola @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00279.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00280.gif' alt='aktive image threshold sauvola @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_threshold_wolfjolion'></a> aktive image threshold wolfjolion
Syntax: __aktive image threshold wolfjolion__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=323&name=etc/transformer/thresholds/thresholds.tcl)]
Returns image containing per-pixel thresholds for the input, as per Wolf+Jolion's method.
The operator [aktive image mask per wolfjolion](transform_threshold_mask_generate.md#image_mask_per_wolfjolion) uses this to generate a mask of the input.
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|wolfjolion parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_threshold_wolfjolion__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold wolfjolion @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00281.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00282.gif' alt='aktive image threshold wolfjolion @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image threshold wolfjolion @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00283.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00284.gif' alt='aktive image threshold wolfjolion @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold mask | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold mask ## <anchor='top'> Table Of Contents - [transform threshold](transform_threshold.md) ↗ ## Subsections |
| ︙ | ︙ |
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold mask generate | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform threshold mask generate ## <anchor='top'> Table Of Contents - [transform threshold mask](transform_threshold_mask.md) ↗ ### Operators - [aktive image mask from threshold](#image_mask_from_threshold) |
| ︙ | ︙ | |||
31 32 33 34 35 36 37 | - [aktive image mask per phansalkar](#image_mask_per_phansalkar) - [aktive image mask per sauvola](#image_mask_per_sauvola) - [aktive image mask per wolfjolion](#image_mask_per_wolfjolion) ## Operators --- | | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > > > > > > > > > > > > > > > > > > > > > > > | 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 |
- [aktive image mask per phansalkar](#image_mask_per_phansalkar)
- [aktive image mask per sauvola](#image_mask_per_sauvola)
- [aktive image mask per wolfjolion](#image_mask_per_wolfjolion)
## Operators
---
### [↑](#top) <a name='image_mask_from_threshold'></a> aktive image mask from threshold
Syntax: __aktive image mask from threshold__ src0 src1 [[→ definition](../../../../file?ci=trunk&ln=9&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, as per threshold image. Note that the threshold is the first argument, and input the second.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
---
### [↑](#top) <a name='image_mask_per_bernsen'></a> aktive image mask per bernsen
Syntax: __aktive image mask per bernsen__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Bernsen thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold bernsen](transform_threshold_generate.md#image_threshold_bernsen).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_bernsen__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per bernsen @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00146.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00147.gif' alt='aktive image mask per bernsen @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per bernsen @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00148.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00149.gif' alt='aktive image mask per bernsen @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_bernsen'></a> aktive image mask per global bernsen
Syntax: __aktive image mask per global bernsen__ src [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Bernsen thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global bernsen](accessor_threshold_generate.md#image_threshold_global_bernsen).
#### <a name='image_mask_per_global_bernsen__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global bernsen @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00150.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00151.gif' alt='aktive image mask per global bernsen @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global bernsen @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00152.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00153.gif' alt='aktive image mask per global bernsen @1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_mean'></a> aktive image mask per global mean
Syntax: __aktive image mask per global mean__ src [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Mean thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global mean](accessor_threshold_generate.md#image_threshold_global_mean).
#### <a name='image_mask_per_global_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00154.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00155.gif' alt='aktive image mask per global mean @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global mean @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00156.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00157.gif' alt='aktive image mask per global mean @1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_niblack'></a> aktive image mask per global niblack
Syntax: __aktive image mask per global niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Niblack thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global niblack](accessor_threshold_generate.md#image_threshold_global_niblack).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|-0.2|niblack parameter|
#### <a name='image_mask_per_global_niblack__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global niblack @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00158.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00159.gif' alt='aktive image mask per global niblack @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global niblack @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00160.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00161.gif' alt='aktive image mask per global niblack @1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_otsu'></a> aktive image mask per global otsu
Syntax: __aktive image mask per global otsu__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Otsu thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global otsu](accessor_threshold_generate.md#image_threshold_global_otsu).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|otsu histogram parameter|
#### <a name='image_mask_per_global_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global otsu @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00162.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00163.gif' alt='aktive image mask per global otsu @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_phansalkar'></a> aktive image mask per global phansalkar
Syntax: __aktive image mask per global phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Phansalkar thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global phansalkar](accessor_threshold_generate.md#image_threshold_global_phansalkar).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.25|phansalkar parameter|
|R|double|0.5|phansalkar parameter|
|p|double|3|phansalkar parameter|
|q|double|10|phansalkar parameter|
#### <a name='image_mask_per_global_phansalkar__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global phansalkar @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00164.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00165.gif' alt='aktive image mask per global phansalkar @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global phansalkar @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00166.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00167.gif' alt='aktive image mask per global phansalkar @1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_global_sauvola'></a> aktive image mask per global sauvola
Syntax: __aktive image mask per global sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=89&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using global Sauvola thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The threshold is computed using [aktive image threshold global sauvola](accessor_threshold_generate.md#image_threshold_global_sauvola).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|sauvola parameter|
|R|double|128|sauvola parameter|
#### <a name='image_mask_per_global_sauvola__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global sauvola @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00168.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00169.gif' alt='aktive image mask per global sauvola @1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per global sauvola @1
<br> </th></tr>
<tr><td valign='top'><img src='example-00170.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00171.gif' alt='aktive image mask per global sauvola @1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_mean'></a> aktive image mask per mean
Syntax: __aktive image mask per mean__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Mean thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold mean](transform_threshold_generate.md#image_threshold_mean).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_mean__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per mean @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00172.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00173.gif' alt='aktive image mask per mean @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per mean @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00174.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00175.gif' alt='aktive image mask per mean @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_niblack'></a> aktive image mask per niblack
Syntax: __aktive image mask per niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Niblack thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold niblack](transform_threshold_generate.md#image_threshold_niblack).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|-0.2|niblack parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_niblack__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per niblack @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00176.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00177.gif' alt='aktive image mask per niblack @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per niblack @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00178.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00179.gif' alt='aktive image mask per niblack @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_otsu'></a> aktive image mask per otsu
Syntax: __aktive image mask per otsu__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Otsu thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold otsu](transform_threshold_generate.md#image_threshold_otsu).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|otsu histogram parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_otsu__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per otsu @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00180.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00181.gif' alt='aktive image mask per otsu @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_phansalkar'></a> aktive image mask per phansalkar
Syntax: __aktive image mask per phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Phansalkar thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold phansalkar](transform_threshold_generate.md#image_threshold_phansalkar).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.25|phansalkar parameter|
|R|double|0.5|phansalkar parameter|
|p|double|3|phansalkar parameter|
|q|double|10|phansalkar parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_phansalkar__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per phansalkar @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00182.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00183.gif' alt='aktive image mask per phansalkar @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per phansalkar @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00184.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00185.gif' alt='aktive image mask per phansalkar @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_sauvola'></a> aktive image mask per sauvola
Syntax: __aktive image mask per sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Sauvola thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold sauvola](transform_threshold_generate.md#image_threshold_sauvola).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|sauvola parameter|
|R|double|128|sauvola parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_sauvola__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per sauvola @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00186.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00187.gif' alt='aktive image mask per sauvola @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per sauvola @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00188.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00189.gif' alt='aktive image mask per sauvola @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
---
### [↑](#top) <a name='image_mask_per_wolfjolion'></a> aktive image mask per wolfjolion
Syntax: __aktive image mask per wolfjolion__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=29&name=etc/transformer/thresholds/mask.tcl)]
Return image foreground mask of input, using Wolfjolion thresholding.
The foreground are the pixels falling under the threshold. IOW the input foreground is assumed to be darker than background. Invert the result otherwise.
The foreground pixels are indicated by white. Background by black.
The local thresholds are computed using [aktive image threshold wolfjolion](transform_threshold_generate.md#image_threshold_wolfjolion).
|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|wolfjolion parameter|
|radius|uint||Size of region to consider, as radius from center|
#### <a name='image_mask_per_wolfjolion__examples'></a> Examples
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per wolfjolion @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00190.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td>
<td valign='top'><img src='example-00191.gif' alt='aktive image mask per wolfjolion @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 300 200 1)</td></tr>
</table>
<table>
<tr><th>@1
<br> </th>
<th>aktive image mask per wolfjolion @1 radius 7
<br> </th></tr>
<tr><td valign='top'><img src='example-00192.gif' alt='@1' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td>
<td valign='top'><img src='example-00193.gif' alt='aktive image mask per wolfjolion @1 radius 7' style='border:4px solid gold'>
<br>geometry(0 0 380 250 3)</td></tr>
</table>
|
1 2 3 4 5 6 7 8 9 10 11 12 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform wiener | | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <img src='../assets/aktive-logo-128.png' style='float:right;'> |||||||| |---|---|---|---|---|---|---| |[Project ↗](../../README.md)|[Documentation ↗](../index.md)|—|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References| ||||||||| |---|---|---|---|---|---|---|---| |[Entry ↗](index.md)|—|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)| # Documentation -- Reference Pages -- transform wiener ## <anchor='top'> Table Of Contents - [transform](transform.md) ↗ ### Operators - [aktive op wiener](#op_wiener) ## Operators --- ### [↑](#top) <a name='op_wiener'></a> aktive op wiener Syntax: __aktive op wiener__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=10&name=etc/transformer/filter/wiener.tcl)] Returns input with a Wiener reconstruction filter applied to it. The location of the input is ignored. |
| ︙ | ︙ |
| ︙ | ︙ | |||
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
def ref-sauvola \[Sauvola\](https://craftofcoding.wordpress.com/2021/10/06/thresholding-algorithms-sauvola-local)
def ref-niblack \[Niblack\](https://craftofcoding.wordpress.com/2021/09/30/thresholding-algorithms-niblack-local)
def ref-phansalkar \[Phansalkar\](https://craftofcoding.wordpress.com/2021/09/28/thresholding-algorithms-phansalkar-local)
def ref-otsu \[Otsu\](https://en.wikipedia.org/wiki/Otsu%27s_method)
operator image::threshold::global::mean {
section accessor threshold generate
note Returns a global threshold for the input, as the image mean.
note There are better methods. Extensions to the simple mean, in order \
of creation (and complexity), are @@ref-sauvola@@, @@ref-niblack@@, and \
@@ref-phansalkar@@. Each of these modifies the plain mean with a bias \
based on a mix of mean, standard deviation, and parameters.
input
| > > > > > > > > > > > > > | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
def ref-sauvola \[Sauvola\](https://craftofcoding.wordpress.com/2021/10/06/thresholding-algorithms-sauvola-local)
def ref-niblack \[Niblack\](https://craftofcoding.wordpress.com/2021/09/30/thresholding-algorithms-niblack-local)
def ref-phansalkar \[Phansalkar\](https://craftofcoding.wordpress.com/2021/09/28/thresholding-algorithms-phansalkar-local)
def ref-otsu \[Otsu\](https://en.wikipedia.org/wiki/Otsu%27s_method)
operator image::threshold::global::mean {
section accessor threshold generate
example {
scancrop
@1 | -text
}
example {
butterfly
@1 | -text
}
note Returns a global threshold for the input, as the image mean.
note The operator "<!xref: aktive image mask per global mean>" \
uses this to generate a mask of the input.
note There are better methods. Extensions to the simple mean, in order \
of creation (and complexity), are @@ref-sauvola@@, @@ref-niblack@@, and \
@@ref-phansalkar@@. Each of these modifies the plain mean with a bias \
based on a mix of mean, standard deviation, and parameters.
input
|
| ︙ | ︙ | |||
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
}
# # ## ### ##### ######## ############# #####################
## Bernsen
operator image::threshold::global::bernsen {
section accessor threshold generate
note Returns a global threshold for the input, \
according to @@ref-bernsen@@'s method.
input
strict single \
The computed pixels are not materialized. \
They are immediately reduced to the threshold.
| > > > > > > > > > > > > > | 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
}
# # ## ### ##### ######## ############# #####################
## Bernsen
operator image::threshold::global::bernsen {
section accessor threshold generate
example {
scancrop
@1 | -text
}
example {
butterfly
@1 | -text
}
note Returns a global threshold for the input, \
according to @@ref-bernsen@@'s method.
note The operator "<!xref: aktive image mask per global bernsen>" \
uses this to generate a mask of the input.
input
strict single \
The computed pixels are not materialized. \
They are immediately reduced to the threshold.
|
| ︙ | ︙ | |||
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
}
# # ## ### ##### ######## ############# #####################
## Niblack
operator image::threshold::global::niblack {
section accessor threshold generate
note Returns a global threshold for the input, \
according to @@ref-niblack@@'s method.
double? -0.2 k niblack parameter
input
strict single \
The computed pixels are not materialized. \
| > > > > > > > > > > > > > | 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
}
# # ## ### ##### ######## ############# #####################
## Niblack
operator image::threshold::global::niblack {
section accessor threshold generate
example {
scancrop
@1 | -text
}
example {
butterfly
@1 | -text
}
note Returns a global threshold for the input, \
according to @@ref-niblack@@'s method.
note The operator "<!xref: aktive image mask per global niblack>" \
uses this to generate a mask of the input.
double? -0.2 k niblack parameter
input
strict single \
The computed pixels are not materialized. \
|
| ︙ | ︙ | |||
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
}
# # ## ### ##### ######## ############# #####################
## Sauvola
operator image::threshold::global::sauvola {
section accessor threshold generate
note Returns a global threshold for the input, \
according to @@ref-sauvola@@'s method.
double? 0.5 k sauvola parameter
double? 128 R sauvola parameter
input
strict single \
| > > > > > > > > > > > > > | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 |
}
# # ## ### ##### ######## ############# #####################
## Sauvola
operator image::threshold::global::sauvola {
section accessor threshold generate
example {
scancrop
@1 | -text
}
example {
butterfly
@1 | -text
}
note Returns a global threshold for the input, \
according to @@ref-sauvola@@'s method.
note The operator "<!xref: aktive image mask per global sauvola>" \
uses this to generate a mask of the input.
double? 0.5 k sauvola parameter
double? 128 R sauvola parameter
input
strict single \
|
| ︙ | ︙ | |||
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
}
# # ## ### ##### ######## ############# #####################
## Phansalkar
operator image::threshold::global::phansalkar {
section accessor threshold generate
note Returns a global threshold for the input, \
according to @@ref-phansalkar@@'s method.
double? 0.25 k phansalkar parameter
double? 0.5 R phansalkar parameter
double? 3 p phansalkar parameter
double? 10 q phansalkar parameter
input
| > > > > > > > > > > > > > | 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 |
}
# # ## ### ##### ######## ############# #####################
## Phansalkar
operator image::threshold::global::phansalkar {
section accessor threshold generate
example {
scancrop
@1 | -text
}
example {
butterfly
@1 | -text
}
note Returns a global threshold for the input, \
according to @@ref-phansalkar@@'s method.
note The operator "<!xref: aktive image mask per global phansalkar>" \
uses this to generate a mask of the input.
double? 0.25 k phansalkar parameter
double? 0.5 R phansalkar parameter
double? 3 p phansalkar parameter
double? 10 q phansalkar parameter
input
|
| ︙ | ︙ | |||
204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
}
# # ## ### ##### ######## ############# #####################
## Otsu
operator image::threshold::global::otsu {
section accessor threshold generate
note Returns a global threshold for the input, \
according to @@ref-otsu@@'s method.
int? 256 bins \
The number of bins used by the internal histogram. \
The pixel values are quantized to fit. \
Only values in the range of `\[0..1\]` are considered valid. \
Values outside of that range are placed into the smallest/largest \
bins, respectively. \
| > > > > > > > > | 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 |
}
# # ## ### ##### ######## ############# #####################
## Otsu
operator image::threshold::global::otsu {
section accessor threshold generate
example {
scancrop
@1 | -text
}
note Returns a global threshold for the input, \
according to @@ref-otsu@@'s method.
note The operator "<!xref: aktive image mask per global otsu>" \
uses this to generate a mask of the input.
int? 256 bins \
The number of bins used by the internal histogram. \
The pixel values are quantized to fit. \
Only values in the range of `\[0..1\]` are considered valid. \
Values outside of that range are placed into the smallest/largest \
bins, respectively. \
|
| ︙ | ︙ |
| ︙ | ︙ | |||
286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 |
}
# # ## ### ##### ######## ############# #####################
## Supporting operators III -- Conversions into image
operator op::sdf::2image::fit {
section transform sdf
note Compresses the input SDF into the range 0..1 and returns the resulting grayscale image.
input
body {
aktive op math1 fit min-max $src
}
}
operator op::sdf::2image::smooth {
section transform sdf
note Converts the SDF into a grey-scale image with anti-aliased element borders.
input
body {
set src [aktive op math1 clamp $src]
set src [aktive op math1 invert $src]
}
}
operator op::sdf::2image::pixelated {
section transform sdf
note Converts the SDF into a black/white image with pixelated element borders.
input
body {
aktive op math1 lt $src threshold 0.5
| > > > > > > > > > > > > > > > > > > | 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 |
}
# # ## ### ##### ######## ############# #####################
## Supporting operators III -- Conversions into image
operator op::sdf::2image::fit {
section transform sdf
example {
aktive image sdf circle center {80 80} width 128 height 128 radius 40
aktive image sdf box center {48 48} width 128 height 128 ewidth 40 eheight 40
aktive op sdf and @1 @2 | sdf-fit
}
note Compresses the input SDF into the range 0..1 and returns the resulting grayscale image.
input
body {
aktive op math1 fit min-max $src
}
}
operator op::sdf::2image::smooth {
section transform sdf
example {
aktive image sdf circle center {80 80} width 128 height 128 radius 40
aktive image sdf box center {48 48} width 128 height 128 ewidth 40 eheight 40
aktive op sdf and @1 @2 | sdf-smooth
}
note Converts the SDF into a grey-scale image with anti-aliased element borders.
input
body {
set src [aktive op math1 clamp $src]
set src [aktive op math1 invert $src]
}
}
operator op::sdf::2image::pixelated {
section transform sdf
example {
aktive image sdf circle center {80 80} width 128 height 128 radius 40
aktive image sdf box center {48 48} width 128 height 128 ewidth 40 eheight 40
aktive op sdf and @1 @2 | sdf-pixelated
}
note Converts the SDF into a black/white image with pixelated element borders.
input
body {
aktive op math1 lt $src threshold 0.5
|
| ︙ | ︙ |
| ︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
image::mask::per::niblack { k -0.2 }
image::mask::per::sauvola { k 0.5 R 128 }
image::mask::per::phansalkar { k 0.25 R 0.5 p 3 q 10 }
image::mask::per::otsu { bins 256 }
image::mask::per::wolfjolion { k 0.5 }
} {
op -> _ _ _ method
section transform threshold mask generate
note Return image foreground mask of input, \
using [string totitle $method] thresholding.
note The foreground are the pixels falling under the threshold. \
IOW the input foreground is assumed to be darker than background. \
Invert the result otherwise.
note The foreground pixels are indicated by white. Background by black.
foreach {n d} $parameters {
if {$n eq "bins"} {
int? $d $n $method histogram parameter
} else {
double? $d $n $method parameter
}
| > > > > > > > > > > > > > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
image::mask::per::niblack { k -0.2 }
image::mask::per::sauvola { k 0.5 R 128 }
image::mask::per::phansalkar { k 0.25 R 0.5 p 3 q 10 }
image::mask::per::otsu { bins 256 }
image::mask::per::wolfjolion { k 0.5 }
} {
op -> _ _ _ method
example {
scancrop
@1 radius 7
}
if {$method ne "otsu"} { ;# otsu does not handle color input
example {
butterfly
@1 radius 7
}
}
section transform threshold mask generate
note Return image foreground mask of input, \
using [string totitle $method] thresholding.
note The foreground are the pixels falling under the threshold. \
IOW the input foreground is assumed to be darker than background. \
Invert the result otherwise.
note The foreground pixels are indicated by white. Background by black.
note The local thresholds are computed using \
"<!xref: aktive image threshold ${method}>."
foreach {n d} $parameters {
if {$n eq "bins"} {
int? $d $n $method histogram parameter
} else {
double? $d $n $method parameter
}
|
| ︙ | ︙ | |||
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
image::mask::per::global::bernsen {}
image::mask::per::global::niblack { k -0.2 }
image::mask::per::global::phansalkar { k 0.25 R 0.5 p 3 q 10 }
image::mask::per::global::sauvola { k 0.5 R 128 }
image::mask::per::global::otsu { bins 256 }
} {
op -> _ _ _ _ method
section transform threshold mask generate
note Return image foreground mask of input, \
using global [string totitle $method] thresholding.
note The foreground are the pixels falling under the threshold. \
IOW the input foreground is assumed to be darker than background. \
Invert the result otherwise.
note The foreground pixels are indicated by white. Background by black.
foreach {n d} $parameters {
if {$n eq "bins"} {
int? $d $n $method histogram parameter
} else {
double? $d $n $method parameter
}
}
| > > > > > > > > > > > > > > > | 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
image::mask::per::global::bernsen {}
image::mask::per::global::niblack { k -0.2 }
image::mask::per::global::phansalkar { k 0.25 R 0.5 p 3 q 10 }
image::mask::per::global::sauvola { k 0.5 R 128 }
image::mask::per::global::otsu { bins 256 }
} {
op -> _ _ _ _ method
example {
scancrop
@1
}
if {$method ne "otsu"} { ;# otsu does not handle color input
example {
butterfly
@1
}
}
section transform threshold mask generate
note Return image foreground mask of input, \
using global [string totitle $method] thresholding.
note The foreground are the pixels falling under the threshold. \
IOW the input foreground is assumed to be darker than background. \
Invert the result otherwise.
note The foreground pixels are indicated by white. Background by black.
note The threshold is computed using \
"<!xref: aktive image threshold global ${method}>."
foreach {n d} $parameters {
if {$n eq "bins"} {
int? $d $n $method histogram parameter
} else {
double? $d $n $method parameter
}
}
|
| ︙ | ︙ |
| ︙ | ︙ | |||
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# - http://liris.cnrs.fr/christian.wolf/papers/icpr2002v.pdf
# # ## ### ##### ######## ############# #####################
## Mean
operator image::threshold::mean {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per the local mean.
note There are better methods. Extensions to the simple mean, in order \
of creation (and complexity), are Sauvola, Niblack, and Phansalkar. \
Each of these modifies the plain mean with a bias based on a mix of \
standard deviation, parameters, and the mean itself.
uint radius Size of region to consider, as radius from center
| > > > > > > > > > > > > > | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# - http://liris.cnrs.fr/christian.wolf/papers/icpr2002v.pdf
# # ## ### ##### ######## ############# #####################
## Mean
operator image::threshold::mean {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per the local mean.
note The operator "<!xref: aktive image mask per mean>" \
uses this to generate a mask of the input.
note There are better methods. Extensions to the simple mean, in order \
of creation (and complexity), are Sauvola, Niblack, and Phansalkar. \
Each of these modifies the plain mean with a bias based on a mix of \
standard deviation, parameters, and the mean itself.
uint radius Size of region to consider, as radius from center
|
| ︙ | ︙ | |||
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
}
# # ## ### ##### ######## ############# #####################
## Bernsen
operator image::threshold::bernsen {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Bernsen's method.
uint radius Size of region to consider, as radius from center
input
body {
# t = (minN + maxN) / 2
| > > > > > > > > > > > > > | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
}
# # ## ### ##### ######## ############# #####################
## Bernsen
operator image::threshold::bernsen {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Bernsen's method.
note The operator "<!xref: aktive image mask per bernsen>" \
uses this to generate a mask of the input.
uint radius Size of region to consider, as radius from center
input
body {
# t = (minN + maxN) / 2
|
| ︙ | ︙ | |||
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
}
# # ## ### ##### ######## ############# #####################
## Niblack
operator image::threshold::niblack {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Niblack's method.
double? -0.2 k niblack parameter
uint radius Size of region to consider, as radius from center
input
body {
| > > > > > > > > > > > > > | 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
}
# # ## ### ##### ######## ############# #####################
## Niblack
operator image::threshold::niblack {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Niblack's method.
note The operator "<!xref: aktive image mask per niblack>" \
uses this to generate a mask of the input.
double? -0.2 k niblack parameter
uint radius Size of region to consider, as radius from center
input
body {
|
| ︙ | ︙ | |||
120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
}
# # ## ### ##### ######## ############# #####################
## Sauvola
operator image::threshold::sauvola {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Sauvola's method.
double? 0.5 k sauvola parameter
double? 128 R sauvola parameter
uint radius Size of region to consider, as radius from center
input
| > > > > > > > > > > > > > | 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
}
# # ## ### ##### ######## ############# #####################
## Sauvola
operator image::threshold::sauvola {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Sauvola's method.
note The operator "<!xref: aktive image mask per sauvola>" \
uses this to generate a mask of the input.
double? 0.5 k sauvola parameter
double? 128 R sauvola parameter
uint radius Size of region to consider, as radius from center
input
|
| ︙ | ︙ | |||
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 |
}
# # ## ### ##### ######## ############# #####################
## Phansalkar
operator image::threshold::phansalkar {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Phansalkar's method.
double? 0.25 k phansalkar parameter
double? 0.5 R phansalkar parameter
double? 3 p phansalkar parameter
double? 10 q phansalkar parameter
uint radius Size of region to consider, as radius from center
| > > > > > > > > > > > > > | 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 |
}
# # ## ### ##### ######## ############# #####################
## Phansalkar
operator image::threshold::phansalkar {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Phansalkar's method.
note The operator "<!xref: aktive image mask per phansalkar>" \
uses this to generate a mask of the input.
double? 0.25 k phansalkar parameter
double? 0.5 R phansalkar parameter
double? 3 p phansalkar parameter
double? 10 q phansalkar parameter
uint radius Size of region to consider, as radius from center
|
| ︙ | ︙ | |||
213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 |
}
# # ## ### ##### ######## ############# #####################
## Otsu
operator image::threshold::otsu {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Otsu's method.
uint radius Size of region to consider, as radius from center
int? 256 bins \
The number of bins used by the internal histograms. \
The pixel values are quantized to fit. \
Only values in the range of \[0..1\] are considered valid. \
| > > > > > > > > | 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 |
}
# # ## ### ##### ######## ############# #####################
## Otsu
operator image::threshold::otsu {
section transform threshold generate
example {
scancrop
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Otsu's method.
note The operator "<!xref: aktive image mask per otsu>" \
uses this to generate a mask of the input.
uint radius Size of region to consider, as radius from center
int? 256 bins \
The number of bins used by the internal histograms. \
The pixel values are quantized to fit. \
Only values in the range of \[0..1\] are considered valid. \
|
| ︙ | ︙ | |||
245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 |
}
# # ## ### ##### ######## ############# #####################
## Wolfjolion - Christian Wolf + J. M. Jolion - At core a variant of Sauvola
operator image::threshold::wolfjolion {
section transform threshold generate
note Returns image containing per-pixel thresholds for the input, as per Wolf+Jolion's method.
double? 0.5 k wolfjolion parameter
uint radius Size of region to consider, as radius from center
input
body {
| > > > > > > > > > > > > > | 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 |
}
# # ## ### ##### ######## ############# #####################
## Wolfjolion - Christian Wolf + J. M. Jolion - At core a variant of Sauvola
operator image::threshold::wolfjolion {
section transform threshold generate
example {
scancrop
@1 radius 7
}
example {
butterfly
@1 radius 7
}
note Returns image containing per-pixel thresholds for the input, as per Wolf+Jolion's method.
note The operator "<!xref: aktive image mask per wolfjolion>" \
uses this to generate a mask of the input.
double? 0.5 k wolfjolion parameter
uint radius Size of region to consider, as radius from center
input
body {
|
| ︙ | ︙ |