StationaryWaveletTransform

StationaryWaveletTransform[data]

data の配列の定常ウェーブレット変換(SWT)を与える.

StationaryWaveletTransform[data,wave]

ウェーブレット wave を使って定常ウェーブレット変換を与える.

StationaryWaveletTransform[data,wave,r]

レベル r の細分化を使って定常ウェーブレット変換を与える.

詳細とオプション

  • StationaryWaveletTransformDiscreteWaveletTransformに似ているが,どの細分化レベルにおいてもサブサンプリングが起こらず,結果の係数配列がすべてもとのデータと同次元である点が異なる.
  • StationaryWaveletTransformDiscreteWaveletDataオブジェクトを与える.
  • DiscreteWaveletData dwd の特性は dwd["prop"]で求まり,使用可能な特性のリストは dwd["Properties"]で得られる.
  • data は次のいずれでもよい.
  • list任意階数の数値配列
    image任意のImageオブジェクト
    audioAudioオブジェクトまたはサンプルされたSoundオブジェクト
  • 使用可能なウェーブレット wave
  • BattleLemarieWavelet[]Bスプラインに基づいたBattleLemariéウェーブレット
    BiorthogonalSplineWavelet[]Bスプラインに基づいたウェーブレット
    CoifletWavelet[]Daubechiesウェーブレットの対称性変種
    DaubechiesWavelet[]Daubechiesウェーブレット
    HaarWavelet[]古典的なHaarウェーブレット
    MeyerWavelet[]周波数領域で定義されたウェーブレット
    ReverseBiorthogonalSplineWavelet[]Bスプラインに基づいたウェーブレット(逆双対ウェーブレットと主ウェーブレット)
    ShannonWavelet[]シンク関数に基づいたウェーブレット
    SymletWavelet[]最小非対称直交ウェーブレット
  • デフォルトの waveHaarWavelet[]である.
  • 細分化レベル r を最高にすると,スケールの大きい特徴が解決される.
  • デフォルトの細分化レベル rTemplateBox[{{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, n, )}, +, {1, /, 2}}}, Floor]で与えられる.ただし,data の最小次元である. »
  • レベル におけるウェーブレット係数の木は粗い係数 と詳細化係数 からなる. は入力 data を表す.
  • 前方変換は で与えられる.ただし, は対応する wspec のフィルタの長さであり, は入力 data の長さである. »
  • 逆変換は で与えられる. »
  • はローパスフィルタ係数で, はハイパスフィルタ係数である.どちらも各ウェーブレット族で定義される.
  • の次元は入力 data の次元に等しい.
  • 使用可能なオプション
  • MethodAutomatic使用するメソッド
    WorkingPrecision MachinePrecision内部計算で使用する精度
  • StationaryWaveletTransformはデータを周期的に充填する.
  • InverseWaveletTransformは逆変換を与える.

例題

すべて開くすべて閉じる

  (3)

HaarWaveletを使って定常ウェーブレット変換を計算する:

Normalを使ってすべての係数を見る:

音声信号を変換する:

dwd[,"Audio"]を使って係数信号を取り出す:

すべての係数信号の長さ検証する:

逆変換を計算する:

Imageオブジェクトを変換する:

dwd[,"Image"]を使って係数の画像を抽出する:

逆変換を計算する:

スコープ  (34)

基本的な用法  (6)

定常ウェーブレット変換を計算する:

結果のDiscreteWaveletDataは変換係数の木構造を表している:

逆変換を行うと入力が再構築される:

DiscreteWaveletDataオブジェクトから有用な特性を抽出することができる:

全特性のリストを得る:

データと係数の次元を求める:

Normalを使ってウェーブレットのすべての係数を明示的に求める:

Allを引数として使ってすべての係数を得ることもできる:

Automaticを使って逆変換に使われた係数だけを求める:

"TreeView"または"IndexMap"を使ってどのウェーブレット係数が使えるかを明らかにする:

特定の係数配列を抽出する:

ウェーブレットの指標指定リストに対応するいくつかのウェーブレット係数を抽出する:

ウェーブレット指標がパターンにマッチするすべての係数を抽出する:

WaveletListPlot等の関数では,デフォルトでAutomatic係数が使われている:

