42 lines
1.7 KiB
C#
42 lines
1.7 KiB
C#
using System.Text.Json.Serialization;
|
|
using JetBrains.Annotations;
|
|
|
|
namespace Livia.Models.Data;
|
|
|
|
public readonly record struct RoiSummaryDataJson
|
|
{
|
|
[UsedImplicitly] public bool? Visible { get; init; }
|
|
[UsedImplicitly] public List<RoiGroup> Groups { get; init; }
|
|
}
|
|
|
|
public readonly record struct RoiGroup
|
|
{
|
|
[UsedImplicitly] public string Name { get; init; }
|
|
[UsedImplicitly] public string FullName { get; init; }
|
|
[JsonPropertyName("ID"), UsedImplicitly] public string Id { get; init; }
|
|
[UsedImplicitly] public string Color { get; init; }
|
|
[UsedImplicitly] public List<RoiData> Regions { get; init; }
|
|
[UsedImplicitly] public int? Score { get; init; }
|
|
[JsonPropertyName("Z-Index"), UsedImplicitly] public int? ZIndex { get; init; }
|
|
}
|
|
|
|
public readonly record struct RoiData
|
|
{
|
|
[UsedImplicitly] public string Name { get; init; }
|
|
[UsedImplicitly] public string FileName { get; init; }
|
|
[UsedImplicitly] public float Volume { get; init; }
|
|
[UsedImplicitly] public string? Mask { get; init; }
|
|
[UsedImplicitly] public string? MosaicMask { get; init; }
|
|
[UsedImplicitly] public List<LocationData> Locations { get; init; }
|
|
[UsedImplicitly] public List<RoiGroup>? SubGroups { get; init; }
|
|
}
|
|
|
|
public readonly record struct LocationData
|
|
{
|
|
[UsedImplicitly] public string Name { get; init; }
|
|
[UsedImplicitly] public float Percentage { get; init; }
|
|
[UsedImplicitly] public float Volume { get; init; }
|
|
[UsedImplicitly] public float? RegionPercentage { get; init; }
|
|
[UsedImplicitly] public int? Weight { get; init; }
|
|
[JsonPropertyName("SecondLocations"), UsedImplicitly] public List<LocationData>? SubLocations { get; init; }
|
|
} |