I modified your sharpen slightly to work with percentages.
function init() setName("Sharpen") setDesc("Sharpen texture") setSize(95,24+64+8+8+7+4+18) addOutput(24+32) addInput("Texture",24+64+8+8) addParameter("Intensity","Intensity",24+64+8+8+18,50,0,100,true) end -- Ugly way to use channels function apply() tileSize = getTileSize() inte = (getValue(1,0,0,1) / 25) + 1 for i=0, tileSize*tileSize-1 do x = i%tileSize y = math.floor(i/tileSize) cr, cg, cb = getValue(0, x, y, 1.0) cr=cr*5*inte cg=cg*5*inte cb=cb*5*inte crL, cgL, cbL = getValue(0,x-1,y,1.0) crR, cgR, cbR = getValue(0,x+1,y,1.0) crU, cgU, cbU = getValue(0,x,y-1,1.0) crD, cgD, cbD = getValue(0,x,y+1,1.0) cr = cr-((crL+crR+crU+crD)*inte) cg = cg-((cgL+cgR+cgU+cgD)*inte) cb = cb-((cbL+cbR+cbU+cbD)*inte) setPixel(0,x,y,cr,cg,cb) end end