📄 libqccpackwav.h
字号:
/* lifting_daubechies4.c */int QccWAVLiftingAnalysisDaubechies4(QccVector signal, int signal_length, int phase, int boundary);int QccWAVLiftingSynthesisDaubechies4(QccVector signal, int signal_length, int phase, int boundary);/* lifting_cdf9_7.c */int QccWAVLiftingAnalysisCohenDaubechiesFeauveau9_7(QccVector signal, int signal_length, int phase, int boundary);int QccWAVLiftingSynthesisCohenDaubechiesFeauveau9_7(QccVector signal, int signal_length, int phase, int boundary);/* lifting_cdf5_3.c */int QccWAVLiftingAnalysisCohenDaubechiesFeauveau5_3(QccVector signal, int signal_length, int phase, int boundary);int QccWAVLiftingSynthesisCohenDaubechiesFeauveau5_3(QccVector signal, int signal_length, int phase, int boundary);/* wavelet.c */#define QCCWAVWAVELET_PATH_ENV "QCCPACK_WAVELET_PATH"#define QCCWAVWAVELET_DEFAULT_WAVELET "CohenDaubechiesFeauveau.9-7.lft"#define QCCWAVWAVELET_IMPLEMENTATION_FILTERBANK 0#define QCCWAVWAVELET_IMPLEMENTATION_LIFTED 1#define QCCWAVWAVELET_BOUNDARY_SYMMETRIC_EXTENSION \QCCFILTER_SYMMETRIC_EXTENSION#define QCCWAVWAVELET_BOUNDARY_PERIODIC_EXTENSION QCCFILTER_PERIODIC_EXTENSION#define QCCWAVWAVELET_BOUNDARY_BOUNDARY_WAVELET \(QCCWAVWAVELET_BOUNDARY_PERIODIC_EXTENSION + 1)#define QCCWAVWAVELET_PHASE_EVEN QCCWAVFILTERBANK_PHASE_EVEN#define QCCWAVWAVELET_PHASE_ODD QCCWAVFILTERBANK_PHASE_ODDtypedef struct{ int implementation; int boundary; QccWAVLiftingScheme lifting_scheme; QccWAVFilterBank filter_bank;} QccWAVWavelet;int QccWAVInit();int QccWAVWaveletInitialize(QccWAVWavelet *wavelet);int QccWAVWaveletAlloc(QccWAVWavelet *wavelet);void QccWAVWaveletFree(QccWAVWavelet *wavelet);void QccWAVWaveletPrint(const QccWAVWavelet *wavelet);int QccWAVWaveletCreate(QccWAVWavelet *wavelet, const QccString wavelet_filename, const QccString boundary);int QccWAVWaveletBiorthogonal(const QccWAVWavelet *wavelet);int QccWAVWaveletAnalysis1D(const QccVector input_signal, QccVector output_signal, int signal_length, int phase, const QccWAVWavelet *wavelet);int QccWAVWaveletSynthesis1D(const QccVector input_signal, QccVector output_signal, int signal_length, int phase, const QccWAVWavelet *wavelet);int QccWAVWaveletAnalysis2D(const QccMatrix input_matrix, QccMatrix output_matrix, int num_rows, int num_cols, int phase_row, int phase_col, const QccWAVWavelet *wavelet);int QccWAVWaveletSynthesis2D(const QccMatrix input_matrix, QccMatrix output_matrix, int num_rows, int num_cols, int phase_row, int phase_col, const QccWAVWavelet *wavelet);int QccWAVWaveletAnalysis3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int phase_frame, int phase_row, int phase_col, const QccWAVWavelet *wavelet);int QccWAVWaveletSynthesis3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int phase_frame, int phase_row, int phase_col, const QccWAVWavelet *wavelet);/* multiwavelet.c */#define QCCWAVWAVELET_DEFAULT_MULTIWAVELET "LebrunVetterli.Balanced.2x2.7.vfb"typedef struct{ QccWAVVectorFilterBank vector_filter_bank;} QccWAVMultiwavelet;int QccWAVMultiwaveletInitialize(QccWAVMultiwavelet *multiwavelet);int QccWAVMultiwaveletAlloc(QccWAVMultiwavelet *multiwavelet);void QccWAVMultiwaveletFree(QccWAVMultiwavelet *multiwavelet);int QccWAVMultiwaveletCreate(QccWAVMultiwavelet *multiwavelet, const QccString multiwavelet_filename);void QccWAVMultiwaveletPrint(const QccWAVMultiwavelet *multiwavelet);/* dwt.c */int QccWAVWaveletDWTSubbandLength(int original_length, int level, int highband, int signal_origin, int subsample_pattern);int QccWAVWaveletDWT1D(const QccVector input_signal, QccVector output_signal, int signal_length, int signal_origin, int subsample_pattern, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseDWT1D(const QccVector input_signal, QccVector output_signal, int signal_length, int origin, int subsample_pattern, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletDWT2D(const QccMatrix input_matrix, QccMatrix output_matrix, int num_rows, int num_cols, int origin_row, int origin_col, int subsample_pattern_row, int subsample_pattern_col, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseDWT2D(const QccMatrix input_matrix, QccMatrix output_matrix, int num_rows, int num_cols, int origin_row, int origin_col, int subsample_pattern_row, int subsample_pattern_col, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletDyadicDWT3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int origin_frame, int origin_row, int origin_col, int subsample_pattern_frame, int subsample_pattern_row, int subsample_pattern_col, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseDyadicDWT3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int origin_frame, int origin_row, int origin_col, int subsample_pattern_frame, int subsample_pattern_row, int subsample_pattern_col, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletPacketDWT3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int origin_frame, int origin_row, int origin_col, int subsample_pattern_frame, int subsample_pattern_row, int subsample_pattern_col, int temporal_num_scales, int spatial_num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInversePacketDWT3D(const QccVolume input_volume, QccVolume output_volume, int num_frames, int num_rows, int num_cols, int origin_frame, int origin_row, int origin_col, int subsample_pattern_frame, int subsample_pattern_row, int subsample_pattern_col, int temporal_num_scales, int spatial_num_scales, const QccWAVWavelet *wavelet);/* sadwt.c */int QccWAVWaveletShapeAdaptiveDWT1D(const QccVector input_signal, const QccVector input_mask, QccVector output_signal, QccVector output_mask, int signal_length, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseShapeAdaptiveDWT1D(QccVector input_signal, QccVector input_mask, QccVector output_signal, QccVector output_mask, int signal_length, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletShapeAdaptiveDWT2D(const QccMatrix input_data, const QccMatrix input_mask, QccMatrix output_data, QccMatrix output_mask, int num_rows, int num_cols, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseShapeAdaptiveDWT2D(const QccMatrix input_data, const QccMatrix input_mask, QccMatrix output_data, QccMatrix output_mask, int num_rows, int num_cols, int num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletShapeAdaptiveDyadicDWT3D(const QccVolume input_data, const QccVolume input_mask, QccVolume output_data, QccVolume output_mask, int num_frames, int num_rows, int num_cols, int spatial_num_scales, const QccWAVWavelet *wavelet);int QccWAVWaveletInverseShapeAdaptiveDyadicDWT3D(const QccVolume input_data, const QccVolume input_mask, QccVolume output_data, QccVolume output_mask,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -