Table of Contents

Class FilmBox

Namespace
FellowOakDicom.Printing
Assembly
fo-dicom.core.dll

Basic film box

public class FilmBox : DicomDataset, IEnumerable<DicomItem>, IEnumerable, IEquatable<DicomDataset>
Inheritance
FilmBox
Implements
Inherited Members
Extension Methods

Constructors

FilmBox(FilmSession, DicomUID, DicomDataset)

public FilmBox(FilmSession filmSession, DicomUID sopInstance, DicomDataset dataset)

Parameters

filmSession FilmSession
sopInstance DicomUID
dataset DicomDataset

FilmBox(FilmSession, DicomUID, DicomTransferSyntax)

Create baisc film box for specified film session

public FilmBox(FilmSession filmSession, DicomUID sopInstance, DicomTransferSyntax transferSyntax)

Parameters

filmSession FilmSession

Film session instance

sopInstance DicomUID

Basic film box SOP Instance UID

transferSyntax DicomTransferSyntax

Requested internal transfer syntax.

Fields

SOPClassUID

Basic film box SOP class UID

public static readonly DicomUID SOPClassUID

Field Value

DicomUID

Properties

AnnotationDisplayFormatID

Identification of annotation display format. The definition of the annotation display formats and the annotation box position sequence are defined in the Conformance Statement.

public string AnnotationDisplayFormatID { get; set; }

Property Value

string

BasicImageBoxes

Basic image boxes list

public IList<ImageBox> BasicImageBoxes { get; }

Property Value

IList<ImageBox>

BorderDensity

Density of the film areas surrounding and between images on the film.

public string BorderDensity { get; set; }

Property Value

string

Remarks

Defined Terms:

  • BLACK
  • WHITE
  • i where i represents the desired density in hundredths of OD (e.g. 150 corresponds with 1.5 OD)

ConfigurationInformation

Character string that contains either the ID of the printer configuration table that contains a set of values for implementation specific print parameters (e.g. perception LUT related parameters) or one or more configuration data values, encoded as characters. If there are multiple configuration data values encoded in the string, they shall be separated by backslashes. The definition of values shall be contained in the SCP's Conformance Statement.

public string ConfigurationInformation { get; set; }

Property Value

string

Remarks

Defined Terms:

Note: It is recommended that for SCPs, CS000 represent the lowest contrast and CS999 the highest contrast levels available.

EmptyImageDensity

Density of the image box area on the film that contains no image.

public string EmptyImageDensity { get; set; }

Property Value

string

Remarks

Defined Terms:

  • BLACK
  • WHITE
  • i where i represents the desired density in hundredths of OD (e.g. 150 corresponds with 1.5 OD)

FilmOrientation

Film orientation.

public string FilmOrientation { get; set; }

Property Value

string

Remarks

Enumerated Values:

  • PORTRAITvertical film position
  • LANDSCAPEhorizontal film position

FilmSession

public FilmSession FilmSession { get; }

Property Value

FilmSession

FilmSizeID

Film size identification.

public string FilmSizeID { get; set; }

Property Value

string

Remarks

Defined Terms:

  • 8INX10IN
  • 8_5INX11IN
  • 10INX12IN
  • 10INX14IN
  • 11INX14IN
  • 11INX17IN
  • 14INX14IN
  • 14INX17IN
  • 24CMX24CM
  • 24CMX30CM
  • A4
  • A3

Notes: 10INX14IN corresponds with 25.7CMX36.4CM A4 corresponds with 210 x 297 millimeters A3 corresponds with 297 x 420 millimeters

Illumination

Luminance of lightbox illuminating a piece of transmissive film, or for the case of reflective media, luminance obtainable from diffuse reflection of the illumination present. Expressed as L0, in candelas per square meter (cd/m2).

public ushort Illumination { get; set; }

Property Value

ushort

ImageDisplayFormat

Type of image display format.

public string ImageDisplayFormat { get; set; }

Property Value

string

Remarks

Enumerated Values:

  • STANDARD\C,R film contains equal size rectangular image boxes with R rows of image boxes and C columns of image boxes; C and R are integers.
  • ROW\R1,R2,R3, etc. film contains rows with equal size rectangular image boxes with R1 image boxes in the first row, R2 image boxes in second row, R3 image boxes in third row, etc.; R1, R2, R3, etc. are integers.
  • COL\C1,C2,C3, etc. film contains columns with equal size rectangular image boxes with C1 image boxes in the first column, C2 image boxes in second column, C3 image boxes in third column, etc.; C1, C2, C3, etc. are integers.
  • SLIDE film contains 35mm slides; the number of slides for a particular film size is configuration dependent.
  • SUPERSLIDE film contains 40mm slides; the number of slides for a particular film size is configuration dependent.
  • CUSTOM\i film contains a customized ordering of rectangular image boxes; i identifies the image display format; the definition of the image display formats is defined in the Conformance Statement; i is an integer .

