Declaration
property DICOM_Range: TIEDicomRange;
Description
Specifies how to handle the pixel visibility range when loading a DICOM image.
Either the pixel values are automatically scaled (image is modified) or the display values are adjusted (image is not modified).
Value | Description |
iedrAdjust | Pixels values within the image are scaled to the appropriate visual range |
iedrSetBlackWhite | Pixels values are maintained, but WhiteValue and BlackValue are set to display the image correctly |
Note:
◼If you are using a
TIEMultiBitmap or
TImageEnMView, you can use
DuplicateCompressionInfo to propogate the parameter to all frames
◼iedrSetBlackWhite is not supported for saving! If iedrSetBlackWhite is specified, it will be saved as iedrAdjust. This means the pixel values of the saved image will be stretched to the range specified by
WhiteValue and
BlackValue (and the
DICOM_RescaleSlope and
DICOM_RescaleIntercept tags will be removed)
◼If you use iedrSetBlackWhite, you will need to reset the
WhiteValue and
BlackValue before loading the next image, i.e.
ImageEnView1.IEBitmap.BlackValue := 0;
ImageEnView1.IEBitmap.WhiteValue := 0;Default: iedrAdjust (Specified by
IOParamDefaults)
Loading Example
ImageEnView1.IO.NativePixelFormat := true;
ImageEnView1.IO.Params.DICOM_Range := iedrSetBlackWhite;
ImageEnView1.IO.LoadFromFile( 'D:\slice91.dcm' );
dcenter := ImageEnView1.IO.Params.DICOM_WindowCenterOffset + StrToFloat( edtLevel.Text );
dMin := dcenter - 0.5 - StrToFloat( edtWidth.Text ) - 1) / 2;
dMax := dcenter - 0.5 + StrToFloat( edtWidth.Text ) - 1) / 2;
ImageEnView1.IEBitmap.BlackValue := dMin;
ImageEnView1.IEBitmap.WhiteValue := dMax;
ImageEnView1.Update();
Saving Example
// Saving a DICOM that was loaded using iedrSetBlackWhite
// Note: This will happen automatically if you attempt to save with DICOM_Range=iedrSetBlackWhite
ImageEnView1.IEBitmap.StretchValues();
ImageEnView1.IO.Params.DICOM_Range := iedrAdjust;
ImageEnView1.IO.SaveToFileDICOM( SaveImageEnDialog1.FileName );