Category: DicomObjects

Hounsfield Units

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.

Continue reading..

How DicomObjects handles Width and Level values

The Width and Level properties of an image are unusual, in that they are both stored as a part of the image, and are also transient DicomImage properties, regularly adjusted by users. This page explains the relationship between the persistent and transient values.

Continue reading..

How to Implement Shutters in DicomObjects

Shutters are a means to “black out” areas of an image outside the area of interest, and are defined in DICOM and in presentation states. Contents Implementing Shutters in the .NET Version of DicomObjects Circular Shutter Rectangular Shutter Implementing Shutters in the COM Version of DicomObjects Circular Shutter Rectangular Shutter DicomObjects.NET In .NET version of DicomObjects, Shutters can be represented by DicomLabel objects, so users don’t have to search the DICOM Standard for the corresponding attributes for Shutter.

Continue reading..

How to Import PDF to DICOMPDF

Import general PDF files and turn them into DICOM PDF format is not much different to import other file formats, i.e. windows Bitmap and Jpeg images.

Based on the DICOM supplement 104, we made two small programs (VB6 using COM version and CSharp using .NET version) which demonstrate what attributes are needed for making a valid DICOM PDF file.

Continue reading..

How to Improve the Quality of Labels when Printing

Some users find that they get poor quality text, lines etc. when printing images to DICOM printers, especially when printing intrinsically small images, such as 256x256 MRIs or PET images. This happens because DICOM only allows such annotations to be “burnt-in” to the pixel data, and the annotations cannot be sent directly to the printer as text (this is a DICOM rule, and is not unique to DicomObjects). Therefore, DicomObjects puts labels onto the image using the “Pixel grid” of the image itself, and the printer then scales that to match the space available.

Continue reading..

How to Invert a DicomImage


By “invert”, most people mean change black to white and visa versa, and this can be done by a simple line of code.

Continue reading..

How to choose which IP Address you connect from

When a PC has multiple IP Addresses, sometimes people would like to specify one of them to be used for connecting out to other DICOM AEs. This can be easily achieved in the .NET version of DicomObjects. The following CSharp sample code shows how this could be done:

Continue reading..

How to fire DicomViewer's MouseWheel event

  1. DicomObjects.NET
  2. DicomObjects.COM
    1. When you have multiple DicomViewer on the Form

Continue reading..

How to implement C-Find with DicomObjects

There are 2 ways to send DICOM C-Find request in DicomObjects: Use DicomQuery object Use DicomAssociation (.NET) or DicomConnection (COM) object DicomObjects.NET DicomQuery DicomQuery object is designed to be simple and easy to use as DicomObjects will handle all the Presentation Contexts in request as well as manage the open and close of the connection. DicomQuery q = new DicomQuery(); DicomDataSetCollection results; q.Node = "dicomserver.co.uk"; // the IP address of SCP q.

Continue reading..

How to implement C-GET with DicomObjects

There are 2 ways to send DICOM C-GET request in DicomObjects: Use DicomQuery object Use DicomAssociation (.NET) or DicomConnection (COM) object DicomObjects.NET DicomQuery DicomQuery object is designed to be simple and easy to use as DicomObjects will handle all the Presentation Contexts in request as well as manage the open and close of the connection. DicomQuery q = new DicomQuery(); DicomDataSetCollection results; q.Node = "dicomserver.co.uk"; // the IP address of SCP q.

Continue reading..

How to implement C-MOVE with DicomObjects

DicomObjects.NET C-MOVE is slightly more complicated but user has a lot more flexibility. Following is VB.NET sample code showing how to do a proper C-MOVE via DicomQuery Object and how to receive C-MOVE responses. DicomImageCollection images = new DicomImageCollection(); private void Move(object sender, EventArgs e) { // set up the image receiver using(DicomServer server = new DicomServer()) { server.InstanceReceived += Server_InstanceReceived; server.Listen(1111); DicomQuery query = new DicomQuery(); // the C-MOVE destination value must be known to PACS to perform reverse C-STORE query.

Continue reading..

How to implement a Magnifying Glass in DicomObjects

It is possible to implement a magnifying glass tool in DicomObjects.NET.This functionality can be achieved by using a second DicomImage which is a copy of the original image (scaled, zoomed and scrolled accordingly) and overlaying onto the original image. Because the new image is a “Clone” of the original, it shares the same underlying DataSet, and it therefore uses negligible memory and takes a tiny amount of time to create.

Continue reading..

How to make SLAB in 3D

Continue reading..

Implement Centered Zoom in DicomObjects


Implementing the Centered Zoom function in DicomObjects is simple and easy.

Continue reading..

Initialising an image to the viewer size (stretch and scroll)


It is often useful to zoom and scroll an image to fill the viewer on first load. The quick way of doing this is by using StretchMode and a few other properties.

Continue reading..


We use cookies to give you the best possible experience on our website. By continuing to use this website, you agree with our use of cookies. for more information please click HERE