Category: DICOM

Application Entity

in DICOM,

An Application Entity (AE) is the name used in DICOM to represent a system or program running on a system which is the end-point of DICOM communications. Each Application Entity has an Application Entity Title (AET) which only needs to be locally unique, but cannot exceed 16 characters.

Continue reading..

Association

in DICOM,

As association is the DICOM term for a network connection between two applications, one of which is the Service Class User (SCU - client) and the other is the Service Class Provider (SCP - server). It is basically a TCP connection, but with extensive negotiation between the two entities to agree which SOP Classes and options they both support. Since a DICOM association is a network connection any number of independent operations may be made over it.

Continue reading..

Basic DICOM Operations

in DICOM,

DICOM services use a limited number of basic DICOM operations (officially called DIMSE operations), all of which are of course supported by DicomObjects. Composite Operations These are “self-contained”, and the objects passed therefore contain enough information for the operation to exist independently, without reference to other operations on the same or different associations (though of course they are commonly used as part of more complex operations!) C-STORE The most basic DICOM operation, otherwise known as “DICOM Push” allows an SCU to send a Composite Instance to an SCP.

Continue reading..

Basic Film Box

in DICOM,

A Basic Film Box is a Normalised Instance which represents a particular sheet of film to be created during Printing as requested by the SCU. Its properties control aspects such as the size, image format, background density etc. The values in this object can be controlled in DicomObjects by setting values into the dataset provided by the DicomPrint.FilmBox (.NET version) or DicomPrint.FilmBox (COM version) property before printing any images.

Continue reading..

Basic Film Session

in DICOM,

A Basic Film Session is a Normalised Instance which represents the whole session of Printing as requested by the SCU. Its properties control aspects such as the number of copies of each page to print. DicomObjects.NET The values in this object are controlled by setting values into the DicomDataset provided by the Session property of the DicomPrint object, before printing any images. DicomObjects.COM The values in this object are controlled by setting values into the DicomDataset provided by the Session property of the DicomPrint object, before printing any images.

Continue reading..

C-MOVE Problems

in DICOM,

Why might C-MOVE not work in practice? It is very common for users new to DICOM and DicomObjects to find that they can get queries (C-FIND) working, but fail when they try to retrieve images using C-MOVE (Using either MoveImages or GetUsingMove). There are a number of possible reasons for this, but by far the commonest is the first - failing to set up the server. Before looking at the possibilities in detail, it is worth looking at the difference between C-MOVE and other DICOM protocols, as this explains most of the issues.

Continue reading..

Calculate windowing width and level from Image pixel data

in DICOM, Display,

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

Continue reading..

Calculating SUV from PET images

in DICOM,

If a PET image has field [54,1001] set to BQML, then the PET image can be displayed in SUV. Before you can do this you will need to do a conversion from activity concentration to SUV. Examples of SUV types: SUV Body Weight (SUV-bw) SUV Body Surface Area (SUV-bsa) SUV Lean Body Mass (SUV-lbm) SUVbw and SUVbsa equations are taken from Kim et al. Journal of Nuclear Medicine. Volume 35, No.

Continue reading..

Composite Instance

in DICOM,

A Composite Instance is the official DICOM term for a persistent storable object. Whilst most composite instances are Images (with pixel data), DICOM has plenty of other Composite Instance types, such as: Structured Reports Key Image Notes Presentation States Radiotherapy Objects Every object in DICOM, whether a permanent Composite Instance or merely a transient Normalised Object as used in Printing has a unique UID called its Instance UID. This is different from the SOP class UID which is shared with all other objects of the same type.

Continue reading..

Conformance Statement

in DICOM,

A conformance statement is a detailed description, in a specific format (as defined in Part 2 of DICOM) of the DICOM-specific features of a particular product. Amongst other things, it describes: The SOP classes and transfer syntaxes supported What “real-world” activity triggers or is triggered by what network operations Character sets supported Most of the content of a conformance statement relates to which parts of DICOM an application chooses to support, and how these are activated in the “real-world”, so conformance statements can only apply to complete applications, not toolkits, as a generic conformance statement written for “DicomObjects” would not be appropriate for any products written using it.

Continue reading..

Creating Frame-Specific DICOM Presentation State using DicomObjects

in DICOM,

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:

Continue reading..

Creating a UID Hierarchy

in DICOM,

Developers often ask for advice on how to create their own UIDs and manage roots, so here is a suggested simple scheme. There is nothing special about this scheme, but it is as good as any, so feel free to use it “as is” or to modify in any way you like. Throughout this page {YOURROOT} is used to represent the single root used by your company. See the pages on [UIDs] for details of how to get a root yourself, either by right (e.

Continue reading..

Custom Print Formats

in DICOM,

Many people wish to “merge” images to make print formats which the printer does not support, and this is possible, but a lot more work than simply asking the printer to do it for you! Basically, you need to make a raw image as follows: Make a single large image to hold the merged pictures Use AllocatePixelSpace to make a blank pixel area Set all the 0028 attributes to define bit depth, size etc.

Continue reading..

DICOM

in DICOM,

Digital Imaging & Communication in Medicine DICOM is the main standard used in medical imaging, and is the main purpose of DicomObjects HISTORY Both the ACR (American College of Radiology) and NEMA (National Electrical Manufacturers Association) jointly created a standard called ACR-NEMA. This “standard” was introduced around 1985 to simply ensure that imaging equipment had a unified method of connectivity. This was considered version 1.0. In 1988, version 2.0 was created, and in 1992, version 3.

Continue reading..

DICOM DateTime Format

The Standard DICOM DateTime Format The standard DateTime format (YYYYMMDD) is explained in Table 6.2-1 of Part 5 of the DICOM standard. What Format DicomObjects Accepts Simple Dates DicomObjects takes String format as well as DateTime format and turns whatever dates it is given into DICOM dates, according to the Regional Settings of the machine DicomObjects is running on, so on a European machine the value “04/03/2007” will be 20070304 in DICOM format and on a US machine it will produce 20070403.

Continue reading..