CVIRL · Preprocessing test
Shubh's idea was to clean up the image before tracking so the vessel walls read clearer and the tracker stops getting confused by noise. This is an honest look at whether that pans out on the real murine data, with the actual pixels shown.
Bottom line. It did not work. The image enhancement is too subtle to see (the enhanced frame looks nearly identical to the raw), so the tracker gets no new information, and the borders still drift off the walls as the clip runs. Tried across several recipes, the result is the same. The problem is not the image quality — it is the tracker itself accumulating drift. Preprocessing is a dead end for this.
Ridge-preprocessed track, borders overlaid on the raw cine, 12 evenly spaced frames. Watch the top (cyan) border: it floats up off the wall into the darker tissue above the vessel. By the last row (frames 246–300) there is an obvious bright-walled vessel low-center and the borders are hanging above and to the left of it — not bracketing it.
The full side-by-side video (raw + borders | enhanced + borders). The two sides look nearly identical — that is the point: the enhancement is barely visible, so it cannot change what the tracker does.
Four stages on one frame: raw, speckle-reduced, ridge detector, enhanced.
An automatic score put the borders "on the walls" ~86% of the time and reported the track as "alive the whole clip." Both were misleading. The score checks whether each border point sits on a bright pixel — but on speckle, bright pixels are everywhere, so a border floating in bright tissue scores just as well as one on the actual wall. It counted the drift as success. Judging the motion by eye, which the video and montage above allow, is the only honest test, and it shows the drift plainly.
Every recipe tried tells the same story: heavy denoising made the tracker freeze and die mid-clip; edge-preserving filtering was worse; ridge enhancement is invisible and drifts. The consistent conclusion is that the limit is the tracker, not the image. The parametric optimizer seeds each frame from the previous one and accumulates drift on low-contrast murine data. Preprocessing cannot fix that.
The real candidates are (1) re-anchoring the tracking reference every cardiac cycle, which caps how far drift can accumulate before it resets to a clean frame, and (2) per-frame wall detection that does not seed frame to frame and so cannot drift. Both target the tracker directly. That is where the effort should go.