Class DicomDetails
What a DICOM load read and did, in FormatDetails: the frame, how its pixels were stored, and the transforms that made the loaded values.
[Experimental("EGAMIX001", UrlFormat = "https://github.com/inexin/Egami/blob/main/docs/articles/formats/dicom.md")]
public sealed class DicomDetails : FormatDetails
- Inheritance
-
DicomDetails
- Inherited Members
Examples
// A load gives what a viewer shows: rescaled, windowed, inverted for MONOCHROME1, colour as RGB.
EgamiContext context = new EgamiContext().WithDicom();
using Raster image = Raster.Load("scan.dcm", context);
DicomDetails details = (DicomDetails)image.Metadata.FormatDetails!;
Console.WriteLine($"{image.Layout}: window {details.WindowCenter}/{details.WindowWidth}, slope {details.RescaleSlope}");
image.Save("scan.png");
Properties
AppliedMinMax
Gets or sets whether the shown values were stretched from the frame's smallest to its largest modality value, because the file has no window and no VOI LUT.
public bool AppliedMinMax { get; set; }
Property Value
AppliedModalityLut
Gets or sets whether a Modality LUT Sequence gave the modality values.
public bool AppliedModalityLut { get; set; }
Property Value
AppliedVoiLut
Gets or sets whether a VOI LUT Sequence gave the shown values.
public bool AppliedVoiLut { get; set; }
Property Value
BitsStored
Gets or sets the bits each stored sample has (Bits Stored).
public int BitsStored { get; set; }
Property Value
Frame
Gets or sets the frame loaded, from 0.
public int Frame { get; set; }
Property Value
FrameCount
Gets or sets the number of frames in the file.
public int FrameCount { get; set; }
Property Value
FrameRate
Gets or sets the Recommended Display Frame Rate (0008,2144) or Cine Rate (0018,0040), in frames a second, or null.
public double? FrameRate { get; set; }
Property Value
FrameTime
Gets or sets the time from this frame to the next of a cine series: Frame Time (0018,1063), or this frame's entry of the Frame Time Vector (0018,1065); null when the file gives none.
public TimeSpan? FrameTime { get; set; }
Property Value
Inverted
Gets or sets whether the shown values were inverted: MONOCHROME1, or Presentation LUT Shape INVERSE.
public bool Inverted { get; set; }
Property Value
IsSigned
Gets or sets whether stored samples are signed (Pixel Representation 1).
public bool IsSigned { get; set; }
Property Value
PhotometricInterpretation
Gets or sets the Photometric Interpretation (0028,0004), such as MONOCHROME2 or YBR_FULL_422.
public string PhotometricInterpretation { get; set; }
Property Value
RescaleIntercept
Gets or sets the Rescale Intercept applied, 0 when there is none or a Modality LUT was used.
public double RescaleIntercept { get; set; }
Property Value
RescaleSlope
Gets or sets the Rescale Slope applied, 1 when there is none or a Modality LUT was used.
public double RescaleSlope { get; set; }
Property Value
TransferSyntax
Gets or sets the transfer syntax the pixel data was stored in.
public DicomTransferSyntax TransferSyntax { get; set; }
Property Value
Values
Gets or sets what the load gave.
public DicomValues Values { get; set; }
Property Value
WindowCenter
Gets or sets the window center applied, or null when no window was.
public double? WindowCenter { get; set; }
Property Value
WindowFunction
Gets or sets the window function applied.
public DicomWindowFunction WindowFunction { get; set; }
Property Value
WindowWidth
Gets or sets the window width applied, or null when no window was.
public double? WindowWidth { get; set; }
Property Value
Methods
Copy()
Returns a deep copy.
public override FormatDetails Copy()
Returns
- FormatDetails
The copy.