Hounsfield Units (HU) are used in CT images it is a measure of radio-density, calibrated to distilled water and free air.

HUs can be calculated from the pixel data with a Dicom Image via two methods.

The first (and harder) method involves using the Slope and Intercept value from the Dicom image and applying it to a target pixel.

``  HU = m * P + b``

where: m is the Dicom attribute (0028,1053) “Rescale slope” b is the Dicom attribute (0028,1052) “Rescale intercept” P is the value of that particular pixel in the pixels array.

However, it can be done in a much easier and better by using the ROIMean function of DicomLabel as demonstrated in the code below.

# DicomObjects.NET

``````public DicomLabel CreateRoiLabel()      // this is run once
{
// create a label
return new DicomLabel()
{
LabelType =  LabelType.Rectangle,
Width = 1,   // one pixel big
Height = 1,
ScaleMode = ScaleMode.Image, // must be image tied for ROI mean to work
Visible = false,
Left = 1,
Top = 1,
};
}

public double CalculatePixelHU(int x, int y)
{
Viewer.CurrentImage.Labels.Clear();
PointF p= Viewer.ImagePosition(new Point(x, y));	//convert viewer coordinate to image coordinate
DicomLabel l = CreateRoiLabel();
return l.ROIMean(Viewer.CurrentImage, true);
}``````

# DicomObjects.COM

``````
Public Function CreateRoiLabel()                       ' this is run once
If RoiLabel Is Nothing Then                          ' where RoiLabel is a DicomLabel (global)
RoiLabel = New DicomObjects.DicomLabel             ' create a label
RoiLabel.LabelType = DicomObjects.doLabelType.doLabelRectangle
RoiLabel.Width = 1                                 ' one pixel big
RoiLabel.Height = 1
RoiLabel.ImageTied = True                          ' must be image tied for ROI mean to work
RoiLabel.Visible = False
RoiLabel.Left = 1
RoiLabel.Top = 1