Independent Component Analysis: Theory and Applications