90 lines
2.3 KiB
C#
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; }
|
|
} |