Chapter 3 Results

3.1 Quantitative imaging and image analysis

3.1.1 A 3D-printed stamp to standardize sample mounting and semi-automatize imaging

Even though on a macroscopic scale development is a remarkably similar and synchronized process between zebrafish embryos, a single biological process on a microscopic scale even in sibling embryos can look drastically different. Given the noisy and variable character of biological systems, it is important to record a sufficient number of samples to obtain a quantitative and representative view of a biological process. Furthermore, to process biological samples of whole organisms in a high-content manner it is important to have a standardized way of sample mounting, data acquisition, data processing and analysis.

However, imaging a high number of samples and generating large datasets to date is still largely limited by the classical way developmental biologists mount embryos for imaging. A number of factors limiting the standardization are summarized in table ??

Therefore, especially for 3D segmentation and 2D tracking experiments where an exact staging and orientation of the embryo is necessary, there is a need for methods to standardize sample mounting and image acquisition of multiple embryos.

The protocol we describe here was designed to be used with XY scanning universal sample holders that usually come with any motorized-stage inverted microscope. Similar to previous approaches (6669), it uses a 3D-printed stamping device to produce an Agarose imprint with a diameter of 20 mm on the cover glass of a 35 mm \(\mu\)-dish. The imprint consists of 44 equally spaced \(\mu\)-wells, which are designed to fit the average morphology of a zebrafish embryo between 24 and 96 hours-post-fertilization (hpf).

The aim was to develop a standardized mounting method allowing us to: (i) mount many samples in parallel in a 2D coordinate system of rows and columns, (ii) reduce the acquisition time and thus photo-bleaching and photo-toxicity during imaging, (iii) semi-automatize the acquisition, (iv) reduce the post-processing steps, and (v) facilitate subsequent processing such as genotyping due to a 1:1 correlation between image data and specimen arrangement sequence.

For mounting, an improved 3D specimen preparation and well-plate-like sample navigation for zebrafish larvae confocal microscopy was developed with which lateral line development can be recorded over more than 20 h, in up to 44 positions, in a confocal Z-stack of less than 120 \(\mu\)m and a time interval of 5–10 min. (depending on the number of channels and exposure time). The stamp was designed to be used for embryos between 24 and 96 hpf. For a tailor-made well, embryos were fixed and imaged in toto to measure the dimensions in X, Y and Z of different (whole embryo, trunk, yolk) embryonic structures (figure 3.1B-B’). Using Microsoft 3D-Builder a well was assembled from basic shapes like cube, sphere and wedge. After, the well was duplicated a couple of times and put in a grid-like arrangement to fit on a disc base 20 mm in diameter. Printing was performed on a Formlabs extrusion printer (figure 3.1C).

Stamp and \(\mu\)-well properties. A - A’ Mounting (A) without and with (A’) \(\mu\)-well. Legend to the right. B - B’ Dimensions of a single micro well in (B) X-Y and (B’) X-Z in mm C Elements and dimensions of the stamp wafer. D Assembled stamp with a screw mounted on the back of the stamp wafer.

Figure 3.1: Stamp and \(\mu\)-well properties. A - A’ Mounting (A) without and with (A’) \(\mu\)-well. Legend to the right. B - B’ Dimensions of a single micro well in (B) X-Y and (B’) X-Z in mm C Elements and dimensions of the stamp wafer. D Assembled stamp with a screw mounted on the back of the stamp wafer.

Mounting Results. A - A’ Maximum intensity projection of a 50 hpf embryo mounted on its side in XY and XZ. (right) Color scale indicates depth encoding. C Multi-position (36), multi-channel (2) time-lapse recording (13 h duration; 15 min. interval). D Multi-channel (2) Extended Depth of Focus (EDF) projections from widefield Z-stacks (recorded with 20x Objective). Scale Bar = 1mm E Multipoint coordinates in X, Y and Z (recorded with 40x Objective). The offset describes the distance of each point from the mean of all points in X, Y and Z. Panel 1–3 (top to bottom) show dimensions X, Y and Z in comparison for the pLLP, the eye and the otic vesicle. The red line indicates the median, the blue line indicates zero offset, error bars indicate mean \(\pm\) s.d.. Numeric values indicate the variance in each group. F-F’’ Systematic retrieval for genotyping. F Mounted embryos in a 2-D coordinate system of rows (A-M) and columns (1–3). F’ Imaging Sequence in a snake-by-column fashion. In a time-lapse setting, it starts at point 1 (P01) again to initiate the next timepoint. F’’ After imaging, the embryos are retrieved in the same sequence as they were imaged (snake by column, left panel). F’’ Each genotyping result on the electrophoresis gel is easily correlated to one imaging dataset with defined X-Y coordinates.

Figure 3.2: Mounting Results. A - A’ Maximum intensity projection of a 50 hpf embryo mounted on its side in XY and XZ. (right) Color scale indicates depth encoding. C Multi-position (36), multi-channel (2) time-lapse recording (13 h duration; 15 min. interval). D Multi-channel (2) Extended Depth of Focus (EDF) projections from widefield Z-stacks (recorded with 20x Objective). Scale Bar = 1mm E Multipoint coordinates in X, Y and Z (recorded with 40x Objective). The offset describes the distance of each point from the mean of all points in X, Y and Z. Panel 1–3 (top to bottom) show dimensions X, Y and Z in comparison for the pLLP, the eye and the otic vesicle. The red line indicates the median, the blue line indicates zero offset, error bars indicate mean \(\pm\) s.d.. Numeric values indicate the variance in each group. F-F’’ Systematic retrieval for genotyping. F Mounted embryos in a 2-D coordinate system of rows (A-M) and columns (1–3). F’ Imaging Sequence in a snake-by-column fashion. In a time-lapse setting, it starts at point 1 (P01) again to initiate the next timepoint. F’’ After imaging, the embryos are retrieved in the same sequence as they were imaged (snake by column, left panel). F’’ Each genotyping result on the electrophoresis gel is easily correlated to one imaging dataset with defined X-Y coordinates.

3.1.1.1 Procedure

3.1.1.1.1 Preparation of the agarose cast

To prepare the agarose cast, the stamp is first cleaned from dust and remnants with tissue soaked in 70\(\%\) Ethanol and pressured air (figure 3.3 IA). To prepare the casting medium a 1\(\%\) Agarose (w/v) solution is prepared in an autoclaved 100 mL bluecap bottle by dissolving 200 mg of agarose in 20 mL of E3 using a microwave oven. From the ready solution 650 \(\mu\)L are applied to the \(\varnothing\) 20 mm coverslip of a \(\varnothing\) 35 mm imaging dish (materials in table 2.10). Subsequently the clean stamp is gently placed onto the placed solution and adjusted to the center. The dish is then rotated to distribute excess agarose over the entire dish surface to stabilize the imprint once polymerized.

After about 30 min. the stamp is removed by first slipping a clean preparation needle between the stamp and the polymer and then lifting it from the cast (figure 3.3IB). If necessary, air bubbles appearing between the cover glass and the polymer are eliminated by punctuation with a preparation needle. The mounting cast may be used immediately or stored at 4\(^\circ\)C for several days (with lid closed).

3.1.1.1.2 Preparation of mounting media

Two solutions of low-melting point Agarose (LMPA) are prepared in autoclaved 100 mL bluecap bottles by dissolving 60 and 100 mg LMPA in 16 mL of E3 in a microwave oven - yielding 0.375 and 0.625 \(\%\) respectively. Per stamped cast, 2 aliquots of 1.6 mL are prepared in 2 mL tubes for each LMPA concentration and placed in a heating block adjusted to 41\(^\circ\)C.For live imaging, 400 \(\mu\)L of 4.2 mg/mL Tricaine (25X) are added to keep the embryos anesthetized during imaging. Final concentrations of LMPA solution are therefore 0.3 and 0.5 \(\%\), respectively. LMPA solutions containing Tricaine were prepared fresh for each mounting session. The LMPA solution and the mounting cast have almost equal refractive indices. Therefore, when adding the LMPA solution the cast becomes invisible. To still be able to locate the \(\mu\)-wells and to position the embryos accordingly, the illumination contrast and mirror angle of a transmitted light base are adjusted to make the \(\mu\)-wells visible again (figure 3.3IIA-C).

3.1.1.1.3 Mounting procedure

In case of live imaging the embryos are first anesthetized in a Petri dish with 4 to 5 drops of 4.2 mg/mL Tricaine (40 \(\mu\)g/mL in E3) added 4 to 5 min. before usage.

For mounting, the cast is first gently filled from the border (figure 3.3II A3) with 500 \(\mu\)L of 0.3\(\%\) LMPA solution. Then, 44 embryos (one for each well) are collected from their Petri dish with a glass Pasteur pipette. To minimize the amount of liquid added to the LMPA, the embryos are allowed to sink to the air – liquid interface and immediately added in one drop to the liquid LMPA solution in the stamped cast. Next, each embryo is moved to a separate \(\mu\)-well with a preparation needle by positioning the yolk within the hemi-spherical structure of each well and the tail aligned horizontally with the shape of the \(\mu\)-well (figure 3.3II C-D). The LMPA was allowed to polymerize for about 40 min. For time-lapse recording longer than 1 h, 1 mL of 0.5\(\%\) LMPA was added on top and allowed to polymerize for another 10 min. to construct an Agarose sandwich to stabilize the structure. Since the 0.3\(\%\) LMPA will still be very fragile, the 0.5\(\%\) LMPA should be added to the outer well first, carefully raising the level.

Since Agarose polymerization speed depends on temperature, for mounting the temperature of the room should not be less than 23\(^\circ\)C to give sufficient time. For indefinite time of embryo orientation, a higher room temperature or a 5 V terrarium heating mat (at maximum temperature ca. 38\(^\circ\)C) can be used. For the latter, a hole with the diameter of an imaging dish should first be cut in the middle of the heating mat. For mounting, the mat should then be placed and fixed on the stereo-microscope stage with the dish in the hole.

3.1.1.1.4 Imaging setup

The dish is placed onto the sample holder of an inverted confocal spinning disc microscope so that the embryos are aligned to the Y axis of the microscope stage. The stage is then moved to place the embryo at Position 01 (P01, top-left position) right above the objective (figure 3.3III A).

3.1.1.1.4.1 Define embryo positions

Since the embryos are mounted in a 3-D grid with well defined dimensions, all positions can be defined via a pre-defined points list that is loaded into the microscope software. For our system we use the ‘Nikon Imaging Software’ where we move the stage to P01, define a multi-point list with distance X / distance Y = 3450 / 1280 \(\mu\)m, bring P01 into focus and offset all points in Z. The list can also be saved for re-use in a future experiment. Alternatively one can also define a custom well plate and calibrate the stage.

3.1.1.1.4.2 Refine Positions

Even though the mounting method allows for a precise positioning, each embryo physiology is still a bit different resulting in differences between positions but same structures of up to 100 \(\mu\)m in X, Y and Z (figure 3.2E). Therefore, before starting an experiment each position needs to be refined.

3.1.1.1.5 Retrieval

For further experiments such as genotyping, the embryos are retrieved from the agarose in the same sequence as they were imaged (figure 3.2F’). To do so, a glass pipette is inserted into the agarose and directed to the head region of an embryo. By applying a gentle underpressure the embryo is then sucked into the glass pipette.

To lyse the embryos and extract the genomic DNA, each embryo is placed in a single tube of an 8-tube PCR strip. Since 8-tube PCR strips are designed to work with multichannel pipettes, the genotyping PCR is performed and analysed by gel electrophoresis using an 8x-multichannel pipette. When using a 34-well comb, the pipette tips will reach every second well of the agarose gel. Filling the wells staggered (offset by 1), one can load 4 × 8 wells in one row (figure 3.2F’‘). Since each embryo has a defined position, it is straightforward to associate each genotype to the corresponding image data (figure 3.2F’ - F’’’). Since a single mismatch would mess up the entire experiment by resulting in a frameshift of the one-to-one correspondence, this is a very important feature. The imaging dish can be reused several times. For cleaning, the agarose bed is removed from the dish using a small scoop or preparation needle and wiped gently with a lint-free tissue soaked in Ethanol.

Stamping procedure Agarose Cast (A) clean stamp surface (B) preparation of the stamp before lifting (C) ready-for-use agarose imprint. Mounting (A) without LMPA (B and C) with LMPA, while the latter shows the imprint with light coming from a different angle, making the chambers visible again. (D) Horizontal alignment of embryos. Imaging (A) Positioning of the \(\mu\)-well (B) Alignment in Brightfield and (C) Definition of a custom well plate.

Figure 3.3: Stamping procedure Agarose Cast (A) clean stamp surface (B) preparation of the stamp before lifting (C) ready-for-use agarose imprint. Mounting (A) without LMPA (B and C) with LMPA, while the latter shows the imprint with light coming from a different angle, making the chambers visible again. (D) Horizontal alignment of embryos. Imaging (A) Positioning of the \(\mu\)-well (B) Alignment in Brightfield and (C) Definition of a custom well plate.

3.1.1.2 Summary

The major improvements introduced by this method are (1) using a low percentage LMPA, which extends the timespan for mounting which is necessary to align a higher number of embryos. It also gives the embryo more freedom to grow during longer time-lapse imaging and facilitates retrieval of afterwards. (2) using a stamped cast, which allows for standardized and reproducible positions of the embryo as shown for the lateral line primordium, the eye and the otic vesicle (figure 3.2E). A significant increase of number of embryos that can be imaged during a single experiment (figure 3.2C-D). A significant reduction of the Z-stack size and therefore of the illumination of the samples (figure 3.2A).

In comparison to existing methods we provide a solution that is easy and in-expensive even for non-specialized labs. Also, while similar methods are well suited for high throughput and lower resolutions, ours may also be used for long time-lapse and high resolution imaging.

3.1.2 anaLLzr2D - Automated 2D neuromast analysis and nuclei count

For LL analysis I developed a custom IJ macro script that segments individual cell clusters and the pLLP. From the opening dialog (figure 3.4) the user can choose to count nuclei and / or sort ROIs. If nuclei count is chosen, the macro expects a dual-channel (Ch1: cldnb:lyn-gfp; Ch2: a nuclei label) tiff-file as input. If ROI sorting is selected, segmented CCs are numbered and sorted from left to right instead of top to bottom (IJ’s native sorting method).

  • Membrane label blur controls the detail of pLLP and CC segmentation, where lower values result in more detail
  • Closing filter controls how harsh objects are separated from each other
  • Nuclei label blur controls the details of single nuclei and is evaluated after ground truth data described in section 2.3
anaLLzR2D opening dialog checkboxes Choose to count nuclei and whether ROIs sorting should be applied. sliders Choose filter and blurring levels.

