MemoryMapping in Reading Files

There are two ways to control how DicomObjects reads files in terms of efficiency and RAM usage:

  • Setting DicomGlobal.CloseFilesAfterReading
  • Seting DicomGlobal.SetRegWord("DisableMemoryMapping", VALUE)

If you want DicomObjects to read the entire content of the file so that it loses the file handle and you have total control over the file after reading (you can modify or even delete the file), you set either CloseFilesAfterReading to true or DisableMemoryMapping to 1 (replace VALUE by 1).

Secure Connection with DVT Simulator

If you are testing DicomObjects's Secure Connection Functionalities and wish you to use DVT simulator as the tester, then it is very easy to do so as long as you have the DVT-trusted ".p12" file (we are using the one that comes with DVT here):

Dim sec As New DicomServerSecurity
Dim CertBytes As Byte() 
CertBytes = System.IO.File.ReadAllBytes("C:\Program Files\DVT\certificates\SutSelfSigned.p12")
sec.Certificate = New X509Certificate2(CertBytes, "dvt")
sec.ClientAuthentication = False
server.Listen(104, sec)  ' server is a DicomServer object

In House Licensing Scheme


The main features of the new system are as follows:

Host .NET Viewer on Web Page

As said by Microsoft, you cannot use the overloaded syntax for the <OBJECT> tag to load .NET user controls into Microsoft Internet Explorer from the file system because of security concerns. Therefore if you want to host the .NET version of DicomViewer object, you have to register it into the GAC (Global Assembly Cache) before you can use it, in the same way that you use the COM version Viewer object.

Here is the steps to follow:

1. Open C:\WINDOWS\Assembly and drag DicomObjects.NET.x.y.dll into it. (SKIP this under windows 7)

How to implement a Magnifying Glass in .NET version of 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 negligable memory and takes a tiny amount of time to create.

The mouse cursor can be used to control the position of the magnifying glass easily thanks to the DicomViewer Mouse events.

Creating Secondary Capture Images

Any 'valid' Dicom Image is a conglomeration of Pixel data and several mandatory data attributes. To generate a Secondary Capture (SC) Image from existing non-Dicom image then all that is required is to load the required image into a DicomImage using the import function and then adding on the appropriate attributes. Dicom Objects will automatically take care of all the attributes relating to the pixel data (Group 0x0028).

UID Rules

There are several rules to be followed when making UIDs, and this page is a useful summary

Making a copy of the image as displayed

In order to use PrinterImage to make a complete copy of the image as displayed in the viewer, it is necessary to:

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 vir 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.


Subscribe to RSS - .NET

We Currently Accept:

Other currencies

For Reference purposes only:

The price is based on current exchange rates but is only an approximation. Please contact us for a final price