public override void AutoAdjust(LightFilter filter, ColorMap <Vector3> map) { const int maxValue = 1023; var h = map.GetHistogram(maxValue); var wcenter = h.FindWeightCenter(Vector3.Zero, Vector3.One); var wcenterf = (wcenter - filter.MinIn) / (filter.MaxIn - filter.MinIn); var contrast = Log(new Vector3(0.5f), wcenterf) + new Vector3(0.5f); //f.Contrast = f.Contrast.Average(); // h.Transform((index, value, comp) => (int)(1023 * Math.Pow(index / 1023f, _contrast[comp]))); Vector3 max; Vector3 min; h.FindMinMax(out min, out max, 0.005f, 0.001f); //min = new Vector3(min.MinComponent()); //max = new Vector3(max.MaxComponent()); filter.Set(min, max, Vector3.Zero, Vector3.One, contrast); }