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 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 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 Locations { get; init; } [UsedImplicitly] public List? 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? SubLocations { get; init; } }