pyvista.ImageDataFilters.image_dilate_erode#

ImageDataFilters.image_dilate_erode(dilate_value=1.0, erode_value=0.0, kernel_size=(3, 3, 3), scalars=None, progress_bar=False)[ソース]#

ある値を希釈し,別の値を侵食します.

image_dilate_erode は,ある値を拡張し,別の値を侵食します.楕円形のフットプリントを使用し,2つの値の境界でのみ膨張/収縮します.このフィルターは,今のところ X, Y, Z 軸に制限されています.特定の軸のカーネルサイズを 1 に設定することにより,2 次元または 1 次元のフィルタに退化させることができます.

パラメータ:
dilate_valuefloat, default: 1.0

データセットの拡張値.

erode_valuefloat, default: 0.0

データセット内の値を消去します.

kernel_sizesequence[int], default: (3, 3, 3)

3軸に沿ったカーネルの大きさを決定します.

scalarsstr, optional

処理に使用するスカラーの名前.デフォルトは現在アクティブなスカラーです.

progress_barbool, default: False

進行状況を示す進行状況バーを表示します.

戻り値:
pyvista.ImageData

指定したスカラーの境界で膨張/収縮されたDataset.

備考

このフィルタは点データのみをサポートしています.任意のセルデータをポイントデータに変換するために cell_data_to_point_data() フィルタを使用することを検討してください.

例題のデータセットで画像膨張/収縮のデモを行います.まず,アクティブなスカラーを持つサンプルデータセットをプロットします.

>>> from pyvista import examples
>>> uni = examples.load_uniform()
>>> uni.plot()
../../../_images/pyvista-ImageDataFilters-image_dilate_erode-1_00_00.png

ここで,画像の閾値を threshold=[400, 600] としてプロットしてみましょう.閾値内の値は1,閾値外の値は0であることに注意してください.

>>> ithresh = uni.image_threshold([400, 600])
>>> ithresh.plot()
../../../_images/pyvista-ImageDataFilters-image_dilate_erode-1_01_00.png

閾値処理された画像に穴が開いていることに注目してください.この穴を埋めるために,大きなカーネルを持つ膨張/収縮フィルターを適用します.

>>> idilate = ithresh.image_dilate_erode(kernel_size=[5, 5, 5])
>>> idilate.plot()
../../../_images/pyvista-ImageDataFilters-image_dilate_erode-1_02_00.png