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