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:

  1. 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).  There is a potential downside which could occur if the GPU restarts for any reason. We could add an event which will fire in that scenario, to prompt you to reload/remake the 3D volumes. A big beneficial side-effect of this change is that any exception which might be generated when making the 3D texture (e.g. If there is insufficient video memory) will cause standard trappable exceptions from the main code, rather than during rendering.

  2. After the request from some of our developers to have the ability to apply a slab-like thickness to *MIP* and to add Minimum IP. After some debate and experiments, this has been done by replacing MIP mode by Maximum and Slab by Average (as well as adding Minimum). All 3 modes now use the *SlabThickness* property if it is set to >0  (If <=0, then it is unused).  For Max/Min the *SlabThickness* defaults to 0 (unused) and for Average, it defaults to 5 (mm).

  3. All rendering uses the same Direct3D device. This is what allows all the changes in (1) above, but it has also forced more rigorous locking and synchronisation of GPU operations, which might remove some random anomalous behaviour seen at times under unusual conditions.  Proper shutdown of that single device has proved challenging, so we’d like to hear of any issues regarding application shutdown.

Internal Changes

By far the biggest changes in V8 are actually “behind the scenes”, made with the intention of improving the resilience, efficiency and maintainability of DicomObjects, and they include:

General API changes

3D (both versions)

3D (.NET only)

3D(COM only)

Fusion(Both versions)

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