/// <summary>
 /// This will convert the raw spectra (horizontally in matrixX) to preprocessed spectra according to the calibration model.
 /// </summary>
 /// <param name="preprocessOptions">Information how to preprocess the spectra.</param>
 /// <param name="matrixX">Matrix of raw spectra. On return, this matrix contains the preprocessed spectra.</param>
 /// <param name="meanX">Mean spectrum.</param>
 /// <param name="scaleX">Scale spectrum.</param>
 public static void PreprocessSpectraForPrediction(
   SpectralPreprocessingOptions preprocessOptions,
   IMatrix matrixX,
   IROVector meanX,
   IROVector scaleX)
 {
   preprocessOptions.ProcessForPrediction(matrixX,meanX,scaleX);
 }
 /// <summary>
 /// This will convert the raw spectra (horizontally in matrixX) to preprocessed spectra according to the calibration model.
 /// </summary>
 /// <param name="calib">The calibration model containing the instructions to process the spectra.</param>
 /// <param name="preprocessOptions">Contains the information how to preprocess the spectra.</param>
 /// <param name="matrixX">The matrix of spectra. Each spectrum is a row of the matrix.</param>
 public static void PreprocessSpectraForPrediction(
   IMultivariateCalibrationModel calib, 
   SpectralPreprocessingOptions preprocessOptions,
   IMatrix matrixX)
 {
   preprocessOptions.ProcessForPrediction(matrixX,calib.PreprocessingModel.XMean,calib.PreprocessingModel.XScale);
 }