Measuring length of DNA fibers from an image of single molecules
Example 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]]  




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


  

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


  

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


  

(*Detect lines using a Hough Transform*)
lines = ImageLines[#, .01, .8] &amp; /@ 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*)  




Edit

Here you may see the Red and Green clusters apart. As you can imagine, you have to decide when a portion is red!