L_DicomGetWindow

#include "ltdic.h"

L_LTDIC_API L_UINT16 L_DicomGetWindow(hDS, uFrameIndex, uWindowIndex, pWindowAttributes, uStructSize, uFlags)

HDICOMDS hDS;

/* a DICOM handle */

L_UINT32 uFrameIndex;

/* index value */

L_UINT uWindowIndex;

/* the window index */

pDICOMWINDOWATTRIBS pWindowAttributes;

/* pointer to a window attributes structure */

L_UINTuStructSize;

/* the size of the DICOMWINDOWATTRIBS structure */

L_UINT uFlags;

/* reserved for future use */

Retrieves the attributes that describe window center and window width.

Parameter

Description

hDS

A DICOM handle.

uFrameIndex

A zero-based index that identifies the frame number in the dataset.  If the dataset does not support Multi-frames, this parameter is ignored.

uWindowIndex

Index to the window center , window width value to be retrieved. According to the DICOM standard if multiple values are present for the window center and window width, both attributes shall have the same number of values and shall be considered as pairs. This index is zero-based.

pWindowAttributes

Pointer to a structure to be updated with the window-related attributes.

uStructSize

Size of the DICOMWINDOWATTRIBS structure. Pass sizeof(DICOMWINDOWATTRIBS).

uFlags

Reserved for future use. Pass 0.

Returns

0

The function was successful.

>0

An error occurred. Refer to Return Codes.

Comments

This function will retrieve the attributes that describe window center and window width and store their values in the structure pointed to by pWindowAttributes.

pWindowAttributes->uStructSize will be set to the value of the parameter uStructSize.

"Window Center" (0028,1050) and "Window Width" (0028,1051) specify a linear conversion from stored pixel values (after any modality LUT or rescale slope and intercept specified in the IOD have been applied) to values to be displayed. Please see "VOI LUT Module Attributes" in the DICOM standard for more details.

This function will fail and return DICOM_ERROR_PARAMETER if the window count (number of values under the window center element) equals 0 or if uWindowIndex is greater or equal to the window count.

uWindowIndex is zero-based, if you pass 0 for example this function will populate pWindowAttributes->fWindowCenter with the first value under the "Window Center" (0028,1050) element, pWindowAttributes->fWindowWidth with the first value under the "Window Width" (0028,1051) element and pWindowAttributes->pszWindowCWExplanation with "Window Center & Width Explanation" (0028,1055) element if it exists.

The Multi-frame Functional Groups module may have a Shared Functional Groups Sequence item, and/or a Per-frame Functional Groups Sequence item. Either of these items may have a Frame VOI LUT Sequence (0028,9132) item. If the following elements are not found at the top level in the dataset, this method looks in the Shared Functional Groups Sequence item and the Per-frame Functional Groups Sequence items.

Tag

Name

(0028,1050)

Window Center

(0028,1051)

Window Width

(0028,1055)

Window Center & Width Explanation

For a detailed discussion on Multi-frame Functional Groups and how the DICOM_SET_IMAGE_MFG flags are used, see the topic Multi-frame Functional Groups.

Required DLLs and Libraries

LTDIC

For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application

Platforms

Win32, x64

See Also

Functions:

L_DicomGetWindowCount, L_DicomGetVOILUTCount, L_DicomSetWindow, L_DicomDeleteWindow, L_DicomGetVOILUT, L_DicomSetVOILUT, L_ApplyLinearModalityLUT, L_DicomDeleteVOILUT, L_ApplyLinearVOILUT

Topics:

LUT Encoding Overview

 

LUT Encoding: VOI LUT

Example

For an example, refer to L_DicomSetWindow.