周波数分解能を上げるためにより高い細分化のレベルを使う:

細分化レベルを下げるとより多くの信号エネルギーが{0,0,0}に残される:

細分化レベルをより高めると,{0,0,0}はさらに多くの成分に分解される:

ウェーブレット族  (10)

いろいろなウェーブレット族を使って定常ウェーブレット変換を計算する:

係数を比較する:

ウェーブレットのいろいろな族を使って異なる特徴を捉える:

HaarWavelet(デフォルト):

DaubechiesWavelet

BattleLemarieWavelet

BiorthogonalSplineWavelet

CoifletWavelet

MeyerWavelet

ReverseBiorthogonalSplineWavelet

ShannonWavelet

SymletWavelet

ベクトルデータ  (6)

WaveletListPlotを使って,係数を共通水平軸上でプロットする:

共通垂直軸に対してプロットする:

WaveletScalogram使い,係数を時間と細分化レベルの関数として可視化する:

マウスポインタが係数上にくると,係数指標がツールチップとして現れる:

定数データ:

係数は粗い係数{0,0,}を除いてすべて小さい:

分解可能な最高の周波数(ナイキスト(Nyquist)周波数)で振動するデータ:

非零であるのは第1詳細化係数{1}のみである:

大きい不連続箇所のあるデータ:

粗い係数{0,}はデータと同じ大きいスケールの構造を持つ:

詳細化係数は不連続箇所に敏感である:

空間構造と周波数構造の両方を持つデータ:

粗い係数{0,} はデータの局所平均を辿る:

第1詳細化係数は振動している箇所を突き止める:

すべての係数を共通垂直軸に対してプロットする:

行列データ  (5)

二次元定常ウェーブレット変換を計算する:

ウェーブレット係数の木を見る:

逆変換をするともとの信号に戻る:

dwd[,"MatrixPlot"]を使って各係数をMatrixPlotとして可視化する:

より高い細分化レベルでウェーブレット係数を可視化する:

二次元では,各方向のフィルタリング操作のベクトルが計算できる:

これらのベクトルを二進数展開として解釈するとウェーブレット指標の数が得られる:

Haarウェーブレットのローパスフィルタとハイパスフィルタを得る:

結果の2Dフィルタは2方向のフィルタの外積である:

ステップデータのウェーブレット変換:

垂直方向に不連続性を有するデータ:

垂直詳細化係数,つまりウェーブレット指標{,1}のみが非零である:

水平方向に不連続性を有するデータ:

水平詳細化係数,つまりウェーブレット指標{,2}のみが非零である:

配列データ  (2)

三次元定常ウェーブレット変換を計算する:

すべての係数の木構造を見る:

逆変換でもとの信号に戻る:

三次元クロス配列のウェーブレット変換:

ウェーブレット係数を可視化する:

もとのデータのエネルギーは変換された係数内に保存されている:

画像データ  (2)

Imageオブジェクトを変換する:

逆変換するとImageオブジェクトが再構築される:

ウェーブレット係数は通常各画像チャンネルのデータの配列として与えられる:

もと画像のチャンネル数と次元数は同じである:

すべての係数をデータの配列ではなくImageオブジェクトとして得る:

カラーレベルの再スケールを施していない生のImageオブジェクトを得る:

{0,1}係数の逆変換をImageオブジェクトとして行う:

サウンドデータ  (3)

Soundオブジェクトを変換する:

逆変換するとSoundオブジェクトが再構築される:

デフォルトで,係数は各サウンドチャンネルのデータのリストとして与えられる:

もとのサウンドのチャンネル数とデータの長さは等しい:

{0,1}係数をSoundオブジェクトとして得る:

Soundオブジェクトとしての{0,0,1}係数の逆変換:

MenuViewを使ってすべての係数をブラウズする:

一般化と拡張  (3)

StationaryWaveletTransformは記号による量の配列に使うことができる:

逆変換で入力が厳密に復元される:

任意の内部作業精度を指定する:

複素数値のデータを使う:

ウェーブレット係数が複素数になる:

逆変換で入力が復元される:

オプション  (3)

WorkingPrecision  (3)

デフォルトで,WorkingPrecision->MachinePrecisionが使われる:

より精度の高い評価を使う:

WorkingPrecision->を使って厳密計算を行う:

