-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This documentation describes how the elisascripts are used in the Wendy Liu lab at UC Irvine. Some of the documentation is specific to our equipment.
- Capture live/dead and ELISA montages with Micro-Manager, each saved as a single image stack
- Stitch live/dead images together with Fiji
- Correct uneven illumination in ELISA images with
normalize_bg.py
- Stitch corrected ELISA images together with
stitch.py
- Manually identify matching landmarks in the stitched ELISA and live/dead images and save paired ROIsets with Fiji
- Run
id_singlets.py
against the live/dead image to find single cells in wells - Run
register_elisa.py
against the ELISA image to measure the intensity of spots corresponding to wells containing singlets - Plot results
Open Fiji. Do not open the image you wish to stitch. Find the Open the Grid/Collection Stitching plugin from Plugins -> Stitching. Choose "Positions from file" from Type and then "Defined by image metadata" from Order.
For "multi-series file," select the live/dead .ome.tiff file you saved with Micro-Manager. (You can either hit Browse or drag and drop a file from Finder into the text box.)
For "Fusion method," use "Linear blending."
Make your other settings match these (non-default settings are highlighted):
Save the stitched image as a .tiff.
python normalize_bg.py my_elisa.ome.tiff
Input:
- the stack of ELISA coverslip images saved by Micro-Manager
- if it exists,
background.tif
will be used instead of recomputing the background image
Output:
-
background.tif
, a single image of the 5%th percentile intensity projection over the input stack -
normalized.tif
(TODO: specify a different name with -o), a TIFF stack with normalized intensity
python stitch.py my_elisa.ome.tiff normalized.tif
Input:
- the stack of ELISA coverslip images saved by Micro-Manager (used for its metadata)
- the stack of normalized images produced by normalize_bg.
Output:
-
stitched.tif
, a stitched, background-normalized image
Tip: if you want to stitch the un-normalized image stack, you can just give it to stitch twice, like python stitch.py my_elisa.ome.tiff my_elisa.ome.tiff
.
TODO: Document this
Manually identify matching landmarks in the stitched ELISA and live/dead images and save paired ROIsets with Fiji.
usage: id_singlets.py [-h] --threshold THRESHOLD [--channel CHANNEL]
[--cell-size min max] [--distance DISTANCE]
[--annotate ANNOTATE] [--output OUTPUT]
stitched_livedead.tif
Example: python id_singlets.py --cell-size 10 32 --annotate annotated_singlets.jpg
Before running id_singlets, you should know
- the minimum and maximum area (in pixel units) of cells in your live stain; provide this with --cell-size or -s
- the intensity threshold you want to use to segment cells from background in the live image; provide this with --threshold or -t
- how far apart (in pixel units) your wells are in the live/dead image; provide this with --distance or -d
Input:
- "stitched_livedead.tif" (or whatever you named it), the live/dead image you stitched with Fiji
Output:
- livedead_results.txt (specify another name with -o), which contains the image coordinates of singlets and information about their live/dead staining intensity
- optionally, an image annotating the singlets which were identified in the input image
Run register_elisa.py
against the ELISA image to measure the intensity of spots corresponding to wells containing singlets
usage: register_elisa.py [-h] [--well-radius WELL_RADIUS] [--tx-plot TX_PLOT]
[--exclude exclude-RoiSet.zip] [--output OUTPUT]
livedead_results.txt livedead-RoiSet.zip elisa.tif
elisa-RoiSet.zip
Before running register_elisa, you should know:
- the radius of the circle to measure for each well, in pixel units; provide this with --well-radius
Input:
- livedead-RoiSet.zip and elisa-RoiSet.zip, the paired list of landmarks in the stitched live/dead and ELISA images
- stitched_elisa.tif, the stitched, background-normalized ELISA image you wish to measure
- livedead_results.txt, the output produced by id_singlets
- optionally, exclude-RoiSet.zip, a set of polygon or freehand ImageJ ROIs drawn against the stitched ELISA image demarcating regions that you do not wish to measure in the ELISA coverslip
Output:
-
elisa_results.txt
(choose another name with -o), a CSV file with measurements of the spots on the coverslip image corresponding to the singlets in livedead_results.txt. Thecells_row
column of the output corresponds to the base-0 index of rows in livedead_results.txt. -
annotated.jpg
, showing the boundaries of each measured well against the ELISA coverslip image -
transform.png
(choose another name with --tx-plot), which plots the (x,y) locations of the landmarks from the ELISA coverslip as well as the transformed locations of the landmarks from the live/dead image; if the affine transformation is correct, the points should be overlapping.
We like ggplot.