mirror of
https://github.com/azaion/annotations.git
synced 2026-04-22 21:56:31 +00:00
b21f8e320f
add tensorrt engine
59 lines
1.3 KiB
C#
59 lines
1.3 KiB
C#
using System.Windows.Media;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Azaion.Common.DTO;
|
|
|
|
public class DetectionClass
|
|
{
|
|
public int Id { get; set; }
|
|
|
|
public string Name { get; set; } = null!;
|
|
public string ShortName { get; set; } = null!;
|
|
|
|
public Color Color { get; set; }
|
|
|
|
[JsonIgnore]
|
|
public string UIName
|
|
{
|
|
get
|
|
{
|
|
var mode = PhotoMode switch
|
|
{
|
|
PhotoMode.Night => "(ніч)",
|
|
PhotoMode.Winter => "(зим)",
|
|
PhotoMode.Regular => "",
|
|
_ => ""
|
|
};
|
|
return ShortName + mode;
|
|
}
|
|
}
|
|
|
|
|
|
[JsonIgnore]
|
|
public PhotoMode PhotoMode { get; set; }
|
|
|
|
[JsonIgnore] //For UI
|
|
public int ClassNumber => Id + 1;
|
|
|
|
[JsonIgnore]
|
|
public int YoloId => Id == -1 ? Id : (int)PhotoMode + Id;
|
|
|
|
[JsonIgnore]
|
|
public SolidColorBrush ColorBrush => new(Color);
|
|
|
|
public static DetectionClass FromYoloId(int yoloId, List<DetectionClass> detectionClasses)
|
|
{
|
|
var cls = yoloId % 20;
|
|
var photoMode = (PhotoMode)(yoloId - cls);
|
|
var detClass = detectionClasses[cls];
|
|
detClass.PhotoMode = photoMode;
|
|
return detClass;
|
|
}
|
|
}
|
|
|
|
public enum PhotoMode
|
|
{
|
|
Regular = 0,
|
|
Winter = 20,
|
|
Night = 40
|
|
} |