PlateReader

Author: Norbert Vischer
Date: 29-Jun-2024

Download

PlateReader is an ImageJ macro set that analyses the fluorescence response of small Arabidopsis leaves after a special treatment. The leaves are arranged in a 96-well plate, from which a time-lapse series is recorded as stack. Irregular time intervals are supported if each frame contains a timestamp as metadata like in the demo stack.

For addressing the leaves, 96 circles are positioned as overlay which is visible in all stack frames.

Inside each circle, parts whose intensity exceeds a user-defined threshold are considered to be part of that leaf. This can be visualised as a stack of "Isolated leaves" (green leaves on black background). Results are collected in TableA (see Figures below).

TableA is used to create plots (brightness vs time) and to create TableB, which in turn shows information per leaf like statistics and Flags.

Statistics:
Between t=0 and the brightness peak, the following parameters are calculated and stored in TableB:

amp = yMax-yMin (amplitude)  
t0 = time of minimum (before maximum)
t20 = time when 20% of the amplitude is reached  
t50 = .. 50% .. 
t80 = .. 80% ..  
t100 = time of maximum   

TableB supports an additional column called "Flags", used for single-character flags that are also shown in the plate image.

Figures


Fig 1: first of 11 frames. Timestamp is shown as metadata (top)


Fig 2: Enlarged


Fig 3: Stack of Isolated Leaves


Fig 4: TableA evaluates time stamps and records leaf brightness vs time.


Fig 5: Stack of 96 plots, showing plot of leaf#1


Fig 6: TableB (96 rows) shows statistics and user flags. Green circles are stored as overlay as part of the stack. Colored flags (A, B) are read from TableB and shown/hidden via the RoiManager.


Fig 7: Montage of Plots as 12 x 8 matrix

PlateReader: step-by-step instructions

  1. This project was tested with the ImageJ application

  2. In ImageJ, choose menu Plugins> Macros> Install... and install file "PlateReader_xx.txt", (or choose Macros> Install Macros when this file is already in front)

  3. Under menu Plugins>Macros, the following commands appear:

        Suggest 4 Circles  
        Create 96 Circles  
        Define Threshold  
        Calc Wells
        TableA-to-Plots  
        Toggle Overlay 
        Toggle Labels/Flags  
        Show Isolated Leaves 
        Show Plots  
        Set/Clear Flag #1 [1]
        Set/Clear Flag #2 [2]
        Set/Clear Flag #3 [3]
        Change Flags... [0]
        Edit Flags in TableB
        Register Current Stack
        Show Related Files 
  4. Open demo-stack (here: 22_wtx15_plate1b.tif) (8-bit tif with timestamp in metadata)

  5. This demo stack already contains the 96-circles overlay, so you can skip the next 4 points and directly jump to Register Current Stack

  6. Choose Plugins> Macros> Suggest 4 Circles
    Four circles will appear as overlay.

  7. Move each circle to the correct corner by dragging its label

  8. Choose Plugins> Macros> Create 96 Circles
    96 circles will appear as overlay. Still, you can correct any of the 4 corner circles and choose again Create 96 Circles: remaining 92 circles will be re-adjusted

  9. Choose File>Save, which saves the stack together with overlay

  10. Choose Plugins> Macros> Register Current Stack which means that tables and plots will be connected to this stack

  11. Choose Plugins> Macros> Define Threshold
    Image appears with red threshold, you are asked to adjust the threshold. In this demo, drag sliders e.g. to low=70, high=255. Alternatively, change numbers in their fields but activate Window "Threshold" before pressing "return"

  12. Choose Plugins> Macros> Calc Wells
    TableA will be created showing mean brightness per time interval and well.

  13. Choose Plugins> Macros> TableA-to-Plots
    From TableA, a stack of Plots is created: brightness vs time. Additionally, TableB is created, containing following parameters per well: amp, t20, t50 and t80 (see introduction). TableB and Plots are saved in the folder of the time-lapse stack.

  14. Choose optionally Plugins> Macros> Show Plots...
    and select dynamic plots or montage of plots

Naming convention:

TableA, TableB and Plots inherit name and file location from the time-lapse stack. Switching to a different plate, you need to 'register' the plate stack.

Example:

Content File name
Time-lapse stack MyStack.tif
TableA TableA_MyStack.csv
TableB TableB_MyStack.csv
Plots Plots_MyStack.tif

Macro Commands


ImageJ Notes:
* Closing a table: no 'save changes' warning appears
* Opening table with same name: existing table is overwritten without warning
* Opening e.g image file "MyStack.tif" a second time while it was already open, it appears as MyStack-1.tif. To avoid confusion, the latter cannot be registered ("minus sign at end not permitted")
* Please use ImageJ 1.54j16 or later