.NET

Conversion from the COM version of DicomObjects to the native .NET version

Conversion of a DicomObjects ActiveX/COM project to .NET looks initially daunting, but in fact is quite simple, and for those using any of the complicated ActionComplete/ActionUpdate mechanisms and asynchronous DicomConnection objects will find that the resulting code is lot simpler and easier to maintain after conversion. As ever, we are happy to help with any conversion issues.

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 C# using .NET version) which demonstrate what attributes are needed for making a valid DICOM PDF file.

Hierarchical SOP Instance

While DicomObjects can not create a Dicom Hierarchical SOP Instance dataset collection directly, however it can do much of the work for you. A Hierarchical SOP Instance Dataset collection are similar in structure to a DicomDir which DicomObjects can create automatically. Hierarchical SOP Instances are primarily used in the creation of Key Note Objects. The Structure of the Hierarchical SOP Instance is Study - Series - Instance (NO PATIENT)

New methods for selecting Transfer Syntax in .NET version 5.6 Onwards

Note - the information here only applies to the .NET version of DicomObjects, and only version 5.6 onwards

Background

All previous versions of DicomObjects, both .NET & COM have shared the same basic mechanism for selecting transfer syntaxes:

UIDs

UIDs are fundamental to DICOM and have many uses, including there being a unique one for each SOP_Class and for each Composite_Instance and each Normalised_Instance.

There are several rules for how a UID is constructed:

Web Service for Activation

Though not recommended for general use, the Web Service for activation is publicly accessible using the following code:

Dynamically adding COM Viewer control to .NET application form

First of all, you need to have at least one Viewer control on the form before you can dynamically add other viewer controls. The OCXState contains all sorts of information and most important of all – the licensing information of the DicomViewer control. That’s why you have to have at least one viewer by design time on the form before you can add others on the fly. The following code demonstrates how to add a second DicomViewer on the fly:

AVI Import

Importing AVI into DICOM multi-frame Image using DicomObjects is fairly easy.

COM version of DicomObjects

Use DicomImage.Import method. Some simple vb6 code here:

Dim Image as New DicomImage
Image.Import("C:\TestAvi.AVI", "AVI")

How to implement C-MOVE in .NET

In the .NET version of DicomObjects, 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.

Creating Frame-Specific DICOM Presentation State using DicomObjects

Sometimes we are asked about how to create frame-specific DICOM presentation state files for multiframe images. This is not difficult in DicomObjects and can by done in a slightly awkward way. Instead of adding the entire "Referenced Series Sequence" to the top level of the presentation state file, all you need to do is adding the "Referenced Frame Number" item into "Referenced Image Sequence" under "Graphic Annotation Sequence", as shown in the following picture:

Pages

Subscribe to RSS - .NET