Parallel pre-processing through orthogonalization (PORTO) and its application to near-infrared spectroscopy