#N canvas 0 0 560 480 10 ; #X obj 138 50 # +; #X text 180 50 plain numeric operators on grids: + - * / etc; #X obj -6 82 #apply_colormap_channelwise; #X text 180 82 apply color correction tables separately on each channel; #X obj 54 114 #background_model; #X text 180 114 make mask from learning to distinguish background from foreground; #X obj 114 146 #border; #X text 180 146 add padding on sides of a grid; #X obj 114 178 #camera; #X text 180 178 control panel for opening cameras; #X obj 114 210 #cast i; #X text 180 210 convert grid from one number type to another; #X obj 102 242 #centroid; #X text 180 242 find centroid (weighted average) of the coordinates of a grid; #X obj 114 274 #change; #X text 180 274 send grid only if different from previous grid; #X obj 102 306 #checkers; #X text 180 306 make image of chequered background in two tones of grey; #X obj 126 338 #clip; #X text 180 338 min and max; #X obj 72 370 #cluster_avg 4; #X text 180 370 computes several averages at once according to a table of indices; #X obj 4 402 #color; #X text 180 402 GUI for selecting a colour; #X obj 102 473 #contrast; #X text 180 473 adjust contrast in two different ways; #X obj 102 505 #convolve; #X text 180 505 compute convolution product of a grid (blur and edge-detection); #X obj 132 537 #dim; #X text 180 537 get the size (dimensions) of a grid; #X obj 78 569 #downscale_by; #X text 180 569 reduce the size of an image by a whole factor; #X obj 96 601 #draw_hpgl; #X text 180 601 plot lines given in HPGL format \, using [#draw_polygon]; #X obj 90 633 #draw_image; #X text 180 633 picture-in-picture; #X obj 84 665 #draw_points; #X text 180 665 (future use); #X obj 78 697 #draw_polygon; #X text 180 697 draw polygon in an image; #X obj 96 729 #draw_rect; #X text 180 729 draw a rectangle in an image; #X obj 84 761 #draw_slider; #X text 180 761 draw a slider in an image; #X obj 78 793 #edit_polygon; #X text 180 793 draw a polygon in an image and react to mouse events; #X obj 54 825 #extract_diagonal; #X text 180 825 extract the main diagonal from a matrix; #X obj 126 857 #fade; #X text 180 857 fade in exponential-decay fashion (linear recurrence); #X obj 102 889 #fade_lin; #X text 180 889 fade in piecewise-linear fashion; #X obj 102 921 #fastblur; #X text 180 921 speedy shortcut for rectangular blur; #X obj 132 953 #fft; #X text 180 953 compute forward or inverse one-or-two-dimensional complex FFT of a grid; #X obj 102 985 #finished; #X text 180 985 bang when grid transmission has ended; #X obj 114 1017 #fold +; #X text 180 1017 compute the sum of each row \, product of each row, and other similar operations; #X obj 96 1049 #for 0 4 1; #X text 180 1049 make a grid from all numbers or coordinates in a certain range; #X obj 102 1081 #from_pix; #X text 180 1081 convert pix (GEM) to grid; #X obj 120 1113 #gamma; #X text 180 1113 apply gamma correction; #X obj 120 1145 #grade; #X text 180 1145 make an index of the sorting of a grid; #X obj 54 1177 #greyscale_to_rgb; #X text 180 1177 convert greyscale to RGB; #X obj 120 1209 #hello; #X text 180 1209 make 7 colour bars; #X obj 102 1241 #hueshift; #X text 180 1241 apply hue shift by rotating the color wheel; #X obj 114 1273 #import; #X text 180 1273 convert float \, list, or symbol ASCII codes, to a grid; #X obj 138 1305 #in; #X text 180 1305 open file or device for reading or download; #X obj 120 1337 #inner; #X text 180 1337 scalar ("dot") product \, matrix product, tensor contraction, image channel remapping, etc.; #X obj 102 1369 #io.aalib; #X text 180 1369 open an aalib window; #X obj 96 1401 #io.dc1394; #X text 180 1401 open a faiawaia "DC" camera (not DV) using a Linux-compatible OS; #X obj 108 1433 #io.grid; #X text 180 1433 read or write a .grid file (GridFlow storage format); #X obj 108 1465 #io.jpeg; #X text 180 1465 read or write a .jpeg file; #X obj 108 1497 #io.mpeg; #X text 180 1497 read a .mpeg video file; #X obj 114 1529 #io.png; #X text 180 1529 read a .png image file; #X obj 114 1561 #io.ppm; #X text 180 1561 read a .pbm or .pgm or .ppm image file or write a .ppm image file; #X obj 96 1593 #io.quartz; #X text 180 1593 open a Quartz window (OSX); #X obj 78 1625 #io.quicktime; #X text 180 1625 read a .mov video file (or perhaps .avi); #X obj 114 1657 #io.sdl; #X text 180 1657 open a SDL window (Windows \, Linux,OSX); #X obj 84 1689 #io.videodev; #X text 180 1689 open a V4L1 device (Linux-only interface for video cameras and video digitisers); #X obj 114 1721 #io.x11; #X text 180 1721 open a X11 window (Linux \, etc); #X obj 126 1753 #join; #X text 180 1753 join two grids together along any dimension; #X obj 96 1785 #labelling; #X text 180 1785 tag connected pixels with region numbers in a two-tone single-channel image; #X obj 120 1817 #layer; #X text 180 1817 layer two same-sized images; #X obj 60 1849 #line_to_polygon; #X text 180 1849 convert line (as point pair) to polygon (rotated rectangle); #X obj 90 1881 #make_arrow; #X text 180 1881 make an arrow "polygon" from 2 points (for use with line mode of [#draw_polygon]); #X obj 90 1913 #make_cross; #X text 180 1913 make cross-shaped polygon; #X obj 107 1945 #many tgl 3 3; #X text 180 1945 [#many]: create and organise many identical GUI objects; #X obj 114 2014 #moment; #X text 180 2014 find 1st or 2nd order moment (weighted average or variance) of the coordinates of a grid; #X obj 78 2046 #moment_polar; #X text 180 2046 convert covariance matrix to the longest and shortest radius of an ellipse and a rotation angle; #X obj 54 2078 #motion_detection; #X text 180 2078 frame difference with some options; #X obj 120 2110 #mouse; #X text 180 2110 converts mouse events to reports of clicks \, drags, unclicks, motions, and separate buttons and wheel; #X obj 60 2142 #noise_gate_yuvs; #X text 180 2142 replaces dark pixels by black pixels in signed YUV images; #X obj 132 2174 #out; #X text 180 2174 open file or device for writing or upload; #X obj 108 2206 #outer +; #X text 180 2206 apply numeric operator on all possible combinations of elements of one grid with elements of another; #X obj 126 2238 #pack; #X text 180 2238 combine floats on separate inlets to make a grid; #X obj 84 2270 #perspective; #X text 180 2270 divide each point by its depth; #X obj 78 2302 #polygon_area; #X text 180 2302 find area of a polygon in square pixels; #X obj 42 2334 #polygon_comparator; #X text 180 2334 find similarity between two polygons independently of rotation \, by radial maps and FFT; #X obj 48 2366 #polygon_each_edge; #X text 180 2366 convert a polygon to a sequence of overlapping 2-sided polygons representing edges; #X obj 66 2398 #polygon_moment; #X text 180 2398 find average of all points inside of a polygon; #X obj 48 2430 #polygon_perimetre; #X text 180 2430 find perimetre of a polygon in pixels (euclidian); #X obj 42 2462 #polygon_radial_map; #X text 180 2462 find radius of a polygon from a given origin \, sampled at equally spaced angles; #X obj 96 2494 #posterize; #X text 180 2494 quantise pixel values; #X obj 120 2526 #print; #X text 180 2526 print to console; #X obj 120 2558 #ravel; #X text 180 2558 do #redim so that a grid keeps same number of elements but just one dimension; #X obj 114 2590 #record; #X text 180 2590 wrapper around [#in quicktime]; #X obj 102 2622 #redim (); #X text 180 2622 change the size of a grid by restreaming contents into a new shape; #X obj 90 2654 #reinterval; #X text 180 2654 change the scale of values from one interval to another; #X obj 84 2686 #remap_image; #X text 180 2686 apply object chain on pixel positions to make new image from chosen pixels of the input image; #X obj 108 2718 #reverse; #X text 180 2718 mirror image of a grid along a dimension; #X obj 54 2750 #rgb_to_greyscale; #X text 180 2750 convert RGB to greyscale; #X obj 84 2782 #rgb_to_rgba; #X text 180 2782 convert RGB to RGBA (but setting alpha to 0); #X obj 90 2814 #rgb_to_yuv; #X text 180 2814 convert RGB to unsigned YUV; #X obj 84 2846 #rgba_to_rgb; #X text 180 2846 convert RGBA to RGB; #X obj 114 2878 #rotate; #X text 180 2878 rotate points through two axes (or rotate pixels as points in a colorspace); #X obj 72 2910 #rotatificator; #X text 180 2910 make rotation matrix for any two dimensions chosen from a space of any number of dimensions; #X obj 90 2942 #saturation; #X text 180 2942 multiply chroma by some value; #X obj 102 2974 #scale_by; #X text 180 2974 reduce the size of an image by a whole factor; #X obj 102 3006 #scale_to; #X text 180 3006 scale an image from one size to any other size by deleting or duplicating rows and columns; #X obj 114 3038 #scan +; #X text 180 3038 compute the cumulative sums of each row \, and other similar operations; #X obj 91 3070 #see; #X text 180 3070 [#see]: view video output within patch and collect mouse/key info; #X obj 102 3142 #seq_fold; #X text 180 3142 cascade the use of an object on all elements of an incoming grid message sequence; #X obj 120 3174 #slice; #X text 180 3174 crop an image using a start point (top left) and end point (bottom right); #X obj 102 3206 #solarize; #X text 180 3206 like pingpong but on all pixel values of a grid; #X obj 126 3238 #sort; #X text 180 3238 sort each row of a grid; #X obj 114 3270 #spread; #X text 180 3270 add noise to each vector (point or pixel); #X obj 120 3302 #store; #X text 180 3302 store image in RAM \, in-place picture-in-picture, and make lookups in various ways; #X obj 126 3334 #swap; #X text 180 3334 like [swap] for grids; #X obj 138 3366 #t; #X text 180 3366 like [t a a] for grids; #X obj 72 3398 #text_to_image; #X text 180 3398 use a fixed-width font grid to make a tiling of characters as specified by a text string; #X obj 102 3430 #to_float; #X text 180 3430 convert grid to sequence of floats; #X obj 114 3462 #to_iem; #X text 180 3462 convert grid(3) to IEMGUI colour code; #X obj 108 3494 #to_list; #X text 180 3494 convert grid to list; #X obj 90 3526 #to_literal; #X text 180 3526 convert grid to grid-literal (list with a # sign); #X obj 114 3558 #to_pix; #X text 180 3558 convert grid to pix (GEM); #X obj 96 3590 #to_symbol; #X text 180 3590 convert grid of ASCII codes to symbol; #X obj 96 3622 #transpose; #X text 180 3622 swap two dimensions out of any \, in a grid; #X obj 126 3654 #type; #X text 180 3654 get a symbol representing the number type of a grid; #X obj 114 3686 #unpack; #X text 180 3686 split a grid into floats on separate outlets; #X obj 114 3718 #window; #X text 180 3718 a [#out window] that can be toggled to appear and disappear; #X obj 90 3750 #yuv_to_rgb; #X text 180 3750 convert unsigned YUV to RGB; #X obj 132 3782 args; #X text 180 3782 pick up the arguments of an abstraction instance \, including nested lists and init-messages; #X obj 126 3814 ascii; #X text 180 3814 write integer as decimal in ascii codes; #X obj 96 3846 ascii_to_f; #X text 180 3846 converts a list of ascii codes to a float; #X obj 84 3878 class_exists; #X text 180 3878 figure out whether a class has been loaded by pd; #X obj 114 3910 cv/#Add; #X text 180 3910 OpenCV addition; #X obj 114 3942 cv/#And; #X text 180 3942 OpenCV bitwise AND; #X obj 72 3974 cv/#ApproxPoly; #X text 180 3974 OpenCV polygon approximator; #X obj 60 4006 cv/#CornerHarris; #X text 180 4006 OpenCV Harris corner-detector; #X obj 114 4038 cv/#Div; #X text 180 4038 OpenCV division; #X obj 90 4070 cv/#Ellipse; #X text 180 4070 OpenCV draw ellipse; #X obj 30 4102 cv/#HaarDetectObjects; #X text 180 4102 OpenCV (future use); #X obj 96 4134 cv/#Invert; #X text 180 4134 OpenCV invert matrix; #X obj 96 4166 cv/#KMeans; #X text 180 4166 OpenCV K-Means clusteriser; #X obj 114 4198 cv/#Mul; #X text 180 4198 OpenCV multiplication; #X obj 120 4230 cv/#Or; #X text 180 4230 OpenCV bitwise OR; #X obj 114 4262 cv/#SVD; #X text 180 4262 OpenCV singular value decomposition (eigendecomposition); #X obj 114 4294 cv/#Sub; #X text 180 4294 OpenCV subtraction; #X obj 114 4326 cv/#Xor; #X text 180 4326 OpenCV bitwise XOR; #X obj 138 4358 display; #X text 180 4358 [display]: print message or grid inside of the patch; #X text 102 4390 [doc_add]; #X text 180 4390 add a [doc_m] in the parent of the parent canvas; #X text 96 4422 [doc_also]; #X text 180 4422 GFDP subheader for listing related classes; #X text 90 4454 [doc_below]; #X text 180 4454 instruct [doc_layout] to put a GFDP element below another one; #X text 84 4486 [doc_bottom]; #X text 180 4486 find the bottom of a GFDP element; #X text 114 4518 [doc_c]; #X text 180 4518 GFDP subheader for creation arguments documentation; #X text 108 4550 [doc_cc]; #X text 180 4550 GFDP subsubheader for creation arguments documentation; #X text 96 4582 [doc_demo]; #X text 180 4582 header of an example patch; #X text 72 4614 [doc_editmode]; #X text 180 4614 automatically move [cnv] and [bng] when switching from/to edit mode; #X text 90 4646 [doc_exist]; #X text 180 4646 check whether a certain GFDP component already exists in the help patch; #X text 114 4678 [doc_f]; #X text 180 4678 footer of a GFDP help patch; #X text 114 4710 [doc_h]; #X text 180 4710 header of a GFDP help patch; #X text 114 4742 [doc_i]; #X text 180 4742 GFDP subheader for inlet documentation; #X text 108 4774 [doc_ii]; #X text 180 4774 GFDP subsubheader for inlet documentation; #X text 84 4806 [doc_layout]; #X text 180 4806 enforce correct layout of the abstraction containing it \, in the parent's abstraction; #X text 114 4838 [doc_m]; #X text 180 4838 GFDP subsubsubheader for one method or one creation argument; #X text 96 4870 [doc_make]; #X text 180 4870 add GFDP subsubheaders in the parent of the parent canvas; #X text 114 4902 [doc_o]; #X text 180 4902 GFDP subheader for outlet documentation; #X text 108 4934 [doc_oo]; #X text 180 4934 GFDP subsubheader for outlet documentation; #X text 96 4966 [doc_same]; #X text 180 4966 GFDP pseudo-comment for saying a method is same as a creation argument; #X obj 55 4998 doremi; #X text 180 4998 [doremi]: gui object for displaying midi notes; #X obj 120 5087 expect; #X text 180 5087 currently does like list.== (will do more than that in the future); #X obj 138 5119 for; #X text 180 5119 make sequence of float messages for each number in a range with specified stepping; #X obj 114 5151 foreach; #X text 180 5151 convert a list to a sequence of atom messages; #X obj 138 5183 fps; #X text 180 5183 measure frames per second and make statistics; #X obj 108 5215 gf.error; #X text 180 5215 emit error message from the perspective of the current abstraction instance in its parent patch; #X obj 72 5247 gf.io_generate; #X text 180 5247 for internal use by #in and #out; #X obj 96 5279 gf.oneshot; #X text 180 5279 spigot that shuts itself down after each message; #X obj 60 5311 gf.suffix_lookup; #X text 180 5311 find the objectclass corresponding ; #X obj 66 5343 gf/canvas_count; #X text 180 5343 tell total number of objects in a canvas; #X obj 36 5375 gf/canvas_dollarzero; #X text 180 5375 tell the \$0 of an uplevel canvas; #X obj 42 5407 gf/canvas_edit_mode; #X text 180 5407 tell the edit mode of a canvas; #X obj 48 5439 gf/canvas_filename; #X text 180 5439 tell the filename of a canvas; #X obj 60 5471 gf/canvas_getpos; #X text 180 5471 tell the position of a canvas in its parent canvas; #X obj 66 5503 gf/canvas_index; #X text 180 5503 tell the index of a canvas in its parent canvas; #X obj 36 5535 gf/canvas_isselected; #X text 180 5535 tell whether a canvas is selected in its parent canvas; #X obj 48 5567 gf/canvas_loadbang; #X text 180 5567 send loadbang to the most recently created objects of a canvas; #X obj 60 5599 gf/canvas_setgop; #X text 180 5599 set GOP options of a canvas; #X obj 60 5631 gf/canvas_setpos; #X text 180 5631 set the position of a canvas in its parent canvas; #X obj 78 5663 gf/canvas_xid; #X text 180 5663 tell the x11 id of a canvas \, its window, and tell the tk id of a canvas; #X obj 84 5695 gf/find_file; #X text 180 5695 find a file the same way that [#in] does; #X obj 102 5727 gf/getcwd; #X text 180 5727 tell the current working directory (as set by the "cd" shell command); #X obj 102 5759 gf/getpid; #X text 180 5759 tell the process id of the pd server; #X obj 84 5791 gf/mouse_spy; #X text 180 5791 tell mouse/key events of a single patch window in [#out window] format; #X obj 90 5823 gf/selector; #X text 180 5823 report the true selector of the incoming message; #X obj 90 5855 gf/string_<; #X text 180 5855 compare two strings; #X obj 54 5887 gf/string_replace; #X text 180 5887 search and replace substrings in a symbol; #X obj 72 5919 hpgl_find_bbox; #X text 180 5919 find the bounding box of a sequence of hpgl commands; #X obj 60 5951 hpgl_font_render; #X text 180 5951 include hpgl files from disk for drawing text; #X obj 114 5983 hpgl_op; #X text 180 5983 use [#] on hpgl commands; #X obj 42 6015 hpgl_track_position; #X text 180 6015 remember last mentioned hpgl coordinate; #X obj 60 6047 interval_overlap; #X text 180 6047 test whether two intervals of floats overlap; #X obj 132 6079 inv*; #X text 180 6079 swapped /; #X obj 132 6111 inv+; #X text 180 6111 swapped -; #X obj 114 6143 list.==; #X text 180 6143 test two lists of floats and/or symbols for equality; #X obj 108 6175 listfind; #X text 180 6175 find index of an element in a list; #X obj 90 6207 listflatten; #X text 180 6207 merge all nested lists together \, depth-first; #X obj 108 6239 listread; #X text 180 6239 find element at an index in a list; #X obj 90 6271 listreverse; #X text 180 6271 mirror image of a list; #X obj 102 6303 norecurse; #X text 180 6303 simple spigot for preventing control-recursion; #X obj 78 6335 parallel_port; #X text 180 6335 send to and receive from a DB25 parallel port; #X obj 108 6367 pingpong; #X text 180 6367 turns value of a counter into a zigzag between 0 and a given value; #X obj 66 6399 plotter_control; #X text 180 6399 make HPGL commands; #X obj 72 6431 plotter_parser; #X text 180 6431 interprets ascii codes as HPGL commands and output them as messages; #X obj 84 6463 qwerty_piano; #X text 180 6463 imitation of [notein] using [key] and [keyup]; #X obj 126 6495 range; #X text 180 6495 multiple moses in cascade; #X obj 84 6527 receives \$0-; #X text 180 6527 multiple receives with common outlet and other outlet telling the name of intended destination; #X obj 120 6559 route2; #X text 180 6559 route messages but keep them intact (does not remove selector); #X obj 108 6591 seq_fold; #X text 180 6591 cascade the use of an object on all elements of an incoming message sequence; #X obj 126 6623 shunt; #X text 180 6623 demultiplexer: send input to separately specified outlet; #X obj 96 6655 systemtime; #X text 180 6655 time spent by process in kernel mode \, as measured by the OS; #X obj 114 6687 tsctime; #X text 180 6687 high-resolution real time \, as measured by the CPU; #X obj 102 6719 unix_time; #X text 180 6719 real time as measured by the OS \, including date; #X obj 108 6751 usertime; #X text 180 6751 time spent by process in non-kernel mode \, as measured by the OS; #X obj 126 6783 var.#; #X text 180 6783 like [f] for grids; #X text 0 6815 206 classes are listed in this index.;