@@ -176,6 +176,10 @@ public static extern int perform_wavelet_denoising (double[] data, int data_len,
176
176
public static extern int get_version_data_handler ( byte [ ] version , int [ ] len , int max_len ) ;
177
177
[ DllImport ( "DataHandler.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
178
178
public static extern int get_oxygen_level ( double [ ] ppg_ir , double [ ] ppg_red , int data_size , int sampling_rate , double coef1 , double coef2 , double coef3 , double [ ] output ) ;
179
+ [ DllImport ( "DataHandler.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
180
+ public static extern int restore_data_from_wavelet_detailed_coeffs ( double [ ] data , int data_len , int wavelet , int decomposition_level , int level_to_restore , double [ ] output ) ;
181
+ [ DllImport ( "DataHandler.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
182
+ public static extern int detect_peaks_z_score ( double [ ] data , int data_len , int lag , double threshold , double influence , double [ ] output ) ;
179
183
}
180
184
181
185
class DataHandlerLibrary32
@@ -242,6 +246,10 @@ public static extern int perform_wavelet_denoising (double[] data, int data_len,
242
246
public static extern int get_railed_percentage ( double [ ] data , int len , int gain , double [ ] output ) ;
243
247
[ DllImport ( "DataHandler32.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
244
248
public static extern int get_oxygen_level ( double [ ] ppg_ir , double [ ] ppg_red , int data_size , int sampling_rate , double coef1 , double coef2 , double coef3 , double [ ] output ) ;
249
+ [ DllImport ( "DataHandler32.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
250
+ public static extern int restore_data_from_wavelet_detailed_coeffs ( double [ ] data , int data_len , int wavelet , int decomposition_level , int level_to_restore , double [ ] output ) ;
251
+ [ DllImport ( "DataHandler32.dll" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
252
+ public static extern int detect_peaks_z_score ( double [ ] data , int data_len , int lag , double threshold , double influence , double [ ] output ) ;
245
253
}
246
254
247
255
class DataHandlerLibraryLinux
@@ -308,6 +316,10 @@ public static extern int perform_wavelet_denoising (double[] data, int data_len,
308
316
public static extern int get_railed_percentage ( double [ ] data , int len , int gain , double [ ] output ) ;
309
317
[ DllImport ( "libDataHandler.so" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
310
318
public static extern int get_oxygen_level ( double [ ] ppg_ir , double [ ] ppg_red , int data_size , int sampling_rate , double coef1 , double coef2 , double coef3 , double [ ] output ) ;
319
+ [ DllImport ( "libDataHandler.so" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
320
+ public static extern int restore_data_from_wavelet_detailed_coeffs ( double [ ] data , int data_len , int wavelet , int decomposition_level , int level_to_restore , double [ ] output ) ;
321
+ [ DllImport ( "libDataHandler.so" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
322
+ public static extern int detect_peaks_z_score ( double [ ] data , int data_len , int lag , double threshold , double influence , double [ ] output ) ;
311
323
}
312
324
313
325
class DataHandlerLibraryMac
@@ -374,6 +386,10 @@ public static extern int perform_wavelet_denoising (double[] data, int data_len,
374
386
public static extern int get_railed_percentage ( double [ ] data , int len , int gain , double [ ] output ) ;
375
387
[ DllImport ( "libDataHandler.dylib" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
376
388
public static extern int get_oxygen_level ( double [ ] ppg_ir , double [ ] ppg_red , int data_size , int sampling_rate , double coef1 , double coef2 , double coef3 , double [ ] output ) ;
389
+ [ DllImport ( "libDataHandler.dylib" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
390
+ public static extern int restore_data_from_wavelet_detailed_coeffs ( double [ ] data , int data_len , int wavelet , int decomposition_level , int level_to_restore , double [ ] output ) ;
391
+ [ DllImport ( "libDataHandler.dylib" , SetLastError = true , CallingConvention = CallingConvention . Cdecl ) ]
392
+ public static extern int detect_peaks_z_score ( double [ ] data , int data_len , int lag , double threshold , double influence , double [ ] output ) ;
377
393
}
378
394
379
395
class DataHandlerLibrary
@@ -515,6 +531,40 @@ public static int perform_rolling_filter (double[] data, int len, int period, in
515
531
return ( int ) BrainFlowExitCodes . GENERAL_ERROR ;
516
532
}
517
533
534
+ public static int restore_data_from_wavelet_detailed_coeffs ( double [ ] data , int len , int wavelet , int decomposition_level , int level_to_restore , double [ ] output )
535
+ {
536
+ switch ( PlatformHelper . get_library_environment ( ) )
537
+ {
538
+ case LibraryEnvironment . x64 :
539
+ return DataHandlerLibrary64 . restore_data_from_wavelet_detailed_coeffs ( data , len , wavelet , decomposition_level , level_to_restore , output ) ;
540
+ case LibraryEnvironment . x86 :
541
+ return DataHandlerLibrary32 . restore_data_from_wavelet_detailed_coeffs ( data , len , wavelet , decomposition_level , level_to_restore , output ) ;
542
+ case LibraryEnvironment . Linux :
543
+ return DataHandlerLibraryLinux . restore_data_from_wavelet_detailed_coeffs ( data , len , wavelet , decomposition_level , level_to_restore , output ) ;
544
+ case LibraryEnvironment . MacOS :
545
+ return DataHandlerLibraryMac . restore_data_from_wavelet_detailed_coeffs ( data , len , wavelet , decomposition_level , level_to_restore , output ) ;
546
+ }
547
+
548
+ return ( int ) BrainFlowExitCodes . GENERAL_ERROR ;
549
+ }
550
+
551
+ public static int detect_peaks_z_score ( double [ ] data , int len , int lag , double threshold , double influence , double [ ] output )
552
+ {
553
+ switch ( PlatformHelper . get_library_environment ( ) )
554
+ {
555
+ case LibraryEnvironment . x64 :
556
+ return DataHandlerLibrary64 . detect_peaks_z_score ( data , len , lag , threshold , influence , output ) ;
557
+ case LibraryEnvironment . x86 :
558
+ return DataHandlerLibrary32 . detect_peaks_z_score ( data , len , lag , threshold , influence , output ) ;
559
+ case LibraryEnvironment . Linux :
560
+ return DataHandlerLibraryLinux . detect_peaks_z_score ( data , len , lag , threshold , influence , output ) ;
561
+ case LibraryEnvironment . MacOS :
562
+ return DataHandlerLibraryMac . detect_peaks_z_score ( data , len , lag , threshold , influence , output ) ;
563
+ }
564
+
565
+ return ( int ) BrainFlowExitCodes . GENERAL_ERROR ;
566
+ }
567
+
518
568
public static int detrend ( double [ ] data , int len , int operation )
519
569
{
520
570
switch ( PlatformHelper . get_library_environment ( ) )
0 commit comments