[ITK] [ITK-dev] SimpleITK build failure on Fedora 23

Bradley Lowekamp brad at lowekamp.net
Mon Dec 7 11:06:17 EST 2015


Hello,

I uses SimpleITK’s Superbuild with -DITKV3_COMPATIBILITY:BOOL=ON -DITK_LEGACY_REMOVE=OFF, and got the same error.

The good news is that this is the only error, and when it’s fixed it compiles.

I have two solutions which I tested to suggest:

First, is modifying SimpleITK so that the HistogramMatchingImageFilter is only instantiated with real number something like this:
diff --git a/Code/BasicFilters/json/HistogramMatchingImageFilter.json b/Code/BasicFilters/json/HistogramMatchingImageFilter.json
index a84dc83..89524fe 100644
--- a/Code/BasicFilters/json/HistogramMatchingImageFilter.json
+++ b/Code/BasicFilters/json/HistogramMatchingImageFilter.json
@@ -5,7 +5,7 @@
   "filter_type" : "itk::HistogramMatchingImageFilter<InputImageType, OutputImageType>",
   "number_of_inputs" : 2,
   "doc" : "",
-  "pixel_types" : "BasicPixelIDTypeList",
+  "pixel_types" : "RealPixelIDTypeList",
   "members" : [
     {
       "name" : "NumberOfHistogramLevels",
@@ -41,6 +41,8 @@
       "description" : "Simply run with default settings",
       "settings" : [],
       "tolerance" : "0.0001",
+      "inputA_cast" : "sitkFloat32",
+      "inputB_cast" : "sitkFloat32",
       "inputs" : [
         "Input/Ramp-One-Zero-Float.nrrd",
         "Input/RA-Slice-Float.nrrd"
@@ -63,6 +65,8 @@
         }
       ],
       "md5hash" : "a963bd6a755b853103a2d195e01a50d3",
+      "inputA_cast" : "sitkFloat32",
+      "inputB_cast" : "sitkFloat32",
       "inputs" : [
         "Input/RA-Short.nrrd",
         "Input/RA-Short.nrrd”

This caused some minor testing problems[1]. And may cause some runtime compatibility issues with supported types for the filter with releases of SimpleITK.


The other option is to remove that ITKv3 code block from the Histogram class. These legacy methods are problematic and using them cause case problems of the wrong method being called.

With the ITK change and the Superbuild all the tests pass.

I do have to restate that SimpleITK is not tested with the ITKv3_COMPATIBILITY flag. I don’t know if there are other implications for difference with the expected ITK configuration for building.

Hope this helps,
Brad


[1] https://open.cdash.org/viewTest.php?onlyfailed&buildid=4136189


> On Dec 7, 2015, at 4:26 AM, Dmitry Mikhirev <mikhirev at gmail.com> wrote:
> 
> В Sun, 6 Dec 2015 20:28:07 -0500
> Bradley Lowekamp <brad at lowekamp.net> пишет:
> 
>> Hello Dmitry,
> 
> Hello Brad! Thank you for your reply!
>> 
>> SimpleITK is not built or tested against ITK with ITKv3 compatibility
>> turned on. And Most projects have this option turned off, so it’s not
>> as well tested as it used to be. 
>> 
>> This problem looks to be solely with ITK. It appears like the error
>> will happen just with the instantiation of:
>> 
>> itk::Statistics::Histogram<long int, DenseGrequencyContainer2….>
>> 
>> This issue looks fixable. I don’t know how many other errors will
>> occur when you get past this one.
> 
> Well, most code is already compiled before this error occurs. So I
> guess there will not me much more. Can you give an advice what changes
> are needed to fix it?
>> 
>> I’d recommend using the SimpleITK Superbuild by point CMake toward
>> the Superbuild subdirectory on the initial configuration.
>> 
>> BTW, what is the reason you are “required” to used the system ITK?
> 
> I'm going to build a package for official Fedora repo. That's why I
> have to link to other libraries shipped by Fedora and not to bundle
> them. Of course, if the error were unfixable on SimpleITK side, I could
> send a bug report for InsigtToolkit package and ask maintainer to
> disable ITKv3 compatibility, but I afraid it can break some other
> packages.
>> 
>> Brad
>> 
> 
> -- 
> Regards,
>       Dmitry Mikhirev
> _______________________________________________
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> 
> Kitware offers ITK Training Courses, for more information visit:
> http://kitware.com/products/protraining.php
> 
> Please keep messages on-topic and check the ITK FAQ at:
> http://www.itk.org/Wiki/ITK_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/insight-developers

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20151207/9d537c85/attachment.html>
-------------- next part --------------
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-developers


More information about the Community mailing list