NivaarExam PrepOfficial exam papers ↗

20-Bio-B4 Robotics · December 2015

Question 5 of 6: Application — Cell Studies

Nivaar worked solution (AI-drafted; not reviewed by a licensed engineer)

Notes on this paper

Paper format: National Exams, December 2015 — 04-Bio-B4 Digital Image Processing. Three hours, open book (any paper notes or textbooks permitted, but no calculator or computer). Six questions of equal value (20 marks each); five constitute a complete paper and only the first five appearing in the answer book are marked. All six are solved here, because this set is a study resource rather than an examination script. Every question is essay/descriptive (definitions, algorithm/system design) except the convolution-size and complexity items in Question 2, the median-filter nonlinearity proof in Question 2(d)(ii), and the illustrative numeric examples worked into Questions 4 and 6.

Reference texts (the books a candidate should have reviewed for this subject):

Question 5: Application — Cell Studies (20 marks)

Question text not reproduced: the examination questions are © Engineers and Geoscientists BC. Open the official past paper (linked at the top of this page) to read the question, then follow the worked solution below.

Given. A time-lapse image sequence $I_t$, round cells (bright ring + bright nucleus, dark background), diameter 15–25 px, low SNR, up to one-diameter displacement per frame, possibly clumped.

Find. An end-to-end system: per-frame cell count, per-cell trajectories, and division event detection.

Approach. Denoise and segment each frame independently first, then solve tracking and division detection as a frame-to-frame data-association problem on the resulting object centroids.

Image sequenceI_t (t=1,2,...)Pre-process:median filter +contrast enhanceSegment:threshold ring+nucleus,morphological fillLabel objects(8-conn CC) ->centroid + area per cellTrack: nearest-centroid match,max disp = 1 diameterDivision test:1-to-2 match nearsame locationCount, trajectories,division events
Proposed cell-tracking pipeline: denoise/segment each frame, label objects, then track and test for division via nearest-centroid data association.
  1. Pre-process. Apply a $3\times3$ median filter (robust to the salt-and-pepper-like sensor noise expected under weak illumination, without blurring the ring/nucleus boundary — Question 2(d)) followed by contrast-limited adaptive histogram equalization (CLAHE) to counter the stated poor contrast, since the cells are otherwise dark against a dark background and a global contrast stretch alone would not help enough locally.
  2. Segment. Threshold on the bright ring + bright nucleus pattern (a simple intensity threshold, or a ring/blob matched filter sized to the known 15–25 px diameter, is enough since the appearance model is known and fixed), then morphologically close/fill the interior so each cell becomes one solid disk-like blob rather than a ring with a hole — this also directly reuses the hole-fill/morphology machinery already justified in Question 1(g)/Question 6.
  3. Label objects. Run 8-connected connected-component labelling on the cleaned binary mask to obtain one object per cell (or per touching clump), each with its centroid and pixel area; reject any component below a minimum area (noise) or investigate any component much larger than a single cell's expected area (a clump, requiring a size-aware split, e.g. watershed seeded at local intensity maxima, since the problem states cells may be clumped).
  4. Track via nearest-centroid data association. Because the maximum inter-frame displacement is stated to be at most one cell diameter (15–25 px), for every object in frame $t$, search frame $t{+}1$ for candidate objects whose centroid lies within that same radius. Exactly one candidate within range $\Rightarrow$ the cell simply moved (append the new position to its trajectory); this is the ordinary case and needs no special handling.
  5. Detect division. Two candidates within range of a single frame-$t$ object's centroid is the signature of a division event: report a division at that (frame $t{\to}t{+}1$, location = the parent's centroid), and start two new trajectories (the daughters) from there. (Zero candidates within range would flag the cell as having left the field of view or been lost to segmentation failure — not itself a division, but worth logging.)
RequirementSystem componentDesign justification
Count of cells per image8-connected labelling (step 3)Number of surviving above-area-threshold components in the frame
Per-cell trajectory (x,y, all past frames)Nearest-centroid tracking (step 4)Bounded search radius = 1 diameter follows directly from the stated maximum displacement
Division time/location1-to-2 match test (step 5)A division event is, by definition, one parent centroid mapping to two nearby daughter centroids in the next frame
Check: assumes cells only ever divide into exactly two daughters and that daughters remain within one diameter of the parent's last position at the moment of division (both physiologically standard for mitosis); a clump-splitting step (e.g. watershed) is assumed adequate to separate touching cells before division logic runs — if clumping is severe, this step, not the tracking logic itself, is the most likely source of error.

After median-filtering and labelling, the algorithm above counts the objects in each frame, tracks a cell that moves by less than the search radius (25 px) as a single one-to-one match, and flags a cell replaced by two smaller, non-touching daughters that both lie within the search radius of the parent's centroid as a one-to-two division event.