Knowledge Base Articles

Structured Reporting

in DICOM,

DICOM Structured reports are DICOM SOP Instances, organised just the same way as images etc., but which hold reports rather than images. They are typically therefore only a few kilobytes in size. They contain all the same indexing information as images, and therefore fit into the standard 4 level DICOM Hierarchy, complete with their own “psuedo-modality” of SR. They live with the same study (and therefore have the same Study UID) as the images to which they relate, but as the DICOM rules only allow one modality per series, they (like Presentation States) sit in their own series.

Continue reading..

SubImage VS PrinterImage

Those two functions of DicomImage sometimes get people confused as which should they use and which not. A few points here to clarify so after reading this you should be able to tell the difference. Neither method changes anything in the original image - they both return modified copies. SubImage Returns an Identical copy of the original, apart from the left, top, width and height. The returned new DicomImage could be just an area of the original image or of the same size.

Continue reading..

TCP limitations in DICOM

in DICOM,

DICOM uses TCP (transmission control protocol) as its underlying network transport layer, and despite its widespread and generally successful use around the world for most Internet use, TCP does have some significant limitations. In practice, these limitations are extremely rarely encountered in real life, but they can sometimes be seen in stress test scenarios, and it is then important to to be able to distinguish between those failures which are due to the DICOM application being tested, and those which are intrinsic to TCP itself.

Continue reading..

Transfer Syntax

in DICOM,

Transfer Syntax is the language used in DICOM to describe the DICOM file format and the network transfer methods. 3 main variables are contained in the Transfer Syntax: VR: Implicit/Explicit Endianism: Little-Endian/BigEndian Pixel Data Compression For DICOM Files, the Transfer Syntax is stored in the File Meta Header, and for networking it is negotiated between the SCU & SCP. For more information about how the negotiation happens and how to control the network transfer using Transfer Syntax can be found here.

Continue reading..

Transport Layer Security

DICOM Transport Layer Security (DICOM TLS) is derived from SSL 3.0 and is largely compatible with it. We provide support for use in DicomObjects, but the technical means differ between versions DicomObjects.NET As of V8 we have removed Bouncy Castle from DicomObjects.NET package This is because: Encryption in DICOM is important – and it’s going to become more important as hacking continues, which is why it needs to be done properly.

Continue reading..

Troubleshooting licence problems

in Licensing,

This page describes the initial steps you could follow to troubleshoot a licensing problem. The flowchart given below is a simple diagnostic route to identifying the actual problem. Links to the tools and articles that is mentioned in the diagram above: Licence manager project can be downloaded from: (We have compiled binaries and sourcecode available for download) DicomObjects.COM DicomObjects.NET Instructions for Activating and Deactivating licences can be found here

Continue reading..

UIDs

in DICOM,

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 to be followed when making UIDs, and this page is a useful summary General DICOM Rules Total length must be 1- 64 characters, including the stops Must contain only digits 0-9 and full stops Each numeric “component” (between stops) must be a valid and unambiguous integer number, and so must not have a leading zero (unless the whole component is zero), 1.

Continue reading..

Ultrasound Region Spacing Calibration

This article will show you how to create an Ultrasound image from imported pixel data. DICOM Ultrasound images contain multiple regions specifying the different parts to the generated image. Each of these regions has it’s own pixel geometry and each region can take priority over another if they overlap. See C.8.5.5 US Region Calibration Module for details. DicomObjects supports reading and creating these formats fully, and our Viewer will respect these regions for ROI measurement and pixel inspection.

Continue reading..

Upgrading to DicomObjects v8

There are some significant changes in our Version 8 if you are upgrading from an older version. Some of the major API changes are in our 3D rendering: The data is loaded in the GPU when a *DicomVolume* is created. This is great news for memory management, as only one copy is needed, however many 3D images are made from it, and however many viewers show them. It also means that the underlying *DicomImage* objects can be released once the volume has been created, freeing up main memory (RAM).

Continue reading..

Using DicomObjects COM & .NET versions in the same project

In order to make life easier since the early development days, it was decided to use the same basic object names in the .NET version as had been used in the older COM version version, but this does make life difficult if anyone wishes to use both in the same project. In general, we would not recommend this, but recognise that it might occasionally be necessary. This then is a short guide to the steps needed if you do wish to use the COM & .

Continue reading..

Using DicomObjects in Python

DicomObjects can be used in Python with the help of various API’s and interface generators available on the internet. We have tested 2 of those modules (One with .NET version and the other with COM version) but please do not limit yourself to these examples as you may find other easier tools to use in conjunction with DicomObjects. DicomObjects.NET The instructions in this section below has been tested using IronPython that references our DicomObjects .

Continue reading..

Using application signing with ClickOnce deployment

in Display,

If you’re planning on doing a ClickOnce deployment of your product, here are few simple instructions to include DicomObjects licence (*.lic) file within your deployment package: Create a dummy applicationname.exe.lic placeholder and include in your solution. Change the Build Action property of your *.lic in VS to Content type. Change Copy to output directory setting to Copy if newer. Set your post build event as: \ApplicationSignerConsole.exe $(TargetPath) “your key” “info1” “info2” copy ”$(TargetPath).

Continue reading..

Using application signing with ClickOnce deployment

in Licensing,

If you’re planning on doing a ClickOnce deployment of your product, here are few simple instructions to include DicomObjects licence (*.lic) file within your deployment package: 1. Create a dummy “applicationname.exe.lic” placeholder and include in your solution. 2. Change the Build Action property of your \*.lic in VS to Content type. 3. Change Copy to output directory setting to Copy if newer. 4 Set your post build event as: * 4.

Continue reading..

Using icons in C-FIND

DICOM has from the start had the facility to include icon images in C-FIND requests, but it is rarely used. Of course, it only makes sense for STUDY, SERIES and IMAGE level queries as the image used should be representative of the study/series being queried, but it can be useful in some circumstances. Support is easy to add into projects using DicomObjects, and though it will normally work most reliably where the same vendor provides the SCU & SCP, it is a proper DICOM solution, and may work with other vendors’ applications also.

Continue reading..

VR Lookup Table for 3D rendering

Transfer Function The Transfer function is based on the actual underlying data, not on the post-windowed (0-256) values. DicomObjects handles the shading internally, so users simply need to provide the TF values. One thing which might not be immediately clear is that the TF needs to cover the full range of available pixel values before any interpretation based on bit depth, re-scaling or even signed/unsigned are applied. Hence the noticeable 65536 values with the negative values at the very top of the range.

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