亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wavethresh.h

?? 統計軟件包
?? H
字號:

#ifndef _WAVETHRESH_H_
#define _WAVETHRESH_H_


#include <math.h>
#include <stdio.h>

/**

  Support for wavelet coefficient thresholding.

  In wavelet coefficient thresholding a selected set of
  the wavelet coefficients that result from the wavelet
  transform are modified.

  The algorithm used here uses the "Universal Threshold" that Donoho
  and Johnstone have discussed in their papers.  Thresholds and the
  "Universal Threshold" are also discussed in <i>Noise Reduction by
  Wavelet Thresholding</i> by Jansen, Springer Verlag, 2001.

  The "Universal Threshold is:

  <pre>
     UnivThresh = sqrt( 2 * log( N ) ) * stdDev
  </pre>

  Here stdDev is the standard deviation of N wavelet coefficients.
  Log is the natural log.

  Thresholding is used to remove noise.  Another way to state this
  is that the signal is smoothed.  This code uses "soft thresholding"
  where a wavelet coefficient that is less than the threshold is set
  to zero and a coefficient whose absolute value is greater than the
  threshold is moved toward zero by the threshold amount.

  This class provides globally accessible static functions.  It
  is not meant to be declared as an object and has no state.

 */
template<class T>
class wavethresh
{
private:
  wavethresh( const wavethresh &rhs );
  wavethresh() {}
  ~wavethresh() {}

public:

  /**
    A container for the mean and standard deviation
   */
  class bellInfo {
  private:
    double mean_;
    double stdDev_;
  public:
    bellInfo()
    {
      mean_ = 0.0;
      stdDev_ = 0.0;
    }
    ~bellInfo() {}
    bellInfo( const bellInfo &rhs )
    {
      mean_ = rhs.mean_;
      stdDev_ = rhs.stdDev_;
    }

    void mean( const double m ) { mean_ = m; }
    double mean() { return mean_; }

    void stdDev( const double s ) { stdDev_ = s; }
    double stdDev() { return stdDev_; }
  }; // bellInfo


  /**
    Calculate teh mean and standard deviation for the section
    of <i>vec</i> from start to (start+size)-1.

    \param vec An object or array where the [] operator returns a double.

    \param start the index of the first element in the data section
    
    \param size the size of the data section

    \param stats The result (mean and standard deviation) is returned in
                 this argument.

   */
  static void bellStats(const T &vec,
			const size_t start,
			const size_t size,
			bellInfo &stats )
  {
    stats.mean( 0.0 );
    stats.stdDev( 0.0 );
    int i;
    
    // calculate the mean (a.k.a average)
    double sum = 0.0;
    for (i = start; i < start + size; i++) {
      sum = sum + vec[i];
    }
    double mean = sum / static_cast<double>(size);
    
    // calculate the standard deviation sum
    double stdDevSum = 0;
    double x;
    for (i = start; i < start + size; i++) {
      x = vec[i] - mean;
      stdDevSum = stdDevSum + (x * x);
    }
    double variance = stdDevSum / static_cast<double>(size-1);
    double stdDev = sqrt( variance );
    
    stats.mean( mean );
    stats.stdDev( stdDev );
    
  } // bellStats


  static double soft_thresh( const double val, const double tau )
  {
    double sign = 1.0;
    double absval = fabs( val );

    if (val < 0)
      sign = -1.0;

    double new_val;

    if (absval < tau) {
      new_val = 0.0;
    }
    else {
      new_val = sign * (absval - tau);
    }
    
    return new_val;
  }


  /**
    Calculate a wavelet threshold and apply it to the wavelet 
    coefficients using soft thresholding.
   */
  static void thresh(T &vec, 
		     const size_t start, 
		     const size_t size )
  {
    bellInfo info;

    bellStats( vec, start, size, info );

    double stdDev = info.stdDev();
    double Tau = sqrt( 2 * log( size ) ) * stdDev;

    size_t i;
    for (i = start; i < start + size; i++) {
      vec[ i ] = soft_thresh( vec[i], Tau );
    }
  } // thresh


