An efficient eigenfunction approach to calculate spin-echo signals in heterogeneous porous media