[Insight-developers] GDCM 2.x [was CMake Flag to make itk::Image behave like itk::OrientedImage]

Mathieu Malaterre mathieu.malaterre at gmail.com
Mon Sep 15 11:55:36 EDT 2008


Hi Stephen,

On Mon, Sep 15, 2008 at 5:44 PM, Stephen Aylward
<Stephen.Aylward at kitware.com> wrote:
> On Mon, Sep 15, 2008 at 11:06 AM, Karthik Krishnan
> <karthik.krishnan at kitware.com> wrote:
>> If I am not mistaken, I don't think the Backward compatibility policy
>> applies to any of the third party software in Insight/Utilities.
>
> Actually, we consider all API's published by ITK to be "public APIs of
> ITK."    We debated how this applied to Utilities many years ago, and
> the final agreement was that there should be every effort to maintain
> the quality and backward-compatibility of the code and APIs in
> Utilities as much as possible.   You can probably search the email
> archives and find that discussion.

No I believe you. That's what I also remembered.
Anyway the point is that when people start using SYSTEM_PNG /
SYSTEM_TIFF you cannot control whether the API has been broken (wich
is the case in PNG 1.0 -> 1.2).
Unless anyone feel this is still wrong, I'll implement the patch that
-behind the scene- detect GDCM version and use GDCM 2.x new
functionality to read DICOM if GDCM 2.x is installed on the target
system. AFAIK this is not breaking the API.

>>
>>> Here is what I am planning to do : add support for the new GDCM 2.x
>>> architecture via the use of ITK_USE_SYSTEM_GDCM. A compiler #ifdef
>>> will determine the MAJOR version of GDCM and if GDCM 2.x is found, a
>>> different implementation will be used,
>>
>> Out of curiosity, is that more of a pain than upgrading the GDCM in
>> ITK to 2.0.x ? If so, I wonder what the developers think about
>> upgrading the GDCM in ITK, since DICOM handling is pretty fundamental
>> for ITK.
>
> I think we should upgrade.   If the API breaks backward compatibility,
> then we need to acknowledge it, warn users, and try to mitigate the
> negative effects.
>
> The rough part happens is when someone has been compiling with
> use-system-gdcm and that system gdcm is version X and now itk's
> internal gdcm is moved to version X+1.    We may need to make changes
> in ITK to allow either version to be used externally as well as
> version X+1 internally.  Yuck...but an improved dicom reader is worth
> it.

VS6 issue still pending...

-- 
Mathieu


More information about the Insight-developers mailing list