mirror of
https://github.com/simon987/wavelib.git
synced 2025-04-20 10:36:46 +00:00
53 lines
1.4 KiB
C
53 lines
1.4 KiB
C
/*
|
|
Copyright (c) 2017, Rafat Hussain
|
|
*/
|
|
#ifndef DENOISE_H_
|
|
#define DENOISE_H_
|
|
|
|
|
|
#include "waux.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct denoise_set* denoise_object;
|
|
|
|
denoise_object denoise_init(int length, int J,char* wname);
|
|
|
|
struct denoise_set{
|
|
int N; //signal length
|
|
int J; // Levels of Wavelet decomposition
|
|
char wname[10]; //Wavelet name
|
|
char wmethod[10]; //Wavelet decomposition method - dwt or swt
|
|
char ext[10]; // Signal Extension - sym or per
|
|
char thresh[10]; // thresholding - soft or hard
|
|
char level[10]; // Noise Estimation level - first or all
|
|
char dmethod[20]; //Denoising Method -sureshrink or visushrink
|
|
//double params[0];
|
|
};
|
|
|
|
void visushrink(double *signal,int N,int J,char *wname,char *method,char *ext,char *thresh,char *level,double *denoised);
|
|
|
|
void sureshrink(double *signal,int N,int J,char *wname,char *method,char *ext,char *thresh,char *level,double *denoised);
|
|
|
|
void denoise(denoise_object obj, double *signal,double *denoised);
|
|
|
|
void setDenoiseMethod(denoise_object obj, char *dmethod);
|
|
|
|
void setDenoiseWTMethod(denoise_object obj, char *wmethod);
|
|
|
|
void setDenoiseWTExtension(denoise_object obj, char *extension);
|
|
|
|
void setDenoiseParameters(denoise_object obj, char *thresh,char *level);
|
|
|
|
void denoise_free(denoise_object object);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
|
|
#endif /* DENOISE_H_ */
|