Temporal color code


I do super-localization microscopy. I record a stack of about 10,000 images in which single molecule are localized, the analysis output is a table that contains the single molecule localizations (x and y coordinates) and the frame number in which the molecule was detected.

With the coordinates, I can create an image in which I just report the position of the detected molecule. In this case the contrast in given by the number of localization per pixel.

I would like to add another contrat using a color code that code for the frame in which the molecule was detected. For instance, in frame 1 n1 molecules are detected and they will appear in blue, in the last frame n10000 molecules are detected and appear un red and in between we have all the other colors. 

I have no idea how this can be done in Igor so if someone has an idea I would be very happy.


// make plot of your localisations
Display yw vs xw
// change display to filled circles
ModifyGraph mode=3,marker=19
// reverse y-axis so it corresponds to the image (maybe change range too)
SetAxis/A/R left
// colour graph according to temporal sequence
ModifyGraph zColor(yw)={frame,1,10000,Rainbow,0}

When you import the table into Igor, you have three 1D waves (x, y and frame number) where each row is a localisation. Let's say they are called xw, yw, and frame. The above code will make the plot you want. The choice of rainbow gives red to violet, but you can reverse it or pick another LUT by clicking f(z) as the colour after double clicking a point. In my example I have set the limits of the LUT as 1 to 10000 based on your question, but this is also controllable in the dialog.


Thank a lot, I was thinking of something much more complicated. It works perfectly ! 

Best regards,