skimage.future#

実験的なAPIを持つ機能。

警告

このパッケージの関数は将来も存在すると期待できますが、APIはバージョン更新ごとに変更される可能性があり、**skimageの2バージョン非推奨のパスに従いません**。したがって、これらの関数の使用には注意し、更新されたskimageバージョンに依存する本番コードでは使用しないでください。

fit_segmenter

画像のラベル付けされた部分と分類器を使用してセグメンテーションを行う。

manual_lasso_segmentation

マウスで自由形状の選択に基づいてラベル画像を返す。

manual_polygon_segmentation

マウスで作成したポリゴン選択に基づいてラベル画像を返す。

predict_segmenter

事前に学習済みの分類器を使用して画像のセグメンテーションを行う。

TrainableSegmenter

ピクセルを分類するための推定器。


skimage.future.fit_segmenter(labels, features, clf)[ソース]#

画像のラベル付けされた部分と分類器を使用してセグメンテーションを行う。

パラメータ:
labels整数型のndarray

ラベルの画像。ラベル≧1はトレーニングセットに対応し、ラベル0はセグメント化される未ラベルのピクセルに対応します。

featuresndarray

特徴量の配列。最初の次元は特徴量の数を表し、他の次元はlabels.shapeに対応します。

clf分類器オブジェクト

scikit-learnのAPIのようにfitメソッドとpredictメソッドを公開する分類器オブジェクト。例えば、RandomForestClassifierまたはLogisticRegression分類器のインスタンス。

戻り値:
clf分類器オブジェクト

labelsで学習された分類器

例外:
self.clfがまだ適合していない場合(self.fitを使用)、NotFittedErrorが発生します。

局所的特徴量とランダムフォレストを用いた学習可能なセグメンテーション

局所的特徴量とランダムフォレストを用いた学習可能なセグメンテーション

skimage.future.manual_lasso_segmentation(image, alpha=0.4, return_all=False)[ソース]#

マウスで自由形状の選択に基づいてラベル画像を返す。

パラメータ:
image(M, N[, 3])配列

グレースケールまたはRGB画像。

alphafloat、省略可能

画像上に描画されるポリゴンの透明度値。

return_allbool、省略可能

Trueの場合、描画された各ポリゴンを含む配列が返されます。(ポリゴンは重なり合う可能性があります。)False(デフォルト)の場合、後続のポリゴンは重なり合う場所で先行するポリゴンを「上書き」します。

戻り値:
labelsint型の配列、形状([Q, ]M, N)

セグメント化された領域。modeが'separate'の場合、配列の先頭次元はユーザーが描いた領域の数に対応します。

備考

左マウスボタンを押したままにして、各オブジェクトの周囲に描画します。

サンプル

>>> from skimage import data, future
>>> import matplotlib.pyplot as plt  
>>> camera = data.camera()
>>> mask = future.manual_lasso_segmentation(camera)  
>>> fig, ax = plt.subplots()  
>>> ax.imshow(mask)           
>>> plt.show()                

skimage.future.manual_polygon_segmentation(image, alpha=0.4, return_all=False)[ソース]#

マウスで作成したポリゴン選択に基づいてラベル画像を返す。

パラメータ:
image(M, N[, 3])配列

グレースケールまたはRGB画像。

alphafloat、省略可能

画像上に描画されるポリゴンの透明度値。

return_allbool、省略可能

Trueの場合、描画された各ポリゴンを含む配列が返されます。(ポリゴンは重なり合う可能性があります。)False(デフォルト)の場合、後続のポリゴンは重なり合う場所で先行するポリゴンを「上書き」します。

戻り値:
labelsint型の配列、形状([Q, ]M, N)

セグメント化された領域。modeが'separate'の場合、配列の先頭次元はユーザーが描いた領域の数に対応します。

備考

左クリックしてポリゴンの頂点を選択し、すべての頂点を選択したら右クリックして選択を確認します。

サンプル

>>> from skimage import data, future
>>> import matplotlib.pyplot as plt  
>>> camera = data.camera()
>>> mask = future.manual_polygon_segmentation(camera)  
>>> fig, ax = plt.subplots()  
>>> ax.imshow(mask)           
>>> plt.show()                

skimage.future.predict_segmenter(features, clf)[ソース]#

事前に学習済みの分類器を使用して画像のセグメンテーションを行う。

パラメータ:
featuresndarray

特徴量の配列。最後の次元は特徴量の数を表し、他の次元はセグメント化する画像の形状と互換性があります、またはフラット化された画像。

clf分類器オブジェクト

scikit-learnのAPIのようにpredictメソッドを公開する、学習済みの分類器オブジェクト。例えば、RandomForestClassifierまたはLogisticRegression分類器のインスタンス。分類器は既に学習済みである必要があります(例えば、skimage.future.fit_segmenter()を使用)。

戻り値:
outputndarray

分類器の予測から構築されたラベル付き配列。

局所的特徴量とランダムフォレストを用いた学習可能なセグメンテーション

局所的特徴量とランダムフォレストを用いた学習可能なセグメンテーション
class skimage.future.TrainableSegmenter(clf=None, features_func=None)[ソース]#

基本クラス:object

ピクセルを分類するための推定器。

パラメータ:
clf分類器オブジェクト、省略可能

scikit-learnのAPIのようにfitメソッドとpredictメソッドを公開する分類器オブジェクト。例えば、RandomForestClassifierまたはLogisticRegression分類器のインスタンス。

features_func関数、省略可能

画像のすべてのピクセルで特徴量を計算する関数で、分類器に渡されます。出力は(m_features, *labels.shape)の形状である必要があります。Noneの場合、skimage.feature.multiscale_basic_features()が使用されます。

メソッド

fit(image, labels)

部分的にラベル付けされた(アノテーションされた)画像を使用して分類器を学習する。

predict(image)

学習済みの内部分類器を使用して新しい画像をセグメント化する。

compute_features

__init__(clf=None, features_func=None)[ソース]#
compute_features(image)[ソース]#
fit(image, labels)[ソース]#

部分的にラベル付けされた(アノテーションされた)画像を使用して分類器を学習する。

パラメータ:
imagendarray

入力画像。グレースケールまたはマルチチャンネルで、self.features_funcと互換性のある次元数を持つ必要があります。

labels整数型のndarray

imageと互換性のある形状のラベル付き配列(シングルチャンネル画像の場合は同じ形状)。ラベル≧1はトレーニングセットに対応し、ラベル0はセグメント化される未ラベルのピクセルに対応します。

predict(image)[ソース]#

学習済みの内部分類器を使用して新しい画像をセグメント化する。

パラメータ:
imagendarray

入力画像。グレースケールまたはマルチチャンネルで、self.features_funcと互換性のある次元数を持つ必要があります。

例外:
self.clfがまだ適合していない場合(self.fitを使用)、NotFittedErrorが発生します。