Figure 3.4: anaLLzR2D opening dialog checkboxes Choose to count nuclei and whether ROIs sorting should be applied. sliders Choose filter and blurring levels.

3.1.2.1 Image Analysis

Using ROIs as masks, the nuclei within each ROI are counted with a 2-D maxima finder. However, in their unprocessed form the images are too noisy to get meaningful results. The images therefore have to be smoothened with a blurring filter. To detect the right amount of nuclei, it is necessary to evaluate the distance over which the blurring should be applied. A typical nucleus in the pLLP is about 5 \(\mu\)m in diameter. To determine the right blurring value, a range of 4-6 \(\mu\)m in steps of 0.5 was tested. Figure 3.5 shows a registered maximum Z projected lateral line used for ground truth evaluation.

Registration of 2D data. Cluster Segments Registered, MaxIP data with cell cluster segments of the lyn-GFP signal laid upon the DAPI signal. Cell Labels Magenta dots represent the maxima found within each ROI and hence the nuclei labels.

Figure 3.5: Registration of 2D data. Cluster Segments Registered, MaxIP data with cell cluster segments of the lyn-GFP signal laid upon the DAPI signal. Cell Labels Magenta dots represent the maxima found within each ROI and hence the nuclei labels.

3.1.2.2 Code Snippets

The [...] symbol indicates code re-use from an earlier instance.

3.1.2.2.1 Segmentation

The membrane label image is segmented based on optimized filter parameters that were derived from trial and error. After, the macro halts for manual correction.

# Background subtraction
    run("Subtract Background...", "rolling = 50");
    run("Morphological Filters",
        "operation = Opening element = Disk radius = 20");
    run("Gaussian Blur...", "sigma = 5 scaled");

# Thresholding
    setAutoThreshold("Moments dark");
    setOption("BlackBackground", false);
    run("Convert to Mask");

# Particle analysis
    run("Analyze Particles...", "size = 250-Infinity exclude add");
    roiManager("Show All without labels");
    run("Enhance Contrast", "saturated = 0.35");
    waitForUser("Check ROIs, correct if necessary");
    if (sort) {
        sortROIs();
    }

3.1.2.2.2 Sorting

To sort manually corrected ROIs from left to right, each ROIs position in calculated relatively to total image width.

# Sort ROIs from left to right
function sortROIs() {
    run("Set Measurements...", "centroid redirect = None decimal = 0");
            for (j = 0 ; j < roiManager("count"); j++) {
                roiManager("select", j);
                roiManager("measure");
                x = getResult("X", 0);
                w = getWidth();
                a = x/w;
                roiManager("rename", a);
                run("Clear Results");
                }
        setBatchMode(false);
        roiManager("sort"); 
            for (j = 0 ; j < roiManager("count"); j++) {
                roiManager("select", j);
                roiManager("rename", j);
                run("Clear Results");
                }   
            for (j = 0 ; j < roiManager("count"); j++) {
                roiManager("select", j);
                roiManager("rename", j+1);
                run("Clear Results");
                }
}

3.1.2.2.3 Count nuclei

After smoothing the nuclei signal in the DAPI labeled channel, maxima are detected only within each ROI.

# count nuclei within segmented cell clusters
# steps performed on DAPI channel
# count nuclei
    run("Gaussian Blur...", "sigma = 0.6 scaled");
    roiManager("open", datdir + filename + "_ROIset.zip");
    rcount = roiManager("count");

# for each ROI
    for (j = 0 ; j < rcount; j++) {
        roiManager("open", datdir + filename + "_ROIset.zip");
        roiManager("select", j);
            run("Duplicate...", " ");
            run("Enhance Contrast", "saturated = 0.35");
            run("Find Maxima...", "noise = 0 output = [Point Selection]");
            run("Capture Image");
        roiManager("select", j);
        run("Find Maxima...", "noise = 0 output = Count");
        NC = getResult("Count");
        setResult("Nuclei", j, NC);
        setResult("Pos", j, j + 1);
    }

3.1.2.3 Data Analysis

Comparing the maxima counts of each Gaussian parameter with the Ground Truth gives an indication for false -positives resp. -negatives. In figure 3.6 the relative numbers for each blurring parameter can be seen in percentage above or below the mean cell count of the ground truth (blue horizon). The red area represents false negatives, the green false positives.

Relative difference of maxima counts

Figure 3.6: Relative difference of maxima counts

To estimate the quality of nuclei detection for each parameter, the ratio of automatically detected and ground truth objects count can be calculated and compared (table 3.1). The closer it is to 1, the better.

Table 3.1: Blurring parameter for nuclei count
4.5 5.0 5.5 6.0 7.0
mean ratio 1.30 1.14 1.04 0.95 0.86
std. 0.23 0.17 0.15 0.14 0.14
column headers
blurring parameters

In summary, maximum performance is achieved at a scaled parameter of 6 \(\mu\)m, with a ratio of 0.95 for the count objects and a standard deviation of 0.14.

3.1.3 anaLLzr2DT - Automated 2D pLLP migration and neuromast deposition analysis through time

For the analysis of the migratory behavior (speed, acceleration) and shape (area, roundness) of the pLLP, as well as for the formation and deposition of the pro-Neuromasts through time, I developed a custom IJ macro script that segments the migrating pLLP and individual cell clusters on each frame of a timelapse. Upon macro execution the opening dialog is presented which is divided in three sections (figure 3.7A).

In the processing section the user may choose which modules are executed.

  • Segmentation controls whether the images are segmented before measurement. If de-seleted the user has to provide segmentation masks separately.
  • Include Cell Clusters controls whether Cell Clusters should be included in the analysis. If de-selected, only the pLLP will be considered.
  • Registration controls whether the pLLP should be captured in time and space and saved in a separate stack.
  • Multichannel controls whether a second channel summary statistics from each ROI at each timepoint should be taken.
    • measurements taken are the mean, standard deviation, minimum and maximum intensity

In the options section the user may choose whether the macro should be run in headless mode (without showing every single action), whether the input images are timeseries and whether all other windows should be closed upon start of processing.

After confirmation, the user has to enter a date of experiment as an identifier in a second dialog. Furthermore the user is presented the images physical properties pre-filled where the idea here is just a review since this is a major source of mistakes (figure 3.7B). Finally, a third dialog is presented to the user giving an approximate duration and basic instructions (figure 3.7C).

anaLLzR2DT opening dialog A Opening dialog: Main functionality B Opening Dialog: metadata setup options C Time approximation dialog and basic instructions.

Figure 3.7: anaLLzR2DT opening dialog A Opening dialog: Main functionality B Opening Dialog: metadata setup options C Time approximation dialog and basic instructions.

Code-snippets describing the main functionality are described in the next couple of sub-sections. The [...] symbol indicates code re-use from an earlier instance.

3.1.3.0.0.1 Registration

The first module of the macro is pLLP registration in X, Y and cropping in Z. For better segmentation results, first the SNR is enhanced by background subtraction. To rotate the image the pLLPs migrational path is approximated by the position of the first and the last segment, then the image is cropped to a fixed height.

#   subtract background
        run("Z Project...", "projection = [Average Intensity]");
        ZPAVG = getTitle();
        if (reg) {
            print("Calculating registration parameters...");
            setSlice(n);
            run("Duplicate...", " "); 
            DORG = getTitle();
            imageCalculator("Subtract create", DORG, ZPAVG);
            close(DORG);
            run("Morphological Filters",
                "operation = Closing element=Disk radius = 15");
            REG = getTitle();
            run("Gaussian Blur...", "sigma = 6 scaled"); 
            run("Duplicate...", " ");
            run("Enhance Contrast...", "saturated = 0.3 normalize");
            run("8-bit");
            setAutoThreshold("MaxEntropy  dark");
            run("Convert to Mask");

    # analyze segments
        run("Analyze Particles...", "size = 150-10000 include exclude add");
        rmcount = roiManager("count")-1;
        print("rois: " + rmcount);
        
    # angle
        if(roiManager("count") == 1) {
            roiManager("select", 0);
            List.setMeasurements;
            Angle = List.getValue("FeretAngle");
            print("Angle: " + Angle);
            if (Angle < 0) {Angle = Angle * (-1);}
            if (Angle > 90) {Angle = (180-Angle) * (-1);}
        } else {
            roiManager("select", rmcount);
            List.setMeasurements;
            X1Line = List.getValue("X");
            Y1Line = List.getValue("Y");
            roiManager("select", 0);
            List.setMeasurements;
            X2Line = List.getValue("X");
            Y2Line = List.getValue("Y");
            makeLine(X1Line, Y1Line, X2Line, Y2Line);
            List.setMeasurements;
            Angle = List.getValue("Angle");
            if (Angle < 0) {Angle = Angle*(-1);}
            if (Angle > 90) {Angle = (180-Angle)*(-1);}
            }
            print("Angle: " + Angle);
            run("Rotate... ", 
                "angle = " + Angle + " grid = 1 interpolation = Bilinear");
            ZPAVG = getTitle();
            selectWindow(REG);
            run("Rotate... ", 
                "angle = "+ Angle +" grid = 1 interpolation = Bilinear");
            run("Make Binary");
            REG = getTitle();
        
        # cropping
            roiManager("reset");
            run("Analyze Particles...", 
                "size = 150 - 10000 include add");
            roiManager("select", 0);
            List.setMeasurements;
            XRect = List.getValue("X");
            YRect = List.getValue("Y");
            selectWindow(REG);
            getDimensions(width, height, channels, slices, frames);
            List.setMeasurements;
            height = 120 / sizeX; # change height of rect here
            toUnscaled(YRect);
            YRect = YRect - (height / 2);
            print("YRectcor: " + YRect);
        } 

    # register
        resetMinAndMax();
        if (dual) {
        #   C1
            selectWindow(ORG);
            if (reg) {
                print("  Registering " + embryoID +"...");
                run("Rotate... ", 
                    "angle = "+ Angle +" grid = 1 interpolation = Bilinear stack");
                makeRectangle(0, YRect, width, height);
                run("Crop");
            }
        # C2
            open(dualdir + dualdirlist[q]);
            dualname = replace(dualdirlist[q], ".tif", "");
            if (reg) {
                run("Rotate... ",
                    "angle="+ Angle +" grid = 1 interpolation = Bilinear stack");
                makeRectangle(0, YRect, width, height);
                run("Crop");
            }
            close();
        } else {
            selectWindow(ORG);
            if (reg) {
                run("Rotate... ",
                    "angle = "+ Angle +" grid = 1 interpolation = Bilinear stack");
                makeRectangle(0, YRect, width, height);
                run("Crop");
            } else {    
            }
        }
        ORG = getTitle();
    # crop ZPAVG for image calc
        selectWindow(ZPAVG);
        if (reg) {
        makeRectangle(0, YRect, width, height);
        run("Crop");
        }

3.1.3.0.0.2 Segmentation

After registration of the image follows segmentation. For this we again improve SNR by background correction, following by disconnecting loosely joint segments.

#  background correction
    print("  Segmenting "+ embryoID +"_RC...");
        getDimensions(width, height, channels, slices, frames);
        imageCalculator("Subtract create stack", ORG, ZPAVG);
        IC = getTitle();
    selectWindow(IC);
        print("Bleach correction...");
        run("Bleach Correction", 
            "correction = [Simple Ratio] background = 0");
        nslbc = nSlices();
        for (j = 1; j < nslbc; j++) {
            setSlice(j);
            run("Morphological Filters",
                "operation = Closing element = Disk radius = 15");
        }
        run("Images to Stack", "name ="+ ORG +" title = [] use");
        
    #   segmentation
        selectWindow(MC);
        run("Gaussian Blur...", "sigma = 5.5 scaled stack");
        
    #   disconnect segments
        run("Enhance Contrast...",
            "saturated = 0.5 normalize process_all");
        setSlice(n);
        resetThreshold();
        setAutoThreshold("MaxEntropy dark");
        run("Convert to Mask",
            "method = MaxEntropy background = Dark black");
        run("Invert LUT");
        run("Fill Holes", "stack");
        run("Options...", 
            "iterations = 2 count = 1 pad do = Erode stack");
        run("Options...", 
            "iterations = 2 count = 1 pad do = Open stack");
        run("Options...", 
            "iterations = 1 count = 1 pad do = Dilate stack");
    }
    waitForUser("Check Segmentations");
    }

3.1.3.0.0.3 Analysis

Finally we measure and save the results in the defined names and directories

