mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 12:46:30 +00:00
fix initialization, throttle operations
day/winter/night switcher fixes
This commit is contained in:
@@ -41,8 +41,8 @@ public class AnnotationResult
|
||||
var detectionClasses = detections.Select(x => x.ClassNumber).Distinct().ToList();
|
||||
|
||||
ClassName = detectionClasses.Count > 1
|
||||
? string.Join(", ", detectionClasses.Select(x => allDetectionClasses[x].ShortName))
|
||||
: allDetectionClasses[detectionClasses.FirstOrDefault()].Name;
|
||||
? string.Join(", ", detectionClasses.Select(x => allDetectionClasses[x].UIName))
|
||||
: allDetectionClasses[detectionClasses.FirstOrDefault()].UIName;
|
||||
|
||||
ClassColor0 = GetAnnotationClass(detectionClasses, 0);
|
||||
ClassColor1 = GetAnnotationClass(detectionClasses, 1);
|
||||
|
||||
@@ -4,12 +4,32 @@ namespace Azaion.Common.DTO.Config;
|
||||
|
||||
public class AnnotationConfig
|
||||
{
|
||||
public List<DetectionClass> AnnotationClasses { get; set; } = null!;
|
||||
public List<DetectionClass> DetectionClasses { get; set; } = null!;
|
||||
|
||||
[JsonIgnore]
|
||||
private Dictionary<int, DetectionClass>? _detectionClassesDict;
|
||||
|
||||
[JsonIgnore]
|
||||
public Dictionary<int, DetectionClass> DetectionClassesDict => _detectionClassesDict ??= AnnotationClasses.ToDictionary(x => x.Id);
|
||||
public Dictionary<int, DetectionClass> DetectionClassesDict
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_detectionClassesDict != null)
|
||||
return _detectionClassesDict;
|
||||
|
||||
var photoModes = Enum.GetValues(typeof(PhotoMode)).Cast<PhotoMode>().ToList();
|
||||
|
||||
_detectionClassesDict = DetectionClasses.SelectMany(cls => photoModes.Select(mode => new DetectionClass
|
||||
{
|
||||
Id = cls.Id,
|
||||
Name = cls.Name,
|
||||
ShortName = cls.ShortName,
|
||||
PhotoMode = mode
|
||||
}))
|
||||
.ToDictionary(x => x.YoloId, x => x);
|
||||
return _detectionClassesDict;
|
||||
}
|
||||
}
|
||||
|
||||
public List<string> VideoFormats { get; set; } = null!;
|
||||
public List<string> ImageFormats { get; set; } = null!;
|
||||
|
||||
@@ -41,7 +41,7 @@ public class ConfigUpdater : IConfigUpdater
|
||||
{
|
||||
AnnotationConfig = new AnnotationConfig
|
||||
{
|
||||
AnnotationClasses = Constants.DefaultAnnotationClasses,
|
||||
DetectionClasses = Constants.DefaultAnnotationClasses,
|
||||
VideoFormats = Constants.DefaultVideoFormats,
|
||||
ImageFormats = Constants.DefaultImageFormats,
|
||||
|
||||
|
||||
@@ -11,6 +11,23 @@ public class DetectionClass
|
||||
public string Name { get; set; } = null!;
|
||||
public string ShortName { get; set; } = null!;
|
||||
|
||||
public string UIName
|
||||
{
|
||||
get
|
||||
{
|
||||
var mode = PhotoMode switch
|
||||
{
|
||||
PhotoMode.Night => "(ніч)",
|
||||
PhotoMode.Winter => "(зим)",
|
||||
PhotoMode.Regular => "",
|
||||
_ => ""
|
||||
};
|
||||
return ShortName + mode;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
[JsonIgnore]
|
||||
public PhotoMode PhotoMode { get; set; }
|
||||
|
||||
[JsonIgnore]
|
||||
@@ -19,6 +36,9 @@ public class DetectionClass
|
||||
[JsonIgnore] //For UI
|
||||
public int ClassNumber => Id + 1;
|
||||
|
||||
[JsonIgnore]
|
||||
public int YoloId => (int)PhotoMode + Id;
|
||||
|
||||
[JsonIgnore]
|
||||
public SolidColorBrush ColorBrush => new(Color);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user