Inhaltsverzeichnis:

Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren - Gunook
Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren - Gunook

Video: Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren - Gunook

Video: Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren - Gunook
Video: Unterschiedliche Normblätter in einem Projekt verwenden. Allpolig und auch in Auswerungen. 2024, November
Anonim
Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren
Verwenden unterschiedlicher Graustufen-Intensitätsschwellen, um Anomalien in Mammogramm-Bildern zu visualisieren und zu identifizieren

Der Zweck dieses Projekts bestand darin, einen Parameter zu identifizieren und zu verwenden, um Graustufen-Mammogrammbilder verschiedener Hintergrundgewebeklassifikationen zu verarbeiten: Fettgewebe, Fettdrüsen und dichtes Gewebe. Diese Klassifizierung wird verwendet, wenn Radiologen Mammographien analysieren und berücksichtigen müssen, ob die Gewebedichte Anomalien wie Läsionen oder Tumoren verdeckt. Dies liegt daran, dass sowohl normale physiologische Strukturen wie Drüsengewebe als auch faseriges Bindegewebe vorhanden sind. und abnorme Morphologien wie Verkalkungen und Tumoren erscheinen auf dem Mammogramm sehr hell, während weniger dichtes Fettgewebe schwarz erscheint. Daher war es angemessen, einen Klassifikator zu programmieren, der Pixelintensitätsniveaus manipulieren kann, um Massen am besten sichtbar zu machen und zu identifizieren.

Schritt 1: Mammogrammdaten organisieren

Mammogrammdaten organisieren
Mammogrammdaten organisieren

