[Insight-developers] API Change breaks backward compatibility

Hans Johnson hans-johnson at uiowa.edu
Tue Sep 5 21:58:16 EDT 2006


Kent,

Please turn that code back on even though it is known to have deficiencies,
and that using it can cause improperly oriented images to be written into
the files.

As we have seen with our local Right/Left image swapping bugs, the real
problems occur when both the direction cosigns and the Meta-data dictionary
orientations are used in the same program.  The problems are compounded when
Analyze images are used with any of the other (non-meta-data orientation
conformant) image file formats.  The Meta-data orientation was proposed and
implemented as a stop-gap measure when ITK did not have a formal orientation
representation, and has been mentioned several times as a good item to be
removed from ITK, but it will need to go through the formal deprecation
process.  If possible, I'd like to be able to use a local compiler flag to
cause compiler errors when the Meta-data orientation is used so that we
don't end up in the data orientation mess that we had last week.

Hans




On 9/5/06 6:36 PM, "Bill Lorensen" <wlorens1 at nycap.rr.com> wrote:

> Kent,
> 
> The problem is, we do not know who in the world is using ITK_Orientation.
> It is very frustrating for someone somewhere in the world to update to a
> new ITK release and have their code not compile. The person who wrote the
> original code may be long gone.
> 
> We had this problem with VTK.  For example in GE, I cannot convince
> internal GE folks to use VTK since its API changes so frequently without
> regard to backward compatibility. I know at times a change must be made,
> but such a change must be justified and can only occur after all attempts
> at maintaining backward compatibility have failed.
> 
> We are fortunate that SNAP used this API and we caught it before a release.
> 
> Bill
> 
> 
> At 05:24 PM 9/5/2006, Kent Williams wrote:
>> In looking at SNAP, it looks like SNAP uses ITK_CoordinateOrientation to
>> determine an images anatomical orientation. I haven't used SNAP, but I
>> would think SNAP should be using the Direction Cosines instead of the
>> MetaDataDictionary to find an image's orientation.
>> 
>> The other use of ITK_CoordinateOrientation, in the itkVoxBoCUBImageIO.cxx
>> doesn't set the Direction Cosines either.
>> 
>> I can fix SNAP, but the question is should I?  I reckon Paul Yushkevich is
>> on this list, maybe he has an opinion?
>> 
>> Lorensen, William E (GE, Research) wrote:
>> 
>>> Kent,
>>> 
>>> Your recent changes to itkIOCommon.h to deprecate ITK_Orientation violate
>>> our backward compatibility policy. User programs that access that
>>> variable will no longer compile.
>>> 
>>> For example, the SNAP application in InsightApplications will not compile
>>> with these changes.
>>> 
>>> See
>>> http://www.insightsoftwareconsortium.org/wiki/index.php/Administration-Backw
>>> ardCompatibility
>>> 
>>> In particular,
>>> 
>>> 
http://www.insightsoftwareconsortium.org/wiki/images/4/46/APIChangePolicy.pd>>>
f
>>> 
>>> Please revert the changes until we can find a solution that maintains
>>> backward compatibility.
>>> 
>>> Thanks,
>>> 
>>> Bill
>>> _______________________________________________
>>> Insight-developers mailing list
>>> Insight-developers at itk.org
>>> http://www.itk.org/mailman/listinfo/insight-developers
>>> 
>>> 
>> 
>> _______________________________________________
>> Insight-developers mailing list
>> Insight-developers at itk.org
>> http://www.itk.org/mailman/listinfo/insight-developers
> 
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list