Ejemplo n.º 1
0
 protected float DistanceBetweenMarkups(MarkupBase markupA, MarkupBase markupB)
 {
     if (markupA == null || markupB == null)
     {
         return(float.MaxValue);
     }
     return(Vector2.Distance(markupA.center, markupB.center));
 }
Ejemplo n.º 2
0
        override protected float ComputeScoreBetweenMarkup(MarkupBase userMarkup, MarkupBase gtMarkup)
        {
            var userStartX = (userMarkup as Segment).GetStartX(_userSegments);
            var gtStartX   = (gtMarkup as Segment).GetStartX(_groundTruthSegments);
            var startError = Mathf.Abs(userStartX - gtStartX) / error.x;
            var stopError  = Mathf.Abs(userMarkup.center.x - gtMarkup.center.x) / error.x;
            var devError   = Mathf.Abs(userMarkup.center.y - gtMarkup.center.y) / error.y;

            return((Mathf.Max(0, 1f - startError) + Mathf.Max(0, 1f - stopError) + Mathf.Max(0, 1f - devError)) / 3f);
        }
Ejemplo n.º 3
0
 override protected bool IsMarkupSelected(MarkupBase userMarkup)
 {
     if (_dragSegment != null)
     {
         return(_dragSegment == userMarkup);
     }
     if (_dragDivider != null)
     {
         if (_dragDivider == userMarkup)
         {
             return(true);
         }
         return(userMarkup == _dragDivider.GetNextSegment(_userSegments));
     }
     return(false);
 }
Ejemplo n.º 4
0
        override protected MarkupBase ComputeClosestGTMarkup(MarkupBase userMarkup)
        {
            var closeMarkup = userMarkup;
            var min         = float.MaxValue;

            foreach (var gtSegment in _groundTruthSegments)
            {
                var userMidpoint = GetUserMarkupMidpoint(userMarkup);
                var gtMidpoint   = gtSegment.CalcMidpoint(_groundTruthSegments);
                var dist         = Mathf.Abs(userMidpoint.x - gtMidpoint.x);
                if (dist < min)
                {
                    min         = dist;
                    closeMarkup = gtSegment;
                }
            }
            return(closeMarkup != userMarkup ? closeMarkup : null);
        }
Ejemplo n.º 5
0
 private Vector2 GetUserMarkupMidpoint(MarkupBase userMarkup)
 {
     return((userMarkup as Segment).CalcMidpoint(_userSegments));
 }
Ejemplo n.º 6
0
 override protected Vector2 CalculateLabelPositionForMarkup(MarkupBase userMarkup)
 {
     return(ConvertPixelToLabel(GetUserMarkupMidpoint(userMarkup)));
 }
Ejemplo n.º 7
0
 virtual protected Vector2 CalculateLabelPositionForMarkup(MarkupBase userMarkup)
 {
     return(ConvertPixelToLabel(ConvertUVToPixel(userMarkup.center)));
 }
Ejemplo n.º 8
0
 virtual protected float ComputeScoreBetweenMarkup(MarkupBase userMarkup, MarkupBase gtMarkup)
 {
     return(1f);
 }
Ejemplo n.º 9
0
 virtual protected MarkupBase ComputeClosestGTMarkup(MarkupBase userMarkup)
 {
     return(null);
 }
Ejemplo n.º 10
0
 virtual protected bool IsMarkupSelected(MarkupBase userMarkup)
 {
     return(false);
 }