MagnificationType

Interpolation type by which the printer magnifies or decimates the image in order to fit the image in the image box on film.

public string MagnificationType { get; set; }

Property Value

string

Remarks

Defined Terms:

  • REPLICATE
  • BILINEAR
  • CUBIC
  • NONE

MaxDensity

Maximum density of the images on the film, expressed in hundredths of OD. If Max Density is higher than maximum printer density than Max Density is set to maximum printer density.

public ushort MaxDensity { get; set; }

Property Value

ushort

MinDensity

Minimum density of the images on the film, expressed in hundredths of OD. If Min Density is lower than minimum printer density than Min Density is set to minimum printer density.

public ushort MinDensity { get; set; }

Property Value

ushort

PresentationLut

public PresentationLut PresentationLut { get; }

Property Value

PresentationLut

ReferencedPresentationLutSequence

public DicomSequence ReferencedPresentationLutSequence { get; set; }

Property Value

DicomSequence

ReflectedAmbientLight

For transmissive film, luminance contribution due to reflected ambient light. Expressed as La, in candelas per square meter (cd/m2).

public ushort ReflectedAmbientLight { get; set; }

Property Value

ushort

RequestedResolutionID

Specifies the resolution at which images in this Film Box are to be printed.

public string RequestedResolutionID { get; set; }

Property Value

string

Remarks

Defined Terms:

  • STANDARDapproximately 4k x 5k printable pixels on a 14 x 17 inch film
  • HIGHApproximately twice the resolution of STANDARD.

SOPInstanceUID

Basic film box SOP instance UID

public DicomUID SOPInstanceUID { get; }

Property Value

DicomUID

SmoothingType

Further specifies the type of the interpolation function. Values are defined in Conformance Statement. Only valid for Magnification Type (2010,0060) = CUBIC

public string SmoothingType { get; set; }

Property Value

string

Trim

Specifies whether a trim box shall be printed surrounding each image on the film.

public string Trim { get; set; }

Property Value

string

Remarks

Enumerated Values:

  • YES
  • NO

Methods

Clone()

Create clone of basic film box instanct

public FilmBox Clone()

Returns

FilmBox

The cloned basic film box instance

FindImageBox(DicomUID)

Find specific basic image box using its SOP instance UID

public ImageBox FindImageBox(DicomUID sopInstance)

Parameters

sopInstance DicomUID

Image box SOP instance UID

Returns

ImageBox

The basic image box instance for specified SOP instance UID or null if no matches found

Initialize()

Initalize the film box dataset attributes to defaults

public bool Initialize()

Returns

bool

True if film box attributes could be initialized, false otherwise.

IsColor()

Gets whether one or more image boxes is colored.

public bool IsColor()

Returns

bool

Load(FilmSession, string)

Load a film box for a specific session from a specific folder.

public static FilmBox Load(FilmSession filmSession, string filmBoxFolder)

Parameters

filmSession FilmSession

Film session.

filmBoxFolder string

Folder in which film box is stored.

Returns

FilmBox

Film box for the specified filmSession located in the filmBoxFolder.

PrintColumnFormat(string[], RectF)

Generate rectangles arranged in column format.

public static RectF[] PrintColumnFormat(string[] parts, RectF marginBounds)

Parameters

parts string[]

Display format data.

marginBounds RectF

Margin bounds.

Returns

RectF[]

Rectangles arranged in column format.

PrintRowFormat(string[], RectF)

Generate rectangles arranged in row format.

public static RectF[] PrintRowFormat(string[] parts, RectF marginBounds)

Parameters

parts string[]

Display format data.

marginBounds RectF

Margin bounds.

Returns

RectF[]

Rectangles arranged in row format.

PrintStandardFormat(string[], RectF)

Generate rectangles arranged in standard format.

public static RectF[] PrintStandardFormat(string[] parts, RectF marginBounds)

Parameters

parts string[]

Display format data.

marginBounds RectF

Margin bounds.

Returns

RectF[]

Rectangles arranged in standard format.

Save(string)

Save the contents of the film box.

public void Save(string filmBoxFolder)

Parameters

filmBoxFolder string

Folder in which to save the film box contents.