DicomObjects .NET 8.48.231.0

Source

Introduction to DicomObjects .NET version

Overview of DicomObjects.NET

DicomObjects.NET consists of an inter-related, but independent, set of .NET "Objects" that enable developers to quickly and easily add DICOM functionality to their products without needing to understand or program the intricacies of the DICOM standard. This help file provides full reference to those objects and also some introductory guidance.

Almost any aspect of DICOM image/data manipulation can be performed using DicomObjects, including:    

  • Image display and manipulation
  • Network transmission of images and associated data, including worklists
  • Printing to DICOM and windows printers
  • Normalised operations including storage commitment
  • Image creation from scratch and import/export to/from non-DICOM formats

The main Components of DicomObjects are:

DicomViewer Control

A control that may be embedded into any .NET forms control container such as C#, Visual Basic.NET etc. It has extensive display capabilities for DICOM images, whether read from files, received over the network, or from numerous other sources, and these include a wide range of annotations, and full DICOM greyscale presentation state support.

DicomServer Class

An object that provides storage, query/retrieve and normalised facilities as a service class provider (SCP). Events are raised in response to incoming operations.

DicomQuery Class

An object that handles the query/retrieve parts of the DICOM standard as a service class user (SCU).

DicomPrint Class

An object that simplifies DICOM printing as a service class user (SCU).

DicomGlobal Class

Used for certain global operations, including logging and setting global behaviour.

DicomAssociation Class

A DicomAssociation Object represents a DICOM association, and may either be created automatically in response to an incoming query request, or explicitly by the client program. Methods of this object are used to send data, images, and verification requests.

Other classes and collections are created and used by the above, and some may also be created directly. They are:

Object Description Single Item Collection
SOP instance, containing an image DicomImage Class DicomImageCollection Class
Generic SOP instance, used for results of DICOM queries or as a sub-element of a Sequence DicomDataSet Class DicomDataSetCollection Class
Attribute (Data Element) of a DicomDataSet DicomAttribute Class
DICOM Presentation context DicomContext Class DicomContextCollection Class
Image Annotation DicomLabel Class DicomLabelCollection Class
Licensing Information and Control DicomLicense Class

DicomImage Class

An object that represents the DICOM image with the pixel data and all the attributes as accessible properties. It is a superset of DicomDataSet Class, which in turn is a collection of DicomAttribute Class. DicomAttribute is the basic unit to hold A DICOM element, it is represented by a keyword/tag in the format (gggg,eeee), where gggg equates to the Group Number and eeee equates to the Element Number within that Group. These values are in hexadecimal notation as specified for each named Data Element in the Standard (PS3.6 Data Dictionary)

There is also a 3D specific DicomImage3D Class that supports MPR, MIP, VR & Slab rendering of DicomVolume

DicomLabel Class

An object that represents annotations, markers on the displayed DICOM image.

DicomException Class

A DicomException Object represents the errors that occur within DicomObjects which is wrapped and thrown as a manageable exception in the user code with descriptive error messages.

Project Description Download
Basic Dicom Viewer This sample showcases the majority of the DicomObjects display functionality, including 2D & 3D image display, manipulation and addition of annotations
HTJ2K Custom Codec with OpenJPH (source code) This sample demonstrate how to build a High-Throughput JPEG2000 custom codec with open source project OpenJPH and use it with DicomObjects to compress and decompress
HTJ2K Custom Codec with OpenJPH (pre-compiled DLLs) Pre-compiled OpenJPH.dll, OpenJPHWrapper.dll and MyHTJ2KCodec.dll ready to be used with DicomObjects to compress and decompress HTJ2K
Restful Dicom Web Server DICOM-Rs Web Server
Structured Report Viewer Shows how to parse a DICOM Structured Report object and display by converting to HTML
DICOM DIR Reader/Writer This sample demonstrates reading/writing of a DICOMDIR, including how to list and access the files on the media
Dicom Router An example of how to use DicomObjects to construct a ‘pass-through’ router to do aggregation, compression and conversion between C-GET & C-MOVE
Dicom Server The basic skeleton of a PACS server, showing how to receive images, answer queries, and send images when requested
Encryption This sample shows how to implement DICOM communications over TLS and how to create and read encrypted DICOM files.
Key Object Note This sample shows how to generate a basic Key Object Note document which references a set of DICOM objects
Licence Manager This sample shows how to manage DicomObjects licences on your system. It demonstrates the basic functions to add or remove licences.
Licence Manager (Compiled) This is the compiled version of the Licence manager above, provided for convenience.
MPPS Modality Performed Procedure Step (MPPS) SCU/SCP pair
Modality Worklist Modality worklist (MWL) SCU/SCP pair
Printer Server Sample DICOM Print Server which receives DICOM print instructions and prints to a Windows printer
Storage Commitment Storage Commitment
ECG Control Sample ECG Control to work with DicomViewer for Displaying DICOM ECG data