Eines der ersten Dinge, die mir klar wurden, war, die Daten auf eine sehr klare, prägnante und zugängliche Weise zu organisieren. Dies sind die Variablen, die ich aus der Mini-MIAS-Datenbank für Mammogramme extrahiert habe. Ich habe zwei Arrays erstellt. Eine mit 4 Spalten:

  1. Bildnummer:
  2. x-Koordinate der Masse
  3. y-Koordinate der Masse
  4. Massenradius: (Dies definiert eine ungefähre Größe für die Masse

Das zweite Array enthielt Klassifizierungsinformationen:

  1. Art des Hintergrundgewebes: Fett (F), Fettdrüse (G), Dicht (D)
  2. Beschreibung der Masse: Wohldefiniert (CIRC), spiculated (SPIC), schlecht definiert andere (MISC) Architekturverzerrung (ARCH), Asymmetrie (ASYM), Normal (NORM)
  3. Diagnosen: Gutartig (B), Bösartig (M)

Da das Ziel dieses Projekts darin bestand, den besten Schwellenwert für jede Art von Hintergrundgewebe zu bestimmen, waren nicht alle Informationen erforderlich. Sie können Ihr Projekt jedoch um Texturanalysen erweitern und Ihren Klassifikator gegen die bekannten Massenbeschreibungen testen.

Randnotiz: Die Datenbank, aus der ich die diagnostizierten Mammogrammbilder erhalten habe, organisierte die Informationen zu jedem Mammogramm in einer von den Bildern getrennten Textdatei. Es war etwas schwierig für mich, die Daten aus einer Textdatei zu extrahieren und in Array-Formularen zu organisieren, aber der folgende Link war sehr hilfreich, um all das herauszufinden. Alternativ passen Sie einfach den Code, den ich oben eingefügt habe, für Ihre Zwecke an.

Mammogramm-Dateiformat: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

TextScan-Hilfe:

Schritt 2: Bildverarbeitung

Bildverarbeitung
Bildverarbeitung

Nun, das zweite, was mir auffiel, als ich herausfand, wie man Massen identifiziert, war, dass ich bei vielen anormalen Mammogrammen nicht visuell erkennen konnte, wo die Anomalie war oder wie groß sie war. Da ich kein erfahrener Radiologe bin, wurde es natürlich erwartet. Der einfachste Weg, Anomalien zu finden (laut meiner langen Google-Suche), bestand jedoch darin, Konzentrationen von hellen und dunklen Bereichen zu untersuchen. Ich habe hauptsächlich die Funktion adapthisteq verwendet, um den Bildkontrast zu verbessern, und dann imbinarisieren, um das Bild in ein Binärbild umzuwandeln, um mit verschiedenen Schwellenwerten zu experimentieren.

  1. adapthisteq: Diese Funktion transformiert Intensitätswerte von Graustufen- und RGB-Bildern mit kontrastbegrenzter adaptiver Histogramm-Entzerrung. Mit anderen Worten, es passt das Histogramm der Intensitätswerte an einen bestimmten Verteilungstyp an. Der Mathworks-Link für diese Funktion ist unten zum Weiterlesen angehängt.
  2. imbinarize: Erstellt ein Binärbild aus einem Graustufenbild, indem alle Pixel über einer bestimmten Intensität 1s und die Pixel unter diesem Wert eine 0 zugewiesen werden. Ich habe diese Funktion verwendet, um den optimalen Schwellenwert zur Reduzierung des Hintergrundgeweberauschens zu testen.

Schritt 3: Schwellenwertcode

Schwellenwertcode
Schwellenwertcode

Eine for-Schleife wird verwendet, um das Mammogramm mit unterschiedlichen Schwellenwerten zu binarisieren. Um ein größeres Bild zu erhalten, enthält die for-Schleife den Code von Schritt 3 bis Schritt 7. Jedes Binärbild wird also auf Auffälligkeiten analysiert. Darüber hinaus ist diese for-Schleife in eine andere for-Schleife eingeschlossen, die in jeder Iteration ein neues Mammogramm-Bild aus der Datenbank importiert.

Schritt 4: Auffinden von Anomalien für jedes binäre Bild

Auffinden von Anomalien für jedes binäre Bild
Auffinden von Anomalien für jedes binäre Bild
Auffinden von Anomalien für jedes binäre Bild
Auffinden von Anomalien für jedes binäre Bild

Ich habe die Binärbilder mit der Strel-Funktion in Verbindung mit imopen weiterverarbeitet, um Hintergrundrauschen zu entfernen. Das Binärbild aus dem vorherigen Schritt wird invertiert und unter Verwendung der durch SE definierten Nachbarschaft gefiltert. Dann habe ich bwlabel verwendet, um alle Bereiche zu beschriften, die mindestens 8 verbundene Pixel hatten.

Die Funktion "Region Props" wurde verwendet, um die Schwerpunkt- und Flächeneigenschaften jedes von bwlabel identifizierten Spots zu finden.

Dann wurden alle Spots größer als 500 Pixel mit ismember identifiziert. Die Schwerpunkte für die identifizierten Spots wurden auf einem Bild aufgetragen, das nur die Spots mit einer größeren Fläche als 500 anzeigte. Flecken = Identifiziert>0;

Schritt 5: Plotten der diagnostizierten Massenposition und -größe für den visuellen Vergleich

Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich
Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich
Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich
Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich
Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich
Plotten der diagnostizierten Massenlage und -größe für den visuellen Vergleich

Ich wollte sehen, ob die von bwlabel gefundenen Spots richtig sind. Ich habe dies auf zwei Arten getan. Ich habe zuerst die Genauigkeit meines Klassifikators analysiert, indem ich einen visuellen Vergleich durchgeführt habe. Ich habe einfach die tatsächliche Größe und Position der Anomalie (roter Kreis) und die durch den Code (blaues x) bestimmte Position auf dem vorverarbeiteten Mammogramm-Bild aufgetragen. Die sechs obigen Bilder zeigen die Auswirkungen einer Erhöhung des Graustufenschwellenwerts.

Schritt 6: Implementieren der zweiten Vergleichsmethode

Implementieren der zweiten Vergleichsmethode
Implementieren der zweiten Vergleichsmethode

Die zweite Möglichkeit, den Klassifikator und die Schwellenwerte zu testen, bestand darin, zu bestimmen, ob die vom Klassifikator gefundenen Orte innerhalb einer bestimmten Entfernung von den Koordinaten der diagnostizierten Anomalie lagen. Ich habe die Schwellenwerte, bei denen mindestens einer der identifizierten Punkte innerhalb von 1,5 * r von der bekannten Anomalie lag, in einer separaten Textdatei namens Mammogrammdaten gespeichert. Der Zweck dafür war, den minimalen Schwellenwert zu finden, der für meinen Klassifikator erforderlich ist, um die Anomalie zu identifizieren.

Schritt 7: Analysieren der gesammelten Daten

Gesammelte Daten analysieren
Gesammelte Daten analysieren
Gesammelte Daten analysieren
Gesammelte Daten analysieren

Ich habe das Programm auf allen abnormalen Mammogrammbildern ausgeführt und ich hatte eine riesige Textdatei mit Daten. Um den besten Schwellenwert für jeden Gewebetyp zu finden, ordnete ich die Daten nach Gewebetyp und zeichnete ein Histogramm der Schwellenwerte für jeden Gewebetyp. Der richtige Schwellenwert wurde entschieden, welcher Schwellenwert die genauesten Ergebnisse für jeden Gewebetyp lieferte. Ich habe diese Daten gespeichert, um sie in meinen Klassifikator hochzuladen.

Schritt 8: Erstellen Sie Ihren eigenen Klassifikator

Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!
Machen Sie Ihren eigenen Klassifikator!

Nachdem ich die am besten geeigneten Schwellenwerte für jeden Gewebetyp gefunden hatte, bearbeitete ich meinen ursprünglichen Code, damit ein Benutzer die Bildnummer und den Gewebetyp eingab, um den Schwellenwert für das Mammogrammbild auszuwählen. Ich habe dann die diagnostizierte Mammogramm-Position mit den gefundenen Positionen auf den Original-Mammogramm-Bildern aufgetragen. Ich wollte dies mehr Spaß machen, also habe ich eine Funktion programmiert, um einen kreisförmigen Bereich um den ROI herum zuzuschneiden. Der Benutzer wird angewiesen, einen Mittelpunkt und mehrere Punkte auszuwählen, die den ROI am besten umfassen. Ich habe beide Matlab-Dateien hier angehängt.

Schritt 9: Verbesserungen? Irgendwelche Gedanken?

Als ich dieses anweisbare schrieb, beginne ich, viele Verbesserungen zu sehen, die ich am Klassifikator vornehmen könnte, z. Datei. Da dies ein Projekt mit einer Deadline war, musste ich irgendwo aufhören, aber ich hoffe, dass ich die Bildverarbeitungskenntnisse, die ich in anderen Anwendungen erlernt habe, anwenden kann. Außerdem habe ich die Datei angehängt, die verwendet wurde, um alle anormalen Mammogrammbilder stapelweise zu verarbeiten.

Empfohlen: