Knowledge Base Articles

DICOM Preamble Vulnerability

in DICOM,

This page addresses a reported vulnerability in the preamble defined by the DICOM file format. The vulnerability could allow DICOM files stored on media to have executable malware inserted.

Continue reading..

DICOM Print Service

Printing in DICOM is unlike any other printing system used in the world, with no relation to PDF, network print protocols etc. Not surprisingly, it uses standard DICOM mechanisms, and although it is one of the original 1993 services, it is probably one of the most complex services in the standard! There are multiple steps, all using Normalised Operations

Continue reading..

DICOM Private Elements

in DICOM,

Why Private Data Element Implementations may require communication of information that cannot be contained in Standard Data Elements. Private Data Elements are intended to be used to contain such information. Private Data Elements have the same structure as Standard Data Elements (i.e., Group, Element, VR, Length and Value). To distinguish private data element from Standard ones, the group number used in the Element Tag of Private Data Elements MUST be an odd number.

Continue reading..

DICOM Router/Gateway Workflow

in DICOM,

Very often questions are asked about DICOM Router/Gateway implementations. So this is a summary of the options. Why Routing? It can allow multiple SCUs(Clients) perform composite and normalized DICOM operations on remote PACS Server. It can allow SCUs retrieve Images via C-GET, which is NOT supported by many PACS nowadays. The General Work Flow The general routing work flow is simple. It forwards every incoming requests, including all DICOM composite as well as normalized operations, and return meaningful status and results (if there is any) to the client, as shown in the following picture.

Continue reading..

DICOM Sequences

in DICOM,

DICOM allows a dataset to contain other nested datasets, which are encoded as “sequences”. The point of this structure is to allow repeating groups of data, so whilst such sequences often only contain a single dataset, the format is defined such that each sequence consists of a set of datasets. Of course, this structure lends itself perfectly to recursion, and some DICOM IODs such a Structured Reporting and the Radiotherapy Extensions can use sequences nested 5 or 6 deep !

Continue reading..

DICOM Transfer Syntax Negotiation

in DICOM,

Transfer Syntax Negotiation in DICOM is relatively simple, but often misunderstood. It is important to understand this fully before attempting to take control using DicomObjects. The transfer syntaxes available for network transmission depend on what is agreed between the applications during initial negotiation (and at no other time. The steps are as follows: The SCU sends the SCP a list of “presentation contexts”, each of which has a SOP class and one or more transfer syntaxes.

Continue reading..

DICOMDIR

in DICOM,

The Structure of DICOMDIR DICOMDIR acts as a “Directory” for DICOM file sets and holds a full 4 level hierarchy (PATIENT –> STUDY –> SERIES –> IMAGE) as shown below: DICOMDIR files can be read using DicomDataSets.ReadDirectory method in DicomObjects and the complex structure of linked lists with offsets is held in a single DicomDataSet object. When accessing the DICOMDIR, you may bear in mind that different DICOM attributes (or Tags) belong to different levels, for example PatientName is a Patient Level attribute, StudyUID is a Study Level attribute, Modality is Series Level and Image Number is Image Level.

Continue reading..

DVT

in DICOM,

DVT is an independent DICOM Validation tool provided for free by Philips and ICT Automatisering, you can download this product from http://www.dvtk.org/ DVT provides as range of scripts that can be used to validate many aspects of DICOM. Media Validation using DVT To validate a DICOM file open DVT and click File Choose the open option Change the Files of Type filter to ‘Session files’ Open the Media session file the location depends on where on you machine DVT is installed e.

Continue reading..

DataSet

in DICOM,

A DICOM Dataset is the fundamental “block” of useful information in DICOM, and is used for multiple purposes: Commands Composite Instances Normalised Instances DICOM files It consists of an ordered list of attributes, non-repeating, that may themselves be Sequences that may in turn contain nested Datasets. The representation in DicomObjects is the DicomDataSet object.

Continue reading..

Deactivating Licences

in Licensing,

Installed licences can be deleted in different ways as described in the following steps: Programmatically You could do something like this from your code: NET (c#) DicomLicense.DeactivateOnline(CustomerInfo1, CustomerInfo2) COM (VB6) Dim lg As New DicomLicenseGlobal lg.CurrentLicense.DeactivateOnline(CustomerInfo1, CustomerInfo2) XDS (C#) XdsLicense.DeactivateOnline(CustomerInfo1, CustomerInfor2) CustomerInfo1 & CustomerInfo2 are useful fields which are passed to our accounts department to inform them of which machine has been deactivated. Use our Licence manager tool You could download the sample project from our examples page, the Licence Manager project is a simple GUI that runs the above commands:

Continue reading..

Deleting Files In Delphi

This is a Delphi specific problem (Believed to be solved in Version 7 and afterwards). Getting errors when trying to delete an image file, even when the Images collection has already been cleared. See the following code: Images.ReadFile('C:\TestImage.dcm'); Images.Clear; if not DeleteFile('C:\TestImage.dcm') then ShowMessage('couldn't delete TestImage.dcm'); Using the above code, developers always hitting the red line. This is actually caused by the first line where DicomImages.ReadFile is returning a DicomImage object, which is passed (By Delphi) to a hidden variable.

Continue reading..

Deleting or Over-writing Files which have been read from disk

Image files which have been read by DicomObjects using ReadFile (COM) or Read (.NET) cannot normally be deleted (or over-written using Write/WriteFile etc.) until the file is released. This is because pixel data from the files is read “as needed” (using memory mapping for COM or a duplicate FileStream for .NET). This behaviour is enabled by default, causing only the data actually needed at any time to be read into memory.

Continue reading..

Dicom Query Date/Time range

in DICOM,

Formats allowed when specifying the Date/Time range in a Query: “YYYYMMDD-YYYYMMDD” “YYYYMMDD-” ”-YYYYMMDD” “HHMMSS-HHMMSS” “HHMMSS-” ”-HHMMSS “ Combinations of date and time ranges: For example: Date Range: “20111001-20111002” Time Range: “090000-100000” For DICOM Modality Worklist query, the above date time range gives you a time span from 9AM 01/10/2011 to 10AM 02/10/2011, a range of 25 hours For standard, non-MWL query, it gives you 2 slots: 9AM-10AM on 01/10/2011 and 9AM-10AM on 02/10/2011 Note, if you are using the .

Continue reading..

DicomConnection.Move

Note: This page applies only to the COM version of DicomObjects - the threading model of the equivalent DicomAssociation object in the .NET version is very different The Move method allows a C-MOVE operation to be carried out on an existing DicomConnection. This has several benefits compared to any of the DicomQuery-based alternatives: It allows finer control over the exact presentation contexts offered Multiple operations can occur on one association Perhaps most importantly, if the DicomConnection is asynchronous, then it provides the best solution to using C-MOVE in DicomObjects, avoiding the problems of deadlocking or lack of return status which affect some of the alternatives.

Continue reading..

DicomDataSet.Value Overview

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.

Continue reading..


We use cookies to give you the best possible experience on our website. By continuing to use this website, you agree with our use of cookies. for more information please click HERE