Poren auszählen mit ImageJ ?

Begonnen von Bernd Miggel, Februar 12, 2021, 08:22:09 VORMITTAG

Vorheriges Thema - Nächstes Thema

Bernd Miggel

#30
Hallo Florian,

alles klar, ein bestechendes Verfahren!

Da man meist eigene Messwerte mit Literaturangaben vergleicht, stellt sich natürlich die Frage, ob in den Porlings-Monografien entsprechend vorgegangen wurde.

L.G. - Bernd

Florian D.

Hallo Bernd,

das wage ich jetzt mal zu bezweifeln.
Aber warum sollte der Fortschritt vor der Mykologie halt machen?
Btw. In Deinem Beispiel war die gewählte Linie nahezu waagrecht, so dass man annehmen konnte, dass die Strecke durch das ganze Bild annähernd 1024 Pixeln entspricht. Sonst sollte man das Bild wohl vorher drehen, bevor man es auf 1024 Punkte Breite skaliert.

Viele Grüsse
Florian

Bernd Miggel

#32
Hallo Florian,

irgendwie verstehe ich nicht, was du mit "die gewählte Linie nahezu waagrecht" meinst. Wo sollte denn diese waagerechte Linie sein?
Die drei folgenden Bilder zeigen mein Vorgehen. Das ist doch voll OK, oder?

L.G. - Bernd

Florian D.

Das ist keine Richtung minimalen Abstands der Maxima.

Bernd Miggel


Bernd Miggel

Hallo Florian,

wie aber geht man bei Verteilungen vor, wenn die Poren länglich sind wie bei Trametes gibbosa oder wenn eine lamellige Struktur vorliegt wie bei Lenzites betulina. Bei länglichen Poren müsste man eigentlich je ein Maß in x- und in y-Richtung bekommen. (Beide Bilder aus Pilze der Schweiz Band 2).

Viele Grüße
Bernd

Florian D.

Bei der Tramete geht das auch noch, wobei die Nebenmaxima in y Richtung nur noch als Schultern ausgebildet sind. Bei dem Birkenpilz wird es schwierig, auch weil die Lamellen ja nicht mehr alle parallel liegen.

Bernd Miggel

Hallo Florian,

dann wird es für mich Zeit zum Experimentieren und Vergleichen mit Literaturangaben!!

Danke nochmal - Bernd

mlippert

Das geht einfach mit dem Zellzähler von Hand. Punkte setzen, Zahl wird angezeigt. Bei den länglichen Poren müsste es je nach Kontrast auch so funktionieren.

Bernd Miggel

Hallo mlippert,

wie würden denn die einzelnen Befehle in ImageJ nacheinander für das Porenbild von Trametes versicolor aussehen?

L.G. - Bernd

mlippert

Hallo,
ich sitze nicht davor, aber ich glaube unter Analyze gibt es irgendwo einen  Punkt "Cell counter". Da kann man dann händisch mit der Maus Punkte setzen und ImageJ zählt mit.

Grüße,
Micha

Bernd Miggel

Hallo Micha,

das manuelle Auszählen kenne ich bisher nur von der Freeware ClickMaster2000.

L.G. - Bernd

Bernd Miggel

Hallo Steffen,

dein Algorithmus funktioniert einwandfrei, bin erst jetzt zum Testen gekommen.

Kannst du mit nochmal bei einem anderen Bild helfen? Ich weiß nämlich nicht, an welchen "Schrauben" ich drehen muss.
Die Randporen einmal zählen und einmal nicht zählen. Über den Mittelwert der Zählerstände bekomme ich das Optimum hin.

Danke schonmal!!

Hier das Bild:


d65

Hallo Bernd

das Bild sieht insofern ganz anders aus als das erste, als das hier jede Pore eindeutig dunkel ist. Das macht die Sache viel einfacher, da muss man nicht im Fourrier-Raum rumspielen.

run("8-bit");
run("Invert");
run("Gaussian Blur...", "sigma=2");
setThreshold(164, 255);
//setThreshold(164, 255);
setOption("BlackBackground", false);
run("Convert to Mask");
run("Analyze Particles...", "size=50-Infinity show=Outlines display clear summarize add");

Das geht sicher noch einfacher und besser. Ich hab das Bild invertiert, damit die Poren hell sind, so wie bei mir normalerweise die Objekte (Fluoreszenzmikroskopie), wahrscheinlich kann man den Schwellenwert auch als 'dunkler als' festlegen, und nicht nur 'heller als'. Knifflig ist der Schwellenwert an sich (hier 164). Ich hab keinen gefunden, der alle Poren getrennt hat, ohne andere Poren zu verlieren. Jeder Schwellenwert ist nur für einen Teilbereich des Bildes gut. Von daher ist der Ansatz 'lokale Maxima' der auch vorgestellt wurde, sicher auch eine Überlegung wert. Auch dafür bietet sich vermutlich ein Gauss-Filter als Einstieg an, um das Rauschen zu unterdrücken.

Liebe Grüße
Steffen

Bernd Miggel

Hallo Steffen,

danke für den Algorithmus!
Ich möchte ihn in Einzelschritten ausführen, um den jeweiligen Effekt zu sehen. Dabei macht mir deine Macro-Befehl-Darstellung noch Probleme.
Deshalb meine dumme Frage: Wie sind die einzelnen Schritte denn im ImageJ-Menü zu selektieren? Vor allem auch: Was bedeutet "//"?

Liebe Grüße
Bernd