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

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

?? liftbase.java

?? 小波提升格式的java源代碼
?? JAVA
字號:

package lift;

import util.*;

/**
  <p>
  class liftbase: base class for simple Lifting Scheme wavelets using
  split, predict, update or update, predict, merge steps.
  </p>

  <p>
  Simple lifting scheme wavelets consist of three steps,
  a split/merge step, predict step and an update step:
  </p>
  <ul>
    <li>
    <p>
    The split step divides the elements in an array so that 
    the even elements are in the first half and the odd
    elements are in the second half.
    </p>
    </li>
    <li>
    <p>
    The merge step is the inverse of the split step.  It takes
    two regions of an array, an odd region and an even region
    and merges them into a new region where an even element 
    alternates with an odd element.
    </p>
    </li>
    <li>
    <p>
    The predict step calculates the difference
    between an odd element and its predicted value based
    on the even elements.  The difference between the
    predicted value and the actual value replaces the
    odd element.
    </p>
    </li>
    <li>
    <p>
    The predict step operates on the odd elements.  The update
    step operates on the even element, replacing them with a
    difference between the predict value and the actual odd element.
    The update step replaces each even element with an average.
    The result of the update step becomes the input to the 
    next recursive step in the wavelet calculation.
    </p>
    </li>

  </ul>

  <p>
  The split and merge methods are shared by all Lifting Scheme wavelet
  algorithms.  This base class provides the transform and inverse
  transform methods (forwardTrans and inverseTrans).  The predict
  and update methods are abstract and are defined for a particular
  Lifting Scheme wavelet sub-class.
  </p>

  <p>
  <b>References:</b>
  </p>

  <ul>
  <li>
  <a 
  href="http://www.bearcave.com/misl/misl_tech/wavelets/lifting/index.html">
  <i>The Wavelet Lifting Scheme</i></a> by Ian Kaplan, www.bearcave.com.
  This is the parent web page for this Java source code.
  </li>
  <li>
  <i>Ripples in Mathematics: the Discrete Wavelet Transform</i> 
  by Arne Jense and Anders la Cour-Harbo, Springer, 2001
  </li>
  <li>
  <i>Building Your Own Wavelets at Home</i> in <a
  href="http://www.multires.caltech.edu/teaching/courses/waveletcourse/">
  Wavelets in Computer Graphics</a>
  </li>
  </ul>

<h4>
   Copyright and Use
</h4>

<p>
   You may use this source code without limitation and without
   fee as long as you include:
</p>
<blockquote>
     This software was written and is copyrighted by Ian Kaplan, Bear
     Products International, www.bearcave.com, 2001.
</blockquote>
<p>
   This software is provided "as is", without any warrenty or
   claim as to its usefulness.  Anyone who uses this source code
   uses it at their own risk.  Nor is any support provided by
   Ian Kaplan and Bear Products International.
<p>
   Please send any bug fixes or suggested source changes to:
<pre>
     iank@bearcave.com
</pre>

  @author Ian Kaplan

 */
public abstract class liftbase {

  /** "enumeration" for forward wavelet transform */
  protected final int forward = 1;
  /** "enumeration" for inverse wavelet transform */
  protected final int inverse = 2;

  /**
    Split the <i>vec</i> into even and odd elements,
    where the even elements are in the first half
    of the vector and the odd elements are in the
    second half.
   */
  protected void split( double[] vec, int N )
  {
    
    int start = 1;
    int end = N - 1;

    while (start < end) {
      for (int i = start; i < end; i = i + 2) {
	double tmp = vec[i];
	vec[i] = vec[i+1];
	vec[i+1] = tmp;
      }
      start = start + 1;
      end = end - 1;
    }
  }

  /**
    Merge the odd elements from the second half of the N element
    region in the array with the even elements in the first
    half of the N element region.  The result will be the
    combination of the odd and even elements in a region
    of length N.
    
   */
  protected void merge( double[] vec, int N )
  {
    int half = N >> 1;
    int start = half-1;
    int end = half;
    
    while (start > 0) {
      for (int i = start; i < end; i = i + 2) {
	double tmp = vec[i];
	vec[i] = vec[i+1];
	vec[i+1] = tmp;
      }
      start = start - 1;
      end = end + 1;
    }
  }