for (b = 0; b < orgdirlist.length; b++) {
# get genotypes and embryoIDs from arrays
    type = types[b];
    embryoID = embryoIDs[b];
    orgname = replace(orgdirlist[b], ".tif", "");
    embryodir = output + File.separator + orgname + File.separator;
    File.makeDirectory(embryodir);
    
# open and define binary
    open(bindir+bindirlist[b]);
    BIN = getTitle();
          
# open and define orginal 
    if (dual) {
        open(rcdirc1 + rcdirc1list[b]);
    } else {
        open(rcdir + rcdirlist[b]);
    }
    RC = getTitle();
    dotIndex = indexOf(RC, ".");
    title = substring(RC, 0, dotIndex);
    
# enter 2nd loop to increment over each slice of the time-series
    selectWindow(BIN);   # select binary
    pangles = newArray(nSlices() + 1);
    for (i = 1 ; i <= nSlices(); i++) {
      s = nSlices();
        setSlice(i);
        if (ccs) {
            run("Analyze Particles...",
                "size = 150-10000 include add");
        } else {
            run("Analyze Particles...",
                "size = 750-10000 include add");
        }
    # loop though ROI List
        for (j = 0 ; j < roiManager("count"); j++) {
            roiManager("select", j);
            run("Set Scale...",
                "distance = 1 known = 0.00005 pixel = 1 unit = micron");
            List.setMeasurements;
            x = List.getValue("X");
            roiManager("rename", x);
        }
        run("Properties...",
            "channels = 1 slices = 1 frames = [s] unit = micron pixel_width = [xs]
            pixel_height = [ys] voxel_depth = [zs] frame = [time] global");
        
    # Sort ROIs and select last one
        roiManager("Sort");
        for (j = 0 ; j < roiManager("count"); j++) {
            ccn = roiManager("count")+j;
            if (ccn == roiManager("count")) {
                ccn = "prim";
                roiselect = roiManager("count")-1;
            } else {
                ccn = "CC"+j;
                roiselect = j-1;
            }
            roiManager("select", roiselect);
            roiManager("rename", ccn);
        }
        rmc = roiManager("count");
        m = rmc-1;
        selectWindow(RC);
        
  # Prim registration
        run("Select None");
        roiManager("Select", m);
        sln = getSliceNumber();
        run("Enlarge...", "enlarge=6");
        run("Fit Ellipse");
        run("Duplicate...", "use");
        rename(sln);
        resetMinAndMax();
        
  # Rotate
        List.setMeasurements;
        A = List.getValue("Angle");
        run("Select None");
        if (A < 10) {
            A = A;
        } else {
            A = 180-A;
            A = A*(-1);
        }
        pangles[i] = A;
        run("Rotate... ", "angle = [A] grid = 1 interpolation = Bilinear slice");
        run("Flip Horizontally");
            
  # Measure and save segmented Mask ROI
        pLLProis = embryodir + File.separator + "ROIs" + File.separator;
        File.makeDirectory(pLLProis);
        pLLPxy = embryodir + File.separator + "ROIsXY" + File.separator;
        File.makeDirectory(pLLPxy);
        selectWindow(BIN);
        roiManager("show none"); # supress roimanager popping up
        roiManager("Select", m);
            
    #   Save ROIs and XY coordinates
        if (i < 10) {
            slice = d2s(0,0) + d2s(i,0);
            roiManager("save", pLLProis + "s" + slice + ".zip");
            saveAs("XY Coordinates", pLLPxy + "s" + slice + ".txt");
        } else {
            roiManager("save", pLLProis + "s" + i + ".zip");
            saveAs("XY Coordinates", pLLPxy + "s" + i + ".txt");
        }
            
     # Measure
        run("Set Measurements...", 
            "area centroid bounding fit shape feret's stack redirect = None decimal = 2");
        roiManager("measure");
        roiManager("reset");
        run("Select None");
    # Calculate additional variables based on measurements
        n = nResults();
        r = n-1;  # actual RowNumber
        r2 = n-2; # RowNumber -1
        if (i == 1) {  # get X & Y coordinates, keep X0 and Y0 for normalization
            X0 = getResult("X");
            Y0 = getResult("Y");
        } else {
            X1 = getResult("X", r2);
            X2 = getResult("X", r);
            Y1 = getResult("Y", r2);
            Y2 = getResult("Y", r); 
        }
    # Width of bounding rectangle
        W = getResult("Width");
    # Calculations (XN = normalized X; LE = Leading Edge)
    # Euclidian Distance of X + normalized to offspring 'zero'
        if (i == 1) {
            XED = 0;
            XN = 0;
        } else {
            XED = sqrt((X2-X1)*(X2-X1)+(Y2-Y1)*(Y2-Y1));
            XN = (X2 - X0) + XED;
        }
        LE = XN + (W/2); # Leading Edge 
        T = time * r; # Time interval
        setResult("embryo", r, orgname); # set Results
        setResult("group", r, type);
        setResult("time", r, T);
        setResult("deg", r, A);
        setResult("X_ED", r, XED);
        setResult("X_N", r, XN);
        updateResults();
        }
        close(BIN, RC);
        
    #   Merge registered prim timepoints
        setBatchMode("exit and display");
        run("Images to Stack", "method = [Copy (top-left)] name = Stack title = [] use");
        run("Properties...",
            "channels = 1 slices = 1 frames = [s] unit = micron pixel_width = [xs]
            pixel_height = [ys] voxel_depth = [zs] frame = [time] global"); 
        run("Flip Horizontally", "stack");
        if (dual) {
      # save C1
          saveAs("Tiff", pLLPdir + orgname + "-C01.tif");
          close();
      # open C2
          open(rcdirc2 + rcdirc2list[b]);
            resetMinAndMax();
            RC = getTitle();
            dotIndex = indexOf(RC, ".");
            title = substring(RC, 0, dotIndex);
            for (i = 1 ; i <= nSlices(); i++) {
                s = i;
                setSlice(i);
            #   Prim registration
                if (i < 10) {
                    slice = d2s(0, 0) + d2s(i, 0);
                    roiManager("open", pLLProis + "s" + slice + ".zip");
                } else {
                    roiManager("open", pLLProis + "s" + i + ".zip");
                }
                rmc = roiManager("count");
                m = rmc-1;
                roiManager("Select", m);
                selectWindow(RC);
                sln = getSliceNumber();
                run("Enlarge...", "enlarge=6");
                run("Fit Ellipse");
                run("Duplicate...", "use");
                rename(sln);
            #   Rotate
                A = pangles[s];
                run("Select None");
                run("Rotate... ", "angle = [A] grid = 1 interpolation = Bilinear slice");
                run("Flip Horizontally");
            # select & deselect to remove selected ROIs
                selectWindow(RC);
                run("Select None");
                roiManager("reset");
            }
        #   close and merge individual pllp images into one stack
            close(RC);
            run("Images to Stack", "method = [Copy (top-left)] name = Stack title = [] use");
            run("Properties...", "channels = 1 slices = 1 frames = [s] unit = micron
                pixel_width = [xs] pixel_height = [ys] voxel_depth = [zs] frame = [time] global");  
            run("Flip Horizontally", "stack");
            roiManager("reset");
                
     #  Save Results Table
      run("Input/Output...",
          "jpeg = 100 gif = -1 file = .txt use_file copy_column copy_row save_column");
            saveAs("results", embryodir + orgname + "_Results" + ".txt");

3.1.4 anaLLzr3D - Automated 3D single cell segmentation and A.I. analysis in the pLLP

For measurement of the apical index (section 2.2.4.3) I developed a custom IJ macro script that segments and analyses each cell of a pLLP in 3D. Upon macro execution the opening dialog is presented which is divided in three sections (figure 3.8A).

In the processing section the user has to define the input format as well as in which direction the Z-stack was recorded. Furthermore, the user may choose to have the pLLP registered, save intermediate steps for debugging and to have objects segmented without any restrictions and manual ROI correction.

In the thresholds section the user may fine tune segmentation and filter thresholds:

  • Segmentation controls the segmentation threshold at which the membrane signal is detected and therefore the cell volumes are separated from each other (section 2.3)
  • Min. volume controls the minimum volume, below which objects are discarded
  • Max. volume controls the maximum volume, above which objects are discarded

In the measurements section, the user may choose whether apical constriction measurement should be applied or not. In case apical constriction measurement is selected, the user may choose from a second dialog box whether A.I. should be measured at an absolute- or relative- distance from the tip. Furthermore, the user has the option to measure from a fit ellipsoid (as done for the A.I. measurement described in section 2.2.4.3) or rectangle.

anaLLzR3D opening dialog A Opening dialog: Main functionality B Opening Dialog: Apical Constriction options C Log window after startup

Figure 3.8: anaLLzR3D opening dialog A Opening dialog: Main functionality B Opening Dialog: Apical Constriction options C Log window after startup

3.1.4.1 Image Analysis

For pLLP analyses I developed a custom IJ macro script that recognizes cell boundaries via the fluorescence signal emitted by a membrane tethered eGFP which expression is controlled by the claudinB lateral line specific promotor (32). The central IJ tool used to do this is the MorphoLibJ’s(70) Morpholigical Segmentation plugin. The plugin however requires to choose for a ‘segmentation threshold’ that determines the quality and the quantity of segmented objects. This parameter therefore plays an essential role in the reliability of the analysis results.

3.1.4.1.1 Registration

The first module of the macro is the registration of the pLLP in X, Y and cropping in Z. This is accomplished by an initial maximum Z projection and blurring of the image, 2-D segmentation using a minimum threshold and lastly by rotating the segment through the angle formed by the long axis of the ellipsoid (see section 2.2.4.3.1.3 for more information) and the horizon (at 0\(^{\circ}\)). After rotation the image is cropped according to the obtained ROI, as described before. Additionally, the centers of the most constricting areas are detected via an intensity based dynamic threshold and highlighted as magenta circles in figure 3.9.

Registration of 3D data. (unregistered) location and orientation of the unregistered MaxIPs in XY. The red line indicates the angle in degrees from the horizontal midline. The blue oval indicates registration ROI as determined by the macro. (registered) pLLPs after XY transformation took place. red circles indicate rosette centers as detected by the macro based on maximum signal intensity.

Figure 3.9: Registration of 3D data. (unregistered) location and orientation of the unregistered MaxIPs in XY. The red line indicates the angle in degrees from the horizontal midline. The blue oval indicates registration ROI as determined by the macro. (registered) pLLPs after XY transformation took place. red circles indicate rosette centers as detected by the macro based on maximum signal intensity.

Table 3.2: 3-D Ground Truth image scaling
XY resolution 0.1625 / 0.1625 \(\mu\)m
Z resolution 0.4 \(\mu\)m
Time difference between Z-planes in Z 0.5428 s
3.1.4.1.2 Image data

In figure 3.10 the fluorescence signal of the three pLLPs used for the Ground-Truth is shown in a single central cross-section along the dorso-ventral and the apico-basal axis.

cldnb:lyn-gfp fluorescence signal in a cross-section of the pLLP (Obj.: 40X APO, scale bar = 100 \(\mu\)m)

Figure 3.10: cldnb:lyn-gfp fluorescence signal in a cross-section of the pLLP (Obj.: 40X APO, scale bar = 100 \(\mu\)m)

To compare the results between the Ground Truth segments and the segments obtained from different threshold levels graphically, for a single pLLP the Ground Truth and threshold levels are shown as a composite color image in figure 3.11. By using a green lookup-table (LUT) for the Ground Truth and a magenta LUT for the threshold level[n], one can readily detect overlapping objects (white), over segmentation (magenta) and under segmentation (green). False positive segments are cells that are not part of the Ground Truth, including those cells that would distort our dataset. False negative segments are cells that are part of the Ground Truth but were not detected by the macro (green cells), excluding those cells impacts the cell count. As one can see, the green cells are randomly distributed, therefore, when averaging a variable for all cells, those cells are less likely to distort our dataset. Only if under segmentation becomes too high will it impact the distribution of values. At Treshold Level 2 (T02) we have the least green cells, but the most magenta cells. At Threshold Level 4 (T04) we have no magenta, but some more green cells. Therefore, to be on the safe side in terms of cell parameters and dataset integrity, for the definition of our Ground Truth T04 would be the best pick.

Graphical comparison of the thresholds tested. Volume renderings have been done with IJ’s VolumeViewer

Figure 3.11: Graphical comparison of the thresholds tested. Volume renderings have been done with IJ’s VolumeViewer

3.1.4.2 Code Snippets

The [...] symbol indicates code re-use from an earlier instance.

3.1.4.2.1 Registration

First we need to get parameters angle and height for registration. All steps are performed on Z-projected data.

# 2D segmentation mask
  run("Z Project...", "projection = [Max Intensity]");
    run("Gaussian Blur...", "sigma = 8 scaled");
    setAutoThreshold("Minimum dark");
    run("Convert to Mask");
    run("Select None");

# angle from horizontal midline
    run("Analyze Particles...", "include add");
    rmcount = roiManager("count")-1;
    if(roiManager("count") == 1) {
        roiManager("select", 0);
        run("Fit Ellipse");
        List.setMeasurements;
        Angle = List.getValue("FeretAngle");
        if (Angle < 0) {Angle = Angle * (-1);}
        if (Angle > 90) {Angle = (180 - Angle) * (-1);}
    } else {
        roiManager("select", 0);
        run("Fit Ellipse");
        roiManager("update");
        List.setMeasurements;
        X1Line = List.getValue("X");
        Y1Line = List.getValue("Y");
        roiManager("select", rmcount);
        List.setMeasurements;
        X2Line = List.getValue("X");
        Y2Line = List.getValue("Y");
        makeLine(X1Line, Y1Line, X2Line, Y2Line); 
        List.setMeasurements;
        Angle = List.getValue("Angle");
        if (Angle < 0) {Angle = Angle*(-1);}
        if (Angle > 90) {Angle = (180-Angle)*(-1);}
    }
    run("Select None");
    run("Rotate... ", "angle = "+ Angle +" grid = 1 interpolation = Bilinear");
    
# height to crop image to
    roiManager("reset"); # the image was rotated, so we need to get the ROIs again
    run("Select None");
    run("Make Binary");
    run("Erode");
    run("Analyze Particles...", "size = 150-10000 include exclude add");
    rmcount = roiManager("count") - 1;
    if(roiManager("count") == 1) {
        roiManager("select", 0);
    } else {
        roiManager("select", rmcount);
    }
    List.setMeasurements;
    XRect = List.getValue("X");
    YRect = List.getValue("Y");
    getDimensions(width, height, channels, slices, frames);
    Regwidth = width;
    Regheight = 400; # change height of rectangle here
    toUnscaled(YRect);
    YRect = YRect - (Regheight/2);

3.1.4.2.2 Transformation

Next we transform our 3D data based on the registration parameters derived from the previous step.

# register pLLP
    run("Rotate... ", "angle = "+ Angle +" grid = 1 interpolation = Bilinear stack");
    makeRectangle(0, YRect, Regwidth, Regheight);
    run("Crop");

# create threshold mask to clear signals outside ROI
    run("Normalize Local Contrast", 
        "block_radius_x = 300 block_radius_y = 20 standard_deviations = 4 stretch");
    run("Gaussian Blur...", "sigma = 1 scaled");
    setAutoThreshold("Otsu dark");
    run("Convert to Mask");

# most right roi
    for (j = 0 ; j < roiManager("count"); j++) {
        roiManager("select", j);
        run("Set Scale...", "distance = 1 known = 0.00005 pixel = 1 unit = micron");
        List.setMeasurements;
    x = List.getValue("X");
    roiManager("rename", x);
    }
    roiManager("Sort");
    run("Properties...", 
        "channels = 1 slices = 1 frames = 1 unit = micron pixel_width = [sizeX] 
        pixel_height = [sizeY] voxel_depth = [sizeZ]");
    primroi = roiManager("count") - 1;
    roiManager('select', primroi);
    
# enlarge rois to not miss anything
    run("Enlarge...", "enlarge = 10");
    run("Fit Ellipse");
    roiManager('update');

3.1.4.2.3 Rosette detection

To analyze cells within rosettes resp. within a certain radius of rosettes we first need to know where the rosettes are. At rosette centers we observe an increase in signal intensity since here the membranes of many cells come together in a very small area. This effect we can use to utilize a maximum finder algorithm together with a threshold that is defined individually for each image.

#  [...] registration
    run("Gaussian Blur...", "sigma = 4 scaled");
    List.setMeasurements;
    mean = List.getValue("Mean");
    pointthresh = mean/2.5;
    pointthresh = round(pointthresh);
    run("Find Maxima...", "noise = "+ pointthresh +" output = [Point Selection]");
    run("Point Tool...", "type = Dot color = Green size = [Extra Large] label counter = 0");
    getSelectionCoordinates(xpoints, ypoints);
    roiManager("Add");

# measure intensities along horizontal midline
#   [...] registration
    Rlx = lengthOf(xpoints); # collect Arrays
    RX = Array.sort(xpoints); # put xpoints in right order
    RX = Array.invert(RX);

# fill ypoints with mean values of all y coordinates
    Array.getStatistics(ypoints, min, max, mean, stdDev);
    meanline = mean;
    Array.fill(ypoints, meanline);
    RY = ypoints;
    getDimensions(width, height, channels, slices, frames);
    makeLine(0, meanline, width, meanline, 1);
    run("Clear Results");
    profile = getProfile();
    for (a = 0; a < profile.length; a++) {
    setResult("Value", a, profile[a]);
        updateResults();
    }

3.1.4.2.4 Segmentation

For image segmentation we use the MorphoLibJ’s(70) Morpholigical Segmentation plugin. Function calls and arguments are defined in the publication documentation.

# 3D gaussian blur
    run("Gaussian Blur 3D...", "x=2 y=2 z=0.5");
    resetMinAndMax();

# run segmentation
    run("Morphological Segmentation");
    selectWindow("Morphological Segmentation");
    call("inra.ijpb.plugins.MorphologicalSegmentation.setInputImageType", "border");
    call("inra.ijpb.plugins.MorphologicalSegmentation.segment", "tolerance = " + tol + "",
         "calculateDams = true", "connectivity = 6");

# wait till segmentation is done
    initTime = getTime(); 
  oldTime = initTime; 
    while (isOpen("Morphological Segmentation")) {
      elapsedTime = getTime() - initTime; 
        newTime = getTime() - oldTime;
        if (newTime > 10000) {
        oldTime = getTime(); 
        newTime = 0;
        loginfo = getInfo("log");
            loginfo = split(loginfo, " ");
            loginfo = Array.reverse(loginfo);
            loginfo = Array.trim(loginfo, 5);
            loginfo = Array.reverse(loginfo);
            loginfo = split(loginfo[0], ".");
            loginfo = Array.reverse(loginfo);
            loginfo = loginfo[0];
            if (loginfo == "\nWhole") {
                call("inra.ijpb.plugins.MorphologicalSegmentation.setDisplayFormat", 
                     "Catchment basins");
                call("inra.ijpb.plugins.MorphologicalSegmentation.createResultImage");
                run("Grays");
                selectWindow("Morphological Segmentation");
                close();
            }
    }
    }
  run("Properties...", "channels = 1 slices = " + n + " frames = 1 unit = 
      microns pixel_width = " + sizeX + " pixel_height = " + sizeY + "voxel_depth = "+ sizeZ);

3.1.4.2.5 Filter and clearing

Remove segments below a certain volume threshold defined in the startup dialog and clear blank slices in Z.

# erase objects V < vmin and V > vmax
  run("3D Manager Options", "volume surface compactness fit_ellipse 3d_moments 
      feret centroid_(pix) centroid_(unit) distance_to_surface centre_of_mass_(unit) 
      bounding_box radial_distance surface_contact closest exclude_objects_on_edges_xy 
      sync distance_between_centers = 10 distance_max_contact = 1.80");
    run("3D Manager");
  selectWindow(OMap);
    Ext.Manager3D_AddImage();

# get number of objects
    Ext.Manager3D_Count(nb);
    Ext.Manager3D_MultiSelect();

# loop through all the objects and erase by filter settings
    for(k = 0; k < nb; k++) {
        showStatus("Processing "+ k +"/"+ nb);
        Ext.Manager3D_Measure3D(k, "Vol",V);
        if (V < vmin) {
            Ext.Manager3D_Select(k);
            Ext.Manager3D_Erase();
            if (V > vmax) {
                Ext.Manager3D_Select(k);
                Ext.Manager3D_Erase();
            }
        }
    }

# clean blank slices from bottom and top
    getDimensions(width, height, channels, slices, frames);
    var done = false; 
    for(l = 1; l < slices &&!done; l++) {
        setSlice(l);
        getStatistics(area, mean, min, max, std, histogram);
        if(max > 0) {
        amax = l-1;
            run("Slice Remover", "first = 1 last = "+ amax +" increment = 1");
            run("Reverse");
            getDimensions(width, height, channels, slices, frames);
            for(l = 1; l < slices &&!done; l++) {
                setSlice(l);
                getStatistics(area, mean, min, max, std, histogram);
                if(max > 0) {
                bmax = l-1;
                    run("Slice Remover", "first = 1 last = "+ bmax +" increment = 1");
                    run("Reverse");
                    done = true;
                    }
            }
        }
    }

3.1.4.2.6 Apical Constriction

Next we navigate to the calculated relative distance from the apical site and take measurements.

# define Z values
    if (rosAC) {
        cellum = rosum; # I copy pasted the code, so rosette um would be cell um
        Zslice = rosum/sizeZ;
        round(Zslice);
    }
# cell Constriction

    if (cellAC) {
        aciza = cellum / sizeZ;
        Zslice = aciza;
        round(Zslice);
        round(aciza);
        if (fixAC||symAC) {
    # crop single objects and measure ----------------------
      selectWindow(OMap);
        run("3D Manager Options", "volume surface compactness fit_ellipse 3d_moments 
        feret centroid_(pix) centroid_(unit) distance_to_surface centre_of_mass_(unit) 
        bounding_box radial_distance surface_contact closest exclude_objects_on_edges_xy 
        sync distance_between_centers = 10 distance_max_contact = 1.80");
        run("3D Manager");
        Ext.Manager3D_AddImage();
    # get number of objects
        Ext.Manager3D_Count(nb);
    # create arrays to fill with measurements
        objlabelArray = newArray(nb);
        MajorAngle = newArray(nb);
        ACIMajor = newArray(nb);
        ACIMinor = newArray(nb);
        Dap = newArray(nb);
        Ext.Manager3D_MultiSelect();
        for(k = 0; k < nb; k++) {
            if (k > 0) {
              Ext.Manager3D_AddImage();
            }
        Ext.Manager3D_GetName(k, obj);
        Ext.Manager3D_Centroid3D(k, cx, cy, cz);
    # measure feret
        if (symAC) {
          Ext.Manager3D_Measure3D(k, "Feret", ferr); 
            da = ferr * cellum;
            da = round(da);
          if (da == 0) {
              da = 1;
          }
        Dap[k] = da;
        }
        toString(obj);
        objlabelArray[k] = obj;
    # erase all objects except current(k)
        Ext.Manager3D_SelectAll();
        Ext.Manager3D_Select(k);
        Ext.Manager3D_Erase();
        run("Enhance Contrast...", "saturated = 0.3 equalize process_all");
        run("8-bit");
        run("Crop Label", "label=255 border=5");
    # clear cell stack in Z
        getDimensions(width, height, channels, slices, frames);
        var done = false; 
        for(l = 1; l < slices &&!done; l++) {
          setSlice(l);
            getStatistics(area, mean, min, max, std, histogram);
            if(max > 0) { // from apical
            smax = l-1;
            run("Slice Remover", "first=1 last="+smax+" increment=1");
            run("Reverse");
            getDimensions(width, height, channels, slices, frames);
            for(l = 1; l < slices &&!done; l++) { // from basal
                  setSlice(l);
                    getStatistics(area, mean, min, max, std, histogram);
                    if(max > 0) {
                      smax = l-1;
                        run("Slice Remover", "first = 1 last = "+ smax +" increment = 1");
                        run("Reverse");
                        done = true;
                    }
                }
            }
        }
        naci = nSlices();
        nacimax = naci/2;
        run("Properties...", "channels = 1 slices = "+ naci +" frames = 1 unit = microns 
            pixel_width = "+ sizeX +" pixel_height = "+ sizeY +" voxel_depth = "+ sizeZ);
        if (symAC) {
            aciza = da / sizeZ;
            db = naci - da;
        }
    # if fixed ACI
        if (aciza < (nacimax)) {
          acizb = naci - aciza;
    # measure apical
        run("Make Binary", "method = Default background=Default calculate black");
        setSlice(aciza);
        run("Set Measurements...", "area centroid bounding fit feret's redirect = None decimal = 2");
        run("Analyze Particles...", "display slice");
    # get angle
        MajorAngle[k] = getResult("FeretAngle", 0);
        if (MajorAngle[k] > 90) {
          MajorAngle[k] = 90 - (MajorAngle[k] - 90);
        }
    # get min feret / major / minor
        resultsArray = newArray(nResults());
            for(p = 0; p < nResults(); p++) { 
            resultsArray[p] = getResult("Minor", p); 
            }
            total = 0; 
            for(p = 0; p < nResults(); p++) { 
                total = total + resultsArray[p]; 
            }

3.1.4.2.7 Single cell measurement

Get 3D measurements from each object using the 3D Manager plugin

run("3D Manager Options", "volume surface compactness fit_ellipse 3d_moments 
    feret centroid_(pix) centroid_(unit) distance_to_surface centre_of_mass_(unit) 
    bounding_box radial_distance surface_contact closest exclude_objects_on_edges_xy 
    sync distance_between_centers=10 distance_max_contact = 1.80");
run("3D Manager");
Ext.Manager3D_AddImage();
Ext.Manager3D_DeselectAll();
Ext.Manager3D_Measure();
Ext.Manager3D_SaveResult("M", datcelldir + name + ".csv");
Ext.Manager3D_CloseResult("M");
Ext.Manager3D_Reset();
Ext.Manager3D_Close();

3.1.4.2.8 Functions

function sliceclear() {
  for (j = 1; j <= n; j++) {
    roiManager("reset");
    setSlice(j);
    run("Analyze Particles...", "include add slice");
    if (roiManager("count") == 0) {
        setSlice(j);
        makeRectangle(0, 0, width, height);
        run("Cut");
    }
    if (roiManager("count") == 1) {
        setSlice(j);
        allroi();
        wait(200);
        run("Clear Outside", "slice");
    }
    if (roiManager("count") > 1) {
        setSlice(j);
        allroi();
        roiManager("Combine");
        run("Clear Outside", "slice");
    }
  }
}

3.1.4.3 Data Analysis

3.1.4.3.1 Cell Count

In figure 3.12 the relative numbers for each threshold level can be seen in percentage above or below the mean cell count of the ground truth (blue horizon). Analogous to the graphical inspection, the magenta area represents over segmentation, the green under segmentation.

Relative difference of segment counts

Figure 3.12: Relative difference of segment counts

3.1.4.3.2 Apical Constriction

For a proof of concept of segmentation results and concept around measuring Apical Constriction Index, analog to Harding(2013)(62), 13 DMSO and 15 SU5402 treated embryos were imaged, segmented and processed. The results (figure 3.13) show a strong significant difference between DMSO und SU5402 treated embryos in both A.I.Major and A.I.Minor, validating the general concept.

A.I. proof of concept. A and B Each dot represents the average of all cells of a whole pLLP (DMSO = 1769 cells / 13 pLLPs; SU5402 = 2066 cells / 15 pLLPs).

Figure 3.13: A.I. proof of concept. A and B Each dot represents the average of all cells of a whole pLLP (DMSO = 1769 cells / 13 pLLPs; SU5402 = 2066 cells / 15 pLLPs).

3.1.4.3.3 Cell Morphology

There is always a precision / recall trade-off in detection tasks, e.g., when we set a lower threshold [. . .], we can get a higher recall with a lower precision ([. . .], but meanwhile we also get more false-positives in the results).(51)

Inspecting the cell count unfortunately does not directly tell us how well the cell morphology is conserved at different threshold levels, since at higher threshold levels the cell boundaries are differently determined and eventually not even recognized as such anymore. The volume of a cell is a very robust morphological feature with respect to changes in pose and topology (19). Therefore, if its volume does not differ significantly at a given threshold level we consider its morphology to be conserved.

In figure 3.14 the cell volumes and their distribution across the different threshold levels can be inspected. The closer the slopes are to the Ground Truth, the stronger they are conserved. The upper graph of figure 3.14 shows the full distribution, where the major differences seem to appear within the 0.4 quantile (red line). To get a more detailed impression, in the lower graph of figure 3.14 only the values within the 0.4 quantile are shown.

upper Cell volumes full distribution (red line = .4 Quantile) lower Cell volumes distribution within .4 Quantileupper Cell volumes full distribution (red line = .4 Quantile) lower Cell volumes distribution within .4 Quantile

Figure 3.14: upper Cell volumes full distribution (red line = .4 Quantile) lower Cell volumes distribution within .4 Quantile

3.1.4.3.4 Confidence Level

To statistically check how closely related each threshold level (section 3.1.4.3.2) sample distribution is compared to the Ground Truth, a Kolmogorov-Smirnov-Test (ks.test) was performed. The ks.test is a nonparametric test whose null hypothesis is that the both groups compared were sampled from populations with identical attributes. Therefore, the closer the p-value is to 1, the more similar the tested sample distribution would be to the Ground Truth (figure 3.15).

Volumetric conservation (red line = 5\(\%\))

Figure 3.15: Volumetric conservation (red line = 5\(\%\))

In comparison to the Mann-Whitney test, the ks.test is more sensitive to detect changes in the shape of the distribution than to detect a shift of the median(71). Since we have no reason to assume a significant change in the average cell volume, it would not make much sense to use a test that requires averages. Instead we want to test if there is a change in the shape or skew of the whole distribution, which allows to compare each group on the single cell level (figure 3.14). In summary, the test results suggest a larger deviance in shape of distribution between the Ground Truth and the automatically segmented cells for Threshold levels T02 and T10. For T03 we are already close to rejection of the \(H_0\) hypothesis (assuming a 5\(\%\) threshold). Only for T04 and T05 are well within the 5\(\%\) rejection threshold. However, since we want to be as close to the Ground Truth as possible, we settled for T04.

3.1.5 Rosette Detection

The method used for rosette detection is based on a convolutional neuronal network (CNN) and was modified from the “rosette detector” algorithm previously used in the lab and described in (1, 51). Since the former method was technically outdated and since we had new data in which we needed to detect rosettes, we updated the former method to a state-of-the-art CNN using Caffe(72) as a backend. Network configuration and training was done by our collaborators at the institute for Informatics, Albert-Ludwigs-University Freiburg.

The training dataset consitsts of 17 DMSO- and SU5402- treated embryos each. SU5402 is an inhibitor of FGF receptors and embryos treated with these inhibitors show a strongly reduced number of rosettes (38). In order to train the network, the data had to be labeled manually, which was done in ImageJ by placing multipoint ROIs at the center of the rosettes. The data was then further permutated (rotated and changed in size) to artificially increase the amount of training data and make the detection more robust against different kinds of input. Further parameters about the training data is listed in Table 3.3. One example for each is shown in figure 3.16.

Example for rosette detection on the training data. left Maximum Z-projected input data. middle heatmap of scores. blue indicates a low score, red a high one. right score map projected onto the input data.

Figure 3.16: Example for rosette detection on the training data. left Maximum Z-projected input data. middle heatmap of scores. blue indicates a low score, red a high one. right score map projected onto the input data.

The main advantages for using a neural network in a task like this are…

  1. Objectivity
    • A computer model is not biased in a way that it prefers one outcome over the other. It evaluates based on what it was trained to.
    • Unlike the human brain, once a CNN is trained it is static and does not keep on learning. This promotes reproducibility.
  2. Degree of rosette registration
    • The output data are continuous rational numbers (\(\mathbb{Q}\)) instead of integers (\(\mathbb{Z}\)) which does not only tell if a rosette is there or not, but also for ‘how much’ (50-100\(\%\)) it is there.
  3. Training is done relatively quick
Table 3.3: CNN training data
group conc. nm intensity… exposure Z.planes magnif.
DMSO 0.1\(\%\) 488 100 100 ms ~70 40X
SU5402 10\(\mu\)M 488 100 100 ms ~70 40X

3.2 Shroom3

In the previous section a number of methods were presented I developed specifically to perform the analyses on the shroom3 mutant phenotype which are described in the following section.

3.2.1 Phenotype description

While birth rates follow a distribution of Mendelian inheritance (after genotyping at 3 months of age), homozygous mutant adults seem to be more sensitive to mechanical stress and have a shortened lifespan (~6-9 months). In body shape, shroom3 mutants are not smaller or possess any other striking phenotype (figure 3.17C), however their gill flaps seem to be increased in size, swollen, and not exactly streamlined with the body. This is also evident by an increased frequency of gill flap beating. When looking at the pLLP at different stages (figure 3.17D), they exhibit the same phenotype as the MO injected embryos (1).

shroom3 mutant phenotype (A-A’) mutation strategy (A) Talen arms (black blocks) bordering a sequence within SD1 including a restriction site for NsiI (indicated back arrows and grey background) (A’) wildtype and mutant allele with 8 bp deletion (B-B’) Amino acid code and protein schematic with functional domains and stop codon (indicated by asterisk) (C-C’) Adult phenotype with closeup to gill flaps (D) pLLP phenotype for three different stages (columns) and different manifestations (rows) (40X WI objective). Arrows indicate epithelial rosettes. (E) LL phenotype at end of migration (10X air objective). Scale bars = 1 mm. MaxIPs for D-E.

Figure 3.17: shroom3 mutant phenotype (A-A’) mutation strategy (A) Talen arms (black blocks) bordering a sequence within SD1 including a restriction site for NsiI (indicated back arrows and grey background) (A’) wildtype and mutant allele with 8 bp deletion (B-B’) Amino acid code and protein schematic with functional domains and stop codon (indicated by asterisk) (C-C’) Adult phenotype with closeup to gill flaps (D) pLLP phenotype for three different stages (columns) and different manifestations (rows) (40X WI objective). Arrows indicate epithelial rosettes. (E) LL phenotype at end of migration (10X air objective). Scale bars = 1 mm. MaxIPs for D-E.

Shroom3 heterozygous zebrafish show no phenotypic abnormality. When incrossed, genotyping of two to five days post fertilization (dpf) embryos results in a Mendelian distribution. However, stock-fish that are regenerated and genotyped by finclip at about 3 months of age show only a rate of 5-10 \(\%\) of shroom3 homozygous mutants. After another 3 – 6 months those would usually decease too. Therefore, the loss of Shroom3 activity leads to increased mortality for reasons we have not uncovered yet.

3.2.2 Lateral Line Morphometrics

Since in the previous study performed on shroom3 morphants we found a significantly reduced number of rosettes in the pLLP, a reduced number of CCs was expected to be deposited at the end of pLLP migration as well. Instead we found more CCs deposited (figure 3.17E).

3.2.2.1 Dataset

To analyze this observation quantitatively a dataset was put together consisting of 83 zebrafish embryos fixed at the end of pLLP migration, derived from four different parent pairs. After genotyping, this gave us 26 wildtypes, 31 heterozygous and 26 homozygous mutants for statistical tests. In addition to the number and position of deposited NMs, we also measured the area and the number of nuclei in each deposited CC.

3.2.2.2 Number and Position of Cell Clusters

Although the embryos were closely staged (\(\pm\) 20 min.), there are always some individual variations in the distance migrated by the pLLP of each. To compare the number of deposited CCs independently of LL length the ratio of LL length over CC count (3.18B) was calculated. Fixation with PFA may introduce a slight bending of the embryo and mounting introduces a different tilt for each embryo, to correct for uneven LL paths and irregularities in mounting, CC distances are calculated in Euclidean space rather than solely in dimension X.

While shroom3\(^{+/+}\) embryos deposit 6 \(\pm\) 0.7 CCs, shroom3\(^{-/-}\) embryos deposit 8 \(\pm\) 0.9 CCs (figure 3.18A). This difference stays true also when normalizing against length (figure 3.18B).

Cluster counts. A cluster count [\(n\)] B normalized to length (LL length [\(mm\)] / cluster count [\(n\)])

Figure 3.18: Cluster counts. A cluster count [\(n\)] B normalized to length (LL length [\(mm\)] / cluster count [\(n\)])

Even though CC position in individual shroom3\(^{-/-}\) embryos seems more random, the position of the first deposited CC is mostly conserved (3.19A), \(p\) for difference in position = 0.2). Similarly, the position of the pLLP isn’t significantly changed confirming that Shroom3 activity is not required for migration, as was already shown in shroom3 morphants (1). While for the remaining CCs an average lag of -50.4 \(\mu\)m as compared to shroom3\(^{+/+}\) CC positions is observed, it also seems to increase with later CC positions. For shroom3\(^{+/+}\) embryos CC position is mostly conserved through development, however it remains elusive if this is true for shroom3\(^{-/-}\) embryos too. Figure 3.19A’, shows the kernel density distribution for the CC position without grouping individual positions. At a binwidth of 50 \(\mu\)m, the distribution curves show a high and narrow density at around 350 \(\mu\)m, which is the average location of CC1 (3.19 2A). For the remaining CCs the kernel distribution does, neither for shroom3\(^{+/+}\) nor for shroom3\(^{-/-}\) embryos, reveal a precise location. In contrast, if based on CC sequential identity the mean position and standard deviation is calculated, a more explicit pattern emerges which clearly shows the increased count and average frequency (3.19 2A).

This shows that in the absence of Shroom3 activity, more NMs form. This is particularly surprising since the lab had previously shown that shroom3 knock-down leads to a defect in rosette formation and these rosettes prefigure the deposited NM.

Cell Cluster positions. A Exemplary shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos with CCs highlighted. CC0 marks the reference location to compare individual embryos. Scale bar = 1 mm A’ Kernel Density Estimate without (KDE) grouping (\(n\)++ = 162, \(n\)-- = 206) A’' Dots = mean positions, bars = standard deviation (\(n\)max for both ++ and -- = 26).

Figure 3.19: Cell Cluster positions. A Exemplary shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos with CCs highlighted. CC0 marks the reference location to compare individual embryos. Scale bar = 1 mm A’ Kernel Density Estimate without (KDE) grouping (\(n\)++ = 162, \(n\)-- = 206) A’' Dots = mean positions, bars = standard deviation (\(n\)max for both ++ and -- = 26).

3.2.2.3 Cell Count and Area of CCs

The CC count and position analysis clearly shows that more CCs are deposited in shroom3 mutant embryos. In order to determine whether these additional clusters are comprised of as many cells as their wild-type counterparts or less, I quantified the number of cells and the size of each clusters in shroom3\(^{-/-}\) embryos, the cell count per CC was determined by counting DAPI stained cells within CC segments derived from the cldnb:lyn-gfp membrane signal (section 2.3). Both the CC cell number and the CC area were reduced by about 6\(\%\) in shroom3\(^{-/-}\) embryos so that the density remains unchanged (3.20A). Interestingly, the total number of cells in CC per embryo is increased by 9\(\%\) (3.20B). Both the sum of CC cells and total LL cells (CC+pLLP) are significantly increased in shroom3\(^{-/-}\) embryos, while the count of only pLLP cells remains unchanged.

LL Morphometrics A individual CC statistics B Sums per embryo. (Bars = median, errorbars = 95% CI)

Figure 3.20: LL Morphometrics A individual CC statistics B Sums per embryo. (Bars = median, errorbars = 95% CI)

3.2.2.4 Temperature Rescue

Increasing temperature usually leads to an acceleration in thermodynamics and embryonic development, while lower temperatures slow down development (73). Slowing down development also leads to a reduction in speed of migration and therefore to a reduction in forces that act on cells, cell-cell junctions and organ structures.

For this experiment the hypothesis to test was that it should be possible to at least partially restore the shroom3\(^{+/+}\) number of CCs by giving rosettes a longer time to develop properly. Since embryos develop at different speeds, it is more challenging to exactly stage match them at end of migration. To account for this the CC count was normalized to LL length.

Temperature rescue A LL lengths and end of migration stage matching B groupwise comparison of the length normalized CC count per temperature.

Figure 3.21: Temperature rescue A LL lengths and end of migration stage matching B groupwise comparison of the length normalized CC count per temperature.

The question was if we could restore wildtype CC counts in shroom3\(^{-/-}\) embryos when incubating at lower temperatures. Therefore, we need to compare CC counts between T25-- and T30++ respectively p-values between the pairs T30-- vs for T30++ (the original) and T25-- vs T30++ (the actual hypothesis). Even though the CC count T25-- cannot be completely restored (~3.2 to ~2.8 in median normalized CC count), the difference between tested pairs shrunk from 0.00000 (T30-- vs for T30++) to 0.00210 (T25-- vs T30++) (figure 4.4D and 3.21B), which is much closer to a rejection of \(H_0\). At this point, the question remains open but seems probable that at even lower temperatures the wildtype CC count could be rescued in shroom3\(^{-/-}\) embryos.

Table 3.4: Temperature rescue dataset summary
genotype treatment LLs genotype treatment LLs
shroom3++ 25°C 18 shroom3-\- 25°C 19
30°C 15 30°C 20
Table 3.5: Temperature rescue statistics
group1 group2 p p.adj p.signif
T25 ++ T25 -\- 0.00000 0.00000 ****
T30 ++ 0.00747 0.00750 **
T30 -\- 0.00000 0.00000 ****
T25 -\- T30 ++ 0.00104 0.00210 **
T30 -\- 0.00015 0.00046 ***
T30 ++ T30 -\- 0.00000 0.00000 ****

3.2.2.5 Summary

Two additional CCs are deposited in shroom3\(^{-/-}\) embryos. While each CC is comprised of less cells, in sum there are more cells in embryos deficient for Shroom3 leading to a net increase in cell count of ~9\(\%\) (31 cells). Lowering the temperature by 5\(^\circ\) C was sufficient to partially rescue the number of NMs suggesting that Shroom3 might be required to make the system more robust against stress conditions.

3.2.3 Proliferation

LL morphometric analysis revealed that deposited CCs in shroom3\(^{-/-}\) embryos were on average slightly smaller and had fewer cells incorporated. However, due to the additional two cell clusters deposited, the net count is ~9\(\%\) increased at the end of migration. To test whether this is due to higher proliferative activity a dataset of time-lapse movies (12 h / \(\Delta\)T = 6 min.) was generated to count the number of mitoses in a cxcr4b(BAC):H2BRFP transgenic background similar to previous proliferation studies in the pLLP (34, 74).

3.2.3.1 Datasets

The live imaging dataset consists of 12 shroom3\(^{+/+}\) and 18 shroom3\(^{-/-}\) embryos with about 75 timepoints for each pLLP and 150 cell clusters. For counting, tracks were created for each proliferative cell on MaxIPs (section 2.2.4.2). Figure 3.22A shows a shroom3\(^{+/+}\) and a shroom3\(^{-/-}\) LL after 12 h of imaging where each mitotic track is individually colored and overlaid to the image data.

To support and validate this data two more datasets from fixed embryos were generated, one with a EdU (N = 3, n++ = 26, n-- = 17) and one with a phospho-Histone marker (N = 3, n++ = 22, n-- = 29).

3.2.3.2 Lateral Line Mitoses

Tracking mitoses in the pLLP does not reveal any difference in proliferation from start (~28 hpf) till about mid of migration 12 hours later (3.22B). For confirmation, this finding was also validated via two more additional methods. During the cell cycle genetic material is replicated in S-phase, while in metaphase of mitosis histones are found to be heavily phosphorylated (75). With an 5-Ethynyl-2’-deoxyuridine (EdU) assay (76), cells in S-phase can be detected (3.22B’). Using a specific phospho-Histone (p-Hist.) antibody cells in meta-phase can be detected. When comparing the EdU index (EdU positive cells over total pLLP cell number) or the mitotic index (p-Hist. positive cells over total pLLP cell number) I could confirm that there is no difference in proliferation in the migrating pLLP. Still, at the end of migration the LL system in shroom3\(^{-/-}\) embryos does contain 9\(\%\) more cells (figure 3.20).

pLLP proliferation A Tracks of Mitosis. (Image data) Last timepoint of Z-projected time-lapse movie. (Labels) each dots marks a mitotic events. Each color represents one mitosis. Each connection between two dots represents 6 min. B-B’' Mitoses in the pLLP. (B) Count of Mitoses through time (mean\(\pm\)sd) (B’) Proliferation Index at 36 hpf for EdU and phospho Histone labeled pLLPs (B’‘) Examples of EdU staining (scale bar = 100 \(\mu\)m) C Mitoses in CCs. B’ and C, the colored bar indicated the median, bars indicate the 95% CI.

Figure 3.22: pLLP proliferation A Tracks of Mitosis. (Image data) Last timepoint of Z-projected time-lapse movie. (Labels) each dots marks a mitotic events. Each color represents one mitosis. Each connection between two dots represents 6 min. B-B’' Mitoses in the pLLP. (B) Count of Mitoses through time (mean\(\pm\)sd) (B’) Proliferation Index at 36 hpf for EdU and phospho Histone labeled pLLPs (B’‘) Examples of EdU staining (scale bar = 100 \(\mu\)m) C Mitoses in CCs. B’ and C, the colored bar indicated the median, bars indicate the 95% CI.

Since individual shroom3\(^{-/-}\) CCs are smaller, we wondered if there could be compensation mechanisms activated that increases proliferation to restore wildtype CC size once they are deposited. To verify this, CC mitoses were tracked on the same data as before. Other than the pLLP, which can be observed throughout the time-lapse, CCs only begin to exist when they are deposited. To normalize for individual CC lifetimes, the number of mitoses per CC is divided by the duration of the total time-lapse minus the time span to when it first appeared.

Definition 3.1 (Normalized mitotic rate) \[\frac{mitoses\ per\ CC\ [n]}{total\ time- time\ of\ deposition\ [T]}\]

This clearly shows that the additional cells in shroom3\(^{-/-}\) embryos are derived from CC proliferation, rather than pLLP proliferation (3.22C).

3.2.3.3 Summary

These results show that the additional cells at the end of migration observed in the LL analysis do not stem from an increase in proliferation in the pLLP, but instead from increased proliferation after CCs are deposited.

3.2.4 Rosette Formation and Cluster Deposition

Having shown that the additional CC deposition in shroom3\(^{-/-}\) embryos is not caused by an over-proliferation in the migrating pLLP, the next step was to have a closer look at the dynamics of rosette formation, in relation to pLLP morphometrics and CC deposition. To test dependencies between different observations and developmental dynamics, variables can be correlated. To do this and to have a coherent dataset to work with, the data of three different analyses on a single set of image data were joined.

First, to get to know the exact timing of CC deposition, a manual tracking tool (59) was used (figure 3.23, tracking). Second, to deduce pLLP morphometrics an IJ macro was developed (anaLLzr2DT, section 3.1.3) for spatiotemporal registration of the pLLP and to yield information about its speed, area, roundness, etc. (3.23, Registration). Third, to detect rosettes and quantify their weights, a CNN (77) was used on the registered pLLP output from the before mentioned IJ macro (section 3.1.5; figure 3.23 - Detection). Finally, all three datasets were joined by embryo id and timepoint.

3.2.4.1 Dataset

The image data set analyzed consists of 20 time-lapse movies (11 shroom3\(^{-/-}\), 9 shroom3\(^{+/+}\)). Each time-lapse has a duration of ~20 h (~8 min. interval)15, summing up to ~1650 shroom3\(^{-/-}\), and ~1350 shroom3\(^{+/+}\) timepoints.

Rosette Formation Joined Datasets. Tracking pLLP is marked as no.1. The rest of the CCs is numbered sequentially as they appear. Registration The black outline marks the region of interest (ROI) that is the pLLP as it is detected by the anaLLzr2DT. The red line highlights the pLLPs leading edge. Detection Each square highlights a detected rosette by the CNN, colors represent rosette weights.

Figure 3.23: Rosette Formation Joined Datasets. Tracking pLLP is marked as no.1. The rest of the CCs is numbered sequentially as they appear. Registration The black outline marks the region of interest (ROI) that is the pLLP as it is detected by the anaLLzr2DT. The red line highlights the pLLPs leading edge. Detection Each square highlights a detected rosette by the CNN, colors represent rosette weights.

3.2.4.2 Cluster Deposition

Figure 3.24A shows a montage of a shroom3\(^{+/+}\) and a shroom3\(^{-/-}\) scenario in cluster deposition (3.5 h / ~20 min. interval). For shroom3\(^{+/+}\) the rosette structure seems tight and two depositions occur in a regular manner. In the shroom3\(^{-/-}\) on the other hand, rosette structure are more fragile with less pronounced rosette centers and four observed depositions. Interestingly, based on the cldnb:lyn-gfp signal the area of constriction seems to be less radially organized but more oriented towards the horizontal midline. Furthermore, the trailing rosettes are significantly smaller and do not seem to separate as clean from the migrating primordium. In addition, for L3 it first seems like two CCs could be deposited, until they merge again to a single CC about 1.5 h later.

Cluster Deposition. A shroom3\(^{+/+}\) and shroom3\(^{-/-}\) LL development in comparison. L1 - L4 are deposited CCs. Arrows indicate deposition events. Dotted lines are tracks of rosette to CC transition. B Statistics of deposited cluster counts C Change of CC position through time. Each line represents the locally weighted scatterplot smoothing (LOESS) of all CCn positions observed. See section 3.2.4.3 for a dataset description.

Figure 3.24: Cluster Deposition. A shroom3\(^{+/+}\) and shroom3\(^{-/-}\) LL development in comparison. L1 - L4 are deposited CCs. Arrows indicate deposition events. Dotted lines are tracks of rosette to CC transition. B Statistics of deposited cluster counts C Change of CC position through time. Each line represents the locally weighted scatterplot smoothing (LOESS) of all CCn positions observed. See section 3.2.4.3 for a dataset description.

On average, as it was shown in section 3.2.2.2, there’s a significant increase in clusters deposited (3.24B). Also, neither shroom3\(^{+/+}\) nor shroom3\(^{-/-}\) CCs drastically change their position once they are deposited.

3.2.4.3 Registration

As the pLLP migrates it moves through space and time. To measure velocity and acceleration, one needs to detect where in space (XY coordinates) the pLLP is located at multiple timepoints. When duplicating the pLLP based on a detection ROI from the whole image, the pLLP is registered in time and space (figure 3.25A).

As shown in figure 3.25B-B’ neither speed nor acceleration drastically differ throughout the complete course of migration. Speed drops from an initial ~75 \(\mu\)m/h to about ~30 \(\mu\)m/h for both shroom3\(^{+/+}\) and shroom3\(^{-/-}\) 17 h later (figure 3.3 A). Similarly, while there is a positive acceleration of almost ~2 \(\mu\)m/h peaking after ~2-3 hours, the remaining two peaks progressively get smaller (3.25A’). While for the area no difference can be detected (3.25C), interestingly the roundness is on average significantly reduced in shroom3\(^{-/-}\) pLLPs (3.25D). This is also evident from the montage in figure 3.24A.

pLLP time-resolved morphometrics. A Registration procedure B-B’ Leading edge (l.e.) speed and acceleration in \(\mu\)m/h, displayed as LOESS curves with at a span of 0.5 C Area in square \(\mu\)m and D Roundness displayed as mean ± s.e. (standard error). See section 3.2.4.3 for a dataset description.

Figure 3.25: pLLP time-resolved morphometrics. A Registration procedure B-B’ Leading edge (l.e.) speed and acceleration in \(\mu\)m/h, displayed as LOESS curves with at a span of 0.5 C Area in square \(\mu\)m and D Roundness displayed as mean ± s.e. (standard error). See section 3.2.4.3 for a dataset description.

3.2.4.4 Rosette Detection

To quantify the maturity of rosettes within the pLLP a CNN was used which allows to detect objects within images (Region Proposal based CNN). Inherent to object detection and classification by a neural network is that the network not only tells us if an object was detected (of numbers room \(x\in[0, \infty]\subset\mathbb{N}\)), but also how secure it is - the probability - that the object detected is the right one (of numbers room \(x\in[0, 1]\subset\mathbb{R}\)) - the weighted detection. Furthermore, the weighted detection was capped a score \(\leq\) 0.5, since below 0.5 the probability would be to insecure. In our case the network was trained to detect wildtype rosettes, while also presenting pLLPs of embryos treated with a compound that inhibits rosette formation (SU5402) to refine learning. Therefore, if the network detected 1 rosette with a probability of 0.99, it is very likely that this is a wildtype rosette. However, at different developmental stages and genetic background (e.g. mutants with impaired rosette formation) the pLLP exhibits a different count of rosettes. Therefore it would be wrong to compare just the sum of detections or weighted detections per pLLP, but it is necessary to normalize for the different count of rosettes to get a global figure of pLLP rosettization - the rosettiness.

Definition 3.2 (rosettiness) \[\frac{\sum_{} \textrm{Weighted Detections}}{\sum_{} \textrm{Detections}} = \textrm{Normalized Weight}\]
Quantification of rosettes. A Model of detection and weighted detection in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos B Actual detection in pLLPs of shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos at six different timepoints and highlighted detection weight.

Figure 3.26: Quantification of rosettes. A Model of detection and weighted detection in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos B Actual detection in pLLPs of shroom3\(^{+/+}\) and shroom3\(^{-/-}\) embryos at six different timepoints and highlighted detection weight.

The kymographs16 in figure 3.27A-A’ were generated from pLLPs that were previously registered with the anaLLzr2DT IJ macro (section 3.1.3). After registration, a line was drawn along the horizontal midline (3.25A). Finally, recorded kymographs were turned to false color (blue = low intensity, red = high intensity) for better visual interpretation. In shroom3\(^{+/+}\) the higher intensities are highly concentrated to two to three distinct regions within the migrating pLLP, while in the shroom3\(^{-/-}\) pLLP the higher intensities are more fragmented and overall reduced.

The numbers reveal two very interesting things. First, the medians show that rosette count (3.25B’) is only reduced for the first six hours, while rosettiness is reduced almost throughout the entire 20 hours. While the median rosettiness of shroom3\(^{+/+}\) is at a constant level of about 0.9, shroom3\(^{-/-}\) rosettiness starts out at about 0.5 but then linearly grows until it also reaches levels of about 0.9 at 16-20 hours of migration. These results, together with the finding that we could reduce the number of CCs deposited when lowering the temperature, suggests that there should be a interdependecy with speed of migration. As for rosette detection, variance is much higher.

Second, while for rosette counts comprised between 2 and 6, half or more of the pLLPs are shroom3\(^{+/+}\), for counts below two and above six there are more shroom3\(^{-/-}\) pLLPs (3.25B). Furthermore figure 3.27C shows that at a rosettiness of ~0.7 there are about as many shroom3\(^{+/+}\) as there are shroom3\(^{-/-}\) pLLPs, marking this point as a threshold were pLLPs above are more like likely to be shroom3\(^{+/+}\) and below more likely to be shroom3\(^{-/-}\). At ~0.1 rosettiness there are almost only shroom3\(^{-/-}\) pLLPs, while at ~0.9 rosettiness there are almost only shroom3\(^{+/+}\) pLLPs. In addition, the data distributions shown on the right (3.27B’’ and C’’) reveals that for the rosettiness the ditribution did not actually shift to a lower number, but rather flattened and variance is increased.

Rosette counts and weights. A-A’ pLLP kymographs. Length in A’ = 100 \(\mu\)m. (A) shows the signal and line drawn. (A’) shows the signal through time. B-B’’ Rosette detections as whole numbers (\(\mathbb{Z}\)). (B) Relative shows the ratio of detections in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) (x axis) at each count of detections per pLLP (y axis) throughout time. (B’) Medians shows the median \(\pm\) standard deviation of detections (y axis) as dots in time intervals of 2 h (x axis). (B’‘) KDE shows the density in the distribution of the data. C-C’’ Rosettiness as rational numbers (\(\mathbb{Q}\)). (B) Relative shows the ratio of rosettiness in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) (x axis) at level of rosettiness per pLLP (y axis) throughout time. At ~70\(\%\) rosettiness the ratio of shroom3\(^{+/+}\) over shroom3\(^{-/-}\) is equally distributed (B’) Medians shows the median \(\pm\) standard deviation of rosettiness (y axis) as dots in time intervals of 2 h (x axis). (B’’) KDE shows the density in the distribution of the data. See section 3.2.4.3 for a dataset description.

Figure 3.27: Rosette counts and weights. A-A’ pLLP kymographs. Length in A’ = 100 \(\mu\)m. (A) shows the signal and line drawn. (A’) shows the signal through time. B-B’’ Rosette detections as whole numbers (\(\mathbb{Z}\)). (B) Relative shows the ratio of detections in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) (x axis) at each count of detections per pLLP (y axis) throughout time. (B’) Medians shows the median \(\pm\) standard deviation of detections (y axis) as dots in time intervals of 2 h (x axis). (B’‘) KDE shows the density in the distribution of the data. C-C’’ Rosettiness as rational numbers (\(\mathbb{Q}\)). (B) Relative shows the ratio of rosettiness in shroom3\(^{+/+}\) and shroom3\(^{-/-}\) (x axis) at level of rosettiness per pLLP (y axis) throughout time. At ~70\(\%\) rosettiness the ratio of shroom3\(^{+/+}\) over shroom3\(^{-/-}\) is equally distributed (B’) Medians shows the median \(\pm\) standard deviation of rosettiness (y axis) as dots in time intervals of 2 h (x axis). (B’’) KDE shows the density in the distribution of the data. See section 3.2.4.3 for a dataset description.

3.2.4.5 Correlations

In the previous sections I have shown that in embryos deficient for Shroom3 more NMs are deposited and that this is not caused by an overproliferation in the pLLP. In this section my goal was to collect detailed information about LL morphometrics and rosette formation to find out what is causing the additional CCs to be deposited.

To do this I combined the results of three different analyses to be able to detect relationships between variables. For my question the most interesting variable to find correlations with is rosettiness. As mentioned in section 3.2.1 when we had a first closer look at the pLLP phenotype we found that some of the clearly as shroom3\(^{-/-}\) identified embyros still were reminiscent of the shroom3\(^{+/+}\) phenotype. However, what surprised us the most (due to to previous results indicating an important role during rosette assembly for Shroom3), was that a fraction had significantly more CCs deposited. To test the interdependence between rosettiness and CCs deposited quantitatively we set up two hypotheses.

First, when we had a closer look at timelapse movies of the migrating pLLP at a high temporal resolution we had the impression that while in shroom3\(^{+/+}\) embryos the pLLP stalled for a moment during CC deposition, this was not the case in shroom3\(^{-/-}\) embryos. Therefore the hypothesis to test was that higher velocity or acceleration lead to a lower degree of rosettiness and vice versa (figure 3.28A-B). While velocity is the rate at which an object moves in a certain direction, acceleration tells us the rate at which velocity changes. While most of the shroom3\(^{+/+}\) pLLPs nicely cluster in the top right corner (high rosettiness and velocity, green dots in figure 3.28A), for the shroom3\(^{-/-}\) pLLPs there is more of a spread. However, there seems to be a weak relationship between velocity and rosettiness which is also reflected by the correlation coefficient. The relationship between acceleration and rosettiness on the other hand seems to be stronger. Again, shroom3\(^{+/+}\) pLLPs nicely cluster in the lower right corner (high rosettiness and negative acceleration, green dots in figure 3.28B). Since over the course of migration the pLLP gets slower (3.25B), the average acceleration is negative. For the shroom3\(^{-/-}\) pLLPs there is also more of a spread, but the trend is more clearly visible which is also reflected by the correlation coefficient.

Second, since we know Shroom3 plays a role in rosette assembly and that embryos deficient for Shroom3 have on average more CCs deposited, we wanted to test if there is a direct link between the two and have statistical certainty. Therefore, the hypothesis to test for figure 3.28B was if lower rosettiness leads to a higher number of CCs deposited and vice versa. Since here the end of migration cluster count is one-dimensional (one number per embryo), we had to correlate it to a per embryos summary statistic rosettiness. Here the correlation coefficient is rather high, suggesting there might be an interdependency between pLLP rosettiness and the final pattern of NM deposition. Additionally, the clusters determined are nicely separated from each other and the shroom3\(^{+/+}\) and shroom3\(^{-/-}\) pLLPs seem to form two independent groups.

Correlation between rosettiness, speed, acceleration and final pattern of NMs. Single dots in the scatterplots represent the variables scatter in \(x\) and \(y\), the red line shows a linear model through the point cloud of both groups shroom3\(^{+/+}\) and shroom3\(^{-/-}\), red digits indicate the correlation coefficient. Black spots with grey circles indicate the centers for clusters calculated on these two sets of data. Clustering was performed hierarchical A Correlation between pLLP rosettiness and speed of migration B Correlation between pLLP rosettiness and acceleration C Correlation between pLLP rosettiness and number of deposited clusters normalized to the length of the lateral line.

Figure 3.28: Correlation between rosettiness, speed, acceleration and final pattern of NMs. Single dots in the scatterplots represent the variables scatter in \(x\) and \(y\), the red line shows a linear model through the point cloud of both groups shroom3\(^{+/+}\) and shroom3\(^{-/-}\), red digits indicate the correlation coefficient. Black spots with grey circles indicate the centers for clusters calculated on these two sets of data. Clustering was performed hierarchical A Correlation between pLLP rosettiness and speed of migration B Correlation between pLLP rosettiness and acceleration C Correlation between pLLP rosettiness and number of deposited clusters normalized to the length of the lateral line.

3.2.4.6 Mechanics

It is very well known that Rho kinases are necessary for mechanic force transmission in various developmental processes (26, 44, 49, 78, 79). Since Rock is also thought to be a key player of the Shroom force mediation pathway in the pLLP, the idea for a mechanic rescue was to titrate different concentrations of a Rock inhibitor (Rockout, section 2.1.1) and a non-muscle myosin II (NMII) activator (Calyculin, section 2.1.1) to see if this way can confirm the correlation between rosettiness and CC number in an independent manner.

3.2.4.6.1 Rock inhibition

Rock2a phosphorylates NMII which is necessary for contraction of the actin network and apical constriction (section 1.2.4.1). Here we wanted to mimic the shroom3\(^{-/-}\) phenotype in shroom3\(^{+/+}\) embryos by inhibiting Rock activity via small molecule Rockout drug treatment.

Embryos were incubated at distinct (figure 3.29 legend) concentrations from 24 hpf till end of migration (about 60 hpf). At this stage embryos incubated at higher concentrations displayed a significant reduction in overall body length (3.29A’). Therefore, to see if there is a specific effect on length, LL length was normalized to body length.

Titration of Rock inhibitor. A LL lengths are reduced with increased concentrations of Rock inhibitor and B groupwise comparison of the length normalized cluster count per concentration of Rock inhibitor.

Figure 3.29: Titration of Rock inhibitor. A LL lengths are reduced with increased concentrations of Rock inhibitor and B groupwise comparison of the length normalized cluster count per concentration of Rock inhibitor.

Rockout treatment at 10 \(\mu\)M does not lead to a significant reduction in LL length but does significantly increase the number of CCs deposited(figure 4.4B and figure 3.29B), confirming a possible link between lower actomyosin contraction in the pLLP and increased number of deposited NMs.

Table 3.6: Rockout rescue dataset summary
genotype conc. (\(\mu\)M) LLs
shroom3++ 0 17
10 13
50 17
100 20
conc.
concentrations in 0.1% DMSO solution
3.2.4.6.2 NMII activation

Downstream of Shroom3 NMII, as a motor protein, is necessary for contraction of the actin network and apical constriction (section 1.2.4.1). The idea for this experiment was to rescue the shroom3\(^{-/-}\) phenotype by over-activation of NMII. Unfortunately, even when incubation at 100 nM (the maximum solubility), no significant differences can be detected in LL length (figure 3.30A), cluster count (figure 3.30B) or cluster position (figure 4.4A).

NMII activation. A LL lengths and B groupwise comparison of the length normalized cluster count.

Figure 3.30: NMII activation. A LL lengths and B groupwise comparison of the length normalized cluster count.

Table 3.7: NMII activation dataset summary
genotype conc. (nM) LLs genotype conc. (nM) LLs
shroom3++ 0 8 shroom3-\- 0 8
100 12 100 12
conc.
concentrations in 0.1% DMSO solution

3.2.4.7 Summary

I could (1) demonstrate, from fixed embryos (figure 3.18B) as well as here on live imaging data (figure 3.24B), that in shroom3 heterozygous mutants significantly more CCs are deposited, gaining more insight in the deposition process which shows smaller and more fragmented CCs and a more chaotic deposition process overall (figure 3.24A) (2) show a possible interdependence with velocity and acceleration (figure 3.28A-B). Also the area of the pLLP is not affected, but roundness, confirming our impression that the pLLP in shroom3\(^{-/-}\) embryos is more elongated (figure 3.25C-D) (3) show that while the integer number of rosettes in the pLLP is only significantly increased during the first 6-8 hours of migration, the overall rosettiness (rosette integrity per pLLP) is significantly reduced over the whole path of migration (figure 3.27C’).

Rosettiness is strongly correlated to the final number of CCs deposited (3.28C), concluding that rosettiness is the key parameter for the future outcome of CC pattern. Interestingly however this conclusion contradicts the previous, and intuitive, assumption that embryos deficient for Shroom3 should not deposit CCs at all. However, in the light of this data Shroom3 is important to strengthen rosette integrity in order to have CCs of the right size deposited.

Still, the question is: What determines rosette weight? Velocity and rosettiness are correlated weaker than acceleration and rosettiness are which indicates that the rate at which velocity changes has more of an impact than velocity itself. This finding is also confirmed by an experiment where the CC count of shroom3\(^{-/-}\) can be rescued when incubated at lower temperature (section 3.2.2.4).

3.2.5 Apical Constriction

In the previous analysis I have shown a direct relationship between rosette integrity and CCs deposited, where lower rosette integrity leads to a fragmented rosettes and therefore to an increase in CC deposition frequency. To preserve rosette integrity and for proper CC maturation cells need to apically constrict. To gain further insight into Shroom3 contribution to apical constriction, it is appropriate to have a closer look at rosette conformation on a cellular scale. To do so, first a set of high spatial resolution, volumetric image data was generated (XY = 0.164 \(\mu\)m / pixel; Z = 0.4 \(\mu\)m) that allowed for…

  1. a more rigorous inspection of morphological differences, and
  2. automated and unbiased single cell 3D reconstruction (section 2.2.4.3.2.1) using a newly developed IJ macro (section 3.1.4). Secondly, to investigate the contribution of various single cell morphometrics to rosette formation an app was developed17 that allows for a convenient handling of large amounts of retrieved data.
High resolution, volumetric image data. Upper row shows the fluorescence signal at the membranes. Lower row shows the 3D reconstructed cells. Columns show the same pLLP from different angles.

Figure 3.31: High resolution, volumetric image data. Upper row shows the fluorescence signal at the membranes. Lower row shows the 3D reconstructed cells. Columns show the same pLLP from different angles.

Inhibition of FGFR1 via drug treatment (SU5402, section 2.1.1) results in a concentration dependent loss of morphogenesis and rosette assembly in the pLLP (38, 40, 61). As a proof of principle and to validate previous studies, data of drug treated embryos (20 \(\mu\)M) and appropriate DMSO (0.1\(\%\) DMSO / E318) controls were included.

3.2.5.1 Dataset

The dataset generated consists of three pLLP stages (3.32), four groups (DMSO, SU5402, shrm3++ and shroom3\(^{-/-}\)), 267 pLLPs and 33.163 single cells.

Scheme showing a part of the posterior part of a zebrafish embryo and recorded developmental stages for 3D reconstruction.

Figure 3.32: Scheme showing a part of the posterior part of a zebrafish embryo and recorded developmental stages for 3D reconstruction.

Table 3.8: Apical Constriction dataset summary
id labels
metrics
stage group pLLPs cells ratio
32 hpf DMSO 20 2511 125.5
SU5402 19 2215 116.6
shroom3++ 24 3259 135.8
shroom3-\- 34 4281 125.9
36 hpf DMSO 17 1881 110.6
SU5402 13 1286 98.9
shroom3++ 24 3144 131.0
shroom3-\- 31 3924 126.6
40 hpf DMSO 18 2237 124.3
SU5402 13 1788 137.5
shroom3++ 22 2660 120.9
shroom3-\- 32 3977 124.3
ratio
cells / pLLPs

3.2.5.2 Shape and Arrangement

Figure 3.32 illustrates the three developmental stages used for this analysis. Figure 3.33 shows for each of the 3 stages a representative example of pLLP in shroom3\(^{+/+}\), shroom3\(^{-/-}\) and SU5402-treated embryo.

For shroom3\(^{+/+}\) pLLPs two (3.33A, 32 hpf) to four (3.33A, 40 hpf) areas of constricting regions can be observed (XZ pane), in shroom3\(^{-/-}\) its three (3.33A, 36 hpf) to seven (3.33A, 40 hpf), confirming the results of rosette detection (3.2.4.4). While at 32 and 36 hpf the spread of those regions (indicated by bars in 3.33, XZ panes) is wider in shroom3\(^{-/-}\), at 40 hpf they are smaller but also increased in number. When looking at the central rosette along the width ((indicated by arrows in 3.33), YZ panes), it seems like there is no considerable difference between shroom3\(^{+/+}\) and shroom3\(^{-/-}\) rosettes. In SU5402 treated embryos, neither in XZ nor in YZ constriction can be observed and the cells seem to be mostly columnar in shape. In addition, while constriction seems isotropic in the shroom3\(^{+/+}\) rosette center, constriction in the shroom3\(^{-/-}\) rosette center cells appears anisotropic.

Apical Constriction in 3D. Stages are in columns, the groups are in rows. Each panel shows a MaxIP (top left), and orthogonal views along the length (XZ, bottom left) and the width (YZ, right). Arrow annotations in YZ panels indicate points of constriction. Bar annotations in XZ indicate the spread of region of constriction.

Figure 3.33: Apical Constriction in 3D. Stages are in columns, the groups are in rows. Each panel shows a MaxIP (top left), and orthogonal views along the length (XZ, bottom left) and the width (YZ, right). Arrow annotations in YZ panels indicate points of constriction. Bar annotations in XZ indicate the spread of region of constriction.

3.2.5.3 Height

Earlier attempts for indexing AC include measuring the ‘apical index’ (A.I.) of bottle cells during X.laevis gastrulation (80) or for cells of the pLLP (61). For both, the metric describes the ratio of lateral height over apical width which, depending on the situation, is a very coarse and inaccurate description. In the pLLP cells of different forms, volumes and heights can be found. When measuring apical width at a fix distance from the apical site cells with different height but otherwise equal degree of AC turn out to have a very different A.I. (figure 2.3A and A’). If however apical width is measured at a distance relative to the cells height, cells with an equal degree of AC turn out to have the same A.I. (figure 2.3A and A’’). In addition, it remains questionable exactly how to define apical width in a two-dimensional cellular cross-section. By introducing apical width measurement along both, the major and the minor axis (section 2.2.4.3.1.3), the improved model for AC and method for automated and unbiased cellular segmentation therefore represents a major advancement.

For another demonstration of the method, figure 3.34 shows a heatmap of cell height, how its distributed in the pLLP and under different conditions. At stages 32 and 36 hpf, height in shroom3\(^{-/-}\) cells is not as strongly reduced as in SU5402 treated ones and cells in the central region of the pLLP are higher than in the leading, trailing and lateral regions. Therefore this representation also gives an idea which cells are most affected.

pLLP terrain maps. To get a more detailed impression about how variables (Height in this case) are distributed within the cells of the pLLP, single cell measurements of pLLPs that are normalized in orientation can be superimposed in a two-dimensional map of organ length and width. Next, cell coordinates are grouped into bins of hexagons and the summary statistic is represented in color. (bottom right) link to the LLMapR web-app.

Figure 3.34: pLLP terrain maps. To get a more detailed impression about how variables (Height in this case) are distributed within the cells of the pLLP, single cell measurements of pLLPs that are normalized in orientation can be superimposed in a two-dimensional map of organ length and width. Next, cell coordinates are grouped into bins of hexagons and the summary statistic is represented in color. (bottom right) link to the LLMapR web-app.

3.2.5.4 Apical Index

To get a hold on AC anisotropy we measured the length of the minor and major axis of an ellipsoid fitted to the imaging Z-plane at a certain distance from the cell apex (as described in section 2.2.4.3.1.3 and illustrated in figure 3.35A). The angle formed by the major axis of the ellipsoid and the horizontal midline indicate the orientation of AC (figure 3.35A’). If more cells are constricted along the DV axis, we expect angles closer to 0\(^\circ\). If more cells are constricted along the AP axis, we expect angles closer to 90\(^\circ\). For angle measurements, all angles are normalized to a 90\(^\circ\) range, where 0\(^\circ\) is along the horizontal midline.

When comparing the ratio of cells in intervals of 15\(^\circ\) along a range of 90\(^\circ\) it can be shown that there are more shroom3\(^{-/-}\) than shroom3\(^{+/+}\) cells within the 0-15\(^\circ\) interval through all three stages (3.32). Even more, it shows that there are more shroom3\(^{+/+}\) than shroom3\(^{-/-}\) cells within the remaining intervals – confirming the model of anisotropic constriction along the DV axis.

While reduction in A.I. is stronger than the A.I. in shroom3\(^{-/-}\) cells (3.35C-C’), both are significantly reduced throughout time – again confirming the increase in constriction an-isotropy. For all three timepoints the A.I. for SU5402 treated embryos is not only the smallest, but also stays at the same level (~2 in the A.I., ~3.4 in the A.I.), therefore it can be seen as a lower threshold. Interestingly, the A.I.s for DMSO, shroom3\(^{+/+}\) and shroom3\(^{-/-}\) are progressively converging this threshold from earlier to later stages.

Apical constriction metrics. A-A’ Measurements. (A) Oval (black outline) represents the fit ellipse. Red arrows represent major and minor axes which are representative for A-P and D-V respectively (A’) Angle measurements and intervals B Cellular orientation as bar chart. The y axis represents the (normalized) fraction of cells per cells in the whole organ. p-value levels (wilcox-test) are indicated as stars. C-C’ Apical Constriction measurements. Colored bars represent the median. Errorbars indicate 95\(\%\) CI.

Figure 3.35: Apical constriction metrics. A-A’ Measurements. (A) Oval (black outline) represents the fit ellipse. Red arrows represent major and minor axes which are representative for A-P and D-V respectively (A’) Angle measurements and intervals B Cellular orientation as bar chart. The y axis represents the (normalized) fraction of cells per cells in the whole organ. p-value levels (wilcox-test) are indicated as stars. C-C’ Apical Constriction measurements. Colored bars represent the median. Errorbars indicate 95\(\%\) CI.

3.2.5.5 Summary

In the previous chapter I provided strong indication that the main reason for the additional CCs deposited in Embryos deficient for Shroom3 is reduced rosettiness. Here I wanted to get a more detailed view on how rosette configuration and cell morphology compares between wildtype and mutant.

The method developed to quantify AC allows measurement along two orthogonal axes, the major (the longer axis) and a minor (the shorter axis), of an ellipse fit to a cellular cross-section at a distinct distance from the apical site. In addition, the cells orientation in degrees from the horizontal midline is obtained (3.35A-A’).

In summary, AC is significantly reduced in shroom3\(^{-/-}\) embryos. The results show an increased axial an-isotropy, meaning that AC is more reduced along the major than along the minor axis. In conclusion this means that due to less tight rosette packing and apical constriction the migrational pulling forces are probably accounting for the an-isotropy. In terms of cell shape this means that rosette cells go from a pyramidal geometry, more to a prism geometry (figure 3.36). This is also confirmed by angular measurement which show that in shroom3\(^{-/-}\) pLLPs there are more cells in the range of 0-15\(^\circ\) while in shroom3\(^{+/+}\) pLLPs more cells are in the range of 30-45\(^\circ\).

Rosette and Cell Shape Model. Shapes reconstructed from real cells.

Figure 3.36: Rosette and Cell Shape Model. Shapes reconstructed from real cells.

Zona occludens-1 (ZO-1) is a peripheral membrane, tight-junction associated protein. Within the apical region of pLLP rosettes FGF filled luminal structures are developing that are hubs for locally confined morphogen signaling. All cells of a rosette make up and are connected to a single lumen. When visualizing the lumen via an antibody for ZO-1, the lumen appears like a buckyball where each side is the connection to a single cell (40). While in shroom3\(^{+/+}\) rosettes those structures appear circular in the trailing rosette, in shroom3\(^{-/-}\) rosettes they appear more oval (supplement figure 4.2, which supports the theory of an-isotropy. Furthermore, in more leading regions the signal is more fragmented, which supports the theory of micro-rosette structures.

3.2.6 Haircell Specification

In the analyses presented so far I have shown that embryos deficient for Shroom3 deposit more CCs, that this is caused by a fragmentation of rosettes (not by overproliferation) and that AC, which is important for CC maturation, is only partially diminished (more in A-P than in D-V axis). Since we also observe a shift in cell geometry from a pyramidal to a more prism geometry, we wanted to know if this had downstream consequences on hair-cell (HC) specification.

As described in section 1.1.3, the shape of a cell has direct impact on its ability to perceive and react to external cues. Here we were interested to test if the reduction in AC (change in cell shape, section 2.2.4.3.1.3) in the pLLP had an impact on HC specification and therefore if the LLs function as a sensory system would still be intact. Atoh1a (section 1.2.3.2, a TF that gives cells the potential to become sensory HCs), in the pLLP is locally expressed between leader and follower cells and is finally restricted to a single center cell via lateral inhibition (section 1.1.2.3). Since till today it was not shown why the center cell becomes the HC - here our hypothesis was that rosette assembly (radial organization) respectively AC could play a role.

First, to check if atoh1a was still expressed in shroom3\(^{-/-}\) cells and if there were further implications in feedback loops with Notch signaling, an In Situ Hybridization (ISH, section 2.2.3.2) experiment was conducted (probes in section 2.1.8). For 36 and 40 hpf the count of atoh1a and deltaD expressing cells (3.37) seemed to be increased. Furthermore, especially at 40 hpf, the signal seems to be a lot more fragmented and fuzzier.

Expression of deltaD and atoh1a in the pLLP. Recorded in greyscale at brightfield at 20X Magnification. Images show background subtracted and de-noised EDFs of original Z-stack data.

Figure 3.37: Expression of deltaD and atoh1a in the pLLP. Recorded in greyscale at brightfield at 20X Magnification. Images show background subtracted and de-noised EDFs of original Z-stack data.

Traditional ISH allows for detection of RNA transcripts on a whole embryo scale via a hybridizing anti-sense probe. However, since embryos are fixed, it only allows to analyze single time points. Furthermore, since images are taken in brightfield, quantification of signal intensity is difficult and since what is visualized is a precipitate rather than a signal there is not a clear linear relationship to quantify the amount of expression.

To get access to developmental dynamics we made use of an additional, besides cldnb:lyn-gfp, transgenic construct where tdTomato (81) is expressed under direct control of the atoh1a promotor. By simultaneous observation of both fluorophores in a time-lapse setup (3.38B), the strategy was to follow up the dynamics of tdTomato to quantify the expression of atoh1a in cell count and intensity of expression.

3.2.6.1 Dataset

For each group, shroom3\(^{+/+}\) and shroom3\(^{-/-}\), and timepoint the dataset was split into pLLP and CC (table 3.9). Each time-lapse has a duration of 18-20 hours, consists of about 54 timepoints and two channels (488 & 561 nm).

Table 3.9: Hair-cell specification dataset summary
id labels
metrics
genotype structure embryos timepoints per 3h
shroom3++ pLLP 28 1566 261
CC 28 2499
shroom3-\- pLLP 21 1134 189
CC 21 3566

3.2.6.2 Atoh1a in the LL

While in both shroom3\(^{+/+}\) and shroom3\(^{-/-}\) tdTomato signal intensities are rising as soon as CCs are deposited (figure 3.38A), in shroom3\(^{-/-}\) pLLPs intensities are on the rise already in the first four hours of migration. Comparing signal intensities in deposited CCs for both, shroom3\(^{+/+}\) and shroom3\(^{-/-}\) show a similar pattern of increasing tdTomato signal intensity over the course of development but decreasing tdTomato signal intensity at the timepoint of deposition with progressive CC depositions (figure 3.38B). Similarly, when looking at ungrouped CC signal intensity (not per CC, but as one group), no difference can be detected (figure 3.38C).

While there is no difference in relative numbers of atoh1a expressing cells within the migrating pLLP throughout time (figure 3.38D), when comparing mean atoh1a expressing cell counts at specific intervals (about the deposition frequency) the shroom3\(^{-/-}\) line is always on or above the shroom3\(^{+/+}\) line (figure 3.38D’), indicating significantly more atoh1a expressing cells in shroom3\(^{-/-}\) pLLPs.

The extrusions to the left in the Kymographs in figure 3.38D are representative to the elongating pLLP during the process of CC deposition. Magenta curves represent expression of atoh1a. For the shroom3\(^{-/-}\) pLLP, premature expression of atoh1a can be detected. The diagonal lines in the kymographs in figure 3.38D’ represent the moving pLLP along the LL. Vertical curves represent deposited CCs. As for the registered pLLP, Magenta curves represent expression of atoh1a.

Hair-cell specification in the LL.A Sample of images analyzed. upper panel shows the cldnb:lyn-gfp transgene with segmentation masks highlighted in red. Each structure is labeled with the corresponding label in the tabular data. lower panel shows the atoh1a:Tom transgene with segmentation mask transferred from upper panel. B and C Maximum tdTomato intensities in the pLLP and CCs. All CC lifetimes were normalized to the timepoint of deposition (timepoint zero, highlighted by striped vertical line). pLLP intensities are shown to the right (black curve), CC intensities are shown on a negative scale to the left (colored curves). D Relative numbers of atoh1a expressing cells to number of timepoints and D’ mean counts of atoh1a expressing cells. D-D’ Kymographs along the horizontal midline showing nascent signal of Tom (in magenta) E two individual pLLPs that were registered in time and to the leading edge. And E’ Tom signal during LL development.

Figure 3.38: Hair-cell specification in the LL.A Sample of images analyzed. upper panel shows the cldnb:lyn-gfp transgene with segmentation masks highlighted in red. Each structure is labeled with the corresponding label in the tabular data. lower panel shows the atoh1a:Tom transgene with segmentation mask transferred from upper panel. B and C Maximum tdTomato intensities in the pLLP and CCs. All CC lifetimes were normalized to the timepoint of deposition (timepoint zero, highlighted by striped vertical line). pLLP intensities are shown to the right (black curve), CC intensities are shown on a negative scale to the left (colored curves). D Relative numbers of atoh1a expressing cells to number of timepoints and D’ mean counts of atoh1a expressing cells. D-D’ Kymographs along the horizontal midline showing nascent signal of Tom (in magenta) E two individual pLLPs that were registered in time and to the leading edge. And E’ Tom signal during LL development.

Deposition and position of the first CC is more independent of Shroom3 (section 3.2.2.2) than for the remaining CCs. Interestingly during the first four hours, when the first CC is deposited, analysis of hair-cell specification shows that not only the promotor for atoh1a is more active in shroom3\(^{-/-}\) embryos (figure 3.38 A and B), but also that more cells are differentiating to become HCs (figure 3.38C and C’). Together with my previous results these results suggest that the reduction in AC and rosettiness in shroom3\(^{-/-}\) embryos correlate with a premature activation of atoh1a expression in the pLLP which, in turn, suggests that changes in cell shape might impact cell fate decision in the pLLP.

3.2.6.3 Morphogen Rescue

As stated in section 1.1.2.2 and 1.2.4.1, FGF plays a key role during LL development and, additionally, more recent research shows that levels of FGF activity have direct impact on the number of CCs deposited (40).

Since in embryos deficient for Shroom3 there are significantly more CCs deposited and since we observe a pre-mature activation of Atoh1a (which activates FGF signaling), we wanted to test whether the increase in CCs deposited can be explained by an increase in FGF activity. Inhibition of FGF also reduces LL length (38, 40). Therefore, a titration series experiment with an FGF inhibitor (SU5402) was planned to find a concentration that would not affect the length of the LL but still restore shroom3\(^{+/+}\) levels of CC count.

Titration of FGF inhibitor. A LL lengths are reduced with increased concentrations of FGF inhibitor and B groupwise comparison of the length normalized cluster count per concentration of FGF inhibitor.

Figure 3.39: Titration of FGF inhibitor. A LL lengths are reduced with increased concentrations of FGF inhibitor and B groupwise comparison of the length normalized cluster count per concentration of FGF inhibitor.

Concentrations 0.10 and 0.20 \(\mu\)M do not show a significant reduction in LL length (figure 3.39A), but they also do not exhibit any difference in CC count (figure 4.4C and figure 3.39B). While the titration worked out well, we reach wildtype levels of CC count only at a concentration of 1 \(\mu\)M of SU5402, however at this concentration the LL length is also reduced by ~ 1 mm. Since FGF plays a crucial role in many developmental processes and since SU5402 affects all of these, \(H_0\) can at this point neither be rejected nor accepted. More precise methods need to be applied.

Table 3.10: Morphogen rescue dataset summary
genotype conc. (\(\mu\)M) LLs genotype conc. (\(\mu\)M) LLs
shroom3++ 0.00 14 shroom3-\- 0.00 8
0.10 16 0.10 15
0.25 24 0.25 21
0.40 22 0.40 23
0.50 13 0.50 4
1.00 10 1.00 10
conc.
concentrations in 0.1% DMSO solution

3.2.6.4 atoh1a knockdown

Since expression of Atoh1a depends on Fgf signling (40), the hypothesis to test was if premature CC deposition in shroom3\(^{-/-}\) embryos is determined by a premature rise in Atoh1a signaling and if Fgf was also sufficient for CC deposition.

To test this hypothesis, I injected shroom3\(^{-/-}\) embryos with an anti-sense morpholino (MO) that had previously been shown to inhibit atoh1a mRNA translation. Furthermore, since many MOs have been shown to induce unspecific, p53-mediated cell death (82), in a second group I co-injected embryos with an MO for p53 (section 2.1.9 for details about MOs).

Interestingly injection of atoh1a MO lead to a loss of the first CC, usually deposited at around 400 \(\mu\)m distance from the otic vesicle (figure 3.40A). Furthermore, while median CC counts in atoh1a MO injected shroom3\(^{-/-}\) embryos are actually restored to shroom3\(^{+/+}\) levels, CC counts in shroom3\(^{+/+}\) embryos are significantly reduced as well.

atoh1a knockdown. A CC mean positions and B groupwise comparison of the length normalized cluster count.

Figure 3.40: atoh1a knockdown. A CC mean positions and B groupwise comparison of the length normalized cluster count.

In the expression analysis of atoh1a in shroom3\(^{-/-}\) embryos I could show a premature expression of atoh1a in the pLLP. When trying to rescue the phenotype by knocking down atoh1a, neither in shroom3\(^{-/-}\) nor in shroom3\(^{+/+}\) embryos the first NM is deposited anymore. Both of these results would in theory argue for an Atoh1a dependent mechanism of CC deposition, however this result has not been reported before and would need further validation. Furthermore, even though an MO for p53 was co-injected, MO injection has been shown to potentially have many more unspecific effects due to the high concentrations usually injected (83). For this reason double mutants ( shroom3\(^{-/-}\); atoh1a--) were generated - which at this timepoints however are not analyzed yet.

Table 3.11: Atoh rescue dataset summary
genotype group LLs genotype group LLs
shroom3++ p53 24 shroom3-\- p53 22
p53+atoh1a 22 p53+atoh1a 27
Table 3.12: Atoh1a MO rescue statistics
group1 group2 p p.adj p.format p.signif
++ p53 ++ p53-ato 0.00000 0.00001 0.00000 ****
-\- p53 0.00000 0.00000 0.00000 ****
-\- p53-ato 0.26803 0.27000 0.26800 ns
++ p53-ato -\- p53 0.00000 0.00000 0.00000 ****
-\- p53-ato 0.00001 0.00002 0.00001 ****
-\- p53 -\- p53-ato 0.00466 0.00930 0.00470 **

3.2.6.5 Summary

Spatiotemporal expression analysis of atoh1a in shroom3\(^{-/-}\) revealed that expression of atoh1a is initiated ealier in shroom3\(^{-/-}\) embryos (figure 3.38B-C) and that the number of cells expressing atoh1a within the migrating pLLP is also increased (figure 3.38D’). Reduction of atoh1a expression by inhibition of FGF did not work since inhibition of FGF also significantly affects LL length. Rescue by morpholino injection resulted in a complete absence of the location of the first neuromasts - a result which does not allow for concise conclusion at this point and needs to be repeated in vivo with shroom3 ; atoh1a double mutants.


  1. for further details about dataset acquisition see section 2.4 - Proliferation dataset↩︎

  2. a kymograph is a tool to record position over time↩︎

  3. LLMapR - dskleinhans.shinyapps.io/LLmapR↩︎

  4. ‘Embryo Medium 3,’ section 2.1.6↩︎