アプリケーション  (3)

逆網点化  (1)

ウェーブレットに基づく簡単な逆網点化:

GaussianFilterを詳細化係数に適用する:

数値微分  (1)

ウェーブレット変換を使ってノイズのあるデータを微分する:

平行移動回転変換(TRT, Translation-Rotation-Transform)は線形要素を入力信号から取り除くことで境界効果を少なくするために使われる:

HaarWaveletには消失モーメントがあるので,のウェーブレット変換を行うためにこれを選ぶ:

詳細化係数がデータの微分を与える.ノイズを最小にするために細分化レベル4の係数が選ばれる:

微分された値を再スケールする:

ウェーブレットに基づいた数値微分を厳密な数値微分と比較する:

標準的なWolfram言語の数値微分と比較する:

画像融合 (1)

既存画像にテクスチャを加える:

両方の画像にウェーブレット変換を行う:

2つの画像の平均を取ることで両者の詳細化係数を組み合せる:

最初の画像の粗い係数を追加する:

組合わさったウェーブレット係数の新たなDiscreteWaveletDataを構築する:

組み合せた画像を再構築する:

特性と関係  (12)

StationaryWaveletPacketTransformウェーブレット係数の完全木を計算する:

StationaryWaveletTransformは係数の完全木の部分木を計算する:

DiscreteWaveletTransform係数は細分化の各レベルで長さが半分になる:

回転されたデータは異なる係数を与える:

StationaryWaveletTransform係数はもとのデータと同じ長さである:

循環されたデータは循環された係数を与える:

デフォルトの細分化はTemplateBox[{{{InterpretationBox[{log, _, DocumentationBuild`Utils`Private`Parenth[2]}, Log2, AutoDelete -> True], (, n, )}, +, {1, /, 2}}}, Floor]で与えられる:

より高次元:

エネルギーのノルムは直交ウェーブレット族用に保存される:

エネルギーのノルムは双直交ウェーブレット族用に近似的に保存される:

データの平均は変換の最高細分化レベルで捉えられる:

最高細分化レベルの係数を抽出する:

個々の係数配列からの逆変換の総和はもとのデータを与える:

各ウェーブレット係数配列を別々に逆変換させる:

その総和でもとのデータが与えられる:

周期的なデータのために定常ウェーブレット係数を計算する:

フィルタ係数を計算する:

レベル の粗い係数は で与えられる:

レベル の詳細化係数は で与えられる:

不完全定常逆ウェーブレット変換を計算する:

フィルタ係数を計算する:

レベル の粗い係数は以下で与えられる:

レベル の詳細化係数は以下で与えられる:

レベル の逆ウェーブレット変換は で与えられる:

細分化レベル で粗い係数{0,0}を再構築する:

細分化レベル で粗い係数{0}を再構築する:

一次元のHaar定常ウェーブレット変換を計算する:

{0}{1}のウェーブレット係数を計算する:

DiscreteWaveletPacketTransformと比較する:

二次元では,各次元で異なるフィルタが適用される:

Haarウェーブレットのローパスとハイパスのフィルタ:

行列データのHaarウェーブレット変換:

HaarWaveletを使ってDiscreteWaveletPacketTransformと比較する:

画像チャンネルは別々に変換される:

別々に変換された画像チャンネルの{0}係数を組み合せる:

もと画像のStationaryWaveletTransform{0}係数と比較する:

画像は同じである:

Wolfram Research (2010), StationaryWaveletTransform, Wolfram言語関数, https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html (2017年に更新).

テキスト

Wolfram Research (2010), StationaryWaveletTransform, Wolfram言語関数, https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html (2017年に更新).

CMS

Wolfram Language. 2010. "StationaryWaveletTransform." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2017. https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html.

APA

Wolfram Language. (2010). StationaryWaveletTransform. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html

BibTeX

@misc{reference.wolfram_2024_stationarywavelettransform, author="Wolfram Research", title="{StationaryWaveletTransform}", year="2017", howpublished="\url{https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_stationarywavelettransform, organization={Wolfram Research}, title={StationaryWaveletTransform}, year={2017}, url={https://reference.wolfram.com/language/ref/StationaryWaveletTransform.html}, note=[Accessed: 22-November-2024 ]}