.NET

ImplementationUID and ImplementationName

The Implementation Identification information allows implementations of communicating AEs to identify each other at Association establishment time. It is intended to provide non-ambiguous version identification in the event of communication problems encountered between two nodes. This information only relates to the software on the machine, not the machine itself, so it is perfectly permission and normal for multiple pieces of equipment to have the same values.

Use both versions of DicomObjects in one project

It is possible to use both the COM (ActiveX) version and .NET version of DicomObjects in the same project. The only problem you have to avoid is the conflicting namespace - as in both versions the namespace is the same "DicomObjects".

One solution to solve the namespace conflicts is to use the Type Library Importer (tlbimp.exe) tool which comes with the Microsoft Visual Studio. It converts the type definitions found within the COM version of DicomObjects into equivalent definitions in a CLR assembly, which can then be referenced in the project.

Hard Coding Licence String

Occasionally it is necessary to hard code a licence sting. An example would be if new viewers are created dynamically.

 

Down Sampling an Image

A quick example on how to down size an image to an 8 bit image and resize down to 1/4 of the pixels.

 

Calculate windowing width and level from Image pixel data

Calculating windowing width and level from Image pixel data can be done via accessing the raw pixel data and applying your own algorithm or via the DicomObjects method SetDefaultWindows of the DicomImage object. The problem with this, however, is that there will be no correct values as the best values depend on which area of the image contains the anatomical region the user is interested in looking at (which is why viewer applications always have the tools to change them).

Catch none-zero final status with DicomAssociation

So far in DicomObjects, we don't throw exceptions when none-zero final status is received during the DICOM associations. The none-zero final status get passed by us and it should be the developers' responsibilities to check and, if needed, alert the user for any warnings or failures.

To catch the final status and also the related warning/error fields, you can take a look at the following code (vb6 for COM version and vb.net for the .NET version of DicomObjects).

Transfer Syntax Control on the Network

How can I control the Transfer Syntax (compression) used when I send images over the network?

It is important first to understand how DICOM negotiation occurs in general.

Number of Overlays in Image

How overlay data is stored

There are two ways of storing overlays in DICOM Image:

  • Overlay data stored in unused bit planes of the Pixel Data (7FE0,0010) with Samples Per Pixel (0028,0002) of 1. This usage has now retired.
  • Overlay data stored in separate "Overlay pixel data" attribute (60xx,3000).

Pages

Subscribe to RSS - .NET