#N canvas 537 61 630 547 10;
#X declare -lib Gem;
#X text 452 8 GEM object;
#X obj 8 216 cnv 15 430 300 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X text 39 218 Inlets:;
#X text 33 484 Outlets:;
#X obj 8 176 cnv 15 430 30 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X text 17 175 Arguments:;
#X obj 8 76 cnv 15 430 90 empty empty empty 20 12 0 14 #e0e0e0 #404040 0;
#X obj 449 77 cnv 15 170 300 empty empty empty 20 12 0 14 #dce4fc #404040 0;
#X text 453 60 Example:;
#X obj 514 314 cnv 15 100 60 empty empty empty 20 12 0 14 #bcbcbc #404040 0;
#X obj 450 138 cnv 15 160 150 empty empty empty 20 12 0 14 #14e814 #404040 0;
#X obj 451 84 gemhead;
#X text 71 31 Class: pix object;
#X obj 510 85 bng 15 250 50 0 empty empty pix_load 20 8 0 8 #fcfcfc #000000 #000000;
#N canvas 0 22 587 366 image 0;
#X obj 77 48 inlet;
#X obj 77 344 outlet;
#X obj 77 205 pix_image examples/data/fractal.JPG;
#X obj 223 55 inlet;
#X msg 223 123 open \$1;
#X obj 223 100 openpanel;
#X obj 78 308 pix_buf;
#X msg 112 281 auto 1;
#X obj 112 261 loadbang;
#X connect 0 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 5 0;
#X connect 4 0 2 0;
#X connect 5 0 4 0;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X connect 8 0 7 0;
#X restore 451 113 pd image;
#X text 63 186 <none>;
#X text 51 497 Outlet 1: gemlist;
#X text 33 232 Inlet 1: gemlist;
#X text 50 12 Synopsis: [pix_levels];
#X floatatom 543 250 5 0 100 1 low - - 0;
#X floatatom 543 268 5 0 100 1 high - - 0;
#X msg 460 158 auto \$1;
#X obj 460 140 tgl 15 0 empty empty empty 0 -6 0 8 #fcfcfc #000000 #000000 0 1;
#X obj 460 177 tgl 15 0 empty empty empty 0 -6 0 8 #fcfcfc #000000 #000000 0 1;
#X obj 520 140 tgl 15 0 empty empty empty 0 -6 0 8 #fcfcfc #000000 #000000 0 1;
#X msg 520 158 inv \$1;
#X msg 461 225 0 1 0.5 0.6;
#X obj 451 265 pix_levels;
#X msg 536 216 0.5 0.6 0 1;
#X msg 460 195 uni \$1;
#X text 29 77 Description: level adjustment;
#X text 33 274 Inlet 1: message: uni [1|0] (choose between uniform adjustment(1=default) or per-channel-adjustment (0));
#X text 33 302 Inlet 1: message: inv [1|0] (allow inversion of level-correction to avoid instabilities. default:1);
#X text 33 334 Inlet 2: list: inFloor inCeiling outFloor outCeiling (for uniform adjustment);
#X text 33 388 Inlet 4: list: inFloor inCeiling outFloor outCeiling (for by-channel adjustment green);
#X text 33 414 Inlet 5: list: inFloor inCeiling outFloor outCeiling (for by-channel adjustment blue);
#X text 33 360 Inlet 3: list: inFloor inCeiling outFloor outCeiling (for by-channel adjustment red);
#X text 32 446 Inlet 6: float: low percentile (in auto mode);
#X text 32 460 Inlet 7: float: high percentile (in auto mode);
#X text 12 91 [pix_levels] allows basic level adjustment in several different modes. You can choose to either make level-adjustment on a per-channel (RGB) basis or uniformly for all channels. You need to specify the lowest/highest values of both input and output. There is also an auto-mode available;
#X text 33 247 Inlet 1: message: auto [1|0] (turns automatic level-correction on/off)(default:0);
#X msg 536 193 0 0.1 1 0.5;
#X text 516 105 open an image;
#X text 509 118 (JPEG \, TIFF \, ..);
#N canvas 484 243 450 300 META 0;
#X obj 10 25 declare -lib Gem;
#X text 10 45 DESCRIPTION level adjustment;
#X text 10 65 KEYWORDS Gem pix image;
#X text 20 85 INLET_0 gemlist auto uni inv;
#X text 20 105 INLET_1 list;
#X text 20 125 INLET_2 list;
#X text 20 145 INLET_3 list;
#X text 20 165 INLET_4 list;
#X text 20 185 INLET_5 float;
#X text 20 205 INLET_6 float;
#X text 20 225 OUTLET_0 gemlist;
#X text 10 245 AUTHOR IOhannes m zmölnig;
#X text 10 265 LICENSE GPL v2;
#X restore 523 8 pd META;
#X obj 522 318 _gemwin;
#X obj 451 293 _pix2rectangle 3;
#X connect 11 0 14 0;
#X connect 13 0 14 1;
#X connect 14 0 27 0;
#X connect 19 0 27 5;
#X connect 20 0 27 6;
#X connect 21 0 27 0;
#X connect 22 0 21 0;
#X connect 23 0 29 0;
#X connect 24 0 25 0;
#X connect 25 0 27 0;
#X connect 26 0 27 1;
#X connect 27 0 46 0;
#X connect 28 0 27 3;
#X connect 29 0 27 0;
#X connect 41 0 27 2;
