public class PhaseMapping extends ComplexImageMapping { public float hi,lo; public boolean reset; public void sample(Complex a) { float m = a.getMag(); if (reset) { hi = m; lo = m; reset = false; } else { if (m>hi) hi = m; else if (m lo onto 255 -> 0 float m = (((a.getMag())-lo)/(hi-lo)); if (m<0) m=0; if (m>1) m=1; float p = (float)(a.getPhase()/(2*Math.PI)); return( (255 << 24) | java.awt.Color.HSBtoRGB(p,(float)0.2,m) ); } public boolean needsPreRun() { return true; } public void initialise() { reset = true; } public void complete() { System.out.println("ScaledMapping : hi,lo = "+hi+" "+lo); } }