DOI: 10.7302/yfvb-n772
title: Dataset for calculating lattice vectors (and anisotropy) of zebrafish cone mosaic

description: This dataset contains images of UV cone nuclei near the retinal margin in live zebrafish. These UV cone nuclei are labelled by transgenic expression of a fluorescent reporter (that is photoconvertible).

The most important data are:
1. The zoomed-in (4X magnification) images of UV cone nuclei immediately after photoconversion
2. The zoomed-in (4X magnification) images of UV cone nuclei 2-4 days after photoconversion

Also included is code for segmenting UV cone nuclei (both in image from immediately after photoconversion and in image from days later) and for shifting and rotating the two images to maximally align corresponding UV cone nuclei. After aligning corresponding UV cones, we compute triangulations over UV cone nuclei positions (for both images) and identify bonds that are common to both images. We use these common bonds to calculate the lattice vectors for the UV cone lattice.
description: Zebrafish:
Fish were maintained at approximately 28°C on a 14/10 h light/ dark cycle with standard husbandry procedures. Zebrafish lines, Tg(-5.5sws1: EGFP)kj9, Tg(-3.2sws2: mCherry)mi2007, Tg(trß2: tdTomato), Tg(-3.2sws2: EGFP), Tg(gnat2:H2A-CFP), and pigment mutant ruby carrying albino (slc45a)b4/b4 and roya9/a9 were used. All animal procedures were approved by the Institutional Animal Care and Use Committee at the University of Michigan.
description: Generation of transgenic zebrafish with nuclear-localized photoconvertible (green-to-red) EOS protein expressed specifically in UV cones:
Multi-Gateway-based tol2 kit system was used to generate expression vectors. In brief, the 5’ entry clone, p5E- 5.5sws1, middle entry clone, pME-nEOS (gift from Dr. David Raible), and 3’ Entry clone, p3E-polyA, were assembled into a destination vector, pDestTol2pA using LR Clonase II Plus enzyme (Thermo Fisher Scientific). Embryos of the transparent ruby genetic background at the 1-cell stage were injected with 1 nL of solution containing 25 pg plasmid DNA and 25 pg tol2 transposase mRNA. Founders (F0) with germline transmission of the transgene were identified by outcrossing with wildtype animals, and their F1 progenies were screened for nEOS expression at 4 days post fertilization.
description: nEOS photoconversion and imaging:
Photoconversion of nEOS protein was performed on ruby
description: Tg(sws1:nEos) fish. Juvenile zebrafish (0.7 to 0.88 cm standard body length) were anesthetized with 0.672 mg/ml Tricaine S/ MS-222 (Western Chemical Inc., Ferndale, WA) and placed dorsal side down on a 50 mm glass bottom petri dish with a No. 1.5 coverslip (MarTek Corporation, Ashlan MA) and held in place with damped Kimwipes.  Imaging and photoconversion were performed with a Leica TCS SP8 LSCM (Leica Microsystems, Werzlar, Germany) equipped with Leica 40X PL APO CS2 Water Immersion lens, 1.1 NA with 650 um working distance. Green to red photoconversion of nEOS protein was performed by a 405 Diode laser at 400 Hz scan speed with a resolution of 512 x 512 pixels in the xy dimension at a single optical plane. Pre and post photoconversion images were captured with the White Light Laser tuned to 506 nm for nEOS (green) and 573 nm for nEOS (red). Leica HyD hybrid detectors were tuned to 516-525 nm for nEOS (green) and 620-761 nm nEOS (red).
description: Tracking nuclear positions in photoconverted regions:
In the photoconversion experiments, we observe the same region of the same retina at two different times in live fish. Given a nucleus at one time point, we want to find the same nucleus in the image at the other time point. One image of the region is taken immediately after photoconversion, which we call day 0. Across fish, we vary the time between photoconversion and the time of the second observation (i.e., two days after photoconversion at the earliest and four days after photoconversion at the latest). We call the second time point day 2-4. 
At both times of observations for each fish, we have an image with two channels. One channel corresponds to the color of the photoconverted fluorescent protein. The other channel corresponds to the color of the non-photoconverted fluorescent protein. For the image analysis below, we use the photoconverted channel at both times. The image is three-dimensional, and the plane which contains the UV cone nuclei (i.e., where the fluorescent protein is localized) is mostly parallel to the x-y plane. This fact allows us to perform most of the computations, for tracking each nucleus from one image to the other, based on two-dimensional projections.
For each z-stack, we compute a two-dimensional wiener filter (wiener2
description: MATLAB 2016B Image Processing Toolbox, MathWorks) with a filter size of eight pixels, which is approximately a micron. This filter removes noisy specks (i.e., spikes in intensity at small length scales). We, then, compute a two-dimensional projection by summing over z-stacks. The photoconverted UV cones are in the middle of the image. The intensity in the photoconverted channel is significantly weaker for UV cones near the edge of the image. This provides us the reference boundary by which we can identify common nuclei (i.e., which nucleus in the day 2-4 image corresponds to a specific nucleus in the day 0 image).
We perform an image registration, computing the combination of rotation and translation that optimizes the normalized cross-correlation between the two images (normxcorr2
description: MATLAB 2016B Image Processing Toolbox, MathWorks). Then, we segment nuclei in the two images. Because the intensity of UV cone nuclei varies significantly across the image, we use both adaptive thresholding (adaptthresh
description: MATLAB 2016B Image Processing Toolbox, MathWorks) and a low absolute threshold. We morphologically open the thresholded image, followed by morphological closing. We fill holes in the image (imfill
description: MATLAB 2016B Image Processing Toolbox, MathWorks) and clear the border of the image (imclearborder
description: MATLAB 2016B Image Processing Toolbox, MathWorks). We perform minimal manual correction of these segmentations. Given that we have aligned the two images and segmented the nuclei, we track each nucleus from one image to the other by computing for each nucleus in the day 0 image its nearest neighbor in the day 2-4 image (knnsearch
description: MATLAB 2016B, MathWorks). As a sanity check, for each nucleus in the day 2-4 we compute its nearest neighbor in the day 0 image to make sure that calculation returns the same answer for each nucleus. We manually correct any errors.
Following this segmentation and identification of common nuclei between the two images, we want to estimate the three-dimensional position of each nucleus based on the raw z-stacks rather than on a post-processed version. We identify a circular region, of radius two and a half microns, in the xy-plane centered on each of the segmented nuclei. This radius is larger in the xy-plane than the nuclear radius but small enough not to encompass other nuclei. This circular region corresponds to a pillar in the z-direction. To estimate the three-dimensional position of each nucleus in both images, we use the raw z-stacks, computing the center of intensity of each pillar (i.e., weighted average of voxel positions in each pillar where the weights are the voxel intensities). At the end of this entire procedure, for each nucleus common to both images, we know its position at both time points.
description: Tracking UV cone positions in photoconverted regions and measuring glide motion:
To identify the location of the Y-Junction, we need to calculate a triangulation over the nuclear positions. At both day 0 and at day 2-4, the UV cone nuclei positions in each experiment are well fit by a plane, which we fit by simple least-squares minimization. For calculating the triangulation, we project the UV cone positions onto the plane of best fit. We, then, calculate the triangulation in that plane (delaunayTriangulation
description: MATLAB 2016B, MathWorks). 
We want to track movement of UV cones near the Y-Junction core along the direction of glide motion. We systematically search for bond flips (i.e., any change in nearest neighbor assignments) between day 0 and day 2-4 for any bonds that could be flipped in glide motion. Which UV cone bonds lie along the glide line is always unambiguous based on the triangulation. We never observe glide motion by more than one row.