Table of Contents

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

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

PhotometricInterpretation

YbrPartial422

The same as YBR_FULL_422 except that:

  1. black corresponds to Y = 16
  2. Y is restricted to 220 levels (i.e. the maximum value is 235)
  3. Cb and Cr each has a minimum value of 16
  4. Cb and Cr are restricted to 225 levels (i.e. the maximum value is 240)
  5. 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

PhotometricInterpretation

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

PhotometricInterpretation

Properties

ColorSpace

Gets the color space of the photometric interpretation, or

null
if IsPalette is
false
.
public ColorSpace ColorSpace { get; }

Property Value

ColorSpace

Description

Gets the description of the photometric interpretation.

public string Description { get; }

Property Value

string

IsColor

Gets whether or not the photometric interpretation represents color (true) or grayscale (false).

public bool IsColor { get; }

Property Value

bool

IsPalette

Gets whether or not the photometric interpretation is represented by a palette of colors.

public bool IsPalette { get; }

Property Value

bool

IsYBR

Gets whether or not the photometric interpretation represents an YBR color scheme.

public bool IsYBR { get; }

Property Value

bool

Value

Gets the identifier value, corresponding with a DICOM defined term for tag (0028, 0004).

public string Value { get; }

Property Value

string

Methods

Equals(object)

public override bool Equals(object obj)

Parameters

obj object

Returns

bool

GetHashCode()

public override int GetHashCode()

Returns

int

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 string

String 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

string

Operators

operator ==(PhotometricInterpretation, PhotometricInterpretation)

Equivalence operator for PhotometricInterpretation class.

public static bool operator ==(PhotometricInterpretation a, PhotometricInterpretation b)

Parameters

a PhotometricInterpretation

Left-hand side object to compare for equivalence.

b PhotometricInterpretation

Right-hand side object to compare for equivalence.

Returns

bool

True if both objects are

null
or PhotometricInterpretation objects with the same Value, false otherwise.

operator !=(PhotometricInterpretation, PhotometricInterpretation)

Non-equivalence operator for PhotometricInterpretation class.

public static bool operator !=(PhotometricInterpretation a, PhotometricInterpretation b)

Parameters

a PhotometricInterpretation

Left-hand side object to compare for non-equivalence.

b PhotometricInterpretation

Right-hand side object to compare for none-equivalence.

Returns

bool

True if exactly one object is

null
or if both are PhotometricInterpretation objects with different Value, false otherwise.