SigmaClip¶
- class astropy.stats.sigma_clipping.SigmaClip(sigma=3.0, sigma_lower=None, sigma_upper=None, maxiters=5, cenfunc='median', stdfunc='std', grow=False)[ソース]¶
ベースクラス:
object
クラスはsigmaクロッピングを実行する.
データは反復され、各拒否は、中心値からの標準偏差が指定された数の値よりも小さいか、またはそれよりも大きい。
クロッピング(拒否)ピクセルとは、以下の位置のピクセルを意味する:
data < cenfunc(data [,axis=int]) - (sigma_lower * stdfunc(data [,axis=int])) data > cenfunc(data [,axis=int]) + (sigma_upper * stdfunc(data [,axis=int]))
無効なデータ値(すなわちNaNまたはInf)は自動的に裁断される.
Sigmaクロッピングの機能インタフェースについては、ご参照ください
sigma_clip()
それがそうです。注釈
scipy.stats.sigmaclip
このような機能のサブセットを提供する.さらに、その入力データはマスク配列であってはならず、無効値(すなわちNaNまたはInf)を含むデータは処理されない。なお,中央関数として平均値を用いる.もしあなたのデータが
ndarray
無効値はなく,中央関数として平均値を用いることが望ましいaxis=None
収束まで繰り返しましたscipy.stats.sigmaclip
ここの等価設定より約25%~30%速い (s = SigmaClip(cenfunc='mean', maxiters=None); s(data, axis=None)
)。- パラメータ
- sigma浮動、オプション
下限と上限を裁断するための標準偏差数。これらの制約は以下のようにカバーされている
sigma_lower
そしてsigma_upper
入力すれば。デフォルト値は3です。- sigma_lower浮いているかないか、オプション
裁断制限下限として用いた標準偏差数.もし…。
None
その価値はsigma
使っています。黙認する.None
それがそうです。- sigma_upper浮いているかないか、オプション
裁断制限上限の標準偏差数として用いる.もし…。
None
その価値はsigma
使っています。黙認する.None
それがそうです。- maxiters完全型または無型、オプション
実行するシグマトリミングの繰り返しの最大回数または
None
収束に達するまで裁断が行われる(すなわち、反復は最後の反復まで何も裁断されない)。その前に収束が実現すればmaxiters
反復が繰り返されると、裁断反復は停止される。デフォルト値は5である.- cenfunc{‘中央値’,‘平均値’}または呼び出し可能であり,オプションである.
クロッピング中心値を計算するための統計的または調整可能な関数/オブジェクト。呼び出し可能な関数/オブジェクトが使用される場合
axis
キーワードは、NANを無視することができなければならない(例えば、numpy.nanmean
)を持っていますaxis
キーワードは軸次元を削除した配列を返す.黙認する.'median'
それがそうです。- stdfunc{‘std’,‘MAD_std’}または呼び出し可能であり、オプションである
中心値の標準偏差を計算するための統計的または調整可能な関数/オブジェクト。呼び出し可能な関数/オブジェクトが使用される場合
axis
キーワードは、NANを無視することができなければならない(例えば、numpy.nanstd
)を持っていますaxis
キーワードは軸次元を削除した配列を返す.黙認する.'std'
それがそうです。- grow :浮動または
False
オプションです。浮遊や クロッピング制限を超えた画素をマスクする隣接画素の半径(適用可能なもののみ)
axis
指定されていれば)。例えば、2 D画像の場合、値1は、各偏差画素の周囲の十字パターン内の最も近い画素をマスクし、値1.5も最も近い対角線の隣接画素を拒否することになり、以下同様である。
注意事項
最適なパフォーマンスは、通常、設定によって
cenfunc
そしてstdfunc
文字列の内蔵関数の1つとして指定する.一方のオプションが文字列に設定され、他方のオプションがカスタマイズされた呼び出し可能オブジェクトを有する場合、使用される場合がある bottleneck ソフトウェアパッケージをインストールしました。実例.
この例は、ガウス分布からの乱数のデータセットを使用する。我々は,距離の中央値が2つのサンプル標準偏差を超えるすべての点を裁断した.結果はマスク配列であり、マスクは
True
裁断のデータ:>>> from astropy.stats import SigmaClip >>> from numpy.random import randn >>> randvar = randn(10000) >>> sigclip = SigmaClip(sigma=2, maxiters=5) >>> filtered_data = sigclip(randvar)
この例のクロッピングはサンプルが3シグマより大きい点に対して mean クリップは収束するまでマスクされていないものに戻る.
ndarray
データを修正しました>>> from astropy.stats import SigmaClip >>> from numpy.random import randn >>> from numpy import mean >>> randvar = randn(10000) >>> sigclip = SigmaClip(sigma=3, maxiters=None, cenfunc='mean') >>> filtered_data = sigclip(randvar, masked=False, copy=False)
この例sigmaは、1つの軸に沿ってクリップされる:
>>> from astropy.stats import SigmaClip >>> from numpy.random import normal >>> from numpy import arange, diag, ones >>> data = arange(5) + normal(0., 0.05, (5, 5)) + diag(ones(5)) >>> sigclip = SigmaClip(sigma=2.3) >>> filtered_data = sigclip(data, axis=0)
標準偏差が高いので、別の軸に沿って、何の点も裁断しないことに注意してください。
方法要約
__call__
\(データ[, axis, masked, ...] )提供されたデータに対してsigmaクロッピングを実行します。
方法文書
- __call__(data, axis=None, masked=True, return_bounds=False, copy=True)[ソース]¶
提供されたデータに対してsigmaクロッピングを実行します。
- パラメータ
- data :配列のようなまたは
MaskedArray
配列のような シグマ裁断をしたデータをお願いします。
- axisIntまたはintのないタプルは、オプションである
そのシグマに沿ってデータの1つ以上の軸を裁断しなければならない。もし…。
None
スティッチングされたデータが使用される.axis
伝達することができますcenfunc
そしてstdfunc
それがそうです。黙認する.None
それがそうです。- maskedブル値、オプション
もし
True
そして次はMaskedArray
マスクが存在する位置に戻る.True
裁断に用いる値。もし…。False
そして次はndarray
また,最小および最大切り出し閾値を返す.黙認する.True
それがそうです。- return_boundsブル値、オプション
もし
True
また,最小および最大切り出し限界を返す.- copyブル値、オプション
もし
True
そして、そしてdata
配列をコピーする.もし…。False
そしてmasked=True
すると,返されたマスク配列データは入力と同じ配列を含むことになる.data
(もしdata
これはndarray
あるいは…。MaskedArray
)である。もし…。False
そしてmasked=False
入力データはその場で修正される.黙認する.True
それがそうです。
- data :配列のようなまたは
- 返品
- resultアレイ式.
もし
masked=True
そして次はMaskedArray
マスクが存在する位置に戻る.True
トリミングのための値および入力マスクが存在する位置True
それがそうです。もし
masked=False
そして次はndarray
返されました。もし
return_bounds=True
したがって、上の1つまたは複数のマスク配列に加えて、最小および最大トリミング限界が返される。もし
masked=False
そしてaxis=None
出力配列はフラットな1 Dである.ndarray
ここで、トリミングの値は削除されている。もし…。return_bounds=True
戻りの最小と最大閾値はスカラーである.もし
masked=False
そしてaxis
指定すれば出力するndarray
入力と同じ形状を持つことになりますdata
含まれていますnp.nan
価値が削減されたところ。もし入力すればdata
マスク配列であれば出力される.ndarray
他にも含まれていますnp.nan
入力マスクの位置True
それがそうです。もし…。return_bounds=True
戻り最小と最大クロッピング閾値はndarray
s.