/// <summary> /// perform inverse wavelet transorm /// </summary> /// <param name="wavelet_data">tuple returned by perform_wavelet_transform</param> /// <param name="original_data_len">size of original data before direct wavelet transform</param> /// <param name="wavelet">db1..db15,haar,sym2..sym10,coif1..coif5,bior1.1,bior1.3,bior1.5,bior2.2,bior2.4,bior2.6,bior2.8,bior3.1,bior3.3,bior3.5 ,bior3.7,bior3.9,bior4.4,bior5.5,bior6.8</param> /// <param name="decomposition_level">level of decomposition</param> /// <returns>restored data</returns> public static double[] perform_inverse_wavelet_transform(Tuple <double[], int[]> wavelet_data, int original_data_len, string wavelet, int decomposition_level) { double[] original_data = new double[original_data_len]; int res = DataHandlerLibrary.perform_inverse_wavelet_transform(wavelet_data.Item1, original_data_len, wavelet, decomposition_level, wavelet_data.Item2, original_data); if (res != (int)CustomExitCodes.STATUS_OK) { throw new BrainFlowException(res); } return(original_data); }