Adaptive multi-dimensional data decomposition