From b7b80f3ff2d202b6979ca45d0de8e2876243ec97 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Wed, 21 Oct 2009 13:39:46 +0000 Subject: [PATCH] [SE-156] improved computations of parent candidate attributes (using values from the frame that the child appeared on, not from the previous one) SVN: 13032 --- .../bsse/cisd/yeastlab/GenerationDetection.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/yeast_lab/source/java/ch/ethz/bsse/cisd/yeastlab/GenerationDetection.java b/yeast_lab/source/java/ch/ethz/bsse/cisd/yeastlab/GenerationDetection.java index a5247e8d5ea..0cb9162eead 100644 --- a/yeast_lab/source/java/ch/ethz/bsse/cisd/yeastlab/GenerationDetection.java +++ b/yeast_lab/source/java/ch/ethz/bsse/cisd/yeastlab/GenerationDetection.java @@ -398,15 +398,27 @@ public class GenerationDetection private static class ParentCandidate implements Comparable<ParentCandidate> { + @SuppressWarnings("unused") + private final Cell previousFrameParent; + + /** + * parent cell from the same frame that the child appeared on or from the previous frame if + * parent disappeared just after division + */ private final Cell parent; private final Cell child; private final Integer distanceSq; - public ParentCandidate(Cell parent, Cell child) + public ParentCandidate(Cell previousFrameParent, Cell child) { - this.parent = parent; + this.previousFrameParent = previousFrameParent; + // on the frame that child appeared parent could disappear (5 cases in test data) + final Cell childFrameParentOrNull = + cellsByIdAndFrame.get(previousFrameParent.id).get(child.frame); + this.parent = + (childFrameParentOrNull != null) ? childFrameParentOrNull : previousFrameParent; this.child = child; this.distanceSq = distanceSq(parent, child); } -- GitLab