aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/doc/index.pd
blob: acd0b9fae5ea585938f591f218ff7bbf9011a7f7 (plain)
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
#N canvas 0 0 640 480 10 ;
#X obj 157 50 # +;
#X text 200 50 plain numeric operators on grids: + - * / etc;
#X obj -11 82 #apply_colormap_channelwise;
#X text 200 82 apply color correction tables separately on each channel;
#X obj 59 114 #background_model;
#X text 200 114 make mask from learning to distinguish background from foreground;
#X obj 129 146 #border;
#X text 200 146 add padding on sides of a grid;
#X obj 129 178 #camera;
#X text 200 178 control panel for opening cameras;
#X obj 129 210 #cast i;
#X text 200 210 convert grid from one number type to another;
#X obj 115 242 #centroid;
#X text 200 242 find centroid (weighted average) of the coordinates of a grid;
#X obj 129 274 #change;
#X text 200 274 send grid only if different from previous grid;
#X obj 115 306 #checkers;
#X text 200 306 make image of chequered background in two tones of grey;
#X obj 143 338 #clip;
#X text 200 338 min and max;
#X obj 24 370 #color;
#X text 200 370 GUI for selecting a colour;
#X obj 115 442 #contrast;
#X text 200 442 adjust contrast in two different ways;
#X obj 115 474 #convolve;
#X text 200 474 compute convolution product of a grid (blur and edge-detection);
#X obj 150 506 #dim;
#X text 200 506 get the size (dimensions) of a grid;
#X obj 87 538 #downscale_by;
#X text 200 538 reduce the size of an image by a whole factor;
#X obj 101 570 #draw_image;
#X text 200 570 picture-in-picture;
#X obj 94 602 #draw_points;
#X text 200 602 (future use);
#X obj 87 634 #draw_polygon;
#X text 200 634 draw polygon in an image;
#X obj 108 666 #draw_rect;
#X text 200 666 draw a rectangle in an image;
#X obj 94 698 #draw_slider;
#X text 200 698 draw a slider in an image;
#X obj 87 730 #edit_polygon;
#X text 200 730 draw a polygon in an image and react to mouse events;
#X obj 143 762 #fade;
#X text 200 762 fade in exponential-decay fashion (linear recurrence);
#X obj 115 794 #fade_lin;
#X text 200 794 fade in piecewise-linear fashion;
#X obj 115 826 #fastblur;
#X text 200 826 speedy shortcut for rectangular blur;
#X obj 150 858 #fft;
#X text 200 858 compute forward or inverse one-or-two-dimensional complex FFT of a grid;
#X obj 115 890 #finished;
#X text 200 890 bang when grid transmission has ended;
#X obj 129 922 #fold +;
#X text 200 922 compute the sum of each row \,  product of each row, and other similar operations;
#X obj 108 954 #for 0 4 1;
#X text 200 954 make a grid from all numbers or coordinates in a certain range;
#X obj 115 986 #from_pix;
#X text 200 986 convert pix (GEM) to grid;
#X obj 136 1018 #gamma;
#X text 200 1018 apply gamma correction;
#X obj 136 1050 #grade;
#X text 200 1050 make an index of the sorting of a grid;
#X obj 59 1082 #greyscale_to_rgb;
#X text 200 1082 convert greyscale to RGB;
#X obj 136 1114 #hello;
#X text 200 1114 make 7 colour bars;
#X obj 115 1146 #hueshift;
#X text 200 1146 apply hue shift by rotating the color wheel;
#X obj 129 1178 #import;
#X text 200 1178 convert float \,  list, or symbol ASCII codes, to a grid;
#X obj 101 1210 #import_pix;
#X text 200 1210 old name of #from_pix;
#X obj 157 1242 #in;
#X text 200 1242 open file or device for reading or download;
#X obj 136 1274 #inner;
#X text 200 1274 scalar ("dot") product \,  matrix product, tensor contraction, image channel remapping, etc.;
#X obj 115 1306 #io.aalib;
#X text 200 1306 open an aalib window;
#X obj 108 1338 #io.dc1394;
#X text 200 1338 open a faiawaia "DC" camera (not DV) using a Linux-compatible OS;
#X obj 122 1370 #io.grid;
#X text 200 1370 read or write a .grid file (GridFlow storage format);
#X obj 122 1402 #io.jpeg;
#X text 200 1402 read or write a .jpeg file;
#X obj 122 1434 #io.mpeg;
#X text 200 1434 read a .mpeg video file;
#X obj 129 1466 #io.png;
#X text 200 1466 read a .png image file;
#X obj 129 1498 #io.ppm;
#X text 200 1498 read or write a .pbm or .pgm or .ppm image file;
#X obj 87 1530 #io.quicktime;
#X text 200 1530 read a .mov video file (or perhaps .avi);
#X obj 129 1562 #io.sdl;
#X text 200 1562 open a SDL window;
#X obj 94 1594 #io.videodev;
#X text 200 1594 open a V4L1 device (Linux interface for video cameras and video digitisers);
#X obj 129 1626 #io.x11;
#X text 200 1626 open a X11 window;
#X obj 115 1658 #labeling;
#X text 200 1658 tag connected pixels with region numbers in a two-tone single-channel image;
#X obj 136 1690 #layer;
#X text 200 1690 layer two same-sized images;
#X obj 66 1722 #line_to_polygon;
#X text 200 1722 convert line (as point pair) to polygon (rotated rectangle);
#X obj 101 1754 #make_cross;
#X text 200 1754 make cross-shaped polygon;
#X obj 129 1786 #moment;
#X text 200 1786 find 1st or 2nd order moment (weighted average or variance) of the coordinates of a grid;
#X obj 87 1818 #moment_polar;
#X text 200 1818 convert covariance matrix to the longest and shortest radius of an ellipse and a rotation angle;
#X obj 59 1850 #motion_detection;
#X text 200 1850 frame difference with some options;
#X obj 136 1882 #mouse;
#X text 200 1882 converts mouse events to reports of clicks \,  drags, unclicks, motions, and separate buttons and wheel;
#X obj 66 1914 #noise_gate_yuvs;
#X text 200 1914 replaces dark pixels by black pixels in signed YUV images;
#X obj 150 1946 #out;
#X text 200 1946 open file or device for writing or upload;
#X obj 122 1978 #outer +;
#X text 200 1978 apply numeric operator on all possible combinations of elements of one grid with elements of another;
#X obj 143 2010 #pack;
#X text 200 2010 combine floats on separate inlets to make a grid;
#X obj 94 2042 #perspective;
#X text 200 2042 divide each point by its depth;
#X obj 87 2074 #polygon_area;
#X text 200 2074 find area of a polygon in square pixels;
#X obj 45 2106 #polygon_comparator;
#X text 200 2106 find similarity between two polygons independently of rotation \,  by radial maps and FFT;
#X obj 52 2138 #polygon_each_edge;
#X text 200 2138 convert a polygon to a sequence of overlapping 2-sided polygons representing edges;
#X obj 73 2170 #polygon_moment;
#X text 200 2170 find average of all points inside of a polygon;
#X obj 52 2202 #polygon_perimetre;
#X text 200 2202 find perimetre of a polygon in pixels (euclidian);
#X obj 45 2234 #polygon_radial_map;
#X text 200 2234 find radius of a polygon from a given origin \,  sampled at equally spaced angles;
#X obj 101 2266 #polygonize;
#X text 200 2266 (future use);
#X obj 108 2298 #posterize;
#X text 200 2298 quantise pixel values;
#X obj 136 2330 #print;
#X text 200 2330 print to console;
#X obj 136 2362 #ravel;
#X text 200 2362 do #redim so that a grid keeps same number of elements but just one dimension;
#X obj 129 2394 #record;
#X text 200 2394 wrapper around [#in quicktime];
#X obj 115 2426 #redim ();
#X text 200 2426 change the size of a grid by restreaming contents into a new shape;
#X obj 94 2458 #remap_image;
#X text 200 2458 apply object chain on pixel positions to make new image from chosen pixels of the input image;
#X obj 122 2490 #reverse;
#X text 200 2490 mirror image of a grid along a dimension;
#X obj 59 2522 #rgb_to_greyscale;
#X text 200 2522 convert RGB to greyscale;
#X obj 94 2554 #rgb_to_rgba;
#X text 200 2554 convert RGB to RGBA (but setting alpha to 0);
#X obj 101 2586 #rgb_to_yuv;
#X text 200 2586 convert RGB to unsigned YUV;
#X obj 94 2618 #rgba_to_rgb;
#X text 200 2618 convert RGBA to RGB;
#X obj 129 2650 #rotate;
#X text 200 2650 rotate points through two axes (or rotate pixels as points in a colorspace);
#X obj 80 2682 #rotatificator;
#X text 200 2682 make rotation matrix for any two dimensions chosen from manyou;
#X obj 101 2714 #saturation;
#X text 200 2714 multiply chroma by some value;
#X obj 115 2746 #scale_by;
#X text 200 2746 reduce the size of an image by a whole factor;
#X obj 115 2778 #scale_to;
#X text 200 2778 scale an image from one size to any other size by deleting or duplicating rows and columns;
#X obj 129 2810 #scan +;
#X text 200 2810 compute the cumulative sums of each row \,  and other similar operations;
#X obj 115 2842 #seq_fold;
#X text 200 2842 cascade the use of an object on all elements of an incoming grid message sequence;
#X obj 136 2874 #slice;
#X text 200 2874 crop an image using a start point (top left) and end point (bottom right);
#X obj 115 2906 #solarize;
#X text 200 2906 like pingpong but on all pixel values of a grid;
#X obj 143 2938 #sort;
#X text 200 2938 sort each row of a grid;
#X obj 129 2970 #spread;
#X text 200 2970 add noise to each vector (point or pixel);
#X obj 136 3002 #store;
#X text 200 3002 store image in RAM \,  in-place picture-in-picture, and make lookups in various ways;
#X obj 143 3034 #swap;
#X text 200 3034 like [swap] for grids;
#X obj 157 3066 #t;
#X text 200 3066 like [t a a] for grids;
#X obj 80 3098 #text_to_image;
#X text 200 3098 use a fixed-width font grid to make a tiling of characters as specified by a text string;
#X obj 115 3130 #to_float;
#X text 200 3130 convert grid to sequence of floats;
#X obj 122 3162 #to_list;
#X text 200 3162 convert grid to list;
#X obj 101 3194 #to_literal;
#X text 200 3194 convert grid to grid-literal (list with a # sign);
#X obj 129 3226 #to_pix;
#X text 200 3226 convert grid to pix (GEM);
#X obj 108 3258 #to_symbol;
#X text 200 3258 convert grid of ASCII codes to symbol;
#X obj 108 3290 #transpose;
#X text 200 3290 swap two dimensions out of any \,  in a grid;
#X obj 143 3322 #type;
#X text 200 3322 get a symbol representing the number type of a grid;
#X obj 129 3354 #unpack;
#X text 200 3354 split a grid into floats on separate outlets;
#X obj 129 3386 #window;
#X text 200 3386 a [#out window] that can be toggled to appear and disappear;
#X obj 101 3418 #yuv_to_rgb;
#X text 200 3418 convert unsigned YUV to RGB;
#X obj 143 3450 @join;
#X text 200 3450 join two grids together along any dimension;
#X obj 150 3482 args;
#X text 200 3482 pick up the arguments of an abstraction instance \,  including nested lists and init-messages;
#X obj 143 3514 ascii;
#X text 200 3514 write integer as decimal in ascii codes;
#X obj 108 3546 ascii_to_f;
#X text 200 3546 converts a list of ascii codes to a float;
#X obj 94 3578 class_exists;
#X text 200 3578 figure out whether a class has been loaded by pd;
#X obj 115 3610 condition;
#X text 200 3610 Castonguay rectangle bounds-checking;
#X obj 143 3642 count;
#X text 200 3642 Castonguay counter;
#X obj 136 3674 cv.Add;
#X text 200 3674 OpenCV addition;
#X obj 136 3706 cv.Div;
#X text 200 3706 OpenCV division;
#X obj 38 3738 cv.HaarDetectObjects;
#X text 200 3738 OpenCV (future use);
#X obj 115 3770 cv.Invert;
#X text 200 3770 OpenCV invert matrix;
#X obj 115 3802 cv.Kalman;
#X text 200 3802 OpenCV (future use);
#X obj 136 3834 cv.Mul;
#X text 200 3834 OpenCV multiplication;
#X obj 136 3866 cv.SVD;
#X text 200 3866 OpenCV singular value decomposition (eigendecomposition);
#X obj 136 3898 cv.Sub;
#X text 200 3898 OpenCV subtraction;
#X obj 129 3930 display;
#X text 200 3930 print message or grid inside of the patch;
#X obj 136 3962 expect;
#X text 200 3962 currently does like list.== (will do more than that in the future);
#X obj 157 3994 for;
#X text 200 3994 make sequence of float messages for each number in a range with specified stepping;
#X obj 129 4026 foreach;
#X text 200 4026 convert a list to a sequence of atom messages;
#X obj 157 4058 fps;
#X text 200 4058 measure frames per second and make statistics;
#X obj 122 4090 gf.error;
#X text 200 4090 emit error message from the perspective of the current abstraction instance in its parent patch;
#X obj 80 4122 gf.io_generate;
#X text 200 4122 for internal use by #in and #out;
#X obj 108 4154 gf.oneshot;
#X text 200 4154 spigot that shuts itself down after each message;
#X obj 66 4186 gf.suffix_lookup;
#X text 200 4186 find the objectclass corresponding ;
#X obj 150 4218 inv*;
#X text 200 4218 swapped /;
#X obj 150 4250 inv+;
#X text 200 4250 swapped -;
#X obj 129 4282 list.==;
#X text 200 4282 test two lists of floats and/or symbols for equality;
#X obj 122 4314 listfind;
#X text 200 4314 find index of an element in a list;
#X obj 101 4346 listflatten;
#X text 200 4346 merge all nested lists together \,  depth-first;
#X obj 122 4378 listread;
#X text 200 4378 find element at an index in a list;
#X obj 101 4410 listreverse;
#X text 200 4410 mirror image of a list;
#X obj 87 4442 parallel_port;
#X text 200 4442 send to and receive from a DB25 parallel port;
#X obj 122 4474 pingpong;
#X text 200 4474 turns value of a counter into a zigzag between 0 and a given value;
#X obj 73 4506 plotter_control;
#X text 200 4506 make HPGL commands;
#X obj 80 4538 plotter_parser;
#X text 200 4538 interprets ascii codes as HPGL commands and output them as messages;
#X obj 143 4570 range;
#X text 200 4570 multiple moses in cascade;
#X obj 94 4602 receives \$0-;
#X text 200 4602 multiple receives with common outlet and other outlet telling the name of intended destination;
#X obj 136 4634 route2;
#X text 200 4634 route messages but keep them intact (does not remove selector);
#X obj 45 4666 send39 \$0-patchname;
#X text 200 4666 backward-compatibility crutch for dynamic patching in pd 0.39;
#X obj 122 4698 seq_fold;
#X text 200 4698 cascade the use of an object on all elements of an incoming message sequence;
#X obj 143 4730 shunt;
#X text 200 4730 demultiplexer: send input to separately specified outlet;
#X obj 108 4762 systemtime;
#X text 200 4762 time spent by process in kernel mode \,  as measured by the OS;
#X obj 129 4794 tsctime;
#X text 200 4794 high-resolution real time \,  as measured by the CPU;
#X obj 115 4826 unix_time;
#X text 200 4826 real time as measured by the OS \,  including date;
#X obj 122 4858 usertime;
#X text 200 4858 time spent by process in non-kernel mode \,  as measured by the OS;
#X obj 143 4890 var.#;
#X text 200 4890 like [f] for grids;