In this talk I will focus on practical applications with three main parts. The first part will give an introduction to light-fields. The second part will show structure-from motion with light-field cameras. We descrbied features as 2D subspaces of the 4D light-field and we found a set of linear contraints on these features to find extrinsic camera parameters. Third part will be about layer separation and robust depth estimation of light-fields in presence of non-Lambertian surfaces where we show that we can robustly estimate depth with sparse codes and separate input light-fields into reflection and reflective surface.