SpotFinderZ (from now on simply SpotFinder) detects round, usually diffraction-limited spots
inside bacterial cells outlined with MicrobeTracker and
places them into the meshes structure produced by MicrobeTracker. The program is written in MATLAB and saves the data in
the MicrobeTracker format by appending additional fields.
Buttons and controls
Main window of SpotFinder
Images - displays images with detected cells;
Save - saves the images (the program will ask for the first
image name and then will increment the number);
Show meshes - displays meshes when displaying images;
Meshes - save meshes;
File - output them to a file (the program will ask for the
Screen - output the array to the workspace.
No normalization - default mode;
Cell - divides the intensity of every spot inside a cell by
the mean intensity inside this cell;
Frame - divides the intensity of every spot inside a cell by
the mean intensity of the cells on each frame;
Stack - divides the intensity of every spot inside a cell by
the mean intensity of the all cells in the stack;
Data from meshes - if checked, extracts the data from Signal1
field in the cellList structure, otherwise obtains it from integration of the
image (in this case the image has to be background-subtracted).
Help - displays this page in MATLAB browser;
Use stack files - loads images from stack files (multiple formats are supported, must be single channel), only works if Bioformats software is installed;
Params - edit, load and save the parameters;
Adjust - run adjustment mode to get the right parameters by
clicking on the spots;
Run - run the program for every cell.
Use on range of frames (appears if you press "+" and
dissapears if you press "-" on the keyboard) - the range of frames to use for
parameter adjustment and spot detection; empty fields correspond to the
beginning / end of the whole range.
Adjustment mode controls
Previous/Next or left/right arrow on the keybiard - go to the
previous/next cell to train, the properties of the spots on the displayed
cells and their selected/unselected states are memorized;
Update params - update the parameters using the memorized set
of previously displayed spots; the last 6 parameters in the parameter list are
those that are updated;
Stop - terminate the adjustment mode; the parameters are
updated automatically, unless a parameter window is open;
Adjust contrast of the current image (appears if you press
"a" on the keyboard).
The output format is based on
that of MicrobeTracker. It is saved
as standard .mat files, which can be opened with MATLAB without running
MicrobeTracker or SpotFinder, with all SpotFinder results appended into the
cellList variable, and the parameters saved as the params
The cellList variable is a MATLAB cell array with a hierarchical
organization. It is an array of frames, each being an array of cells, each being
a structure of fields describing one biological cell on one frame. Among those
fields there is one called spots, which is produced by SpotFinder. The
spots field has several subfields, listed below:
l - coordinate along the centerline.
d - signed distance from the centerline.
x - euclidian coordinate from the left of the image.
y - euclidian coordinate from the top of the image.
position - segment number in which the spot is located. The spot
can be outside of the cell if nonzero Expand cell parameter is used,
in which case position would be zero.
b - background under the spots (one of the Gaussian fit parameters).
w - width of the spots (one of the Gaussian fit parameters).
h - height of the spots (one of the Gaussian fit parameters).
magnitude - brightness of the spots (combined brightness under the
Gaussian fit excluding background).
The parameters x, y, b, w, and h are
obtained by fitting the spot to the function
where (x0, y0) is the current point, the
parameters correspond to the mentioned fields of the spots structure. The
values of the l and d fields are calculated by projection of the
spot center onto the cell coordinate system, the value of the magnitude
field is calculated as πw2h.
The typical values are shown for images obtained using a 100x objective at
0.064 μm/pixel resolution unless mentioned otherwise. The parameters
from Max width and below are adjusted by training,
usually there is no need for manual adjustment.
- Expand cell - Amount of mesh expansion in order to take into account the fluorescence outside the cell because of diffraction and aberrations. Real positive number, in pixels.
- Exclude other cells - If checked, the program will not pick spots located outside of the countour close to the contour of another cell.
- Low cutoff - Lower cutoff of the bandpass filtering step. Integer number, in pixels.
- High cutoff - High cutoff of the bandpass filtering step. Integer number, in pixels.
- Min filtered height - Minimum spot size after filtering (before fitting) to be considered introduced to reduce processing time by removing false spots sooner.
- Fit area size - Radius of the area used to fit spots. Larger areas produce more reliable fit, but increase interference with neighbor spots. Real positive number, in pixels.
- Resize - Factor to resize the image (for example, if it is 2, the number of pixels in each direction doubles) to detect spots more presizely. Real positive number.
- Shift limit - Factor responsible to attraction of the spot to its originally detected position. Non-negarive real number, default 0.01. Reduce 10-100 times if spots stick to pixel centers losing subpixel resolution (use testspotprecision function to test). Try increasing if the program ocasionally rejects good spots.
- Remove ridges - If checked, the ridge removal filter will be applied to ensure round-shaped spots.
- Scale factor - Factor to scale all size parameters below (such as cell width and errors) to use fitted parameters for cells imaged at different resolution.
- Max width - Maximum allowed width of a spot. Real positive number, in pixels squared.
- Min width - Minimum allowed width of a spot. Real positive number, in pixels squared.
- Min height - Minimum allowed height of a spot. Real positive number, in image units.
- Max rel. squate error - Maximum allowed relative square error.
- Max var/sq. area ratio - Maximum allowed ratio of the variance on the age to spot area.
- Min filtered/fitted ratio - Minimum allowed mean ratio of the filtered spot to fit.
In this example we use images of Caulobacter crescentus CB15N cells
expressing CFP-ParB that localizes at the chromosomal origin of replication. The
images (phase contrast and cfp fluorescence) are places in the
\examples\spotfinder\ subfolder of the MicrobeTracker folder. The cells
were outlined with MicrobeTracker, with the result saved in
meshes.mat file in the same folder. To dislay the
contours on top of the phase contrast images select the mentioned folder as
the active MATLAB folder (otherwise the files will not be found) and type
the following commands in MATLAB workspace:
>>images = loadimageseries('phase_images');
This will display the image below. Note, the number of images will be the
same as the number of original images. Therefore, you may want to limit it if
the number of files is large (see dispcellall
tool). Note, dispcellall creates new figures, so you do not neet to use
the "figure" command.
Now run SpotFinder:
And click "Adjust" button to modify the quality parameters for this image
set. The program will prompt you for the input images folder (file) and the
meshes file. Select cfp_images folder and
meshes.mat file. In what follows, you have to go
through several cells clicking on the "real" so that they are displayed in red
and unclicking the "false" spots.
The navigation is performed by "Previous" / "Next" buttons of SpotFinder,
"Stop" button will terminate the adjustment regime. "Update params" button is used
to adjust the parameters and evaluate the spots on the next frames according to
the newly set parameters. The number of cells to click on may be as small as
just a few, but more cell will improve the quality of detection.
When you are done and have clicked "Stop" button, SpotFinder will return to the
original view. Select now "Meshes" and "File" checkboxes to save the data at the end
of processing into a file and click "Run" button.
The program will prompt for the file and folder names. Select the same input
files and folders (will appear by default) and a different file for the output,
for example meshes+spots.mat (make sure, the
\examples\spotfinder\ folder is still the active
folder in MATLAB). The program will process the images while displaying a
progress bar and will save the data automatically. To view the results type:
>>images = loadimageseries('cfp_images');
Which will display the data indicating the spots with circles of the radius
of 3 pixels: