mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 05:26:31 +00:00
36 lines
1.0 KiB
C#
36 lines
1.0 KiB
C#
using Newtonsoft.Json;
|
|
|
|
namespace Azaion.Common.DTO.Config;
|
|
|
|
public class AnnotationConfig
|
|
{
|
|
public List<DetectionClass> DetectionClasses { get; set; } = null!;
|
|
|
|
[JsonIgnore]
|
|
private Dictionary<int, DetectionClass>? _detectionClassesDict;
|
|
|
|
[JsonIgnore]
|
|
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,
|
|
Color = cls.Color,
|
|
ShortName = cls.ShortName,
|
|
PhotoMode = mode
|
|
}))
|
|
.ToDictionary(x => x.YoloId, x => x);
|
|
return _detectionClassesDict;
|
|
}
|
|
}
|
|
|
|
public string AnnotationsDbFile { get; set; } = null!;
|
|
} |