public static ColorLAB xyz2lab(ColorXYZ xyz) {
		ColorLAB lab = new ColorLAB();
		double x = xyz.x / 95.047;
		double y = xyz.y / 100.000;
		double z = xyz.z / 108.883;
		x = (x > 0.008856) ? Math.pow(x, 1.0 / 3.0) : (7.787 * x + 16.0 / 116);
		y = (y > 0.008856) ? Math.pow(y, 1.0 / 3.0) : (7.787 * y + 16.0 / 116);
		z = (z > 0.008856) ? Math.pow(z, 1.0 / 3.0) : (7.787 * z + 16.0 / 116);
		lab.l = 116 * Math.pow(y, 1.0 / 3.0) - 16;
		lab.a = 500 * (Math.pow(x, 1.0 / 3.0) - Math.pow(y, 1.0 / 3.0));
		lab.b = 200 * (Math.pow(y, 1.0 / 3.0) - Math.pow(z, 1.0 / 3.0));
		return lab;
	}