  /** 
    Predict step, to be defined by the subclass

    @param vec input array
    @param N size of region to act on (from 0..N-1)
    @param direction forward or inverse transform

   */
  protected abstract void predict( double[] vec, int N, int direction );

  /** 
    Update step, to be defined by the subclass 

    @param vec input array
    @param N size of region to act on (from 0..N-1)
    @param direction forward or inverse transform

  */
  protected abstract void update(  double[] vec, int N, int direction );


  /**
    <p>
    Simple wavelet Lifting Scheme forward transform
    </p>
    
    <p>
    forwardTrans is passed an array of doubles.  The array size must
    be a power of two.  Lifting Scheme wavelet transforms are calculated
    in-place and the result is returned in the argument array.
    </p>

    <p>
    The result of forwardTrans is a set of wavelet coefficients
    ordered by increasing frequency and an approximate average
    of the input data set in vec[0].  The coefficient bands
    follow this element in powers of two (e.g., 1, 2, 4, 8...).
    </p>
  */
  public void forwardTrans( double[] vec )
  {
    final int N = vec.length;

    for (int n = N; n > 1; n = n >> 1) {
      split( vec, n );
      predict( vec, n, forward );
      update( vec, n, forward );
    }
  } // forwardTrans



  /**
    <p>
    Default two step Lifting Scheme inverse wavelet transform
    </p>

    <p>
    inverseTrans is passed the result of an ordered wavelet 
    transform, consisting of an average and a set of wavelet
    coefficients.  The inverse transform is calculated
    in-place and the result is returned in the argument array.
    </p>

   */
  public void inverseTrans( double[] vec )
  {
    final int N = vec.length;

    for (int n = 2; n <= N; n = n << 1) {
      update( vec, n, inverse );
      predict( vec, n, inverse );
      merge( vec, n );
    }
  } // inverseTrans


} // liftbase

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆视频网站| 91精品国产综合久久香蕉麻豆| 亚洲乱码日产精品bd| 91麻豆精品国产91久久久久| 不卡av免费在线观看| 日本免费新一区视频| 亚洲女爱视频在线| 国产欧美精品在线观看| 欧美一区二区三区四区高清| 91美女在线观看| 国产一区二三区好的| 图片区小说区国产精品视频| 亚洲免费资源在线播放| 欧美国产精品v| 精品国产91久久久久久久妲己| 欧美日韩国产高清一区二区| 91美女片黄在线| 成人av电影在线| 成人美女视频在线观看18| 麻豆高清免费国产一区| 日韩av不卡在线观看| 五月天网站亚洲| 亚洲五月六月丁香激情| 亚洲日本成人在线观看| 国产精品美女久久久久久| 久久久国际精品| 精品成人一区二区三区四区| 欧美不卡一区二区三区四区| 日韩丝袜美女视频| 欧美精品日韩精品| 91精品国产综合久久香蕉麻豆| 欧美美女网站色| 欧美日韩激情在线| 欧美久久久久中文字幕| 欧美日韩激情一区二区| 欧美群妇大交群中文字幕| 欧美性xxxxx极品少妇| 日本二三区不卡| 色哟哟亚洲精品| 在线观看一区二区视频| 欧美视频精品在线观看| 欧美肥妇毛茸茸| 日韩一区二区在线播放| 日韩精品一区二区三区在线播放| 日韩一区二区三区精品视频| 日韩亚洲欧美成人一区| 日韩精品在线一区| 久久亚洲捆绑美女| 国产午夜精品久久久久久久| 国产精品欧美一级免费| 亚洲美女一区二区三区| 亚洲最新视频在线观看| 五月天激情小说综合| 久久成人免费网| 国产美女久久久久| 成人免费av网站| 欧美亚洲一区二区在线观看| 91精品蜜臀在线一区尤物| 精品国产人成亚洲区| 国产欧美一区二区精品性色 | 欧美日韩高清一区| 在线不卡中文字幕| 精品免费一区二区三区| 日本一区二区不卡视频| 亚洲男女毛片无遮挡| 午夜在线成人av| 韩国女主播一区| 成人激情小说乱人伦| 欧美私人免费视频| 欧美精品一区二区高清在线观看| 国产日产欧产精品推荐色| 一区二区三区日本| 美日韩一区二区三区| 成人av资源下载| 欧美精品色综合| 国产丝袜欧美中文另类| 亚洲午夜精品网| 国产精品一区二区果冻传媒| 色婷婷综合久久久中文一区二区| 日韩一区二区免费电影| 国产日产欧产精品推荐色| 亚洲成人自拍网| 国产成人一区二区精品非洲| 欧美亚洲高清一区| 国产性色一区二区| 午夜精品视频在线观看| 国产1区2区3区精品美女| 欧美日韩国产美| 中文字幕五月欧美| 蜜臀av在线播放一区二区三区| 99re成人在线| 精品国产乱码久久久久久闺蜜 | 精品国免费一区二区三区| 亚洲黄色录像片| 国产成人av一区二区三区在线 | 国产区在线观看成人精品| 午夜精品福利在线| 成人国产精品免费观看动漫| 精品免费日韩av| 亚洲成av人片在线| 不卡电影免费在线播放一区| 日韩三级在线观看| 五月激情丁香一区二区三区| 成人av在线一区二区| 日韩欧美国产一区在线观看| 亚洲综合一区二区| 成人深夜视频在线观看| 欧美xfplay| 日韩精品亚洲一区二区三区免费| 91同城在线观看| 欧美国产97人人爽人人喊| 黄色日韩网站视频| 欧美一区日韩一区| 亚洲综合色自拍一区| 91麻豆精东视频| 国产精品亲子乱子伦xxxx裸| 国产成人h网站| 日韩欧美123| 日韩不卡一区二区| 91久久一区二区| 亚洲欧洲av色图| 成人国产一区二区三区精品| 欧美精品一区二区三区四区 | 无码av免费一区二区三区试看| 91在线丨porny丨国产| 2014亚洲片线观看视频免费| 男女性色大片免费观看一区二区| 欧美三级电影在线观看| 亚洲小少妇裸体bbw| 在线观看网站黄不卡| 亚洲人成网站色在线观看| 97久久精品人人做人人爽50路| 中文在线免费一区三区高中清不卡| 狠狠狠色丁香婷婷综合久久五月| 精品国产乱码久久久久久夜甘婷婷| 日韩精品91亚洲二区在线观看| 欧美精品色综合| 日本aⅴ免费视频一区二区三区| 欧美精品tushy高清| 日本美女一区二区三区视频| 欧美一级久久久| 香蕉加勒比综合久久| 丰满岳乱妇一区二区三区| 国产亚洲短视频| av激情成人网| 一区二区在线观看不卡| 欧美午夜精品免费| 日av在线不卡| 精品国产91乱码一区二区三区 | 日韩精品欧美成人高清一区二区| 欧美剧在线免费观看网站| 免费看欧美美女黄的网站| 精品sm在线观看| 成人美女视频在线观看18| 亚洲日本韩国一区| 欧美日韩国产成人在线91| 精品亚洲porn| 日本一区二区综合亚洲| 91网站在线播放| 亚洲午夜电影在线| 精品国产91乱码一区二区三区 | 99国产精品视频免费观看| 亚洲电影视频在线| 欧美大片一区二区| 成人听书哪个软件好| 亚洲最大的成人av| 日韩精品资源二区在线| 成人免费观看视频| 亚洲国产精品一区二区久久 | 中文字幕国产精品一区二区| 在线亚洲一区二区| 麻豆极品一区二区三区| 国产精品久久久久久久久免费桃花 | 1024亚洲合集| 欧美一个色资源| 成人国产精品视频| 日韩电影免费一区| 中文字幕精品—区二区四季| 欧美手机在线视频| 国产精品18久久久久久久网站| 一区二区三区免费在线观看| 欧美一区日本一区韩国一区| 丁香激情综合五月| 日韩成人免费看| 国产精品麻豆欧美日韩ww| 欧美一区三区四区| 99久久99久久免费精品蜜臀| 视频一区免费在线观看| 日韩一区中文字幕| 日韩免费福利电影在线观看| 99久久精品免费看| 老色鬼精品视频在线观看播放| 中文字幕一区二区三区四区 | 成人欧美一区二区三区白人 | 91丨porny丨最新| 久久精品国产精品青草| 玉足女爽爽91| 国产精品国产三级国产普通话99 | 成人爱爱电影网址| 久久er精品视频|