AKTIVE

Check-in [6782f13186]
Login

Check-in [6782f13186]

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

Overview
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: 6782f1318690c49e0c35f76366148339e4aabcb4ed14dbc899b2ca51852dfe64
User & Date: aku 2024-11-22 20:35:04.252
Context
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
Changes
Unified Diff Ignore Whitespace Patch
Changes to doc/ref/accessor.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- accessor

## Table Of Contents

  - [Roots](bysection.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
41
42
43
44
45
46
47
48
 - [aktive query params](#query_params)
 - [aktive query setup](#query_setup)
 - [aktive query type](#query_type)

## Operators

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








|







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
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'>&nbsp;# -\*- d2 -\*-<br>&nbsp;direction: left<br>&nbsp;1: "aktive read from netpbm\\n(path tests/assets/butterfly.ppm)"<br>&nbsp;1.shape: document<br>&nbsp;1.style.fill: lightgreen<br>&nbsp;2: "aktive op view\\n(port {-1 -1 382 252})"<br>&nbsp;2.shape: oval<br>&nbsp;1 -> 2<br>&nbsp;3: "aktive op tile max\\n(radius 1)"<br>&nbsp;3.shape: oval<br>&nbsp;2 -> 3<br>&nbsp;4: "aktive op view\\n(port {-1 -1 382 252})"<br>&nbsp;4.shape: oval<br>&nbsp;1 -> 4<br>&nbsp;5: "aktive op tile min\\n(radius 1)"<br>&nbsp;5.shape: oval<br>&nbsp;4 -> 5<br>&nbsp;6: "aktive op math sub"<br>&nbsp;6.shape: oval<br>&nbsp;3 -> 6<br>&nbsp;5 -> 6<br>&nbsp;7: "aktive op math1 invert"<br>&nbsp;7.shape: oval<br>&nbsp;6 -> 7<br>&nbsp;8: "aktive op math1 gamma expand"<br>&nbsp;8.shape: oval<br>&nbsp;7 -> 8<br>&nbsp;9: "aktive op color scRGB to Grey"<br>&nbsp;9.shape: oval<br>&nbsp;8 -> 9<br>&nbsp;10: "aktive op math1 scale\\n(factor 0.01)"<br>&nbsp;10.shape: oval<br>&nbsp;10.style.fill: orange<br>&nbsp;9 -> 10</td></tr>
</table>


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








|







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'>&nbsp;# -\*- d2 -\*-<br>&nbsp;direction: left<br>&nbsp;1: "aktive read from netpbm\\n(path tests/assets/butterfly.ppm)"<br>&nbsp;1.shape: document<br>&nbsp;1.style.fill: lightgreen<br>&nbsp;2: "aktive op view\\n(port {-1 -1 382 252})"<br>&nbsp;2.shape: oval<br>&nbsp;1 -> 2<br>&nbsp;3: "aktive op tile max\\n(radius 1)"<br>&nbsp;3.shape: oval<br>&nbsp;2 -> 3<br>&nbsp;4: "aktive op view\\n(port {-1 -1 382 252})"<br>&nbsp;4.shape: oval<br>&nbsp;1 -> 4<br>&nbsp;5: "aktive op tile min\\n(radius 1)"<br>&nbsp;5.shape: oval<br>&nbsp;4 -> 5<br>&nbsp;6: "aktive op math sub"<br>&nbsp;6.shape: oval<br>&nbsp;3 -> 6<br>&nbsp;5 -> 6<br>&nbsp;7: "aktive op math1 invert"<br>&nbsp;7.shape: oval<br>&nbsp;6 -> 7<br>&nbsp;8: "aktive op math1 gamma expand"<br>&nbsp;8.shape: oval<br>&nbsp;7 -> 8<br>&nbsp;9: "aktive op color scRGB to Grey"<br>&nbsp;9.shape: oval<br>&nbsp;8 -> 9<br>&nbsp;10: "aktive op math1 scale\\n(factor 0.01)"<br>&nbsp;10.shape: oval<br>&nbsp;10.style.fill: orange<br>&nbsp;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
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'>&nbsp;||Id|Command|Config|Inputs|Notes|<br>&nbsp;|:---|:---|:---|:---|:---|:---|<br>&nbsp;|__FILE__|1|aktive read from netpbm|path tests/assets/butterfly.ppm||FO(2): 2, 4|<br>&nbsp;||2|aktive op view|port {-1 -1 382 252}|1||<br>&nbsp;||3|aktive op tile max|radius 1|2||<br>&nbsp;||4|aktive op view|port {-1 -1 382 252}|1||<br>&nbsp;||5|aktive op tile min|radius 1|4||<br>&nbsp;||6|aktive op math sub||3, 5||<br>&nbsp;||7|aktive op math1 invert||6||<br>&nbsp;||8|aktive op math1 gamma expand||7||<br>&nbsp;||9|aktive op color scRGB to Grey||8||<br>&nbsp;|__OUT__|10|aktive op math1 scale|factor 0.01|9||</td></tr>
</table>


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








|







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'>&nbsp;||Id|Command|Config|Inputs|Notes|<br>&nbsp;|:---|:---|:---|:---|:---|:---|<br>&nbsp;|__FILE__|1|aktive read from netpbm|path tests/assets/butterfly.ppm||FO(2): 2, 4|<br>&nbsp;||2|aktive op view|port {-1 -1 382 252}|1||<br>&nbsp;||3|aktive op tile max|radius 1|2||<br>&nbsp;||4|aktive op view|port {-1 -1 382 252}|1||<br>&nbsp;||5|aktive op tile min|radius 1|4||<br>&nbsp;||6|aktive op math sub||3, 5||<br>&nbsp;||7|aktive op math1 invert||6||<br>&nbsp;||8|aktive op math1 gamma expand||7||<br>&nbsp;||9|aktive op color scRGB to Grey||8||<br>&nbsp;|__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
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'>&nbsp;set file1 [aktive read from netpbm path tests/assets/butterfly.ppm]	;# FO(2): tmp2, tmp4<br>&nbsp;set tmp2 [aktive op view $file1 port {-1 -1 382 252}]<br>&nbsp;set tmp3 [aktive op tile max $tmp2 radius 1]<br>&nbsp;set tmp4 [aktive op view $file1 port {-1 -1 382 252}]<br>&nbsp;set tmp5 [aktive op tile min $tmp4 radius 1]<br>&nbsp;set tmp6 [aktive op math sub $tmp3 $tmp5]<br>&nbsp;set tmp7 [aktive op math1 invert $tmp6]<br>&nbsp;set tmp8 [aktive op math1 gamma expand $tmp7]<br>&nbsp;set tmp9 [aktive op color scRGB to Grey $tmp8]<br>&nbsp;set result [aktive op math1 scale $tmp9 factor 0.01]</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op query colorspace @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00357.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 256 256 3)</td>
    <td valign='top'>&nbsp;sRGB</td></tr>
</table>


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


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


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00534.gif' alt='@1 (zone width 32 height 32)' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00536.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'>&nbsp;width 32 height 32 depth 1 first 0.0 last 1.0</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00546.gif' alt='@1 (zone width 32 height 32)' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;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>&nbsp;</th>
    <th>aktive query setup @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00548.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;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>


---
### <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>&nbsp;</th>
    <th>aktive query type @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00554.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;image::zone</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query type @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00556.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;image::gradient</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'>&nbsp;set file1 [aktive read from netpbm path tests/assets/butterfly.ppm]	;# FO(2): tmp2, tmp4<br>&nbsp;set tmp2 [aktive op view $file1 port {-1 -1 382 252}]<br>&nbsp;set tmp3 [aktive op tile max $tmp2 radius 1]<br>&nbsp;set tmp4 [aktive op view $file1 port {-1 -1 382 252}]<br>&nbsp;set tmp5 [aktive op tile min $tmp4 radius 1]<br>&nbsp;set tmp6 [aktive op math sub $tmp3 $tmp5]<br>&nbsp;set tmp7 [aktive op math1 invert $tmp6]<br>&nbsp;set tmp8 [aktive op math1 gamma expand $tmp7]<br>&nbsp;set tmp9 [aktive op color scRGB to Grey $tmp8]<br>&nbsp;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>&nbsp;</th>
    <th>aktive op query colorspace @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</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'>&nbsp;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>&nbsp;</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'>&nbsp;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>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query setup @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query type @1
    <br>&nbsp;</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'>&nbsp;image::zone</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query type @1
    <br>&nbsp;</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'>&nbsp;image::gradient</td></tr>
</table>


Changes to doc/ref/accessor_geometry.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [accessor](accessor.md) ↗


### Operators

 - [aktive query depth](#query_depth)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

---
### <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>&nbsp;</th>
    <th>aktive query depth @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00512.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query depth @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00514.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query domain @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00516.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0 32 32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query domain @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00518.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0 32 32</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query geometry @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00520.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0 32 32 1</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query geometry @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00522.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0 32 32 1</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query height @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00524.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query height @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00526.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query location @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00528.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query location @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00530.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0 0</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query pitch @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00538.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query pitch @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00540.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query pixels @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00542.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1024</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query pixels @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00544.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1024</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query size @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00550.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1024</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query size @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00552.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;1024</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query width @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00562.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query width @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00564.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;32</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query x @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00566.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query x @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00568.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query xmax @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00570.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;31</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query xmax @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00572.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;31</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query y @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00574.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query y @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00576.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;0</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query ymax @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00578.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;31</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query ymax @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00580.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'>&nbsp;31</td></tr>
</table>









|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|






|













|









|





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>&nbsp;</th>
    <th>aktive query depth @1
    <br>&nbsp;</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'>&nbsp;1</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query depth @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query domain @1
    <br>&nbsp;</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'>&nbsp;0 0 32 32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query domain @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query geometry @1
    <br>&nbsp;</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'>&nbsp;0 0 32 32 1</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query geometry @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query height @1
    <br>&nbsp;</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'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query height @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query location @1
    <br>&nbsp;</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'>&nbsp;0 0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query location @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query pitch @1
    <br>&nbsp;</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'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query pitch @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query pixels @1
    <br>&nbsp;</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'>&nbsp;1024</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query pixels @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query size @1
    <br>&nbsp;</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'>&nbsp;1024</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query size @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query width @1
    <br>&nbsp;</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'>&nbsp;32</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query width @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query x @1
    <br>&nbsp;</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'>&nbsp;0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query x @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query xmax @1
    <br>&nbsp;</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'>&nbsp;31</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query xmax @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query y @1
    <br>&nbsp;</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'>&nbsp;0</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query y @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query ymax @1
    <br>&nbsp;</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'>&nbsp;31</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive query ymax @1
    <br>&nbsp;</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'>&nbsp;31</td></tr>
</table>


Changes to doc/ref/accessor_metadata.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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

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

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

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

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

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

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

---
### <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>&nbsp;</th>
    <th>aktive query meta @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00532.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 256 256 3)</td>
    <td valign='top'>&nbsp;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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</th>
    <th>aktive query meta @1
    <br>&nbsp;</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'>&nbsp;netpbm {maxval 255} path tests/assets/sines.ppm colorspace sRGB</td></tr>
</table>


Changes to doc/ref/accessor_morphology.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [accessor](accessor.md) ↗


### Operators

 - [aktive op connected-components get](#op_connected_components_get)

## Operators

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













|











|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</th>
    <th>aktive op connected-components get @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00232.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'>&nbsp;1&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{0 0 5 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{3.125 1.625}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{0 5 5}&nbsp;{1 5 5}&nbsp;{2 0 5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>2&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;15<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 1 9 6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{5.266666666666667 3.4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 8 9}&nbsp;{2 8 9}&nbsp;{3 7 8}&nbsp;{4 1 7}&nbsp;{5 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>3&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{12 1 14 3}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{13.0 2.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 12 14}&nbsp;{2 12 12}&nbsp;{2 14 14}&nbsp;{3 12 14}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>4&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{16 1 20 6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{18.0 3.5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 16 20}&nbsp;{2 16 16}&nbsp;{2 20 20}&nbsp;{3 16 16}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{3 20 20}&nbsp;{4 16 16}&nbsp;{4 20 20}&nbsp;{5 16 16}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 20 20}&nbsp;{6 16 20}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>5&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;45<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{22 1 32 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{27.0 3.422222222222222}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 24 30}&nbsp;{2 23 31}&nbsp;{3 22 32}&nbsp;{4 22 24}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 30 32}&nbsp;{5 22 23}&nbsp;{5 31 32}&nbsp;{6 23 24}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 30 31}&nbsp;{7 24 25}&nbsp;{7 29 30}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>6&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;15<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 4 9 9}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{4.733333333333333 6.6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 9 9}&nbsp;{5 9 9}&nbsp;{6 3 9}&nbsp;{7 2 3}&nbsp;{8 1 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{9 1 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>7&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{22 5 32 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{27.0 8.61111111111111}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 27 27}&nbsp;{6 27 27}&nbsp;{7 27 27}&nbsp;{8 27 27}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{9 22 32}&nbsp;{10 26 28}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>8&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{5 8 10 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{6.875 8.375}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 5 10}&nbsp;{9 5 5}&nbsp;{10 5 5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>9&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;20<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{12 8 19 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{15.5 8.8}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 12 19}&nbsp;{9 12 19}&nbsp;{10 12 13}&nbsp;{10 18 19}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</td></tr></table></td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op connected-components get @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00234.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-00235.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'>&nbsp;1&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 1 4 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{2.5 4.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 1 4}&nbsp;{2 1 1}&nbsp;{2 4 4}&nbsp;{3 1 1}&nbsp;{3 4 4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 1 1}&nbsp;{4 4 4}&nbsp;{5 1 1}&nbsp;{5 4 4}&nbsp;{6 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 4 4}&nbsp;{7 1 4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>2&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;14<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{9 1 22 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{15.5 1.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 9 22}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>3&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;28<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{7 3 15 9}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{11.0 6.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{3 7 15}&nbsp;{4 7 7}&nbsp;{4 15 15}&nbsp;{5 7 7}&nbsp;{5 15 15}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 7 7}&nbsp;{6 15 15}&nbsp;{7 7 7}&nbsp;{7 15 15}&nbsp;{8 7 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 15 15}&nbsp;{9 7 15}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>4&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;12<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{9 5 13 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{11.0 6.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 9 13}&nbsp;{6 9 9}&nbsp;{6 13 13}&nbsp;{7 9 13}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>5&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;24<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{13 10 23 12}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{18.208333333333332 11.208333333333334}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{10 18 23}&nbsp;{11 13 18}&nbsp;{11 23 23}&nbsp;{12 13 23}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</td></tr></table></td></tr>
</table>









|











|

|





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>&nbsp;</th>
    <th>aktive op connected-components get @1
    <br>&nbsp;</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'>&nbsp;1&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{0 0 5 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{3.125 1.625}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{0 5 5}&nbsp;{1 5 5}&nbsp;{2 0 5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>2&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;15<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 1 9 6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{5.266666666666667 3.4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 8 9}&nbsp;{2 8 9}&nbsp;{3 7 8}&nbsp;{4 1 7}&nbsp;{5 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>3&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{12 1 14 3}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{13.0 2.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 12 14}&nbsp;{2 12 12}&nbsp;{2 14 14}&nbsp;{3 12 14}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>4&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{16 1 20 6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{18.0 3.5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 16 20}&nbsp;{2 16 16}&nbsp;{2 20 20}&nbsp;{3 16 16}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{3 20 20}&nbsp;{4 16 16}&nbsp;{4 20 20}&nbsp;{5 16 16}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 20 20}&nbsp;{6 16 20}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>5&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;45<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{22 1 32 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{27.0 3.422222222222222}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 24 30}&nbsp;{2 23 31}&nbsp;{3 22 32}&nbsp;{4 22 24}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 30 32}&nbsp;{5 22 23}&nbsp;{5 31 32}&nbsp;{6 23 24}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 30 31}&nbsp;{7 24 25}&nbsp;{7 29 30}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>6&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;15<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 4 9 9}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{4.733333333333333 6.6}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 9 9}&nbsp;{5 9 9}&nbsp;{6 3 9}&nbsp;{7 2 3}&nbsp;{8 1 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{9 1 2}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>7&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{22 5 32 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{27.0 8.61111111111111}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 27 27}&nbsp;{6 27 27}&nbsp;{7 27 27}&nbsp;{8 27 27}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{9 22 32}&nbsp;{10 26 28}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>8&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;8<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{5 8 10 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{6.875 8.375}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 5 10}&nbsp;{9 5 5}&nbsp;{10 5 5}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>9&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;20<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{12 8 19 10}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{15.5 8.8}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 12 19}&nbsp;{9 12 19}&nbsp;{10 12 13}&nbsp;{10 18 19}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</td></tr></table></td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op connected-components get @2
    <br>&nbsp;</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'>&nbsp;1&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;18<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{1 1 4 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{2.5 4.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 1 4}&nbsp;{2 1 1}&nbsp;{2 4 4}&nbsp;{3 1 1}&nbsp;{3 4 4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{4 1 1}&nbsp;{4 4 4}&nbsp;{5 1 1}&nbsp;{5 4 4}&nbsp;{6 1 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 4 4}&nbsp;{7 1 4}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>2&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;14<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{9 1 22 1}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{15.5 1.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{1 9 22}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>3&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;28<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{7 3 15 9}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{11.0 6.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{3 7 15}&nbsp;{4 7 7}&nbsp;{4 15 15}&nbsp;{5 7 7}&nbsp;{5 15 15}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{6 7 7}&nbsp;{6 15 15}&nbsp;{7 7 7}&nbsp;{7 15 15}&nbsp;{8 7 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{8 15 15}&nbsp;{9 7 15}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>4&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;12<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{9 5 13 7}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{11.0 6.0}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{5 9 13}&nbsp;{6 9 9}&nbsp;{6 13 13}&nbsp;{7 9 13}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}<br/>5&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;area&nbsp;24<br/>&nbsp;&nbsp;&nbsp;&nbsp;box&nbsp;{13 10 23 12}<br/>&nbsp;&nbsp;&nbsp;&nbsp;centroid&nbsp;{18.208333333333332 11.208333333333334}<br/>&nbsp;&nbsp;&nbsp;&nbsp;parts&nbsp;{<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{10 18 23}&nbsp;{11 13 18}&nbsp;{11 23 23}&nbsp;{12 13 23}<br/>&nbsp;&nbsp;&nbsp;&nbsp;}<br/>}</td></tr></table></td></tr>
</table>


Changes to doc/ref/accessor_threshold.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [accessor](accessor.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/accessor_threshold_generate.md.
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























<img src='../assets/aktive-logo-128.png' style='float:right;'>

||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

---
### <a name='image_threshold_global_bernsen'></a> aktive image threshold global bernsen

Syntax: __aktive image threshold global bernsen__ src [[→ definition](../../../../file?ci=trunk&ln=51&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.



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'></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.



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_niblack'></a> aktive image threshold global niblack

Syntax: __aktive image threshold global niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=86&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.



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_otsu'></a> aktive image threshold global otsu

Syntax: __aktive image threshold global otsu__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=209&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.



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_phansalkar'></a> aktive image threshold global phansalkar

Syntax: __aktive image threshold global phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=165&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.



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_sauvola'></a> aktive image threshold global sauvola

Syntax: __aktive image threshold global sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=125&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.



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|




































|
















|

|



>
>



>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|




>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>







>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>










>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</th>
    <th>aktive image threshold global bernsen @1
    <br>&nbsp;</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'>&nbsp;0.33137254901960783</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive image threshold global bernsen @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive image threshold global mean @1
    <br>&nbsp;</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'>&nbsp;0.46493130718954245</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive image threshold global mean @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive image threshold global niblack @1
    <br>&nbsp;</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'>&nbsp;0.4461036579290674</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive image threshold global niblack @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive image threshold global otsu @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive image threshold global phansalkar @1
    <br>&nbsp;</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'>&nbsp;0.3839280179396569</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive image threshold global phansalkar @1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive image threshold global sauvola @1
    <br>&nbsp;</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'>&nbsp;0.23263662163348175</td></tr>
</table>

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive image threshold global sauvola @1
    <br>&nbsp;</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'>&nbsp;0.18763741632585793</td></tr>
</table>


Changes to doc/ref/accessor_values.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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

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













|













|


















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</th>
    <th>aktive query value at @1 x 0 y 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 16</td><td valign='top'><img src='example-00558.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td></tr></table></td>
    <td valign='top'>&nbsp;0.6666666666666666</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive query values @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 16</td><td valign='top'><img src='example-00560.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td></tr></table></td>
    <td valign='top'>&nbsp;0.0 0.3333333333333333 0.6666666666666666 1.0</td></tr>
</table>









|






|



















|





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>&nbsp;</th>
    <th>aktive query value at @1 x 0 y 1
    <br>&nbsp;</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'>&nbsp;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>&nbsp;</th>
    <th>aktive query values @1
    <br>&nbsp;</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'>&nbsp;0.0 0.3333333333333333 0.6666666666666666 1.0</td></tr>
</table>


Changes to doc/ref/cache.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- cache

## Table Of Contents

  - [Roots](bysection.md) ↗


### Operators

 - [aktive op cache](#op_cache)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/composer.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- composer

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

---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage x @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00287.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00288.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00289.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00290.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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage x @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00291.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00292.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00293.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00294.gif' alt='aktive op montage x @1 @2 @3' style='border:4px solid gold'>
    <br>geometry(0 0 192 64 1)</td></tr>
</table>


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


---
### <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>&nbsp;</th>
    <th>aktive op montage x-rep @1 by 3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00295.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00296.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage y @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00297.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00298.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00299.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00300.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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage y @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00301.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00302.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00303.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00304.gif' alt='aktive op montage y @1 @2 @3' style='border:4px solid gold'>
    <br>geometry(0 0 64 192 1)</td></tr>
</table>


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


---
### <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>&nbsp;</th>
    <th>aktive op montage y-rep @1 by 3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00305.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00306.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage z @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00307.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00308.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00309.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00310.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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage z @1 @2 @3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00311.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00312.gif' alt='@2' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00313.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 1)</td>
    <td valign='top'><img src='example-00314.gif' alt='aktive op montage z @1 @2 @3' style='border:4px solid gold'>
    <br>geometry(0 0 64 64 3)</td></tr>
</table>


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


---
### <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>&nbsp;</th>
    <th>aktive op montage z-rep @1 by 3
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00315.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 32 32 1)</td>
    <td valign='top'><img src='example-00316.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>














|



















|

















|

|

|

|












|

|

|

|





|

















|
















|

|





|

















|

|

|

|












|

|

|

|





|

















|
















|

|





|

















|

|

|

|












|

|

|

|





|

















|
















|

|




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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage x @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage x @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op montage x-rep @1 by 3
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage y @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage y @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op montage y-rep @1 by 3
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage z @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>@3
    <br>&nbsp;</th>
    <th>aktive op montage z @1 @2 @3
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op montage z-rep @1 by 3
    <br>&nbsp;</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>


Changes to doc/ref/example-00146.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00147.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00148.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00149.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00150.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00151.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00152.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00153.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00154.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00155.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00156.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00157.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00158.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00159.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00160.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00161.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00162.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00163.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00164.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00165.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00166.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00167.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00168.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00169.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00170.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00171.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00172.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00173.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00174.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00175.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00176.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00177.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00178.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00179.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00180.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00181.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00182.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00183.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00184.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00185.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00186.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00187.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00188.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00189.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00190.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00191.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00192.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00193.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00194.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00195.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00196.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00197.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00198.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00199.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00200.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00201.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00202.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00203.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00204.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00205.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00206.gif.

cannot compute difference between binary files

Added doc/ref/example-00207.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00208.gif.

cannot compute difference between binary files

Added doc/ref/example-00209.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00210.gif.

cannot compute difference between binary files

Added doc/ref/example-00211.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00212.gif.

cannot compute difference between binary files

Added doc/ref/example-00213.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00214.gif.

cannot compute difference between binary files

Added doc/ref/example-00215.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00216.gif.

cannot compute difference between binary files

Added doc/ref/example-00217.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00218.gif.

cannot compute difference between binary files

Added doc/ref/example-00219.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00220.gif.

cannot compute difference between binary files

Added doc/ref/example-00221.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00222.gif.

cannot compute difference between binary files

Added doc/ref/example-00223.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00224.gif.

cannot compute difference between binary files

Added doc/ref/example-00225.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00226.gif.

cannot compute difference between binary files

Added doc/ref/example-00227.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00228.gif.

cannot compute difference between binary files

Added doc/ref/example-00229.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00230.gif.

cannot compute difference between binary files

Added doc/ref/example-00231.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00232.gif.

cannot compute difference between binary files

Added doc/ref/example-00233.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00234.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00235.gif.

cannot compute difference between binary files

Added doc/ref/example-00236.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00237.gif.

cannot compute difference between binary files

Added doc/ref/example-00238.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00239.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00240.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00241.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00242.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00243.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00245.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00246.gif.

cannot compute difference between binary files

Added doc/ref/example-00247.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00248.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00249.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00250.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00252.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00253.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00254.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00255.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00256.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00258.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00259.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00260.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00262.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00263.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00264.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00266.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00267.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00268.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00269.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00270.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00271.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00272.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00273.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00274.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00275.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00276.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00277.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00278.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00279.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00280.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00281.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00282.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00283.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00284.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00285.gif.

cannot compute difference between binary files

Added doc/ref/example-00286.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00287.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00288.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00289.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00290.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00291.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00292.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00293.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00294.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00295.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00296.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00297.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00298.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00299.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00300.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00301.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00302.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00303.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00304.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00305.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00306.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00307.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00308.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00309.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00310.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00311.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00312.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00313.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00314.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00315.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00316.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00317.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00318.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00319.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00320.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00321.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00322.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00323.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00324.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00325.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00326.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00327.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00328.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00329.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00330.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00331.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00332.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00334.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00335.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00336.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00338.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00339.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00340.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00341.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00342.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00343.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00344.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00345.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00346.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00347.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00348.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00349.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00350.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00351.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00352.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00353.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00354.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00355.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00356.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00357.gif.

cannot compute difference between binary files

Added doc/ref/example-00358.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00359.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00360.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00361.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00362.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00363.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00364.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00366.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00368.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00369.gif.

cannot compute difference between binary files

Added doc/ref/example-00370.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00371.gif.

cannot compute difference between binary files

Added doc/ref/example-00372.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00373.gif.

cannot compute difference between binary files

Added doc/ref/example-00374.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00375.gif.

cannot compute difference between binary files

Added doc/ref/example-00376.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00377.gif.

cannot compute difference between binary files

Added doc/ref/example-00378.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00379.gif.

cannot compute difference between binary files

Added doc/ref/example-00380.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00381.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00383.gif.

cannot compute difference between binary files

Added doc/ref/example-00384.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00385.gif.

cannot compute difference between binary files

Added doc/ref/example-00386.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00387.gif.

cannot compute difference between binary files

Added doc/ref/example-00388.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00389.gif.

cannot compute difference between binary files

Added doc/ref/example-00390.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00391.gif.

cannot compute difference between binary files

Added doc/ref/example-00392.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00393.gif.

cannot compute difference between binary files

Added doc/ref/example-00394.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00395.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00396.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00397.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00398.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00399.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00400.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00401.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00402.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00403.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00404.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00405.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00406.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00407.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00408.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00409.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00410.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00411.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00412.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00413.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00414.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00415.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00416.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00417.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00418.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00419.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00420.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00421.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00422.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00423.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00424.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00425.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00426.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00427.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00428.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00429.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00430.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00431.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00432.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00433.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00434.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00435.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00436.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00437.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00438.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00439.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00440.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00441.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00442.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00443.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00444.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00445.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00446.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00447.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00448.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00449.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00450.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00451.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00452.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00453.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00454.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00455.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00456.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00457.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00458.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00459.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00460.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00461.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00462.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00463.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00464.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00465.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00466.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00467.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00468.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00469.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00470.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00471.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00472.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00473.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00474.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00475.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00476.gif.

cannot compute difference between binary files

Added doc/ref/example-00477.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00478.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00479.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00481.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00482.gif.

cannot compute difference between binary files

Added doc/ref/example-00483.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00484.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00485.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00487.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00488.gif.

cannot compute difference between binary files

Added doc/ref/example-00489.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00490.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00491.gif.

cannot compute difference between binary files

Added doc/ref/example-00492.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00493.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00494.gif.

cannot compute difference between binary files

Added doc/ref/example-00495.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00496.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00497.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00498.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00499.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00500.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00501.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00502.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00503.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00504.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00505.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00506.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00507.gif.

cannot compute difference between binary files

Added doc/ref/example-00508.gif.

cannot compute difference between binary files

Added doc/ref/example-00509.gif.

cannot compute difference between binary files

Added doc/ref/example-00510.gif.

cannot compute difference between binary files

Added doc/ref/example-00511.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00512.gif.

cannot compute difference between binary files

Added doc/ref/example-00513.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00514.gif.

cannot compute difference between binary files

Added doc/ref/example-00515.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00516.gif.

cannot compute difference between binary files

Added doc/ref/example-00517.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00518.gif.

cannot compute difference between binary files

Added doc/ref/example-00519.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00520.gif.

cannot compute difference between binary files

Added doc/ref/example-00521.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00522.gif.

cannot compute difference between binary files

Added doc/ref/example-00523.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00524.gif.

cannot compute difference between binary files

Added doc/ref/example-00525.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00526.gif.

cannot compute difference between binary files

Added doc/ref/example-00527.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00528.gif.

cannot compute difference between binary files

Added doc/ref/example-00529.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00530.gif.

cannot compute difference between binary files

Added doc/ref/example-00531.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00532.gif.

cannot compute difference between binary files

Added doc/ref/example-00533.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00534.gif.

cannot compute difference between binary files

Added doc/ref/example-00535.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00536.gif.

cannot compute difference between binary files

Added doc/ref/example-00537.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00538.gif.

cannot compute difference between binary files

Added doc/ref/example-00539.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00540.gif.

cannot compute difference between binary files

Added doc/ref/example-00541.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00542.gif.

cannot compute difference between binary files

Added doc/ref/example-00543.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00544.gif.

cannot compute difference between binary files

Added doc/ref/example-00545.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00546.gif.

cannot compute difference between binary files

Added doc/ref/example-00547.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00548.gif.

cannot compute difference between binary files

Added doc/ref/example-00549.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00550.gif.

cannot compute difference between binary files

Added doc/ref/example-00551.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00552.gif.

cannot compute difference between binary files

Added doc/ref/example-00553.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00554.gif.

cannot compute difference between binary files

Added doc/ref/example-00555.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00556.gif.

cannot compute difference between binary files

Added doc/ref/example-00557.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00558.gif.

cannot compute difference between binary files

Added doc/ref/example-00559.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00560.gif.

cannot compute difference between binary files

Added doc/ref/example-00561.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00562.gif.

cannot compute difference between binary files

Added doc/ref/example-00563.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00564.gif.

cannot compute difference between binary files

Added doc/ref/example-00565.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00566.gif.

cannot compute difference between binary files

Added doc/ref/example-00567.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00568.gif.

cannot compute difference between binary files

Added doc/ref/example-00569.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00570.gif.

cannot compute difference between binary files

Added doc/ref/example-00571.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00572.gif.

cannot compute difference between binary files

Added doc/ref/example-00573.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00574.gif.

cannot compute difference between binary files

Added doc/ref/example-00575.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00576.gif.

cannot compute difference between binary files

Added doc/ref/example-00577.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00578.gif.

cannot compute difference between binary files

Added doc/ref/example-00579.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00580.gif.

cannot compute difference between binary files

Added doc/ref/example-00581.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00582.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00583.gif.

cannot compute difference between binary files

Changes to doc/ref/example-00584.gif.

cannot compute difference between binary files

Deleted doc/ref/example-00585.gif.

cannot compute difference between binary files

Added doc/ref/example-00586.gif.

cannot compute difference between binary files

Added doc/ref/example-00587.gif.

cannot compute difference between binary files

Added doc/ref/example-00589.gif.

cannot compute difference between binary files

Added doc/ref/example-00590.gif.

cannot compute difference between binary files

Added doc/ref/example-00592.gif.

cannot compute difference between binary files

Added doc/ref/example-00593.gif.

cannot compute difference between binary files

Added doc/ref/example-00595.gif.

cannot compute difference between binary files

Added doc/ref/example-00596.gif.

cannot compute difference between binary files

Added doc/ref/example-00598.gif.

cannot compute difference between binary files

Added doc/ref/example-00599.gif.

cannot compute difference between binary files

Added doc/ref/example-00601.gif.

cannot compute difference between binary files

Added doc/ref/example-00602.gif.

cannot compute difference between binary files

Added doc/ref/example-00603.gif.

cannot compute difference between binary files

Added doc/ref/example-00604.gif.

cannot compute difference between binary files

Added doc/ref/example-00605.gif.

cannot compute difference between binary files

Added doc/ref/example-00606.gif.

cannot compute difference between binary files

Added doc/ref/example-00608.gif.

cannot compute difference between binary files

Added doc/ref/example-00609.gif.

cannot compute difference between binary files

Added doc/ref/example-00610.gif.

cannot compute difference between binary files

Added doc/ref/example-00611.gif.

cannot compute difference between binary files

Added doc/ref/example-00612.gif.

cannot compute difference between binary files

Added doc/ref/example-00617.gif.

cannot compute difference between binary files

Added doc/ref/example-00619.gif.

cannot compute difference between binary files

Added doc/ref/example-00621.gif.

cannot compute difference between binary files

Added doc/ref/example-00623.gif.

cannot compute difference between binary files

Added doc/ref/example-00625.gif.

cannot compute difference between binary files

Added doc/ref/example-00627.gif.

cannot compute difference between binary files

Added doc/ref/example-00629.gif.

cannot compute difference between binary files

Added doc/ref/example-00631.gif.

cannot compute difference between binary files

Added doc/ref/example-00633.gif.

cannot compute difference between binary files

Added doc/ref/example-00635.gif.

cannot compute difference between binary files

Added doc/ref/example-00637.gif.

cannot compute difference between binary files

Added doc/ref/example-00639.gif.

cannot compute difference between binary files

Added doc/ref/example-00641.gif.

cannot compute difference between binary files

Added doc/ref/example-00643.gif.

cannot compute difference between binary files

Added doc/ref/example-00645.gif.

cannot compute difference between binary files

Added doc/ref/example-00647.gif.

cannot compute difference between binary files

Added doc/ref/example-00649.gif.

cannot compute difference between binary files

Added doc/ref/example-00651.gif.

cannot compute difference between binary files

Added doc/ref/example-00653.gif.

cannot compute difference between binary files

Added doc/ref/example-00655.gif.

cannot compute difference between binary files

Added doc/ref/example-00657.gif.

cannot compute difference between binary files

Added doc/ref/example-00659.gif.

cannot compute difference between binary files

Added doc/ref/example-00661.gif.

cannot compute difference between binary files

Added doc/ref/example-00663.gif.

cannot compute difference between binary files

Added doc/ref/example-00665.gif.

cannot compute difference between binary files

Added doc/ref/example-00667.gif.

cannot compute difference between binary files

Added doc/ref/example-00669.gif.

cannot compute difference between binary files

Added doc/ref/example-00671.gif.

cannot compute difference between binary files

Added doc/ref/example-00673.gif.

cannot compute difference between binary files

Added doc/ref/example-00675.gif.

cannot compute difference between binary files

Added doc/ref/example-00677.gif.

cannot compute difference between binary files

Added doc/ref/example-00679.gif.

cannot compute difference between binary files

Added doc/ref/example-00681.gif.

cannot compute difference between binary files

Added doc/ref/example-00683.gif.

cannot compute difference between binary files

Added doc/ref/example-00685.gif.

cannot compute difference between binary files

Added doc/ref/example-00687.gif.

cannot compute difference between binary files

Added doc/ref/example-00688.gif.

cannot compute difference between binary files

Added doc/ref/example-00689.gif.

cannot compute difference between binary files

Added doc/ref/example-00690.gif.

cannot compute difference between binary files

Added doc/ref/example-00712.gif.

cannot compute difference between binary files

Changes to doc/ref/generator.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- generator

## Table Of Contents

  - [Roots](bysection.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/generator_reader.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [generator](generator.md) ↗


### Operators

 - [aktive read from aktive](#read_from_aktive)
 - [aktive read from netpbm](#read_from_netpbm)

## Operators

---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00582.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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00583.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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00584.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00585.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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>


Changes to doc/ref/generator_virtual.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [generator](generator.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
98
99
100
101
102
103
104
105
 - [aktive image vbar](#image_vbar)
 - [aktive image xcross](#image_xcross)
 - [aktive image zone](#image_zone)

## Operators

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







|







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
120
121
122
123
124
125
126
127
    <br>&nbsp;</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>


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







|







113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
    <br>&nbsp;</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
159
160
161
162
163
164
165
166
    <br>&nbsp;</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>


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







|







152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
    <br>&nbsp;</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
181
182
183
184
185
186
187
188
    <br>&nbsp;</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>


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







|







174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
    <br>&nbsp;</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
203
204
205
206
207
208
209
210
    <br>&nbsp;</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>


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







|







196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
    <br>&nbsp;</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
225
226
227
228
229
230
231
232
    <br>&nbsp;</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>


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







|







218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
    <br>&nbsp;</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
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>&nbsp;</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>


---
### <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>&nbsp;</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>


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







|




















|







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>&nbsp;</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>&nbsp;</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
324
325
326
327
328
329
330
331
    <br>&nbsp;</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>


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







|







317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
    <br>&nbsp;</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
347
348
349
350
351
352
353
354
    <br>&nbsp;</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>


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








|







340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
    <br>&nbsp;</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
381
382
383
384
385
386
387
388
    <br>&nbsp;</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>


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








|







374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
    <br>&nbsp;</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
407
408
409
410
411
412
413
414
    <br>&nbsp;</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>


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








|







400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
    <br>&nbsp;</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
439
440
441
442
443
444
445
446
    <br>&nbsp;</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>


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








|







432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
    <br>&nbsp;</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
465
466
467
468
469
470
471
472
    <br>&nbsp;</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>


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








|







458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
    <br>&nbsp;</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
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>


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








|







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


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








|







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


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







|







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
596
597
598
599
600
601
602
603
    <br>&nbsp;</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>


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







|







589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
    <br>&nbsp;</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
628
629
630
631
632
633
634
635
    <br>&nbsp;</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>


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







|







621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
    <br>&nbsp;</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
650
651
652
653
654
655
656
657
    <br>&nbsp;</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>


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







|







643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
    <br>&nbsp;</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
689
690
691
692
693
694
695
696
    <br>&nbsp;</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>


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







|







682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
    <br>&nbsp;</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
711
712
713
714
715
716
717
718
    <br>&nbsp;</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>


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








|







704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
    <br>&nbsp;</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
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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


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








|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|







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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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
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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


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








|
















|
















|
















|
















|







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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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
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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00146.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00147.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>


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








|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|
















|



















|






|





|







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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00148.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00149.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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00150.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00151.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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00152.gif' alt='aktive image palette color ' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 3)</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00153.gif' alt='aktive image palette grey ' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00184.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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00185.gif' alt='aktive image square radius 32' style='border:4px solid gold'>
    <br>geometry(0 0 65 65 1)</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00186.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00187.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00188.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>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00189.gif' alt='aktive image vbar radius 32 width 8' style='border:4px solid gold'>
    <br>geometry(0 0 65 65 1)</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00190.gif' alt='aktive image xcross radius 32 width 8' style='border:4px solid gold'>
    <br>geometry(0 0 65 65 1)</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00191.gif' alt='aktive image zone width 256 height 256' style='border:4px solid gold'>
    <br>geometry(0 0 256 256 1)</td></tr>
</table>









|






|





|

















|






|





|











|





|











|





|



















|





|














|





|


















|






|






|





|















|





|















|





|















|




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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>


Changes to doc/ref/generator_virtual_drawing.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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













|



















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
84
85
86
87
88
89
90
91
    <br>&nbsp;</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>


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








|







77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
    <br>&nbsp;</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
141
142
143
144
145
146
147
148
    <br>&nbsp;</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>


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








|







134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
    <br>&nbsp;</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
191
192
193
194
195
196
197
198
    <br>&nbsp;</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>


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








|







184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
    <br>&nbsp;</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
241
242
243
244
245
246
247
248
    <br>&nbsp;</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>


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








|







234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
    <br>&nbsp;</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
291
292
293
294
295
296
297
298
    <br>&nbsp;</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>


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








|







284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
    <br>&nbsp;</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
343
344
345
346
347
348
349
350
    <br>&nbsp;</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>


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








|







336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
    <br>&nbsp;</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
392
393
394
395
396
397
398
399
    <br>&nbsp;</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>


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








|







385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
    <br>&nbsp;</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
443
444
445
446
447
448
449
450
    <br>&nbsp;</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>


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








|







436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
    <br>&nbsp;</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.

Changes to doc/ref/generator_virtual_sdf.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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













|



















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00154.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-00155.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-00156.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00157.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-00158.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-00159.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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00160.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-00161.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-00162.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>


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








|
|
|






|
|
|





|







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>&nbsp;</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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00163.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-00164.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-00165.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00166.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-00167.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-00168.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00169.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-00170.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-00171.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00172.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-00173.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-00174.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00175.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-00176.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-00177.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00178.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-00179.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-00180.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>


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








|
|
|





|







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>&nbsp;</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
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>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>sdf-fit</td><td valign='top'><img src='example-00181.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-00182.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-00183.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>









|
|
|




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>&nbsp;</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>


Changes to doc/ref/generator_virtual_warp.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [generator virtual](generator_virtual.md) ↗


### Operators

 - [aktive transform affine](#transform_affine)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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








|







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
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>&nbsp;</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>


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








|







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>&nbsp;</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
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>


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








|







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


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00607.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'>&nbsp;-124 0 454 407</td></tr>
</table>


---
### <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>&nbsp;</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>


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








|



















|







|


















|







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>&nbsp;</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'>&nbsp;-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>&nbsp;</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
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>


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







|







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
274
275
276
277
278
279
280
281
    <td valign='top'>&nbsp;7.000000000000001 1.0000000000000004</td>
    <td valign='top'>&nbsp;8.000000000000002 7.000000000000002</td>
    <td valign='top'>&nbsp;1.0000000000000004 7.000000000000002</td></tr>
</table>


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








|







267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
    <td valign='top'>&nbsp;7.000000000000001 1.0000000000000004</td>
    <td valign='top'>&nbsp;8.000000000000002 7.000000000000002</td>
    <td valign='top'>&nbsp;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
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>&nbsp;</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>


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








|







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>&nbsp;</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
424
425
426
427
428
429
430
431
    <td valign='top'>&nbsp;100.0 125.0</td>
    <td valign='top'>&nbsp;210.00000000000003 80.0</td>
    <td valign='top'>&nbsp;190.0 10.0</td></tr>
</table>


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








|







417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
    <td valign='top'>&nbsp;100.0 125.0</td>
    <td valign='top'>&nbsp;210.00000000000003 80.0</td>
    <td valign='top'>&nbsp;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
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>


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








|







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


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








|







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


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








|







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


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








|







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


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








|







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


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








|







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


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








|







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


---
### <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__.








|







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
803
804
805
806
807
808
809
810
    <br>&nbsp;</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>


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








|







796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
    <br>&nbsp;</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
833
834
835
836
837
838
839
840
<tr><th>aktive warp noise gauss width 5 height 5 seed 703011174
    <br>&nbsp;</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>


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








|







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>&nbsp;</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
863
864
865
866
867
868
869
870
<tr><th>aktive warp noise uniform width 5 height 5 seed 703011174
    <br>&nbsp;</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>


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








|







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>&nbsp;</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.

Changes to doc/ref/miscellaneous.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- miscellaneous

## Table Of Contents

  - [Roots](bysection.md) ↗


## Subsections


 - [miscellaneous geometry](miscellaneous_geometry.md) ↘

### Operators

 - [aktive error](#error)
 - [aktive processors](#processors)
 - [aktive version](#version)

## Operators

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

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

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.


Changes to doc/ref/miscellaneous_geometry.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [miscellaneous](miscellaneous.md) ↗


### Operators

 - [aktive point add](#point_add)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

---
### <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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;10 30</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;5 5 41 41</td></tr>
</table>


---
### <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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;11 23</td></tr>
</table>


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







|




















|



















|




















|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
121
122
123
124
125
126
127
128
<tr><th>aktive point move {11 23} -1 7
    <br>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;10 30</td></tr>
</table>


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







|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
147
148
149
150
151
152
153
154
<tr><th>aktive rectangle empty {11 23 0 0}
    <br>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;1</td></tr>
</table>


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







|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
174
175
176
177
178
179
180
181
<tr><th>aktive rectangle equal {11 23 30 20} {11 23 10 20}
    <br>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;0</td></tr>
</table>


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







|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;10 18 38 35</td></tr>
</table>


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

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







|










|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
232
233
234
235
236
237
238
239
<tr><th>aktive rectangle make 11 23 30 20
    <br>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;11 23 30 20</td></tr>
</table>


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







|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
254
255
256
257
258
259
260
261
<tr><th>aktive rectangle move {11 23 30 20} -5 7
    <br>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;6 30 30 20</td></tr>
</table>


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







|







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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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
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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;1</td></tr>
</table>


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

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








|










|










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>&nbsp;</th></tr>
<tr><td valign='top'>&nbsp;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|

Changes to doc/ref/sink.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- sink

## Table Of Contents

  - [Roots](bysection.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/sink_statistics.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [sink](sink.md) ↗


### Operators

 - [aktive op compare mse](#op_compare_mse)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


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


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


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


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

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


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

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


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


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


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









|









|









|









|









|












|









|















|









|









|









|








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.


Changes to doc/ref/sink_writer.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [sink](sink.md) ↗


### Operators

 - [aktive format as aktive 2chan](#format_as_aktive_2chan)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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

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

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


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


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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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









|












|












|









|









|









|












|












|









|












|












|









|












|












|









|












|












|









|












|












|









|












|












|









|












|












|









|












|












|









|








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.


Changes to doc/ref/transform.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[Sections ↘](bysection.md)|[Permuted Sections ↘](bypsection.md)|[Names ↘](byname.md)|[Permuted Names ↘](bypname.md)|[Strict ↘](strict.md)|[Implementations ↘](bylang.md)|

# Documentation -- Reference Pages -- transform

## Table Of Contents

  - [Roots](bysection.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


---
### <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>&nbsp;</th>
    <th>aktive op view @1 port {190 125 380 250}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00502.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00503.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>&nbsp;</th>
    <th>aktive op view @1 port {-190 -125 380 250}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00504.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00505.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>&nbsp;</th>
    <th>aktive op view @1 port {80 80 80 80}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00506.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00507.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>









|













|




















|

|








|

|








|

|




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>&nbsp;</th>
    <th>aktive op view @1 port {190 125 380 250}
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op view @1 port {-190 -125 380 250}
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op view @1 port {80 80 80 80}
    <br>&nbsp;</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>


Changes to doc/ref/transform_color.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op color correct greyworld global](#op_color_correct_greyworld_global)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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









|














|

















|







|







|







|







|







|







|







|







|







|







|







|







|







|







|







|







|













|







|







|









|







|







|











|







|







|







|







|









|







|







|







|







|









|







|







|







|







|







|







|







|











|







|







|







|







|







|







|







|







|









|







|







|











|







|







|







|







|









|







|







|







|







|







|







|






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.


Changes to doc/ref/transform_convolution.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op convolve xy](#op_convolve_xy)

## Operators

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













|











|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op convolve xy @2 @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00243.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-00245.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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op convolve xy @2 @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00246.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-00248.gif' alt='aktive op convolve xy @2 @1' style='border:4px solid gold'>
    <br>geometry(0 4 128 120 1)</td></tr>
</table>









|


|










|


|




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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op convolve xy @2 @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op convolve xy @2 @1
    <br>&nbsp;</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>


Changes to doc/ref/transform_drawing.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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













|



















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</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>&nbsp;</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'><img src='example-00252.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>


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








|

|





|







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>&nbsp;</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>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw box on @1 center {64 64} ewidth 32 eheight 32 color {1 0 0} outlined 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00253.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00254.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw box on @1 center {64 64} ewidth 32 eheight 32 color {1 0 0} outlined 1
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw circle on @1 center {64 64} radius 32 color {1 0 0} outlined 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00255.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00256.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw circle on @1 center {64 64} radius 32 color {1 0 0} outlined 1
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw circles on @1 radius 8 color {1 0 0} outlined 1 centers {10 10} {30 80} {80 30}
    <br>&nbsp;</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'><img src='example-00258.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw circles on @1 radius 8 color {1 0 0} outlined 1 centers {10 10} {30 80} {80 30}
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw line on @1 from {10 10} to {30 80} color {1 0 0} strokewidth 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00259.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00260.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw line on @1 from {10 10} to {30 80} color {1 0 0} strokewidth 1
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw parallelogram on @1 center {64 64} ewidth 32 eheight 32 eskew 8 color {1 0 0} outlined 1
    <br>&nbsp;</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'><img src='example-00262.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw parallelogram on @1 center {64 64} ewidth 32 eheight 32 eskew 8 color {1 0 0} outlined 1
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw polyline on @1 color {1 0 0} strokewidth 1 points {10 10} {30 80} {80 30}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00263.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00264.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw polyline on @1 color {1 0 0} strokewidth 1 points {10 10} {30 80} {80 30}
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op draw rhombus on @1 center {64 64} ewidth 32 eheight 32 outlined 1 color {1 0 0} outlined 1
    <br>&nbsp;</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 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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op draw rhombus on @1 center {64 64} ewidth 32 eheight 32 outlined 1 color {1 0 0} outlined 1
    <br>&nbsp;</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
351
352
353
354
355
356
357
#### <a name='op_draw_triangle_on__examples'></a> Examples

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive op draw triangle on @1 a {10 10} b {30 80} c {80 30} color {1 0 0} outlined 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00267.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 380 250 3)</td>
    <td valign='top'><img src='example-00268.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>









|

|




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>&nbsp;</th>
    <th>aktive op draw triangle on @1 a {10 10} b {30 80} c {80 30} color {1 0 0} outlined 1
    <br>&nbsp;</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>


Changes to doc/ref/transform_effect.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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












|


















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>


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







|







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


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







|







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


---
### <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).








|







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


---
### <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).








|







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


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







|







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


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







|







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


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








|







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.

Changes to doc/ref/transform_geometry.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.


Changes to doc/ref/transform_global_histogram.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform global](transform_global.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/transform_global_histogram_equalization.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform global histogram](transform_global_histogram.md) ↗


### Operators

 - [aktive op equalization global](#op_equalization_global)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_identity.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op pass](#op_pass)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_kuwahara.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op kuwahara](#op_kuwahara)
 - [aktive op kuwahara-core](#op_kuwahara_core)

## Operators

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

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_location.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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|
|:---|:---|:---|:---|
Changes to doc/ref/transform_lookup.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/transform_lookup_indexed.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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













|


















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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.|

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








|







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.

Changes to doc/ref/transform_lookup_indexed_compose.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform lookup indexed](transform_lookup_indexed.md) ↗


### Operators

 - [aktive op lut compose](#op_lut_compose)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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))`.


Changes to doc/ref/transform_lookup_indexed_make.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform lookup indexed](transform_lookup_indexed.md) ↗


### Operators

 - [aktive op lut from](#op_lut_from)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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|
|:---|:---|:---|:---|
Changes to doc/ref/transform_math.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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)`.

Changes to doc/ref/transform_math_binary.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform math](transform_math.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


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


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


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


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


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


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


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


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


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


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


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


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


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









|









|







|









|









|









|









|









|









|









|









|









|









|







|








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.


Changes to doc/ref/transform_math_binary_logical.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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


---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_math_complex.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform math](transform_math.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/transform_math_complex_binary.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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


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


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


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


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


---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.


Changes to doc/ref/transform_math_complex_reduce.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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


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


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


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


---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.


Changes to doc/ref/transform_math_complex_unary.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform math complex](transform_math_complex.md) ↗


### Operators

 - [aktive op cmath acos](#op_cmath_acos)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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









|









|









|







|







|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|









|








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.


Changes to doc/ref/transform_math_nary.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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


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


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


---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.


Changes to doc/ref/transform_math_nary_logical.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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


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


---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_math_unary.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform math](transform_math.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


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


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


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


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


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


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

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

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


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


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


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


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


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


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

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


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


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


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

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

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

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

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


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


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


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

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

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

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

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

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

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

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


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

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

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


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


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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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


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

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

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


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


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


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


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

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


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


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


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


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









|









|









|









|









|









|









|














|














|









|









|









|









|









|









|














|









|









|









|














|


















|



















|



















|









|









|









|














|














|














|















|















|















|















|









|














|











|









|









|









|














|














|














|














|














|














|









|














|















|















|















|















|














|









|














|









|














|














|









|









|









|









|














|









|









|









|









|








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.


Changes to doc/ref/transform_math_unary_logical.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform math unary](transform_math_unary.md) ↗


### Operators

 - [aktive op math1 not](#op_math1_not)

## Operators

---
### <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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to doc/ref/transform_metadata.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive meta append](#meta_append)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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

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

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

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

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

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

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

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

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

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

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

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

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








|













|













|













|













|













|













|













|













|













|













|













|










|










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

Changes to doc/ref/transform_morphology.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op connected-components labeled](#op_connected_components_labeled)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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








|







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
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>&nbsp;</th>
    <th>aktive op connected-components labeled @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00237.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>&nbsp;</th>
    <th>aktive op connected-components labeled @1 transform cc.max
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00239.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-00240.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>&nbsp;</th>
    <th>aktive op connected-components labeled @1 transform cc.max bbox 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00241.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-00242.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph close @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00317.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-00318.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>&nbsp;</th>
    <th>aktive op morph close @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00319.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-00320.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph dilate @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00321.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-00322.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>&nbsp;</th>
    <th>aktive op morph dilate @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00323.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-00324.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph erode @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00325.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-00326.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>&nbsp;</th>
    <th>aktive op morph erode @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00327.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-00328.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph gradient all @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00329.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-00330.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>&nbsp;</th>
    <th>aktive op morph gradient all @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00331.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-00332.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph gradient external @1 radius 1
    <br>&nbsp;</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 valign='top'>times 8</td><td valign='top'><img src='example-00334.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>&nbsp;</th>
    <th>aktive op morph gradient external @1 radius 1
    <br>&nbsp;</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 200 104 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 morph gradient external @1 radius 1' style='border:4px solid gold'>
    <br>geometry(0 0 200 104 1)</td></tr></table></td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op morph gradient internal @1 radius 1
    <br>&nbsp;</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 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>&nbsp;</th>
    <th>aktive op morph gradient internal @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00339.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-00340.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph open @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00341.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-00342.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>&nbsp;</th>
    <th>aktive op morph open @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00343.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-00344.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph toggle @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00345.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-00346.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>&nbsp;</th>
    <th>aktive op morph toggle @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00347.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-00348.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph tophat black @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00349.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-00350.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>&nbsp;</th>
    <th>aktive op morph tophat black @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00351.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-00352.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>


---
### <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>&nbsp;</th>
    <th>aktive op morph tophat white @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00353.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-00354.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>&nbsp;</th>
    <th>aktive op morph tophat white @1 radius 1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><table><tr><td valign='top'>times 8</td><td valign='top'><img src='example-00355.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-00356.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>









|









|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|





|

















|

|








|

|




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>&nbsp;</th>
    <th>aktive op connected-components labeled @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op connected-components labeled @1 transform cc.max
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op connected-components labeled @1 transform cc.max bbox 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph close @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph close @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph dilate @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph dilate @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph erode @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph erode @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient all @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient all @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient external @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient external @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient internal @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph gradient internal @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph open @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph open @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph toggle @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph toggle @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph tophat black @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph tophat black @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph tophat white @1 radius 1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op morph tophat white @1 radius 1
    <br>&nbsp;</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>


Changes to doc/ref/transform_sdf.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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
 - [aktive op sdf outline](#op_sdf_outline)
 - [aktive op sdf ring](#op_sdf_ring)
 - [aktive op sdf round](#op_sdf_round)

## Operators

---
### <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_pixelated'></a> aktive op sdf 2image pixelated

Syntax: __aktive op sdf 2image pixelated__ src [[→ definition](../../../../file?ci=trunk&ln=316&name=etc/generator/virtual/sdf.tcl)]

Converts the SDF into a black/white image with pixelated element borders.




















---
### <a name='op_sdf_2image_smooth'></a> aktive op sdf 2image smooth

Syntax: __aktive op sdf 2image smooth__ src [[→ definition](../../../../file?ci=trunk&ln=303&name=etc/generator/virtual/sdf.tcl)]

Converts the SDF into a grey-scale image with anti-aliased element borders.




















---
### <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>&nbsp;</th>
    <th>aktive op sdf not @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00434.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-00435.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-00436.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-00437.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>


---
### <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>&nbsp;</th>
    <th>aktive op sdf outline @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00443.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-00444.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-00445.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-00446.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>


---
### <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>&nbsp;</th>
    <th>aktive op sdf ring @1 thickness 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00447.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-00448.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-00449.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-00450.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>


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








|






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|













|

|
|
|





|















|

|
|
|





|




















|

|
|
|





|







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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf and @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf and @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf and @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sdf not @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sdf outline @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sdf ring @1 thickness 4
    <br>&nbsp;</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
166
167
168
169
170
171
172
173
174
#### <a name='op_sdf_round__examples'></a> Examples

<table>
<tr><th>@1
    <br>&nbsp;</th>
    <th>aktive op sdf round @1 radius 20
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00451.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-00452.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-00453.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-00454.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>









|

|
|
|




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>&nbsp;</th>
    <th>aktive op sdf round @1 radius 20
    <br>&nbsp;</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>


Changes to doc/ref/transform_sdf_combiner.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf and @1 @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00429.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00430.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-00431.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-00432.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-00433.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf or @1 @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00438.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00439.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-00440.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-00441.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-00442.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf sub @1 @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00455.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00456.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-00457.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-00458.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-00459.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf xor @1 @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00460.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00461.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-00462.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-00463.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-00464.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>


---
### <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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf xor-core @1 @2
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00465.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00466.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-00467.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-00468.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-00469.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
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf and @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf or @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf sub @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf xor @1 @2
    <br>&nbsp;</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>&nbsp;</th>
    <th>@2
    <br>&nbsp;</th>
    <th>aktive op sdf xor-core @1 @2
    <br>&nbsp;</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>


Changes to doc/ref/transform_statistics.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op band arg ge](#op_band_arg_ge)












|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

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


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


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


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


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


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


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


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

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


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


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


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


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


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

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


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


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


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


---
### <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>&nbsp;</th>
    <th>aktive op column arg max @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00206.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>


---
### <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>&nbsp;</th>
    <th>aktive op column arg min @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00208.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>


---
### <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>&nbsp;</th>
    <th>aktive op column cumulative @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00210.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>


---
### <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>&nbsp;</th>
    <th>aktive op column histogram @1 bins 8
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00212.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>


---
### <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>&nbsp;</th>
    <th>aktive op column max @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00214.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>


---
### <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>&nbsp;</th>
    <th>aktive op column mean @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00216.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>


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


---
### <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>&nbsp;</th>
    <th>aktive op column min @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00218.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>


---
### <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>&nbsp;</th>
    <th>aktive op column otsu [aktive op column histogram @1]
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00220.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>


---
### <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>&nbsp;</th>
    <th>aktive op column profile @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00222.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>


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

---
### <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>&nbsp;</th>
    <th>aktive op column stddev @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00224.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>


---
### <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>&nbsp;</th>
    <th>aktive op column sum @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00226.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>


---
### <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>&nbsp;</th>
    <th>aktive op column sumsquared @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00228.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>


---
### <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>&nbsp;</th>
    <th>aktive op column variance @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00230.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>


---
### <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>&nbsp;</th>
    <th>aktive op image histogram @1 bins 8
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00285.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>


---
### <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>&nbsp;</th>
    <th>aktive op row arg max @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00369.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>


---
### <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>&nbsp;</th>
    <th>aktive op row arg min @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00371.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>


---
### <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>&nbsp;</th>
    <th>aktive op row cumulative @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00373.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>


---
### <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>&nbsp;</th>
    <th>aktive op row histogram @1 bins 8
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00375.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>


---
### <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>&nbsp;</th>
    <th>aktive op row max @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00377.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>


---
### <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>&nbsp;</th>
    <th>aktive op row mean @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00379.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>


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


---
### <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>&nbsp;</th>
    <th>aktive op row min @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00381.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>


---
### <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>&nbsp;</th>
    <th>aktive op row otsu [aktive op row histogram @1]
    <br>&nbsp;</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'><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>


---
### <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>&nbsp;</th>
    <th>aktive op row profile @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00385.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>


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

---
### <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>&nbsp;</th>
    <th>aktive op row stddev @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00387.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>


---
### <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>&nbsp;</th>
    <th>aktive op row sum @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00389.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>


---
### <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>&nbsp;</th>
    <th>aktive op row sumsquared @1
    <br>&nbsp;</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'><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>


---
### <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>&nbsp;</th>
    <th>aktive op row variance @1
    <br>&nbsp;</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'><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>


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








|













|













|













|













|







|







|











|












|







|







|









|







|













|














|







|







|







|







|















|






|















|






|

















|






|


















|






|















|






|















|






|









|















|






|



















|






|



















|






|














|















|






|















|






|















|






|















|






|
















|






|















|






|















|






|

















|






|


















|






|















|






|















|






|









|















|






|



















|






|



















|






|














|















|






|















|






|















|






|















|






|







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>&nbsp;</th>
    <th>aktive op column arg max @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column arg min @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column cumulative @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column histogram @1 bins 8
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column max @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column mean @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column min @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column otsu [aktive op column histogram @1]
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column profile @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column stddev @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column sum @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column sumsquared @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op column variance @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op image histogram @1 bins 8
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row arg max @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row arg min @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row cumulative @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row histogram @1 bins 8
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row max @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row mean @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row min @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row otsu [aktive op row histogram @1]
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row profile @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row stddev @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row sum @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row sumsquared @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op row variance @1
    <br>&nbsp;</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
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.|

---
### <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`.|

---
### <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`.|

---
### <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`.|

---
### <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`.|

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








|




















|




















|




















|




















|







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

---
### <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`.|

---
### <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`.|

---
### <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`.|

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








|




















|




















|




















|







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.

Changes to doc/ref/transform_structure.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

---
### <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>&nbsp;</th>
    <th>aktive op align bottom @1 size 160 border mirror
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00192.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00193.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>


---
### <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>&nbsp;</th>
    <th>aktive op align left @1 size 160 border mirror
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00194.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00195.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>


---
### <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>&nbsp;</th>
    <th>aktive op align right @1 size 160 border mirror
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00196.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00197.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>


---
### <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>&nbsp;</th>
    <th>aktive op align top @1 size 160 border mirror
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00198.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00199.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>


---
### <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>&nbsp;</th>
    <th>aktive op center-origin x @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00200.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00201.gif' alt='aktive op center-origin x @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op center-origin xy @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00202.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00203.gif' alt='aktive op center-origin xy @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op center-origin y @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00204.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00205.gif' alt='aktive op center-origin y @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


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


---
### <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>&nbsp;</th>
    <th>aktive op crop @1 left 10 right 20 top 30 bottom 50
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00249.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00250.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>


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

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

---
### <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>&nbsp;</th>
    <th>aktive op embed bg @1 left 32 right 32 top 32 bottom 32 values 0.5
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00269.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00270.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>


---
### <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>&nbsp;</th>
    <th>aktive op embed black @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00271.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00272.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>


---
### <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>&nbsp;</th>
    <th>aktive op embed copy @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00273.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00274.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>


---
### <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>&nbsp;</th>
    <th>aktive op embed mirror @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00275.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00276.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>


---
### <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>&nbsp;</th>
    <th>aktive op embed tile @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00277.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00278.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>


---
### <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>&nbsp;</th>
    <th>aktive op embed white @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00279.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00280.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>


---
### <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>&nbsp;</th>
    <th>aktive op flip x @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00281.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00282.gif' alt='aktive op flip x @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op flip y @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00283.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00284.gif' alt='aktive op flip y @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


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


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


---
### <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>&nbsp;</th>
    <th>aktive op resize @1 width 21 height 29
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00359.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 256 256 3)</td>
    <td valign='top'><img src='example-00360.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>


---
### <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>&nbsp;</th>
    <th>aktive op rotate any @1 by 33 around {32 32}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00361.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-00362.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>


---
### <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>&nbsp;</th>
    <th>aktive op rotate ccw @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00363.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00364.gif' alt='aktive op rotate ccw @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op rotate cw @1
    <br>&nbsp;</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 rotate cw @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op rotate half @1
    <br>&nbsp;</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 rotate half @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op sample decimate x @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00395.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00396.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample decimate xy @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00397.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00398.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample decimate y @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00399.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00400.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample fill x @1 by 4 fill 0.5
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00401.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00402.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample fill xy @1 by 4 fill 0.5
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00403.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00404.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample fill y @1 by 4 fill 0.5
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00405.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00406.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>


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

---
### <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>&nbsp;</th>
    <th>aktive op sample interpolate x @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00407.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00408.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample interpolate xy @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00409.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00410.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample interpolate y @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00411.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00412.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample replicate x @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00413.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00414.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample replicate xy @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00415.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00416.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample replicate y @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00417.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00418.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>


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

---
### <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>&nbsp;</th>
    <th>aktive op sample sub x @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00419.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00420.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample sub xy @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00421.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00422.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>


---
### <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>&nbsp;</th>
    <th>aktive op sample sub y @1 by 4
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00423.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00424.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>


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

---
### <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>&nbsp;</th>
    <th>aktive op scroll x @1 offset 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00425.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00426.gif' alt='aktive op scroll x @1 offset 32' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op scroll y @1 offset 32
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00427.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00428.gif' alt='aktive op scroll y @1 offset 32' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


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

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








|

















|

|





|

















|

|





|

















|

|





|

















|

|





|













|

|





|













|

|





|













|

|





|







|



















|

|





|











|











|




















|

|





|



















|

|





|



















|

|





|



















|

|





|



















|

|





|



















|

|





|













|

|





|













|

|





|







|









|




















|

|





|




















|

|





|













|

|





|













|

|





|













|

|





|



















|

|





|

















|

|





|



















|

|





|

















|

|





|

















|

|





|

















|

|





|











|



















|

|





|



















|

|





|



















|

|





|
















|

|





|
















|

|





|
















|

|





|










|
















|

|





|
















|

|





|
















|

|





|










|
















|

|





|
















|

|





|










|







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>&nbsp;</th>
    <th>aktive op align bottom @1 size 160 border mirror
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op align left @1 size 160 border mirror
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op align right @1 size 160 border mirror
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op align top @1 size 160 border mirror
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op center-origin x @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op center-origin xy @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op center-origin y @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op crop @1 left 10 right 20 top 30 bottom 50
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed bg @1 left 32 right 32 top 32 bottom 32 values 0.5
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed black @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed copy @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed mirror @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed tile @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op embed white @1 left 32 right 32 top 32 bottom 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op flip x @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op flip y @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op resize @1 width 21 height 29
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op rotate any @1 by 33 around {32 32}
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op rotate ccw @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op rotate cw @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op rotate half @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample decimate x @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample decimate xy @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample decimate y @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample fill x @1 by 4 fill 0.5
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample fill xy @1 by 4 fill 0.5
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample fill y @1 by 4 fill 0.5
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample interpolate x @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample interpolate xy @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample interpolate y @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample replicate x @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample replicate xy @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample replicate y @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample sub x @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample sub xy @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op sample sub y @1 by 4
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op scroll x @1 offset 32
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op scroll y @1 offset 32
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op select x @1 from 20 to 50
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00470.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00471.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>


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








|

|





|







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>&nbsp;</th>
    <th>aktive op select x @1 from 20 to 50
    <br>&nbsp;</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
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>&nbsp;</th>
    <th>aktive op select y @1 from 20 to 50
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00472.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00473.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>


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

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


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


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


---
### <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>&nbsp;</th>
    <th>aktive op swap xy @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00474.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00475.gif' alt='aktive op swap xy @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


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


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


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








|

|





|



















|







|







|







|















|

|





|









|









|







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>&nbsp;</th>
    <th>aktive op select y @1 from 20 to 50
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op swap xy @1
    <br>&nbsp;</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
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.


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








|







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


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








|







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


---
### <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>&nbsp;</th>
    <th>aktive op transpose @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00498.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00499.gif' alt='aktive op transpose @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>


---
### <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>&nbsp;</th>
    <th>aktive op transverse @1
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00500.gif' alt='@1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td>
    <td valign='top'><img src='example-00501.gif' alt='aktive op transverse @1' style='border:4px solid gold'>
    <br>geometry(0 0 128 128 1)</td></tr>
</table>









|















|

|





|













|

|




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>&nbsp;</th>
    <th>aktive op transpose @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive op transverse @1
    <br>&nbsp;</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>


Changes to doc/ref/transform_structure_warp.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

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













|















|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00476.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-00478.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00479.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-00481.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00482.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-00484.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00485.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-00487.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00488.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-00490.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>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00491.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-00493.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>&nbsp;</th>
    <th>aktive op view @3 port {0 0 100 100}
    <br>&nbsp;</th></tr>
<tr><td valign='top'><img src='example-00494.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-00496.gif' alt='@3' style='border:4px solid gold'>
    <br>geometry(-161 -61 1036 3006 3)</td>
    <td valign='top'><img src='example-00497.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>


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


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


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


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









|


|










|


|










|


|










|


|










|


|










|


|












|


|

|





|











|











|











|










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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</th>
    <th>aktive op view @3 port {0 0 100 100}
    <br>&nbsp;</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.


Changes to doc/ref/transform_threshold.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/transform_threshold_generate.md.
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

























<img src='../assets/aktive-logo-128.png' style='float:right;'>

||||||||
|---|---|---|---|---|---|---|
|[Project ↗](../../README.md)|[Documentation ↗](../index.md)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

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

---
### <a name='image_threshold_bernsen'></a> aktive image threshold bernsen

Syntax: __aktive image threshold bernsen__ src (param value)... [[→ definition](../../../../file?ci=trunk&ln=52&name=etc/transformer/thresholds/thresholds.tcl)]

Returns image containing per-pixel thresholds for the input, as per Bernsen's method.



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|


























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



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_niblack'></a> aktive image threshold niblack

Syntax: __aktive image threshold niblack__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=87&name=etc/transformer/thresholds/thresholds.tcl)]

Returns image containing per-pixel thresholds for the input, as per Niblack's method.



|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_otsu'></a> aktive image threshold otsu

Syntax: __aktive image threshold otsu__ 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 Otsu's method.



|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_phansalkar'></a> aktive image threshold phansalkar

Syntax: __aktive image threshold phansalkar__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=166&name=etc/transformer/thresholds/thresholds.tcl)]

Returns image containing per-pixel thresholds for the input, as per Phansalkar's method.



|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_sauvola'></a> aktive image threshold sauvola

Syntax: __aktive image threshold sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=125&name=etc/transformer/thresholds/thresholds.tcl)]

Returns image containing per-pixel thresholds for the input, as per Sauvola's method.



|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_wolfjolion'></a> aktive image threshold wolfjolion

Syntax: __aktive image threshold wolfjolion__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=250&name=etc/transformer/thresholds/thresholds.tcl)]

Returns image containing per-pixel thresholds for the input, as per Wolf+Jolion's method.



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|wolfjolion parameter|
|radius|uint||Size of region to consider, as radius from center|






































|

















|

|



>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|




>
>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>









>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>







>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|


>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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>&nbsp;</th>
    <th>aktive image threshold bernsen @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold bernsen @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold mean @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold mean @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold niblack @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold niblack @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold otsu @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold phansalkar @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold phansalkar @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold sauvola @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold sauvola @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold wolfjolion @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image threshold wolfjolion @1 radius 7
    <br>&nbsp;</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>


Changes to doc/ref/transform_threshold_mask.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform threshold](transform_threshold.md) ↗


## Subsections














|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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


Changes to doc/ref/transform_threshold_mask_generate.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform threshold mask](transform_threshold_mask.md) ↗


### Operators

 - [aktive image mask from threshold](#image_mask_from_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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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
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

























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

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


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



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|


























---
### <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=74&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.





























---
### <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=74&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.





























---
### <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=74&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.



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|-0.2|niblack parameter|


























---
### <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=74&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.



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|bins|int|256|otsu histogram parameter|















---
### <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=74&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.



|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_sauvola'></a> aktive image mask per global sauvola

Syntax: __aktive image mask per global sauvola__ src ?(param value)...? [[→ definition](../../../../file?ci=trunk&ln=74&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.



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|sauvola parameter|
|R|double|128|sauvola parameter|


























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



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|radius|uint||Size of region to consider, as radius from center|


























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



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



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



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



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



|Parameter|Type|Default|Description|
|:---|:---|:---|:---|
|k|double|0.5|wolfjolion parameter|
|radius|uint||Size of region to consider, as radius from center|

































|











|









>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|







>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|







>

>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|







>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|







>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|






>
>








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|

|







>
>





>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|









>
>




>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|









>
>





>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|









>
>





>
>
>
>
>
>
>
>
>
>
>
>
>
>

|








>
>









>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|









>
>






>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

|









>
>





>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
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>&nbsp;</th>
    <th>aktive image mask per bernsen @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per bernsen @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global bernsen @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global bernsen @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global mean @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global mean @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global niblack @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global niblack @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global otsu @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global phansalkar @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global phansalkar @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global sauvola @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per global sauvola @1
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per mean @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per mean @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per niblack @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per niblack @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per otsu @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per phansalkar @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per phansalkar @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per sauvola @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per sauvola @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per wolfjolion @1 radius 7
    <br>&nbsp;</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>&nbsp;</th>
    <th>aktive image mask per wolfjolion @1 radius 7
    <br>&nbsp;</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>


Changes to doc/ref/transform_wiener.md.
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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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

## Table Of Contents

  - [transform](transform.md) ↗


### Operators

 - [aktive op wiener](#op_wiener)

## Operators

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













|











|







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)|&mdash;|[Tutorials ↗](../tutorials.md)|[How To's ↗](../howtos.md)|[Explanations ↗](../explanations.md)|References|

|||||||||
|---|---|---|---|---|---|---|---|
|[Entry ↗](index.md)|&mdash;|[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.

Changes to etc/accessor/thresholds.tcl.
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. \
Changes to etc/generator/virtual/sdf.tcl.
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
Changes to etc/transformer/thresholds/mask.tcl.
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
	}
    }
Changes to etc/transformer/thresholds/thresholds.tcl.
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 {