  /**
    Print the mean and standard deviation for the wavelet coefficient
    bands whose length is greater than 32.

    \param vec An object or array where the [] operator returns a double
    
    \param N the number of data elements (doubles) in <i>vec</i>
   */
  static void printHarmonicStdDev( const T &vec, const size_t N)
  {
    const size_t minSize = 32;
    size_t band = N / 2;

    bellInfo stats;

    while (band >= minSize ) {
      bellStats( vec, band, band, stats );
      printf("coefficient band %3d: mean = %7.6f, stddev = %7.6f\n",
	     band, stats.mean(), stats.stdDev() );
      band = band / 2;
    } // while
  } // printHarmonicStdDev

}; // wavethresh


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区欧美视频| 视频一区国产视频| 午夜av一区二区三区| 国产成a人无v码亚洲福利| 欧美日韩综合一区| 国产精品萝li| 久久电影网电视剧免费观看| 欧美中文字幕一区二区三区亚洲| 久久亚洲捆绑美女| 久久国产夜色精品鲁鲁99| 在线观看一区不卡| 成人免费在线视频观看| 国产剧情一区二区| 91 com成人网| 亚洲综合无码一区二区| 一本到高清视频免费精品| 国产精品美女久久久久aⅴ| 久久成人精品无人区| 91精品国产91久久久久久最新毛片| 亚洲精选免费视频| 91一区一区三区| 国产精品久久免费看| 国产黄色成人av| 国产亚洲自拍一区| 国产不卡视频一区| 欧美国产精品劲爆| 91福利视频久久久久| 国产精品久久久久毛片软件| 国产成人免费av在线| 国产日韩欧美综合一区| 国产精品12区| 国产精品国产三级国产aⅴ入口| 国产一区二区在线观看视频| 精品久久久久久久久久久院品网| 久草这里只有精品视频| 久久婷婷成人综合色| 国产激情一区二区三区四区| 欧美国产精品一区二区三区| 成人精品一区二区三区中文字幕 | 日韩视频一区二区在线观看| 午夜电影久久久| 欧美一区国产二区| 国产在线一区观看| 国产亚洲人成网站| a级精品国产片在线观看| 亚洲欧美日韩成人高清在线一区| 色伊人久久综合中文字幕| 亚洲亚洲精品在线观看| 欧美另类变人与禽xxxxx| 午夜精品久久久久久久蜜桃app| 欧美一区二区视频在线观看2020 | 亚洲超碰97人人做人人爱| 91麻豆精品国产91久久久资源速度 | 91精品1区2区| 日韩黄色小视频| 精品久久久久香蕉网| 99久久精品免费看国产| 亚瑟在线精品视频| 久久无码av三级| voyeur盗摄精品| 日韩激情在线观看| 国产精品九色蝌蚪自拍| 欧美日韩国产乱码电影| 高清在线观看日韩| 亚洲成a人v欧美综合天堂| 亚洲精品在线观| 日本乱人伦一区| 久久99久久99| 亚洲乱码国产乱码精品精小说 | 亚洲欧美区自拍先锋| 欧美日韩一卡二卡三卡| 国产盗摄一区二区三区| 夜夜嗨av一区二区三区四季av | 成人免费av网站| 亚洲成av人片| 亚洲欧洲日本在线| 国产精品久久久久精k8| 首页亚洲欧美制服丝腿| 国产传媒日韩欧美成人| 久久久久久一二三区| 久久激情五月激情| 国产精品视频一二| 国产精品自拍三区| 中文字幕佐山爱一区二区免费| 国内精品免费**视频| xfplay精品久久| 国产成人精品影院| 中文字幕在线一区免费| 色婷婷亚洲一区二区三区| 亚洲精品国产品国语在线app| 在线观看av不卡| 精品一区二区影视| 亚洲欧洲综合另类在线| 日韩三区在线观看| 99久久婷婷国产精品综合| 日韩制服丝袜先锋影音| 国产精品日韩精品欧美在线| 欧美精品精品一区| 国产91精品一区二区| 亚洲午夜精品网| 精品理论电影在线| 欧美日韩国产经典色站一区二区三区| 亚洲成av人在线观看| 中文字幕亚洲不卡| 久久久久久久久伊人| 日韩女优毛片在线| 3751色影院一区二区三区| 91社区在线播放| 99久久国产综合色|国产精品| 久久精品久久久精品美女| 一个色在线综合| 亚洲视频中文字幕| 中文乱码免费一区二区| 中文字幕高清不卡| 欧美激情中文字幕| 日本一区二区三区高清不卡| 日韩免费高清av| 日韩欧美美女一区二区三区| 欧美高清视频不卡网| 制服.丝袜.亚洲.另类.中文| 91精品国产色综合久久不卡电影| 色8久久人人97超碰香蕉987| 欧美在线制服丝袜| 欧美日韩二区三区| 精品国产免费久久| 国产精品色呦呦| 亚洲国产日韩a在线播放性色| 亚洲最新在线观看| 国产成人精品综合在线观看 | 久久午夜电影网| 国产欧美精品一区二区色综合朱莉 | 911精品国产一区二区在线| 91精品国产综合久久久久久久久久 | 亚洲h动漫在线| 国产不卡视频一区| 91精品午夜视频| 亚洲视频免费在线观看| 日韩成人免费看| 91原创在线视频| 久久色成人在线| 日韩制服丝袜先锋影音| 97国产精品videossex| 精品国产一区二区三区不卡| 亚洲一区二区三区四区五区中文| 麻豆一区二区三| 欧美视频一区二区三区在线观看| 国产日韩精品一区| 国产精品一区三区| 欧美一卡2卡三卡4卡5免费| 一区二区三区精品| 91麻豆成人久久精品二区三区| 久久九九久久九九| 精品一区二区精品| 91精品一区二区三区久久久久久| 亚洲午夜久久久久久久久久久| 成人av片在线观看| 国产精品久久久久三级| 不卡免费追剧大全电视剧网站| 日韩一区二区三区免费看 | 欧美裸体一区二区三区| 亚洲最新在线观看| 欧美精品三级在线观看| 五月婷婷激情综合网| 3d成人h动漫网站入口| 日本亚洲免费观看| 久久久久久久综合狠狠综合| 国产乱子轮精品视频| 精品蜜桃在线看| 国产mv日韩mv欧美| 亚洲素人一区二区| 欧美日韩一卡二卡| 国产一区二区三区免费在线观看| 欧美精品一区二区三区四区 | 国产一区二区三区久久悠悠色av| 久久久综合视频| 91麻豆免费观看| 激情深爱一区二区| 亚洲综合av网| 国产日韩av一区| 欧美肥胖老妇做爰| 国产91在线看| 亚洲一区日韩精品中文字幕| 久久色中文字幕| 91精品在线免费| 欧美午夜一区二区三区| 国产成人精品aa毛片| 日韩av电影免费观看高清完整版| 欧美国产日韩一二三区| 日韩视频免费直播| 欧美日韩亚洲综合一区| 99re8在线精品视频免费播放| 美日韩一区二区| 日本人妖一区二区| 一区二区三区高清不卡| 国产精品久久夜| 亚洲国产精品t66y| 中文在线一区二区| 日本一区二区三区四区| 欧美国产乱子伦| 国产精品婷婷午夜在线观看|