public class SubtractOp extends PixelOp { public Complex operate(Complex pix, ComplexImage im, PixelDesc desc) { MotherImageMapping mim = (MotherImageMapping) im.map; int colour = mim.backMap(param1); // System.out.println(param1+" "+colour+" "+mim.highpoint+" "+mim.lowpoint); float pixmag = pix.getMag(); if (pixmag!=0) { work.r = pix.r-colour*pix.r/(pixmag); work.i = pix.i-colour*pix.i/(pixmag); } else { work.r = colour; work.i = 0; } work.r = pix.r*(1-desc.amount)+work.r*desc.amount; work.i = pix.i*(1-desc.amount)+work.i*desc.amount; //System.out.println(param1+" "+desc.amount+" "+pixmag+" "+work.r); return(work); } }