Threshold

Threshold[data]

0に近い値を0で置換して data を閾値化する.

Threshold[data,tspec]

閾値指定 tspecdata を閾値化する.

Threshold[image,]

image の小さい値を0にする.

Threshold[sound,]

sound の小さい値を0にする.

詳細

  • 閾値処理は,特定の領域の値をゼロに設定し場合によっては領域外の値を減少させる数学的分割操作である.
  • Thresholdは,任意階数のデータ配列や2Dおよび3Dの画像に使うことができる.
  • Threshold[data]Threshold[data,{"Hard",10-10}]に等しい.
  • 閾値指定 tspec{tfun,pars}の形式で行う.
  • tfun の可能な名前と位置
  • 以下は使用可能な閾値関数 tfun およびそのパラメータ(入力データ を使用する)である:
  • {"Hard",δ} 0 TemplateBox[{x}, Abs]<=delta; x TemplateBox[{x}, Abs]>delta;
    {"Soft",δ} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) (TemplateBox[{x}, Abs]-delta) TemplateBox[{x}, Abs]>delta;
    {"Firm",δ,r,p} 0 TemplateBox[{x}, Abs]<=delta-delta p r; 1/(delta r)sgn(x) (delta+delta r-delta p  r) (TemplateBox[{x}, Abs]-delta+delta p r) delta-delta p r<TemplateBox[{x}, Abs]<=delta+delta (-p) r+delta r; x TemplateBox[{x}, Abs]>delta+delta (-p) r+delta r;
    {"PiecewiseGarrote",δ}0 TemplateBox[{x}, Abs]<=delta; x-(delta^2)/x TemplateBox[{x}, Abs]>delta
    {"SmoothGarrote",δ,n}
    {"Hyperbola",delta} 0 TemplateBox[{x}, Abs]<=delta; sgn(x) sqrt(x^2-delta^2) TemplateBox[{x}, Abs]>delta;
    {"LargestValues",k}最大 k データ点を保持する
  • すべての場合で delta は正の数あるいは delta を計算するための閾値化関数 tfunc であると考えられる.各 tfunc[data]は正の数を返す.
  • "Firm"のパラメータ条件は r が正の実数で p が0から1までの実数というものである.
  • "SmoothGarrote"のパラメータ条件は n が正の機械整数というものである.
  • 閾値 delta は次のメソッドを使って自動的に計算される.
  • {"BlackFraction",b}すべての画素を b の割合で黒くする
    "Cluster"クラスタ分散の最大化(大津アルゴリズム)
    "Entropy"ヒストグラムエントロピーの最大化(Kapurメソッド)
    "Mean"平均レベルを閾値として使う
    "Median"中央値の画素レベルを閾値として使う
    "MinimumError"KittlerIllingworthの最小誤差閾値化法

例題

すべて開くすべて閉じる

  (3)

0に非常に近い要素を0にする:

絶対値が3/2未満の要素を0にする:

大きい方から3番目までの絶対値を残す:

画像の閾値:

スコープ  (14)

データ  (7)

0に近い値を0で置換することによる data の閾値化:

絶対値が3/2未満の要素を0にする:

複素数値のリストを閾値化する:

2D配列の閾値化:

グレースケール画像の閾値化:

以下は結果のヒストグラムである:

カラー画像の閾値化:

閾値化は各チャンネルに別々に行われる点に注意のこと:

3D画像にクラスタリング閾値化を行う:

閾値指定  (7)

"Hard"閾値化は絶対値が より小さいデータ値を0で置換する:

"Soft"閾値化は閾値 より小さいデータ値を0で置換する.他は によって減少される:

"Firm"閾値化は"Hard"閾値化と"Soft"閾値化を折衷したものである:

"PiecewiseGarrote"閾値化は"Firm"閾値化に似ているが,使うパラメータは1つだけである:

"SmoothGarrote"閾値化:

"Hyperbola"閾値化:

"LargestValues"閾値化は絶対値が大きいものから 個のサンプルを保持する:

特性と関係  (7)

"Hard"閾値化は,絶対値が特定の閾値 より小さいデータ値をすべて0に設定する:

閾値 の値を変化させる:

"Hard"閾値化はChopに似ている:

"Soft"閾値化は縮小操作を行う:

閾値 の値を変化させる:

"Firm"閾値化は"Hard"閾値化と"Soft"閾値化を折衷したものである:

"Firm"閾値化は"Hard"閾値化より分散が一様に小さい:

極限 β->では,"Firm"閾値化は"Soft"閾値化を行う:

極限 β->η では,"Firm"閾値化は"Hard"閾値化を行う:

"PiecewiseGarrote"閾値化:

これは"Firm"閾値化に似ており,パラメータが1つ(delta)である利点がある:

閾値 の値を変化させる:

"SmoothGarrote"閾値化:

極限 nでは,"SmoothGarrote""Hard"閾値化になる:

閾値 の値と指数値 を変化させる:

"Hyperbola"閾値化:

"LargestValues"閾値化:

考えられる問題  (1)

{"LargestValues",k}を使うときでデータ要素が繰り返されるときは, 個より多い非零要素が返されるかもしれない:

可能なすべての結果を列挙する:

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

テキスト

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

CMS

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

APA

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

BibTeX

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

BibLaTeX

@online{reference.wolfram_2024_threshold, organization={Wolfram Research}, title={Threshold}, year={2012}, url={https://reference.wolfram.com/language/ref/Threshold.html}, note=[Accessed: 15-November-2024 ]}