#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 90 1305 #import_pix; #X text 180 1305 old name of #from_pix; #X obj 138 1337 #in; #X text 180 1337 open file or device for reading or download; #X obj 120 1369 #inner; #X text 180 1369 scalar ("dot") product \, matrix product, tensor contraction, image channel remapping, etc.; #X obj 102 1401 #io.aalib; #X text 180 1401 open an aalib window; #X obj 96 1433 #io.dc1394; #X text 180 1433 open a faiawaia "DC" camera (not DV) using a Linux-compatible OS; #X obj 108 1465 #io.grid; #X text 180 1465 read or write a .grid file (GridFlow storage format); #X obj 108 1497 #io.jpeg; #X text 180 1497 read or write a .jpeg file; #X obj 108 1529 #io.mpeg; #X text 180 1529 read a .mpeg video file; #X obj 114 1561 #io.png; #X text 180 1561 read a .png image file; #X obj 114 1593 #io.ppm; #X text 180 1593 read or write a .pbm or .pgm or .ppm image file; #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; #X obj 84 1689 #io.videodev; #X text 180 1689 open a V4L1 device (Linux interface for video cameras and video digitisers); #X obj 114 1721 #io.x11; #X text 180 1721 open a X11 window; #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 96 4198 cv/#Kalman; #X text 180 4198 OpenCV (future use); #X obj 114 4230 cv/#Mul; #X text 180 4230 OpenCV multiplication; #X obj 120 4262 cv/#Or; #X text 180 4262 OpenCV bitwise OR; #X obj 114 4294 cv/#SVD; #X text 180 4294 OpenCV singular value decomposition (eigendecomposition); #X obj 114 4326 cv/#Sub; #X text 180 4326 OpenCV subtraction; #X obj 114 4358 cv/#Xor; #X text 180 4358 OpenCV bitwise XOR; #X obj 138 4390 display; #X text 180 4390 [display]: print message or grid inside of the patch; #X obj 55 4422 doremi; #X text 180 4422 [doremi]: gui object for displaying midi notes; #X obj 120 4511 expect; #X text 180 4511 currently does like list.== (will do more than that in the future); #X obj 138 4543 for; #X text 180 4543 make sequence of float messages for each number in a range with specified stepping; #X obj 114 4575 foreach; #X text 180 4575 convert a list to a sequence of atom messages; #X obj 138 4607 fps; #X text 180 4607 measure frames per second and make statistics; #X obj 108 4639 gf.error; #X text 180 4639 emit error message from the perspective of the current abstraction instance in its parent patch; #X obj 72 4671 gf.io_generate; #X text 180 4671 for internal use by #in and #out; #X obj 96 4703 gf.oneshot; #X text 180 4703 spigot that shuts itself down after each message; #X obj 60 4735 gf.suffix_lookup; #X text 180 4735 find the objectclass corresponding ; #X obj 84 4767 gf/mouse_spy; #X text 180 4767 tell mouse/key events of a single patch window in [#out window] format; #X obj 72 4799 hpgl_find_bbox; #X text 180 4799 find the bounding box of a sequence of hpgl commands; #X obj 60 4831 hpgl_font_render; #X text 180 4831 include hpgl files from disk for drawing text; #X obj 114 4863 hpgl_op; #X text 180 4863 use [#] on hpgl commands; #X obj 42 4895 hpgl_track_position; #X text 180 4895 remember last mentioned hpgl coordinate; #X obj 60 4927 interval_overlap; #X text 180 4927 test whether two intervals of floats overlap; #X obj 132 4959 inv*; #X text 180 4959 swapped /; #X obj 132 4991 inv+; #X text 180 4991 swapped -; #X obj 114 5023 list.==; #X text 180 5023 test two lists of floats and/or symbols for equality; #X obj 108 5055 listfind; #X text 180 5055 find index of an element in a list; #X obj 90 5087 listflatten; #X text 180 5087 merge all nested lists together \, depth-first; #X obj 108 5119 listread; #X text 180 5119 find element at an index in a list; #X obj 90 5151 listreverse; #X text 180 5151 mirror image of a list; #X obj 102 5183 norecurse; #X text 180 5183 simple spigot for preventing control-recursion; #X obj 78 5215 parallel_port; #X text 180 5215 send to and receive from a DB25 parallel port; #X obj 108 5247 pingpong; #X text 180 5247 turns value of a counter into a zigzag between 0 and a given value; #X obj 66 5279 plotter_control; #X text 180 5279 make HPGL commands; #X obj 72 5311 plotter_parser; #X text 180 5311 interprets ascii codes as HPGL commands and output them as messages; #X obj 84 5343 qwerty_piano; #X text 180 5343 imitation of [notein] using [key] and [keyup]; #X obj 126 5375 range; #X text 180 5375 multiple moses in cascade; #X obj 84 5407 receives \$0-; #X text 180 5407 multiple receives with common outlet and other outlet telling the name of intended destination; #X obj 120 5439 route2; #X text 180 5439 route messages but keep them intact (does not remove selector); #X obj 108 5471 seq_fold; #X text 180 5471 cascade the use of an object on all elements of an incoming message sequence; #X obj 126 5503 shunt; #X text 180 5503 demultiplexer: send input to separately specified outlet; #X obj 96 5535 systemtime; #X text 180 5535 time spent by process in kernel mode \, as measured by the OS; #X obj 114 5567 tsctime; #X text 180 5567 high-resolution real time \, as measured by the CPU; #X obj 102 5599 unix_time; #X text 180 5599 real time as measured by the OS \, including date; #X obj 108 5631 usertime; #X text 180 5631 time spent by process in non-kernel mode \, as measured by the OS; #X obj 126 5663 var.#; #X text 180 5663 like [f] for grids; #X text 0 5695 171 classes are listed in this index.;