Class PhotometricInterpretation
- Namespace
- FellowOakDicom.Imaging
- Assembly
- fo-dicom.core.dll
Photometric Interpretation.
public class PhotometricInterpretation : DicomParseable
- Inheritance
-
PhotometricInterpretation
- Inherited Members
- Extension Methods
Fields
Monochrome1
Pixel data represent a single monochrome image plane. The minimum sample value is intended to be displayed as white after any VOI gray scale transformations have been performed. See PS 3.4. This value may be used only when Samples per Pixel (0028,0002) has a value of 1.
public static readonly PhotometricInterpretation Monochrome1
Field Value
Monochrome2
Pixel data represent a single monochrome image plane. The minimum sample value is intended to be displayed as black after any VOI gray scale transformations have been performed. See PS 3.4. This value may be used only when Samples per Pixel (0028,0002) has a value of 1.
public static readonly PhotometricInterpretation Monochrome2
Field Value
PaletteColor
Pixel data describe a color image with a single sample per pixel (single image plane). The pixel value is used as an index into each of the Red, Blue, and Green Palette Color Lookup Tables (0028,1101-1103 & 1201-1203). This value may be used only when Samples per Pixel (0028,0002) has a value of 1. When the Photometric Interpretation is Palette Color; Red, Blue, and Green Palette Color Lookup Tables shall be present.
public static readonly PhotometricInterpretation PaletteColor
Field Value
Rgb
Pixel data represent a color image described by red, green, and blue image planes. The minimum sample value for each color plane represents minimum intensity of the color. This value may be used only when Samples per Pixel (0028,0002) has a value of 3.
public static readonly PhotometricInterpretation Rgb
Field Value
YbrFull
Pixel data represent a color image described by one luminance (Y) and two chrominance planes (Cb and Cr). This photometric interpretation may be used only when Samples per Pixel (0028,0002) has a value of 3. Black is represented by Y equal to zero. The absence of color is represented by both Cb and Cr values equal to half full scale.
In the case where Bits Allocated (0028,0100) has a value of 8 then the following equations convert between RGB and YCBCR Photometric Interpretation: Y = + .2990R + .5870G + .1140B Cb = - .1687R - .3313G + .5000B + 128 Cr = + .5000R - .4187G - .0813B + 128
public static readonly PhotometricInterpretation YbrFull
Field Value
YbrFull422
The same as YBR_FULL except that the Cb and Cr values are sampled horizontally at half the Y rate and as a result there are half as many Cb and Cr values as Y values.
This Photometric Interpretation is only allowed with Planar Configuration (0028,0006) equal to 0.
Two Y values shall be stored followed by one Cb and one Cr value. The Cb and Cr values shall be
sampled at the location of the first of the two Y values. For each Row of Pixels, the first Cb and
Cr samples shall be at the location of the first Y sample. The next Cb and Cr samples shall be
at the location of the third Y sample etc.
public static readonly PhotometricInterpretation YbrFull422
Field Value
YbrIct
Pixel data represent a color image described by one luminance (Y) and two chrominance planes (Cb and Cr). This photometric interpretation may be used only when Samples per Pixel (0028,0002) has a value of 3. Black is represented by Y equal to zero. The absence of color is represented by both Cb and Cr values equal to zero.
Regardless of the value of Bits Allocated (0028,0100), the following equations convert between RGB and YCbCr Photometric Interpretation: Y = + .29900R + .58700G + .11400B Cb = - .16875R - .33126G + .50000B Cr = + .50000R - .41869G - .08131B
public static readonly PhotometricInterpretation YbrIct
Field Value
YbrPartial420
The same as YBR_PARTIAL_422 except that the Cb and Cr values are sampled horizontally and vertically at half the Y rate and as a result there are four times less Cb and Cr values than Y values, versus twice less for YBR_PARTIAL_422.
This Photometric Interpretation is only allowed with Planar Configuration (0028,0006) equal to 0.
The Cb and Cr values shall be sampled at the location of the first of the two Y values. For the first
Row of Pixels (etc.), the first Cb and Cr samples shall be at the location of the first Y sample. The
next Cb and Cr samples shall be at the location of the third Y sample etc. The next Rows of Pixels
containing Cb and Cr samples (at the same locations than for the first Row) will be the third etc.
public static readonly PhotometricInterpretation YbrPartial420
Field Value
YbrPartial422
The same as YBR_FULL_422 except that:
- black corresponds to Y = 16
- Y is restricted to 220 levels (i.e. the maximum value is 235)
- Cb and Cr each has a minimum value of 16
- Cb and Cr are restricted to 225 levels (i.e. the maximum value is 240)
- lack of color is represented by Cb and Cr equal to 128
In the case where Bits Allocated (0028,0100) has value of 8 then the following equations convert between RGB and YBR_PARTIAL_422 Photometric Interpretation: Y = + .2568R + .5041G + .0979B + 16 Cb = - .1482R - .2910G + .4392B + 128 Cr = + .4392R - .3678G - .0714B + 128
public static readonly PhotometricInterpretation YbrPartial422
Field Value
YbrRct
Pixel data represent a color image described by one luminance (Y) and two chrominance planes (Cb and Cr). This photometric interpretation may be used only when Samples per Pixel (0028,0002) has a value of 3. Black is represented by Y equal to zero. The absence of color is represented by both Cb and Cr values equal to zero.
Regardless of the value of Bits Allocated (0028,0100), the following equations convert between RGB and YBR_RCT Photometric Interpretation: Y = floor((R + 2G +B) / 4) Cb = B - G Cr = R - G
The following equations convert between YBR_RCT and RGB Photometric Interpretation: R = Cr + G G = Y – floor((Cb + Cr) / 4) B = Cb + G
public static readonly PhotometricInterpretation YbrRct
Field Value
Properties
ColorSpace
public ColorSpace ColorSpace { get; }
Property Value
Description
Gets the description of the photometric interpretation.
public string Description { get; }
Property Value
IsColor
Gets whether or not the photometric interpretation represents color (true) or grayscale (false).
public bool IsColor { get; }
Property Value
IsPalette
Gets whether or not the photometric interpretation is represented by a palette of colors.
public bool IsPalette { get; }
Property Value
IsYBR
Gets whether or not the photometric interpretation represents an YBR color scheme.
public bool IsYBR { get; }
Property Value
Value
Gets the identifier value, corresponding with a DICOM defined term for tag (0028, 0004).
public string Value { get; }
Property Value
Methods
Equals(object)
public override bool Equals(object obj)
Parameters
obj
object
Returns
GetHashCode()
public override int GetHashCode()
Returns
Parse(string)
Parse the photometric interpretation based on a string, typically obtained by reading DICOM tag (0028,0004).
public static PhotometricInterpretation Parse(string photometricInterpretation)
Parameters
photometricInterpretation
stringString to be parsed.
Returns
- PhotometricInterpretation
PhotometricInterpretation object corresponding to the parsed
photometricInterpretation
string.
Exceptions
- DicomImagingException
Thrown when the parsed string cannot be matched with the known photometric interpretations.
ToString()
public override string ToString()
Returns
Operators
operator ==(PhotometricInterpretation, PhotometricInterpretation)
Equivalence operator for PhotometricInterpretation class.
public static bool operator ==(PhotometricInterpretation a, PhotometricInterpretation b)
Parameters
a
PhotometricInterpretationLeft-hand side object to compare for equivalence.
b
PhotometricInterpretationRight-hand side object to compare for equivalence.
Returns
- bool
True if both objects are
or PhotometricInterpretation objects with the same Value, false otherwise.null
operator !=(PhotometricInterpretation, PhotometricInterpretation)
Non-equivalence operator for PhotometricInterpretation class.
public static bool operator !=(PhotometricInterpretation a, PhotometricInterpretation b)
Parameters
a
PhotometricInterpretationLeft-hand side object to compare for non-equivalence.
b
PhotometricInterpretationRight-hand side object to compare for none-equivalence.
Returns
- bool
True if exactly one object is
or if both are PhotometricInterpretation objects with different Value, false otherwise.null