Computational camera: convergence of optics and software