livia-test/Livia/Models/Data/AdditionalInfoJson.cs
2025-03-28 14:31:53 +08:00

90 lines
2.3 KiB
C#

using System.Text.Json.Serialization;
using JetBrains.Annotations;
namespace Livia.Models.Data;
public readonly record struct AdditionalInfoJson
{
[JsonPropertyName("Atlas"), UsedImplicitly]
public Dictionary<string, List<AtlasInfo>> AtlasInfoListDict { get; init; }
[JsonPropertyName("ShowMosaic"), UsedImplicitly]
public List<MosaicImageInfo> MosaicImageInfoList { get; init; }
[JsonPropertyName("ScanInfo")]
public ScanInfo ScanInfo { get; init; }
[JsonPropertyName("ShowAxial"), UsedImplicitly]
public List<AxialOverviewImageInfo> AxialOverviewImageInfoList { get; init; }
[JsonPropertyName("AxialOverlay"), UsedImplicitly]
public List<RoiOverlayInfo> AxialRoiOverlayInfoList { get; init; }
[JsonPropertyName("MosaicOverlay"), UsedImplicitly]
public List<RoiOverlayInfo> 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<float>? 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<float> 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; }
}