Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

  • Ich bin ein Biologe mit sehr wenig Erfahrung in der Bildverarbeitung, aber mit ausreichenden MATLAB-Kenntnissen und der Bildverarbeitungs-Toolbox. Idealerweise suche ich nach einer MATLAB-basierten Lösung, aber eine Herangehensweise, die darlegt, wie dies zu tun ist, wäre auch hilfreich.

    Update (28.11.2011) Es scheint, dass es bestimmte Probleme gibt (z. B. Überschneidungen im Signal und Definition der Farbe), wenn zusammengesetzte Bilder verwendet werden (was ich in der ursprünglichen Frage dargestellt habe). Ich füge separate Bilder aus den 2 Kanälen hinzu: grün Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle und rot Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle (die türkisfarbenen Bereiche im zusammengesetzten Bild können ignoriert werden) und das Coposite-Bild Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle. Der rote Kanal ist aus zwei Gründen schlecht: 1. Er hat einen schlechten Kontrast aufgrund eines höheren Hintergrunds. 2. Rot scheint auf der Hintergrundebene ins Grüne zu bluten.

    Ein -Feature ist definiert als ein Bereich im zusammengesetzten Bild, der Grün-Rot-Türkis-Rot-Grün oder äquivalent die beiden angrenzenden hat lineare Segmente auf dem Grün und dem Rot, die kolinear und ansteckend sind.

    Ich hoffe, dass das Betrachten der Bilder aus den zwei separaten Kanälen die Identifizierung der Merkmale erleichtert.

    Ich habe folgende Vorschläge für den Algorithmus:

    1. Identifizieren Sie zunächst co-lineare grüne Segmente (und Länge der grünen Segmente bestimmen)

    2. Stellen Sie fest, ob benachbarte ansteckende und kollineare Segmente aufeinander zu liegen (dh grün- & gt; rot- & gt; & lt; rot & lt; -Grün) im roten Kanal. Wenn ja, definieren Sie die Länge des roten Segments von dem Punkt aus, an dem grüne Segmente enden (da sie sich mit den grünen Segmenten überlappen), bis zu dem Punkt auf dem roten Segment, der dem anderen roten Segment des Features am nächsten liegt. (dh eines der Enden des roten Segments ist an das Ende des überlappenden grünen Segments gesetzt.)

    Vielen Dank!

    Hintergrund :

    Meine Frage bezieht sich auf das Extrahieren eines Features aus einem Bild: <

    28 November 2011
    Lee Sande
1 answer
  • Beispiel in Mathematica:

     (* Get your image*)
    img = Import["http://dl.dropbox.com/u/18072545/c_29.tif"];
    (*Detect the extended minima and remove background*)
    nB = ImageSubtract[img, ColorNegate@FillingTransform@ColorNegate[img]]  
     

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

     (*Separate RGB channels*)
    cS = ImageAdjust /@ ColorSeparate[img]
     

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

     (*Binarize*)
    bcS = Binarize[#, .4] & /@ cS  
     

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

     (*Remove large elements*)
    tH = TopHatTransform[#, DiskMatrix[2]] & /@ bcS  
     

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

     (*Detect lines using a Hough Transform*)
    lines = ImageLines[#, .01, .8] & /@ tH
    (*Plot them*)
    Show[img, Graphics[{
       Thickness[.01], Red, Line /@ (lines[[1]]),
       Thickness[.006], Green, Line /@ (lines[[2]]),
       Thickness[.004], Blue, Line /@ (lines[[3]])}]]
    (*Red and green are superimposed*)  
     

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

    Bearbeiten

    Hier sehen Sie möglicherweise die roten und grünen Cluster. Wie Sie sich vorstellen können, müssen Sie entscheiden, wann eine Portion rot ist!

    Längenmessung von DNA-Fasern anhand eines Bildes einzelner Moleküle

    27 November 2011
    Bernard