using System.Text.Json.Serialization; using JetBrains.Annotations; namespace Livia.Models.Data; public readonly record struct AdditionalInfoJson { [JsonPropertyName("Atlas"), UsedImplicitly] public Dictionary> AtlasInfoListDict { get; init; } [JsonPropertyName("ShowMosaic"), UsedImplicitly] public List MosaicImageInfoList { get; init; } [JsonPropertyName("ScanInfo")] public ScanInfo ScanInfo { get; init; } [JsonPropertyName("ShowAxial"), UsedImplicitly] public List AxialOverviewImageInfoList { get; init; } [JsonPropertyName("AxialOverlay"), UsedImplicitly] public List AxialRoiOverlayInfoList { get; init; } [JsonPropertyName("MosaicOverlay"), UsedImplicitly] public List MosaicRoiOverlayInfoList { get; init; } } public readonly record struct ScanInfo { [UsedImplicitly] public string PatientName { get; init; } [UsedImplicitly, JsonPropertyName("PatientID")] public string? PatientId { get; init; } [UsedImplicitly] public string PatientSex { get; init; } [UsedImplicitly] public string PatientAge { get; init; } [UsedImplicitly] public string StudyDate { get; init; } } public readonly record struct MosaicImageInfo { [JsonPropertyName("ImgID"), UsedImplicitly] public string ImgId { get; init; } [UsedImplicitly] public List? Range { get; init; } [UsedImplicitly] public string Unit { get; init; } [UsedImplicitly] public bool IsGray { get; init; } [UsedImplicitly] public string FilePath { get; init; } } public readonly record struct AtlasInfo { [UsedImplicitly] public string AtlasName { get; init; } [UsedImplicitly] public List Range { get; init; } [UsedImplicitly] public string Unit { get; init; } } public readonly record struct AxialOverviewImageInfo { [JsonPropertyName("ImgID"), UsedImplicitly] public string ImgId { get; init; } [UsedImplicitly] public string FilePath { get; init; } } public readonly record struct RoiOverlayInfo { [JsonPropertyName("Region"), UsedImplicitly] public string RoiTabId { get; init; } [JsonPropertyName("ImgID"), UsedImplicitly] public string ImgId { get; init; } }