mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 11:06:30 +00:00
huge queue refactoring:
3 queues -> 1 queue send delete validate updates
This commit is contained in:
@@ -278,15 +278,18 @@ public class AnnotatorEventHandler(
|
||||
|
||||
public async Task Handle(AnnotationsDeletedEvent notification, CancellationToken cancellationToken)
|
||||
{
|
||||
var annResDict = formState.AnnotationResults.ToDictionary(x => x.Annotation.Name, x => x);
|
||||
foreach (var ann in notification.Annotations)
|
||||
{
|
||||
if (!annResDict.TryGetValue(ann.Name, out var value))
|
||||
continue;
|
||||
var namesSet = notification.AnnotationNames.ToHashSet();
|
||||
|
||||
formState.AnnotationResults.Remove(value);
|
||||
mainWindow.TimedAnnotations.Remove(ann);
|
||||
}
|
||||
var remainAnnotations = formState.AnnotationResults
|
||||
.Where(x => !namesSet.Contains(x.Annotation?.Name ?? "")).ToList();
|
||||
formState.AnnotationResults.Clear();
|
||||
foreach (var ann in remainAnnotations)
|
||||
formState.AnnotationResults.Add(ann);
|
||||
|
||||
var timedAnnsToRemove = mainWindow.TimedAnnotations
|
||||
.Where(x => namesSet.Contains(x.Value.Name))
|
||||
.Select(x => x.Value).ToList();
|
||||
mainWindow.TimedAnnotations.Remove(timedAnnsToRemove);
|
||||
|
||||
if (formState.AnnotationResults.Count == 0)
|
||||
{
|
||||
@@ -307,7 +310,7 @@ public class AnnotatorEventHandler(
|
||||
mainWindow.AddAnnotation(e.Annotation);
|
||||
|
||||
var log = string.Join(Environment.NewLine, e.Annotation.Detections.Select(det =>
|
||||
$"Розпізнавання: {annotationConfig.Value.DetectionClassesDict[det.ClassNumber].ShortName}: " +
|
||||
$"Розпізнавання {e.Annotation.OriginalMediaName}: {annotationConfig.Value.DetectionClassesDict[det.ClassNumber].ShortName}: " +
|
||||
$"xy=({det.CenterX:F2},{det.CenterY:F2}), " +
|
||||
$"розмір=({det.Width:F2}, {det.Height:F2}), " +
|
||||
$"conf: {det.Confidence*100:F0}%"));
|
||||
|
||||
Reference in New Issue
Block a user