DicomObjects’ concurrent licensing model allows users to set up an internal relay server using Asp.net (as a web service) which acts as a gateway for clients that do not have any Internet access. Each time a client machine sends a request out, that request is sent directly to the relay server, which in turn polls the live DicomObjects licensing server. As soon as a response is recieved by the relay server, it then sends that response back to the original client.

Sometimes we are asked the question of how to create a new DICOM image from imaging source (such as a detector) that outputs raw pixel data.
With the help of DicomImage.SetPixelFile method, this becomes fairly simple.
The following C# code shows how to load a single frame CT pixel data file from disk and create a new DicomImage object for display purposes only: DicomObjects.NET SetPixelFile method DicomImage img = new DicomImage(); // add all relevant group 28 attributes to image to tell DicomObjects how to display img.

Here is a complete list of all possible .NET objects that DicomDataset.Value can return.
Notes:
If the data element is empty, then the return value will be null The “Allowed VM” is the value in DICOM Part 6, and is not the number of values which happen to be present for any particular element UI values are all listed in Part 6 as having a VM of 1, and hence are normally returned as strings.

Symptom Very rarely, but it does happen, that developers are faced with a very strange behaviour where their winForm application automatically changes it size on start up when DicomObjects.NET version 8 is loaded. Using earlier versions will not give the same behaviour.
Root Cause This scaling issue is caused by PresentationCore.dll (which is referneced by DicomObjects.NET v8 for 3D related data structures) which makes a call to SetProcessDPIAware when it is loaded.

Perhaps we might have done this internally and make a new DicomViewer ‘ShowGrid’ property. But that way the end users may lose some flexibilities in setting the grid style (width, color etc.etc.). For now if you would like to show the rows/columns grid before loading up any image, you can do so using the following VB code (or translate it into something else that you are using) : DicomObjects.

The LabelType “Formatted” in .NET version of DicomObjects provides a very useful way to access the value of any DicomImage property. For property which has a shortcut name, you can just put the name of the property within a pair of square brackets. You can also specify the “Group” and “Element” of any particular attribute. The code shows how to use the formatted label.

Background in earlier versions of DicomObjects (both .NET & COM), the same basic mechanism was used for selecting transfer syntaxes:
When initiating, they can be created specifically using Contexts.Add etc. When accepting, they can be selected specifically using Context.AcceptedTS or Reject If neither of the above is used (as most people don’t) then a default mechansim is used, based on the TransferSyntax registry hive, which allows: Setting of specific values for different SOP classes using TransferSyntax/SOP class UID A more generic setting for all other SOP classes in the TransferSyntax/ default value This system, which is described here worked well for many years, but has 3 main drawbacks:

We are often asked how to persuade a DICOM printer to print images (normally plain radiographs) “TRUE” size. This is normally possible (depending on the capabilities of the printer) but is harder than expected, as the DICOM standard requires most of the relevant attributes (pixel size etc.) to be removed from an image before it is sent to the printer :-( The problem is compounded by the fact that the default behaviour of almost all printers is “scale to fit” - fitting the image as best they can into the space available on the film.

Although DicomPrint object is designed to make printing simple and easy for developers to code, it is possible to use a more advanced DicomConnection (COM version) or DicomAssociation (.NET version) object to meet your special requirement.
The code below gives a starting point for those wishing to do this themselves

Following our first article about how to Host .NET Viewer on Web Page, people asked questions about using DicomObjects.NET from their VB/Java scripts.
We created this page to sum up some of the most commons problems, and we will continue to update this page should we get more questions/solution from our values users.
Objects doesn’t support this property or method Make sure you do NOT have a com ocx version of DicomObjects registered on your computer.

It is possible to query for Patient Information using a DICOM C-FIND operation with Modality as a filter, in order to find all patients who have ever had a series with a particular modality. This can be done by a STUDY root STUDY level C-FIND query. A DoRawQuery(QueryDataSet) method in COM version of DicomObjects or Find(QueryDataSet) method in .NET version is required with ModatiesInStudy field (0008,0061) being explicitly added as a modality to search for.