OPTI 600D: Diffractive Optical Elements: Theory and Design