Category: DicomObjects

Setting TransferFunction in 3D

Sample code for general purpose colour/opacity adjustment.

The result might not good good on particular data because this is intended purely for demonstration purposes!

Continue reading..

Significance of AssociationClosed Event

The AssociationClosed Event is provided in both COM & .NET versions, but by default disabled.

Continue reading..

Smoothing

DicomObjects (both COM and .NET versions) supports smoothing of displayed images, controlled by the MagnificationMode and MinificationMode properties of the image. Whilst using these produces a more visually pleasing image, it does not actually add to the “value” of an image, and does have a performance penalty, so developers are advised to disable these features whilst windowing and scrolling etc. by setting both to doFilterReplicate There are two independent properties which control such smoothing in DicomObjects:

Continue reading..

Some Systems Behave Badly when sent One Image Per Association

Unfortunately, the designers of some systems seem never to have bothered to read the DICOM standard. The only legal way to group images into series and studies is by using their UIDs, but there is a problem as DICOM has no simple “end of study” marker, and therefore many badly-designed (but common!) systems make the mistake of assuming that the end of an association equals the end of a study.

Continue reading..

Sorting Images

Sorting Images in DicomObjects is quite different in COM and .NET versions, due to the different structures of the collections which hold them.

Continue reading..

Special Labels in DicomObjects

DicomLabels of type LabelSpecial are used where the text content is determined by DicomObjects rather than by the programmer. The first use is for anatomic side markers, but the more general name has been used, as other types may be used in the future. Anatomic side markers are created by setting the Text (COM version) or Text (.NET version) property of the DicomLabel to one of the following 4 values:

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

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

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

Video support with FFmpeg

DicomObjects Version 8 we have added support for video handling with pluggable custom codec. We have provided primary support for FFmpeg codec which is replaceable and optional. FFmpeg is a well established multimedia software that handles all sorts of popular video formats. We have implemented it in DicomObjects to allow importing of supported video formats, embedding them into DICOM and exporting them using the appropriate transfer syntax and vice versa.

Continue reading..

Windowing and Scrolling Speed

The default behaviour of DicomObjects is to use smoothing for minimised images, where ActualZoom is < 1 (ensuring that all image pixels contribute to the display), but not to use it for images scaled up (in order to minimise regulatory concerns about “enhanced” images and possible artefacts). See MagnificationMode & MinificationMode for more details. Whilst this is a preferred settings for most cases, it does have a performance penalty, and if left enabled during fast update operations the display update appears to be slow or “jerky”.

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