2017-01-09 5 views
0

Der folgende Code gibt mir den Fehler im Titel:skimage - Typeerror: peak_local_max() bekam ein unerwartetes Stichwort Argument ‚num_peaks_per_label‘

from skimage.feature import peak_local_max 
local_maxi = peak_local_max(imd,labels=iml, 
          indices=False,num_peaks_per_label=2) 

Wo imd ist ein „Abstand transformierte Bild“, die mit erhalten :

from scipy import ndimage 
imd = ndimage.distance_transform_edt(im) 

im ist der Eingang Binärbild, das Ich mag würde später Segment mit dem Wendepunkt der Funktion scikit-Bildes. Aber um diese Funktion richtig nutzen zu können, muss ich zuerst die Marker finden, die als Startüberflutungspunkte dienen: das versuche ich mit der Funktion 'peak_local_max'.

Auch ist iml die markierte Version von im, dass ich mit bekam:

from skimage.measure import label 
iml = label(im) 

weiß ich nicht, was ich falsch gemacht haben. Ich habe auch bemerkt, dass die Funktion ihr num_peaks Argument völlig ignoriert. Zum Beispiel, wenn ich tue:

local_maxi = peak_local_max(imd,labels=iml, 
          indices=True,num_peaks=1) 

Ich bekomme immer die gleiche Anzahl von Spitzen festgestellt, wie wenn ich gesetzt num_peaks=500 oder num_peaks=np.inf. Was vermisse ich hier bitte?

+0

Sind Sie sicher, dass Sie die neueste Version von 'skimage' ausführen? Scheint so, als ob dieses Keyword kürzlich hinzugefügt wurde. Ich nehme an, dass Sie eine Version haben, die mit der neuesten Version der Dokumentation nicht auf dem neuesten Stand ist. Könnten Sie überprüfen, welche Version Sie ausführen? –

+0

@ a_guest Hallo, meine Version ist 0.12.3 laut Anaconda Navigator. Ich habe Scikit-Image nicht manuell installiert. Es scheint, als wäre dies die gleiche Version wie auf der Website von scikit-image. Sie erwähnen jedoch nicht, dass die neueste stabile Version in der Anaconda-Distribution enthalten ist, wie es bei Python (x, y) und der Enthought-Python-Distribution der Fall ist. Ich werde versuchen, es manuell zu installieren, danke für den Rat. – kev

+0

@ a_guest Hallo nochmal. Ich habe versucht, die .whl-Datei zu installieren, die sie auf der Website bereitstellen, aber nur die Zeilen "Anforderung bereits erfüllt" als Antwort erhalten. Ich denke, meine Version ist auf dem neuesten Stand? – kev

Antwort

0

Wie @a_guest darauf hinwies, stimmte meine Version skimage nicht mit der Version der Dokumentation überein, auf die ich mich bezog. Das Argument num_peaks_per_label ist derzeit nur in der Version v0.13dev verfügbar. Die Aktualisierung meiner Version auf die Entwicklerversion behob mein Problem mit dem Argument num_peaks.

+0

Sie können dies als die Antwort auf Ihre Frage überprüfen! –

Verwandte Themen