[Insight-developers] CMake Flag to make itk::Image behave like itk::OrientedImage

Bill Lorensen bill.lorensen at gmail.com
Sun Sep 14 16:31:57 EDT 2008


Stephen,

Many of these are temporary. Several have to do with using system
libraries. We should certainly review the ones we need to remove
before the next release. In the spirit of this year's US Presidential
campaign process, here is a fact check...

6 options for use/not use of system files...
ITK_USE_SYSTEM_GDCM:BOOL=OFF
ITK_USE_SYSTEM_LIBXML2:BOOL=OFF
ITK_USE_SYSTEM_PNG:BOOL=OFF
ITK_USE_SYSTEM_TIFF:BOOL=OFF
ITK_USE_SYSTEM_VXL:BOOL=OFF
ITK_USE_SYSTEM_ZLIB:BOOL=OFF

3 options for wrapping ...
ITK_CSWIG_JAVA:BOOL=OFF
ITK_CSWIG_PYTHON:BOOL=OFF
ITK_CSWIG_TCL:BOOL=OFF

3 options for legacy control...
ITK_LEGACY_REMOVE:BOOL=ON
ITK_LEGACY_SILENT:BOOL=OFF

1 option for backward compatibility
ITK_USE_DEPRECATED_LEVELSET_INTERPOLATION:BOOL=OFF

2 options for optional 3rd party libraries
ITK_USE_LIBXML2:BOOL=OFF
ITK_USE_MINC2:BOOL=OFF

5 options that are temporary...
ITK_USE_TRANSFORM_IO_FACTORIES:BOOL=ON
ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE:BOOL=ON
ITK_USE_CONSOLIDATED_MORPHOLOGY:BOOL=ON
ITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=ON
ITK_USE_TEMPLATE_META_PROGRAMMING_LOOP_UNROLLING:BOOL=OFF

2 options for selection of option libraries
ITK_USE_PATENTED:BOOL=ON
ITK_USE_REVIEW:BOOL=ON

5 others...
ITK_EXPLICIT_INSTANTIATION:BOOL=OFF
ITK_USE_CONCEPT_CHECKING:BOOL=ON
ITK_USE_STRICT_CONCEPT_CHECKING:BOOL=OFF
ITK_COMPUTER_MEMORY_SIZE:STRING=1
ITK_USE_KWSTYLE:BOOL=OFF

I hope the weather in NC is not making you grumpy. Fall is on the way...

Bill

On Sun, Sep 14, 2008 at 4:13 PM, Stephen Aylward
<Stephen.Aylward at kitware.com> wrote:
> Another cmake variable?!?!?
>
> We now have 26 boolean cmake variables that begin with ITK_ and turn
> on/off an option.  That means that there are 2^26 = 67,108,864
> different possible combinations of ITK configurations that we should
> be testing and supporting.
>
> Even worse, that means that users now have 26 different decisions to
> make when installing ITK.
>
> What a wonderful example of feature creep degrading a package...
>
> s
>
> On Sun, Sep 14, 2008 at 12:52 PM, Bill Lorensen <bill.lorensen at gmail.com> wrote:
>> Luis,
>>
>> They may all boil down to a few issues. For example, the OrientedImage
>> constructor set two matrices to Identity. This is not done in Image.
>> I'm fixing that now.
>>
>> Bill
>>
>> On Sun, Sep 14, 2008 at 12:24 PM, Luis Ibanez <luis.ibanez at kitware.com> wrote:
>>>
>>> Hi Hans,
>>>
>>> As we agreed during the ITK Tcon 2.0 on Friday:
>>>
>>>     http://www.itk.org/Wiki/Minutes_091208
>>>
>>> a CMake flag has now been added to the top CMakeLists.txt
>>> file with the purpose of optionally changing the itk::Image
>>> to behave like the itk::OrientedImage.
>>>
>>> You can now turn this option on by going to the CMake Advanced
>>> flags and changing:
>>>
>>>
>>>        ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE
>>>
>>> The code from
>>>
>>>
>>>   SetSpacing
>>>   SetDirection
>>>   TransformPhysicalPointToIndex
>>>   TransformIndexToPhysicalPoint
>>>   TransformPhysicalPointToContinuousIndex
>>>   TransformContinuousIndexToPhysicalPoint
>>>
>>>
>>> was copied from the itk::OrientedImage into the itk::Image.
>>>
>>> The new code is only used if the ITK_IMAGE_BEHAVES_AS_ORIENTED_IMAGE
>>> flag is ON.
>>>
>>> Once the dust settles we can prevent the code duplication by moving
>>> this into specific methods that the itk::OrientedImage can inherit
>>> from the itk::Image.
>>>
>>> After fixing code in a couple of places, this complies with the flag
>>> ON (at least under Linux with Gcc 4.1).
>>>
>>> However, as you predicted, a large number of test fail when the flag
>>> is ON. An Experimental build with the flag ON was submitted yesterday
>>> from zion. You will find the failing tests of this build at:
>>>
>>> http://www.cdash.org/CDash/viewTest.php?onlyfailed&buildid=171151
>>>
>>> There are 106 failing tests.
>>> They broadly fall in the following categories:
>>>
>>>  1) ImageIO
>>>     - Analyze
>>>     - Nrrd
>>>
>>>  2) Mathematical Morphology
>>>
>>>  3) Image Registration
>>>     - normal framework and
>>>     - deformable registration
>>>
>>>  4) Resampling
>>>
>>>
>>> My suggestion is to split these groups among several developers.
>>>
>>> I'll be happy to look at the Image registration problems.
>>>
>>> Hopefully, as Ken pointed out, after fixing a couple of them
>>> we will find a pattern to follow.
>>>
>>>
>>>  Please let us know if this makes sense,
>>>
>>>
>>>      Thanks
>>>
>>>
>>>        Luis
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>
>
>
> --
> Stephen R. Aylward, Ph.D.
> Chief Medical Scientist
> Kitware, Inc. - North Carolina Office
> http://www.kitware.com
> (518) 371-3971 x300
>


More information about the Insight-developers mailing list