Re: [ITK-dev] open.cdash.org upgrade Friday 2016.11.04 12pm EDT

2016-11-04 Thread Bradley Lowekamp
Thanks for the upgrade!  All seems ok for my usage today.  I also appreciate 
the separated graphs with the correct axis label.

Brad

> On Nov 4, 2016, at 12:27 PM, Zack Galbreath  
> wrote:
> 
> The upgrade is complete.
> 
> The only issue I've noticed is that old coverage files are not being 
> displayed properly.  Newly submitted ones are, though, so I suppose this 
> problem will resolve itself tomorrow.
> 
> Please do not hesitate to contact me if you notice anything else that seems 
> to be amiss.
> 
> 
> 
>> On Fri, Nov 4, 2016 at 11:59 AM, Zack Galbreath  
>> wrote:
>> Starting the upgrade now.
>> 
>>> On Thu, Nov 3, 2016 at 12:09 PM, Zack Galbreath 
>>>  wrote:
>>> I will update open.cdash.org tomorrow, Friday November 4th, at 12pm (noon) 
>>> EDT.  I'll reply to message when I begin the upgrade, and again when it 
>>> completes.
>>> 
>>> This update involves some changes to CDash's database layout, so I expect 
>>> it may take an hour or so to complete.  The site should still be accessible 
>>> during this time.
>>> 
>>> Assuming this upgrade doesn't reveal any major new bugs, we plan on 
>>> releasing CDash v2.4 soon.
>> 
> 
> ___
> 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
___
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


Re: [ITK-dev] Gerrit robots down?

2016-06-13 Thread Bradley Lowekamp
I am still not seeing any sign of the robots on the dashboard…

Brad

> On Jun 9, 2016, at 3:10 PM, Jean-Christophe Fillion-Robin 
> <jchris.filli...@kitware.com> wrote:
> 
> Hi Brad, 
> 
> Considering our office floor is undergoing some construction/remodelling, the 
> power in the room physically hosting the server was out. This most likely 
> explained the downtime.
> 
> Now the power is back, I just restarted the machine, it is currently running 
> a "disk check". I will let you know how it goes.
> 
> Thanks
> Jc
> 
> On Thu, Jun 9, 2016 at 2:38 PM, Bradley Lowekamp <b...@lowekamp.net 
> <mailto:b...@lowekamp.net>> wrote:
> Hello,
> 
> I am still not seeing any robot build in gerrit.
> 
> Thanks,
> Brad
> 
>> On Jun 6, 2016, at 3:17 PM, Jean-Christophe Fillion-Robin 
>> <jchris.filli...@kitware.com <mailto:jchris.filli...@kitware.com>> wrote:
>> 
>> Hi Brad, 
>> 
>> The missing robots are most likely due to the power failure caused by the 
>> remodeling/construction in our North Carolina office.
>> 
>> I anticipate they will be back online tomorrow or the day after.
>> 
>> Thanks for your patience, 
>> Jc
>> 
>> 
>> On Mon, Jun 6, 2016 at 11:10 AM, Bradley Lowekamp <b...@lowekamp.net 
>> <mailto:b...@lowekamp.net>> wrote:
>> I am not seeing any of robots working on gerrit. Can we get these working 
>> again?
>> 
>> Thanks
>> Brad
>> ___
>> Powered by www.kitware.com <http://www.kitware.com/>
>> 
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html 
>> <http://www.kitware.com/opensource/opensource.html>
>> 
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php 
>> <http://kitware.com/products/protraining.php>
>> 
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ <http://www.itk.org/Wiki/ITK_FAQ>
>> 
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/insight-developers 
>> <http://public.kitware.com/mailman/listinfo/insight-developers>
>> 
>> 
>> 
>> -- 
>> +1 919 869 8849 <tel:%2B1%20919%20869%208849>
> 
> 
> 
> 
> -- 
> +1 919 869 8849

___
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


[ITK-dev] Gerrit robots down?

2016-06-06 Thread Bradley Lowekamp
I am not seeing any of robots working on gerrit. Can we get these working again?

Thanks
Brad
___
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


Re: [ITK-dev] BSplineTransform TransformPoint() crash

2016-04-20 Thread Bradley Lowekamp
Hello,

Thank you for reporting this issue and providing a clear example and proposed 
solution.

In looking at the problematic function[1], I a quite surprised to see that the 
the signature of the method:
   bool BSplineTransform::InsideValidRegion( ContinuousIndexType & index ) const

Specifically, the argument is not constant and it is being modified by this 
problematic case.

I am suspicion of the need for this if statement in the method. It appears 
there may be a deeper issue with how the b-spline is defined over the upper 
range of the last index. The transform should be valid from (minIdx-0.5, 
maxIdx+0.5). I am going to also note that this case is not in 
itkBSPlineDeformableTransform.

Brad

[1] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Transform/include/itkBSplineTransform.hxx#L465-L495



> On Apr 20, 2016, at 7:07 AM, Denis Shamonin  wrote:
> 
> Dear Developers,
> 
> We have found the rare but reproducible crash during the resampling in 
> combination with BSplineTransform. Could you please review this issue on 
> JIRA? More details here:
> https://issues.itk.org/jira/browse/ITK-3425 
> 
> Thanks,
> 
> Denis P. Shamonin, MSc
> Division of Image Processing (LKEB)
> Department of Radiology
> Leiden University Medical Center
> 
> ___
> 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

___
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


Re: [ITK-dev] Patches for ITK 4.9.1

2016-04-07 Thread Bradley Lowekamp
Matt,

Please consider the following patch:

http://review.source.kitware.com/#/c/20977/ 
<http://review.source.kitware.com/#/c/20977/>

-B

> On Apr 7, 2016, at 11:47 AM, Matt McCormick <matt.mccorm...@kitware.com> 
> wrote:
> 
> Hi folks,
> 
> The next patch (bugfix) release, ITK 4.9.1, will be released next
> week. The patches currently on the Git release branch are:
> 
> Bradley Lowekamp (1):
>   BUG: Adding missing const qualifier for GetConfusionMatrix method
> 
> Matthew McCormick (6):
>   BUG: Remove Azure ExternalData resource.
>   BUG: ExternalData downloads from midas3.kitware.com only supports https.
>   BUG: slicer.kitware.com/midas3/ ExternalData will not support http.
>   BUG: midas3.kitware.com only supports the https protocol.
>   COMP: Do not specify COMPONENTS with find_package(VTK.
>   COMP: Build against system HDF5 1.8.16.
> 
> Michka Popoff (1):
>   ENH: Wrap RayCastInterpolateImageFunction
> 
> Are there other patches that are missing? The patches should be
> critical bugfixes, improved support for compilers, and documentation
> fixes.
> 
> Thanks,
> Matt
> ___
> 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

___
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


Re: [ITK-dev] open.cdash.org upgrade

2016-04-06 Thread Bradley Lowekamp
Hello Zack,

I can’t seem to find the Notes with the dashboard submissions. I am expected to 
see the attached CTest build scripts. I have place the GUI in advanced view, 
but no notes? Where can they be?

Thanks,
Brad

> On Apr 4, 2016, at 6:49 PM, Zack Galbreath  wrote:
> 
> This upgrade is complete.  I verified that logins, various page loads, and 
> submissions are all working correctly, but please let me know if you 
> encounter any unexpected behavior.
> 
> On Fri, Apr 1, 2016 at 3:14 PM, Zack Galbreath  > wrote:
> I plan to upgrade open.cdash.org  this coming Monday, 
> April 4th, at 5pm EDT.  I expect the site to be unavailable for an hour or so 
> while I perform this upgrade.  During this time CDash will not accept any 
> incoming submissions.
> 
> ___
> 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

___
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


[ITK-dev] HTTPS for ITK git?

2016-04-05 Thread Bradley Lowekamp
Hello,

Is supporting secure git download via https on the near term plan for itk.org 
?

I thought it was coming soon a few months. This would be the preferred way to 
download ITK for superbuilds.

Thanks,
Brad___
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


Re: [ITK-dev] Linker errors after recent checking on Mac

2016-03-31 Thread Bradley Lowekamp
Bill,

Was you build in release or debug mode?

Your reporting with clang on XCode 4.2? Does llvm-gcc report the same problem?


There is the following error on the dashboard that is similar[1]. This requires 
SHARED libraries and DEBUG mode on for gcc 4.6 to get this link error. It’s 
fine if its in release mode or built with static libraries.

I am testing some other version of gcc.

Thank you all for your patiences the slow progress on this issue.
Brad

[1] https://open.cdash.org/viewBuildError.php?buildid=4303582


> On Mar 31, 2016, at 1:36 PM, Jon Haitz Legarreta  
> wrote:
> 
> HI Bill,
> that commit solved the linker issues with the duplicate symbols in 
> itk::NumericTraits that were introduced [1] by some other commit in early or 
> mid March.
> 
> I acknowledge that VS10 (2010) and VS11 (2012) are some years old, and I have 
> not personally looked deeply into the mentioned linker issue, but was rather 
> affected by them, like other builds [1]; I would dare to say that it was some 
> commit around March, 17th that started producing the linker errors addressed 
> by Brad's patch.
> 
> IMHO; the solution is not to revert the commit, but to look for some solution 
> that makes both VS10, VS11 and Mac happy (besides the pre-merge machines). 
> But I guess that requires some time, and having the ability to test on at 
> least those additional platforms before merging, since it looks like a clean 
> dashboard for a given branch is not enough in this case.
> 
> I am available to test any patch and submit Experimental builds for VS10.
> 
> JON HAITZ
> 
> 
> [1] https://open.cdash.org/viewBuildError.php?buildid=4283661 
> 
> 
> 
> 
> 
> On 31 March 2016 at 17:27, Bill Lorensen  > wrote:
> Folks,
> 
> The same error appears on the Continuous builds. Should we revert the
> commit that introduced these compiler errors?
> 
> Bill
> 
> On Wed, Mar 30, 2016 at 1:56 PM, Bill Lorensen  > wrote:
> > This commit:
> > [e1a7be21102463c7b91c456c3fbbb020f4a00cf7] BUG: Addressing VS10 and
> > VS11 NumericTraits linkage issue
> >
> > causes link errors on my Mac clang++ compiler:
> > Apple clang version 3.0 (tags/Apple/clang-211.12) (based on LLVM 3.0svn)
> >
> > [ 62%] Building CXX object
> > Modules/Core/Common/src/CMakeFiles/ITKCommon.dir/itkNumericTraits.cxx.o
> > Linking CXX shared library
> > ../../../ThirdParty/VNL/src/vxl/lib/libITKCommon-4.10.dylib
> > Undefined symbols for architecture x86_64:
> >   "itk::NumericTraits::Zero", referenced from:
> >   __GLOBAL__I_a in itkNumericTraitsVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsFixedArrayPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsTensorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsPointPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBAPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsCovariantVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBPixel.cxx.o
> >   ...
> >   "itk::NumericTraits::One", referenced from:
> >   __GLOBAL__I_a in itkNumericTraitsVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsFixedArrayPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsTensorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsPointPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBAPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsCovariantVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBPixel.cxx.o
> >   ...
> >   "itk::NumericTraits::Zero", referenced from:
> >   __GLOBAL__I_a in itkNumericTraitsVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsFixedArrayPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsTensorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsPointPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBAPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsCovariantVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBPixel.cxx.o
> >   ...
> >   "itk::NumericTraits::Zero", referenced from:
> >   __GLOBAL__I_a in itkNumericTraitsVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsFixedArrayPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsTensorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsPointPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBAPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsCovariantVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBPixel.cxx.o
> >   ...
> >   "itk::NumericTraits::One", referenced from:
> >   __GLOBAL__I_a in itkNumericTraitsVectorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsFixedArrayPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsTensorPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsPointPixel.cxx.o
> >   __GLOBAL__I_a in itkNumericTraitsRGBAPixel.cxx.o
> >   

Re: [ITK-dev] Problems with Change in itkStaticConstMacro

2016-01-25 Thread Bradley Lowekamp
Matt,

 You latest patch fixes the problems with build SimpleITK on my 
distribution system. I look forward to it being merged into the release branch!
Thank you!
Brad


> On Jan 22, 2016, at 10:04 PM, Matt McCormick  
> wrote:
> 
> Hi,
> 
> Please test this patch:
> 
>  http://review.source.kitware.com/#/c/20693/
> 
> Thanks,
> Matt
> 
> On Fri, Jan 22, 2016 at 11:00 AM, Bill Lorensen  
> wrote:
>> I think I am seeing the same error. I get this error on my Mac running gcc 
>> 4.2.1
>> Building CXX object
>> Modules/Core/Common/test/CMakeFiles/ITKCommon1TestDriver.dir/itkImageRegionExplicitTest.cxx.o
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::ImageDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>> error: explicit instantiation of
>> ‘itk::ImageRegion<1u>::ImageDimension’ but no definition available
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::SliceDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104:
>> error: explicit instantiation of
>> ‘itk::ImageRegion<1u>::SliceDimension’ but no definition available
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::ImageDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>> error: explicit instantiation of
>> ‘itk::ImageRegion<1u>::ImageDimension’ but no definition available
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::SliceDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104/Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::ImageDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:92:
>> error: explicit instantiation of
>> ‘itk::ImageRegion<1u>::ImageDimension’ but no definition available
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:
>> In instantiation of ‘const unsigned int
>> itk::ImageRegion<1u>::SliceDimension’:
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104:
>>  instantiated from ‘itk::ImageRegion<1u>’
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/test/itkImageRegionExplicitTest.cxx:22:
>>  instantiated from here
>> /Users/lorensen/ProjectsGIT/ITK/Modules/Core/Common/include/itkImageRegion.h:104:
>> error: explicit instantiation of
>> ‘itk::ImageRegion<1u>::SliceDimension’ but no definition available
>> make[2]: *** 
>> [Modules/Core/Common/test/CMakeFiles/ITKCommon1TestDriver.dir/itkImageRegionExplicitTest.cxx.o]
>> Error 1
>> make[1]: *** 
>> [Modules/Core/Common/test/CMakeFiles/ITKCommon1TestDriver.dir/all]
>> Error 2
>> 
>> 
>> On Fri, Jan 22, 2016 at 10:05 AM, Bradly Lowekamp  wrote:
>>> I have reproduced this error now with GCC 4.1, 4.2, and 4.3. GCC version 4.5
>>> works.
>>> 
>>> Thank you for your help in addressing this problem.
>>> 
>>> I apologize for not having documentation for the systems and justifications
>>> for the versions of compilation tools. I certainly should move to docker
>>> images to build the distributions for Linux as well. We have had great
>>> success with the portability and availability of the binary distributions
>>> 

[ITK-dev] Problems with Change in itkStaticConstMacro

2016-01-19 Thread Bradley Lowekamp
Hello,

My release builds for SimpleITK are having significant problems with the change 
done here [1] to the itkStaticConstMacro.

My builds on Redhat 5, with gcc 5.1, are filling my disk with errors along the 
following:

/scratch/dashboards/SimpleITK-RH5-i686-pkg/SimpleITK-build/ITK-prefix/include/ITK-4.9/itkImageToImageFilter.h:
 In instantiation of ‘const unsigned int 
itk::ImageToImageFilter 
>::OutputImageDimension’:
/scratch/dashboards/SimpleITK-RH5-i686-pkg/SimpleITK-build/ITK-prefix/include/ITK-4.9/itkImageToImageFilter.h:267:
   instantiated from ‘itk::ImageToImageFilter >’
/scratch/dashboards/SimpleITK-RH5-i686-pkg/SimpleITK/Code/Explicit/include/sitkExplicitITKImageToImageFilter.h:259:
   instantiated from here
/scratch/dashboards/SimpleITK-RH5-i686-pkg/SimpleITK-build/ITK-prefix/include/ITK-4.9/itkImageToImageFilter.h:267:
 error: explicit instantiation of ‘itk::ImageToImageFilter >::OutputImageDimension’ but no definition 
available

Reverting the change enables SimpleITK explicit instantiation to work with this 
compiler.

I’ll look into alternatives...

Brad

[1] 
https://github.com/InsightSoftwareConsortium/ITK/commit/a5aeef59cbbcb3cb136adbe9d450155ede4c8cac___
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


[ITK-dev] Itk release branch demons registration

2016-01-16 Thread Bradley Lowekamp
Hello,

I updated SimpleITK
___
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


Re: [ITK-dev] Linux c++11 build issue v4.8.2

2015-12-17 Thread Bradley Lowekamp
Hello,

I thought we are requiring ITK to be built with C++11 if your application was 
going to be build with C++11.

Is this saying we are going to support changing the C++ language after CMake 
configuration of ITK? 

I would think using the C++11 features of explicit constructor delete or 
default specifier may results is ABI compatibilities, among many other things.

Thanks,
Brad



> On Dec 15, 2015, at 5:06 PM, David Burns  wrote:
> 
> Thanks Hans, based on the release schedule it looks like that will be out 
> pretty soon. 
> 
> That's a big improvement to ITK to add c++11 support in my opinion. Thanks. 
> 
> David
> 
> On 12/15/15 15:36, Johnson, Hans J wrote:
>> This will be fixed when VXL is updated after the 4.9 release.
>> 
>> Hans
>> 
>> 
>> From: Insight-developers > > on behalf of David Burns 
>> >
>> Date: Tuesday, December 15, 2015 at 2:10 PM
>> To: " insight-developers@itk.org 
>> " > >
>> Subject: [ITK-dev] Linux c++11 build issue v4.8.2
>> 
>> Dear Insight Developers
>> 
>> I have compiled v4.8.2 on Ubuntu 14.04 successfully (g++ 4.8), however, I 
>> get compiler errors when building my own ITK applications with the following 
>> cmake flag
>> 
>> set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11"
>> 
>> I can compile ITK applications when not using this flag. 
>> 
>> I have tried using -fpermissive when building my application. I have also 
>> tried compiling ITK using -std=c++11 -fpermissive, individually and in 
>> combination. I always get the same errors.
>> 
>> Any suggestions would be welcome. Thanks
>> 
>> David
>> 
>> 
>> 
>> Compiler errors 
>> 
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:387:60: warning: 
>> 'constexpr' needed for in-class initialization of static data member 'const 
>> float vnl_numeric_traits::zero' of non-integral type [-fpermissive]
>>static const float zero VCL_STATIC_CONST_INIT_FLOAT_DECL(0.0F);
>> ^
>> /usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48: note: in definition 
>> of macro 'VCL_STATIC_CONST_INIT_FLOAT_DECL'
>>  # define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) = x
>> ^
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:389:59: warning: 
>> 'constexpr' needed for in-class initialization of static data member 'const 
>> float vnl_numeric_traits::one' of non-integral type [-fpermissive]
>>static const float one VCL_STATIC_CONST_INIT_FLOAT_DECL(1.0F);
>>^
>> /usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48: note: in definition 
>> of macro 'VCL_STATIC_CONST_INIT_FLOAT_DECL'
>>  # define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) = x
>> ^
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:391:62: warning: 
>> 'constexpr' needed for in-class initialization of static data member 'const 
>> float vnl_numeric_traits::maxval' of non-integral type [-fpermissive]
>>static const float maxval 
>> VCL_STATIC_CONST_INIT_FLOAT_DECL(3.40282346638528860e+38F);
>>   ^
>> /usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48: note: in definition 
>> of macro 'VCL_STATIC_CONST_INIT_FLOAT_DECL'
>>  # define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) = x
>> ^
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:410:61: warning: 
>> 'constexpr' needed for in-class initialization of static data member 'const 
>> double vnl_numeric_traits::zero' of non-integral type [-fpermissive]
>>static const double zero VCL_STATIC_CONST_INIT_FLOAT_DECL(0.0);
>>  ^
>> /usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48: note: in definition 
>> of macro 'VCL_STATIC_CONST_INIT_FLOAT_DECL'
>>  # define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) = x
>> ^
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:412:60: warning: 
>> 'constexpr' needed for in-class initialization of static data member 'const 
>> double vnl_numeric_traits::one' of non-integral type [-fpermissive]
>>static const double one VCL_STATIC_CONST_INIT_FLOAT_DECL(1.0);
>> ^
>> /usr/local/include/ITK-4.8/vcl_config_compiler.h:152:48: note: in definition 
>> of macro 'VCL_STATIC_CONST_INIT_FLOAT_DECL'
>>  # define VCL_STATIC_CONST_INIT_FLOAT_DECL(x) = x
>> ^
>> /usr/local/include/ITK-4.8/vnl/vnl_numeric_traits.h:414:63: warning: 
>> 'constexpr' needed for 

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

2015-12-07 Thread Bradley Lowekamp
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=4136189


> On Dec 7, 2015, at 4:26 AM, Dmitry Mikhirev <mikhi...@gmail.com> wrote:
> 
> В Sun, 6 Dec 2015 20:28:07 -0500
> Bradley Lowekamp <b...@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
>> 
>> 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

___
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


Re: [ITK-dev] HessianToObjectnessMeasureImageFilter in SimpleITK

2015-11-02 Thread Bradley Lowekamp
There is a book on it, now in freshly rendered HTML:

http://itk.org/ITKSoftwareGuide/html/Book1/ITKSoftwareGuide-Book1ch8.html

Brad

On Nov 2, 2015, at 11:50 AM, Paolo Zaffino <p.zaff...@yahoo.it> wrote:

> Hi Brad,
> do you have any examples of a composite filters?
> What about instead of returning the final probability as scalar data 
> (float/double)?
> 
> Thank you very much.
> Best.
> 
> Paolo
> 
> 
> On 02/11/2015 17:41, Bradley Lowekamp wrote:
>> Hello Paolo,
>> 
>> For many filters you are correct. You just need to write a json file which 
>> describes the filter's parameters and template parameters.
>> 
>> For the HessianToObjectnessMeasureImageFilter there is the difficulty is 
>> that Hessian pixel types aren't currently implemented in SimpleITK.
>> 
>> However this can be easily fixed by writing a little composite filter. A 
>> better interface for this operation is to have a scalar image as input, and 
>> the output be the feature measurement. This should be done as the composite 
>> filter which is wrapped.
>> 
>> Contribution to SimpleITK are welcomed. Please let us know if you need any 
>> further guidance.
>> Brad
>> 
>> 
>> On Nov 2, 2015, at 9:30 AM, Paolo Zaffino <p.zaff...@yahoo.it> wrote:
>> 
>>> Dear all,
>>> I am interesting in having HessianToObjectnessMeasureImageFilter into 
>>> SimpleITK.
>>> As far as I know, it is not currently wrapped and for this reason I was 
>>> thinking to do it by myself.
>>> 
>>> I am not so expert, so please apologize me if I say something wrong.
>>> Let's use HausdorffDistanceImageFilter as example.
>>> 
>>> As far as I understood, the file 
>>> "SimpleITK/Code/BasicFilters/json/HausdorffDistanceImageFilter.json" 
>>> contains all the wrapping stuff.
>>> My question is: do I have just to write something like that file for the 
>>> HessianToObjectnessMeasureImageFilter, or something more is needed?
>>> 
>>> Thank you very much.
>>> Best regards.
>>> 
>>> Paolo
>>> 
>>> ___
>>> 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
>> 
> 

___
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


Re: [ITK-dev] HessianToObjectnessMeasureImageFilter in SimpleITK

2015-11-02 Thread Bradley Lowekamp
Hello Paolo,

For many filters you are correct. You just need to write a json file which 
describes the filter's parameters and template parameters.

For the HessianToObjectnessMeasureImageFilter there is the difficulty is that 
Hessian pixel types aren't currently implemented in SimpleITK.

However this can be easily fixed by writing a little composite filter. A better 
interface for this operation is to have a scalar image as input, and the output 
be the feature measurement. This should be done as the composite filter which 
is wrapped.

Contribution to SimpleITK are welcomed. Please let us know if you need any 
further guidance.
Brad


On Nov 2, 2015, at 9:30 AM, Paolo Zaffino  wrote:

> Dear all,
> I am interesting in having HessianToObjectnessMeasureImageFilter into 
> SimpleITK.
> As far as I know, it is not currently wrapped and for this reason I was 
> thinking to do it by myself.
> 
> I am not so expert, so please apologize me if I say something wrong.
> Let's use HausdorffDistanceImageFilter as example.
> 
> As far as I understood, the file 
> "SimpleITK/Code/BasicFilters/json/HausdorffDistanceImageFilter.json" contains 
> all the wrapping stuff.
> My question is: do I have just to write something like that file for the 
> HessianToObjectnessMeasureImageFilter, or something more is needed?
> 
> Thank you very much.
> Best regards.
> 
> Paolo
> 
> ___
> 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

___
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


Re: [ITK-dev] New Image Filter for Submission

2015-10-16 Thread Bradley Lowekamp
David,

This filter was integrated in to ITK [1].

It handles the case where the image size is not a factor of the shrinkFactor, 
by truncating, and changing the image's physical extent. The doxygen page 
illustrates how this occurs.

Are you using the ITKv4 registration framework? I am curious how you are 
integrating this multi-scale feature into the framework.

[1] http://www.itk.org/Doxygen/html/classitk_1_1BinShrinkImageFilter.html

On Oct 15, 2015, at 3:35 PM, David Burns  wrote:

> Thanks Matt -
> 
> You are correct. Very similar. I will not post mine in that case.
> 
> Best
> David
> 
> On 10/15/2015 03:17 PM, Matt McCormick wrote:
>> Hi David,
>> 
>> Thanks for contributing to ITK.
>> 
>> It sounds like this filter does the same as the BinShrinkImageFilter?:
>> 
>>   http://www.insight-journal.org/browse/publication/912
>> 
>> Matt
>> 
>> On Thu, Oct 15, 2015 at 2:48 PM, David Burns  
>> wrote:
>>> Dear Insight Developers,
>>> 
>>> I have developed an image filter that may be useful to the community. Please
>>> let me know if you think this is the case, and I will submit it to the
>>> Journal.
>>> 
>>> The filter produces a subsampled version of the input image, where the
>>> output image has the same output dimensions (Size[i]*Spacing[i]) but with
>>> the number of pixels (Size[i]) scaled down by a factor (factor[i]) across
>>> the dimensions. The pixels of the output image are an average over the input
>>> pixels they overlap. The filter verifies/ensures that factor[i] is an exact
>>> factor of the input image Size[i], so that the image properties remain
>>> unchanged by the filter.
>>> 
>>> I found this to be useful for my registration task to produce a lower
>>> resolution image very quickly, without needing to use itk::
>>> ResampleImageFilter, interpolation or smoothing.
>>> 
>>> I've attached a screenshot of an xray, subsampled / averaged by a factor of
>>> 4 in x and y. Let me know your thoughts?
>>> 
>>> Thanks
>>> David Burns
>>> 
>>> ___
>>> 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
>>> 
> 
> ___
> 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

___
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


[ITK-dev] Regression from change with WindowConvergenceMonitoringFunction?

2015-10-07 Thread Bradley Lowekamp
Hello,

I am upgrading SimpleITK's superbuild to the latest ITK. I have encountered an 
odd regression..

Here is the failing test output [1] and here is the source [2], where the check 
at line 679 fails, because the optimization didn't move.

What is very odd is that after running a git bisect I found that this patch [3] 
was the root of the change in behavior:

commit 51c2ff58e04a25166b6aafc7d7590c2ae74f2ec6
Author: Nick Tustison 
Date:   Tue Jun 30 21:29:07 2015 -0700

BUG:  Set a default b-spline epsilon.

The B-spline domain is defined on the closed-half interval
[a,b) which presents difficulty when we define the image
domain to be co-extensive with the B-spline domain.  Earlier
attempts at calculating the B-spline domain didn't work as
this error kept popping up.  Therefore we're defining a
default B-spline epsilon which the user can change depending
on usage.

Change-Id: I64605557fc7131e148c725e0d1cce2e5aa84f31f

After grepping around I found that the 
BSplineScatteredDataPointSetToImageFilter is used by the 
WindowConvergenceMonitoringFunction. Which could cause this early convergence I 
was seeing.

Perhaps this changed epsilon default value does not not make sense for the 
ConvergenceMonitoringFunctions?

Thanks for the additional eyes and opinions on this!

Brad

[1] https://open.cdash.org/testDetails.php?test=380566217=4051508
[2] 
https://github.com/SimpleITK/SimpleITK/blob/master/Testing/Unit/sitkImageRegistrationMethodTests.cxx#L627-L683
[3] 
https://github.com/InsightSoftwareConsortium/ITK/commit/51c2ff58e04a25166b6aafc7d7590c2ae74f2ec6___
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


[ITK-dev] [ANNOUNCE] SimpleITK 0.9.1 Release

2015-10-01 Thread Bradley Lowekamp
We are pleased to announce the release of SimpleITK 0.9.1!
As with all SimpleITK releases, we have a variety of binaries available. This 
includes fresh Python Wheels and Eggs, along with Java, and CSharp binaries. 
Additionally, new binaries for Anaconda have been made improving the dependency 
requirements.

This is a patch release and includes an update to the ITK version from 4.7.2+ 
to 4.8.1. Additional updates include: improved formatting for python 
documentation, fixes to the transform interfaces, improved ImageIO exceptions 
and build improvements.

Information on how to get started and download the binaries: 
http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries
Binary distributions for many platforms and languages are available for 
downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9.1/
Release Doxygen Documentation: 
http://www.itk.org/SimpleITKDoxygen09/html/index.html
Additional Release Notes: 
http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#SimpleITK_-_Version_0.9.1_Release

Enjoy!
Brad___
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


Re: [ITK-dev] [ITK-users] Streamed Read/Write Truncating Data

2015-09-24 Thread Bradley Lowekamp
Hello,

I was able to reproduced a truncated volume with clang on OSX. This looks like 
a 32-bit truncation issue.

I also created the following pipeline:

ImageFilterReader->StreamingImageFilter->ImageFileWriter

I set the NumberofStreamDivisions to 20 on the StreamingImageFIlter, to make 
the reader stream, but I didn't use streaming in the writer. The volume still 
appears truncated.

This narrows the problem to the Nifti reading. Hopefully, there is a problem in 
the itk ImageIO[1], and not in the Nifti library.

Contributions to fix the problem are welcome.

Brad

[1]   
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/IO/NIFTI/src/itkNiftiImageIO.cxx


On Sep 21, 2015, at 6:32 PM, Maryana <nexn...@gmail.com> wrote:

> 
> 
> 
> Hi!
> 
> If anyone would like to repeat the test, this is my test file: 
> https://www.dropbox.com/s/7hpen46znk1h58l/brain_8bit.nii?dl=0
> If I convert that file to MetaIO without streams, and use ExtractImageFilter 
> to read one file perpendicular to Y (as in the code I'm sending bellow) it 
> works fine. However if I convert it to MetaIO using streams and use the same 
> code to read the same slice, I end up with a truncated image. I have the same 
> result when I use Paraview for visualization. By the way, for what I've read 
> from ITK documentation NIfti supposedly supports streamed reading. So I'm 
> guessing that using Nifti in this case would be ok. Is this correct?  Would 
> anyone have an idea on what's wrong?
> 
> Thank you!
> 
> 
> 
> Code for reading slice: 
> 
> 
> 
> #include "itkImageFileReader.h"
> #include "itkImageFileWriter.h"
> #include "itkExtractImageFilter.h"
> #include "itkImage.h"
> 
> 
> int main( int argc, char ** argv )
> {
> 
>   typedef unsigned charInputPixelType;
>   typedef unsigned charOutputPixelType;
> 
>   typedef itk::Image< InputPixelType,  3 >InputImageType;
>   typedef itk::Image< OutputPixelType, 2 >OutputImageType;
> 
>   typedef itk::ImageFileReader< InputImageType  >  ReaderType;
>   typedef itk::ImageFileWriter< OutputImageType >  WriterType;
>   
>   std::string fileIn = "mri2_stream.mha";
>   std::string fileOut = "slice.tif";
>   const char * inputFilename  = fileIn.c_str();
>   const char * outputFilename = fileOut.c_str();
> 
>   ReaderType::Pointer reader = ReaderType::New();
>   WriterType::Pointer writer = WriterType::New();
> 
>   reader->SetFileName( inputFilename  );
>   writer->SetFileName( outputFilename );
> 
>   typedef itk::ExtractImageFilter< InputImageType, OutputImageType > 
> FilterType;
>   FilterType::Pointer filter = FilterType::New();
>   filter->InPlaceOn();
>   filter->SetDirectionCollapseToSubmatrix();
> 
>   reader->UpdateOutputInformation();
>   InputImageType::RegionType inputRegion = 
> reader->GetOutput()->GetLargestPossibleRegion();
> 
>   InputImageType::SizeType size = inputRegion.GetSize();
>   
>   std::cout << "Size: " << std::endl;
>   std::cout << size[0] << std::endl;
>   std::cout << size[1] << std::endl;
>   std::cout << size[2] << std::endl;
>   
>   
>   InputImageType::IndexType start = inputRegion.GetIndex();
>   const unsigned int sliceNumber = 800;
>   
>   std::cout << "Start: " << std::endl;
>   std::cout << start[0] << std::endl;
>   std::cout << start[1] << std::endl;
>   std::cout << start[2] << std::endl;
>   
>   size[1] = 0;
>   start[1] = sliceNumber;
> 
>   InputImageType::RegionType desiredRegion;
>   desiredRegion.SetSize(  size  );
>   desiredRegion.SetIndex( start );
> 
>   filter->SetExtractionRegion( desiredRegion );
> 
>   filter->SetInput( reader->GetOutput() );
>   writer->SetInput( filter->GetOutput() );
> 
>   try
> {
> writer->Update();
> }
>   catch( itk::ExceptionObject & err )
> {
> std::cerr << "ExceptionObject caught !" << std::endl;
> std::cerr << err << std::endl;
> return EXIT_FAILURE;
> }
> 
> 
>   return EXIT_SUCCESS;
> }
> 
> 
> 
> On Mon, Sep 21, 2015 at 12:07 PM, Maryana <nexn...@gmail.com> wrote:
> Hi,
> 
> I use Linux Mint 64bits, GCC 4.8, Cmake 2.8. I'm compiling to this platform. 
> 
> Thank you!
> 
> On Mon, Sep 21, 2015 at 11:55 AM, Bradley Lowekamp <blowek...@mail.nih.gov> 
> wrote:
> Hello Maryana,
> 
> What compiler, platform and architecture are you compiling for?
> 
> Brad
> 
> On Sep 21, 20

Re: [ITK-dev] ITK 4.8, castxml, and 32-bits Debian/gcc

2015-09-21 Thread Bradley Lowekamp
Looking at this command closely:

On Sep 20, 2015, at 11:03 PM, Steve M. Robbins  wrote:

> [ 13%] Building C object 
> Modules/ThirdParty/OpenJPEG/src/openjpeg/CMakeFiles/itkopenjpeg.dir/raw.c.o
> cd 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Modules/ThirdParty/OpenJPEG/src/openjpeg
>  && /usr/bin/cc  -Ditkopenjpeg_EXPORTS -g -O2 -fstack-protector-strong 
> -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2   -Wno-uninitialized 
> -Wno-unused-parameter -Wall -Wcast-align -Wdisabled-optimization -Wextra 
> -Wformat=2 -Winvalid-pch -Wno-format-nonliteral -Wpointer-arith -Wshadow 
> -Wunused -Wwrite-strings -funit-at-a-time -Wno-strict-overflow  -w -fPIC 
> -I/usr/include/gdcm-2.4 
> -I/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Modules/ThirdParty/OpenJPEG/src/openjpeg
>  
> -I/home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/ThirdParty/OpenJPEG/src/openjpeg
> -o CMakeFiles/itkopenjpeg.dir/raw.c.o   -c 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/ThirdParty/OpenJPEG/src/openjpeg/raw.c
> In file included from 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/BUILD/Wrapping/Modules/ITKCommon/vcl_complex.cxx:5:
> In file included from 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkContinuousIndex.h:22:
> In file included from 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkIndex.h:23:
> In file included from 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkMath.h:32:
> In file included from 
> /home/steve/Packages/insighttoolkit/build-area/insighttoolkit4-4.8.0/Modules/Core/Common/include/itkMathDetail.h:43:
> /usr/share/castxml/clang/include/emmintrin.h:28:2: error: "SSE2 instruction 
> set not enabled"
> #error "SSE2 instruction set not enabled"
> ^


Why is "/usr/bin/cc" including ".../castxml/clang/include/emmintrin.h"?

It doesn't look like castxml is being run here?

HTH,
Brad___
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


Re: [ITK-dev] [ITK] SimpleITK example, possible typo

2015-09-16 Thread Bradley Lowekamp
Hello,

The file you linked is setting the keyword argument "numberOfIterations" and 
it's tested nightly.

Are you getting an error or incorrect results?

Patches to fix errors are welcome.

Thanks,
Brad

On Sep 16, 2015, at 4:35 AM, Paolo Zaffino  wrote:

> Dear all,
> I think I have found a typo into the SimpleITK example 
> "ImageRegistrationMethodBSpline1.py" (in particular see [1]).
> I think that "maximumNumberOfIterations=100" should be 
> "numberOfIterations=100".
> Am I wrong?
> 
> Anyway thank you very much for the outstanding job...simpleITK is amazing!
> 
> Best.
> Paolo
> 
> [1] 
> https://github.com/SimpleITK/SimpleITK/blob/master/Examples/ImageRegistrationMethodBSpline1.py#L51
>  
> ___
> 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
> ___
> Community mailing list
> commun...@itk.org
> http://public.kitware.com/mailman/listinfo/community

___
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


Re: [ITK-dev] New Defects reported by Coverity Scan for InsightSoftwareConsortium

2015-09-14 Thread Bradley Lowekamp
Matt,

This defect looks legitimate. I added the noexept specifier here[1].

My guess is that  Coverity has just added this feature for C++11.

I'll dig into this and help to ensure out destructors have better exception 
safety...

Brad

[1] 
https://github.com/InsightSoftwareConsortium/ITK/commit/06f8ef0175d901ec5d23197efb4f9044c1b62ab3

On Sep 14, 2015, at 12:30 PM, Matt McCormick  wrote:

> Hello,
> 
> Does the new Coverity defect below ring a bell with anyone?
> 
> Thanks,
> Matt
> 
> 
> -- Forwarded message --
> From:  
> Date: Sat, Sep 12, 2015 at 3:05 AM
> Subject: New Defects reported by Coverity Scan for InsightSoftwareConsortium
> To: matt.mccorm...@kitware.com
> 
> 
> 
> Hi,
> 
> Please find the latest report on new defect(s) introduced to
> InsightSoftwareConsortium found with Coverity Scan.
> 
> 1 new defect(s) introduced to InsightSoftwareConsortium found with
> Coverity Scan.
> 395 defect(s), reported by Coverity Scan earlier, were marked fixed in
> the recent build analyzed by Coverity Scan.
> 
> New defect(s) Reported-by: Coverity Scan
> Showing 1 of 1 defect(s)
> 
> 
> ** CID 1323843:  Error handling issues  (UNCAUGHT_EXCEPT)
> /home/kitware/Dashboards/Coverity/ITK/Modules/Core/Common/src/itkObject.cxx:
> 412 in itk::Object::UnRegister() const()
> 
> 
> 
> *** CID 1323843:  Error handling issues  (UNCAUGHT_EXCEPT)
> /home/kitware/Dashboards/Coverity/ITK/Modules/Core/Common/src/itkObject.cxx:
> 412 in itk::Object::UnRegister() const()
> 406
> 407 /**
> 408  * Decrease the reference count (release by another object).
> 409  */
> 410 void
> 411 Object
CID 1323843:  Error handling issues  (UNCAUGHT_EXCEPT)
An exception of type "itk::ExceptionObject" is thrown but the throw 
 list "throw ()" doesn't allow it to be thrown. This will cause a call to 
 unexpected() which usually calls terminate().
> 412 ::UnRegister() const ITK_NOEXCEPT
> 413 {
> 414   // call the parent
> 415   itkDebugMacro( << "UnRegistered, "
> 416  << "ReferenceCount = " << ( m_ReferenceCount - 1 ) );
> 417
> 
> 
> 
> To view the defects in Coverity Scan visit,
> https://scan.coverity.com/projects/insightsoftwareconsortium?tab=overview
> 
> To manage Coverity Scan email notifications for
> "matt.mccorm...@kitware.com", click
> https://scan.coverity.com/subscriptions/edit?email=matt.mccormick%40kitware.com=d32d0bd32d3dfdd9bc75f2cd636b6067
> ___
> 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

___
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


Re: [ITK-dev] Module_ITKIOGDCM:INTERNAL=OFF

2015-09-04 Thread Bradley Lowekamp
Hello,

Have you looking into "ITK_USE_SYSTEM_GDCM", this should allow ITK to use the 
same version of GDCM that the rest of your application is?

For the modular build, have you looked into disabling "BUILD_TESTING"? Also 
please keep in mind that the a module's status is cached in CMake. So you must 
start with a fresh directory then configure from the command line which modules 
are on and off. 

Many ImageIOs are needed to do testing [1], supporting DICOM and DICOM metadata 
are of core importance for ITK, so we do test with it in many places.The 
modularization works really good without the ITK testing enabled. But the 
interdependency of testing that everything works does enable most modules.

HTH,
Brad

[1] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/TestKernel/itk-module.cmake

On Sep 4, 2015, at 3:55 AM, Mathieu Malaterre  
wrote:

> Dear all,
> 
> My goal is to be able to compile ITK without the GDCM module.
> 
> Long story short, GDCM toolkit is not being mangled, which means very
> complex build setup to be able to use GDCM and ITK in an application.
> 
> So far I have tried setting:
> 
> Module_ITKIOGDCM:INTERNAL=OFF
> 
> with no luck
> 
> I suspect that GDCM is activated by ITK_BUILD_DEFAULT_MODULES, so I tried:
> 
> $ cmake -DITK_BUILD_DEFAULT_MODULES:BOOL=OFF
> 
> this leads to:
> 
> -- Check if the system is big endian - little endian
> CMake Error at Examples/CMakeLists.txt:2 (message):
>  BUILD_EXAMPLES requires ITK_BUILD_DEFAULT_MODULES to be ON
> 
> 
> -- Configuring incomplete, errors occurred!
> 
> 
> Later I tried:
> 
> $ cmake -DITK_BUILD_DEFAULT_MODULES:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF ..
> 
> which states:
> 
> -- Enabled ITKIOGDCM, needed by [ITKTestKernel].
> and
> -- Enabled ITKTestKernel, needed by [ITKGroup_Core].
> 
> 
> However I do not want to set -DITKGroup_Core:BOOL=OFF (obvisouly).
> 
> Is there any particular reason to have GDCM be part of the core group ?
> 
> 
> 
> Thanks,
> -- 
> Mathieu
> ___
> 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

___
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


[ITK-dev] libpng valgrind issue

2015-08-27 Thread Bradley Lowekamp
Hello,

I narrowed down a couple valgrind [1] defects to a recent change to fix a 
warning.

I am surprised to see how active the libpng library is. It looks like we are a 
good bit out of date. I was thinking of working on a ThirdParty update script 
with the subtree to update the library.

Wondering if there is any prior work or experience with updating libpng?

Thanks,
Brad

[1] https://open.cdash.org/viewDynamicAnalysisFile.php?id=3530475
___
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


Re: [ITK-dev] [ITK] use ThreadedIteratorRangePartitioner with itk Container ?

2015-08-14 Thread Bradley Lowekamp
Arnaund,

I would recommend using an index based partitioner as opposed to the iterator 
based algorithm due to on big O performance of the partitioning algorithms.

Brad

On Aug 14, 2015, at 5:30 AM, Arnaud Gelas arnaudge...@gmail.com wrote:

 Hi Matt,
 
 I would like to use itk::ThreadedIteratorRangePartitioner with 
 itk::Mesh::PointsContainer or itk::Mesh::CellsContainer (i.e. 
 itk::VectorContainer or itk::MapContainer).
 
 At first, I am trying to add one test which basically duplicates 
 itkThreadedIteratorRangePartitionerTest for the case of itk::VectorContainer, 
 you can find a patch here:
 
  http://review.source.kitware.com/#/c/20079/
 
 I have compilation errors, due to the fact that internally 
 itk::ThreadedIteratorRangePartitioner uses std::distance and std::advance 
 which requires some typedefs which are not available for itk::VectorContainer 
 iterators...
 
 Should I keep on working in that direction? I mean to try to fix these 
 classes for itk container's iterator (adapt it for these cases)? Make 
 specialization?
 
 Thanks,
 Arnaud
 ___
 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
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community

___
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


Re: [ITK-dev] Ubuntu 14 Test failure bisect results

2015-08-06 Thread Bradley Lowekamp
Matt,

What were the results of this experiment? It'd be nice to clean up the release 
branch of these failing tests.

And I want to steal the correct solution for SimpleITK too :)

Brad

On Jul 31, 2015, at 3:29 PM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi Brad,
 
 Thanks for investigating and getting great information out of git bisect.
 
 I developed the patch on Gentoo with GCC 4.8.4 / binutils 2.24, and I
 have not seen any issues.  The eldorado builds on the dashboard are
 all Ubuntu 14.04.2, too.  I will start an Experimental build with
 BUILD_SHARED_LIBS set on eldorado to be sure it can be reproduced.
 
 Thanks,
 Matt
 
 On Fri, Jul 31, 2015 at 1:03 PM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Matt,
 
 I was digging into these test failures:
 
 https://open.cdash.org/viewTest.php?onlyfailedbuildid=3932451
 
 Here are the results of the git bisect:
 
 674acdb2dd5546b7045f7253c84e4f9f237405e8 is the first bad commit
 commit 674acdb2dd5546b7045f7253c84e4f9f237405e8
 Author: Matt McCormick matt.mccorm...@kitware.com
 Date:   Sun May 31 21:00:55 2015 -0400
 
ENH: Use gold linker on Linux with GCC.
 
 
 
The gold linker is approximately three times as fast as the default
 linker.
Enable it with GCC 4.8 and newer where it was tested. The gold linker
 only
works with ELF executables, so it is only enabled for Linux.
 
 
 
Timing tests:
 
 
 
Static libs link time:
 
 
 
  ld:  452 sec
  ld-gold: 179 sec
 
 
 
Shared libs link time, wrapping enabled:
 
 
 
  ld:  164 sec
  ld-gold: 48 sec
 
 
 
Change-Id: Ic8d9b5132ad6b71e5f100b5436615d6a8fac3e5c
 
 Disabling ld-gold seems to fix the problem.
 
 Versions:
 
 blowekamp@lhcp-vm-ubu14:~/ITK$ gcc --version
 gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4
 Copyright (C) 2013 Free Software Foundation, Inc.
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
 blowekamp@lhcp-vm-ubu14:~/ITK$ ld --version
 GNU ld (GNU Binutils for Ubuntu) 2.24
 Copyright 2013 Free Software Foundation, Inc.
 This program is free software; you may redistribute it under the terms of
 the GNU General Public License version 3 or (at your option) a later
 version.
 This program has absolutely no warranty.
 
 blowekamp@lhcp-vm-ubu14:~/ITK$ lsb_release -a
 No LSB modules are available.
 Distributor ID: Ubuntu
 Description: Ubuntu 14.04.2 LTS
 Release: 14.04
 Codename: trusty
 
 
 Currently we have a check for using gold with  4.8.3:
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/CMake/ITKSetStandardCompilerFlags.cmake#L206
 
 But looking at this change:
 https://github.com/InsightSoftwareConsortium/ITK/commit/102c79bd3bb50cc649f2733c472bdfaa138c453e
 
 We should have know about these related test failures:
 https://github.com/InsightSoftwareConsortium/ITK/commit/102c79bd3bb50cc649f2733c472bdfaa138c453e
 
 So what do you recall about what versions of GCC ld-gold works on?
 
 Thanks,
 Brad
 
 
 
 
 
 
 
 
 
 
 

___
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


[ITK-dev] Todays dashboard needs a little TLC

2015-07-15 Thread Bradley Lowekamp
Looks like there is some type of library linking issue on the dashboard today. 
Any one on it yet?

Brad
___
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


[ITK-dev] Please Set ExternalData_OBJECT_STORES environment variable

2015-06-08 Thread Bradley Lowekamp
Sean and other dashboard maintainers,

Please set the ExternalData_OBJECT_STORES environment variable to some place 
outside the build directory this will improve the robustness on the dashboard.

This variable sets a local cache for the ExternalData. By caching it outside 
the build directory it will not need to download the data every night. 
Therefore any hick-ups on the midas servers or local network will not show up 
on the dashboard. 

I have mine set to ${HOME}/.ExternalData in my .bashrc file.

Thanks,
Brad___
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


Re: [ITK-dev] Failing link on Mac after May 7 changes

2015-05-22 Thread Bradley Lowekamp
Bill,

This compiler has known problems with visibility. These are the lines that 
should disable it for your compiler:
https://github.com/InsightSoftwareConsortium/ITK/blob/master/CMake/ITKModuleMacros.cmake#L12-L15

What is the value of USE_COMPILER_HIDDEN_VISIBILITY in you CMakeCache.txt 
files? Does manually setting it to off resolve your issue?

Brad

On May 22, 2015, at 10:11 AM, Bill Lorensen bill.loren...@gmail.com wrote:

 My Mac build
 i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1
 has link errors after this commit:
 commit c11b4ebd3d5f63f2ec281d31eef14f3af6dbf1d4
 Author: Hans Johnson hans-john...@uiowa.edu
 Date:   Thu May 7 06:56:36 2015 -0500
 
COMP: Prefer modern CMake visibility settings
 
When available, prefer to use the modern cmake
set_target_property() mechanism for setting
export visibility of libaries.
 
The add_compiler_export_flags function is obsolete. Use the
CXX_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties
instead.
 
Change-Id: Ibcf8b493bd8cba021e12e14bf18a7b46ae7e6e0a
 
 The linker errors are many like the following:
 Undefined symbols for architecture x86_64:
  itk::Object::~Object(), referenced from:
  
 itk::Statistics::RandomVariateGeneratorBase::~RandomVariateGeneratorBase()in
 ITKCommonHeaderTest5.cxx.o
  
 itk::Statistics::RandomVariateGeneratorBase::~RandomVariateGeneratorBase()in
 ITKCommonHeaderTest5.cxx.o
  
 itk::Statistics::MersenneTwisterRandomVariateGenerator::~MersenneTwisterRandomVariateGenerator()in
 ITKCommonHeaderTest5.cxx.o
  
 itk::Statistics::MersenneTwisterRandomVariateGenerator::~MersenneTwisterRandomVariateGenerator()in
 ITKCommonHeaderTest5.cxx.o
  itk::Object::CreateAnother() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::LightObject::Delete(), referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::Register() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::UnRegister() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::SetReferenceCount(int), referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::PrintSelf(std::basic_ostreamchar,
 std::char_traitschar , itk::Indent) const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  itk::LightObject::PrintHeader(std::basic_ostreamchar,
 std::char_traitschar , itk::Indent) const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::LightObject::PrintTrailer(std::basic_ostreamchar,
 std::char_traitschar , itk::Indent) const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::LightObject::InternalClone() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::DebugOn() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::DebugOff() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::GetMTime() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  itk::Object::GetTimeStamp() const, referenced from:
  vtable for itk::Statistics::RandomVariateGeneratorBasein
 ITKCommonHeaderTest5.cxx.o
  vtable for
 itk::Statistics::MersenneTwisterRandomVariateGeneratorin
 ITKCommonHeaderTest5.cxx.o
  

Re: [ITK-dev] ITK and GCC 5.1

2015-05-22 Thread Bradley Lowekamp
Hello,

I thought a couple patches were placed in ITK 4.7.2 to enable support for gcc 
5.1, I am surprised it didn't work for you.

There are a couple builds on the dashboard using that compiler [1, 2], so 
perhaps the master branch will work better?

An error message would help diagnose the problem.

Brad


[1] https://open.cdash.org/buildSummary.php?buildid=3824845
[2] https://open.cdash.org/buildSummary.php?buildid=3825176

On May 22, 2015, at 11:03 AM, Paolo Zaffino p.zaff...@yahoo.it wrote:

 Hi,
 on my Arch Linux box I got GCC 5.1 update and I'm not able to compile ITK 
 4.7.2 so far.
 
 Any idea?
 Thanks a lot.
 
 Paolo
 ___
 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

___
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


Re: [ITK-dev] New gerrit UI

2015-04-28 Thread Bradley Lowekamp
I can say good bye to the old interface too.

+1 for in line edits. I am not sure what the implication for the robots builds 
are though.

On Apr 28, 2015, at 9:31 AM, Johnson, Hans J hans-john...@uiowa.edu wrote:

 I second that emphatically!
 
 The ability to make inline quick fixes would be extraordinarily beneficial.
 
 Hans
 
 
 Hans J. Johnson, Ph.D.,  Associate Professor 
 Electrical and Computer Engineering (Primary), Biomedical Engineering, 
 Psychiatry  
 hans-john...@uiowa.edu   
 (319) 621 7185 (cell)
 (319) 384 3538  ECE Phone (Primary)
 (319) 353 8587 Psychiatry Phone (Secondary)
 
 4316 Seamans Center
 Iowa City, IA 52242
 
 On Apr 27, 2015, at 6:37 PM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 I like the new interface. I don't care if the old ui goes away.
 
 On Apr 27, 2015 5:18 PM, Matt McCormick matt.mccorm...@kitware.com wrote:
 Hi Bill,
 
 Thanks for the feedback.
 
 We can move to Gerrit 2.11 now that it is out.  The big feature gain
 will be web-based editing of patches.  The down-side is that they
 dropped support for the old change screen UI.  Do you or anyone else
 use the old UI?  I quite like the new one also.
 
 Thanks for the note on the ITK logo hyperlink.  It only rendered as a
 small logo on my browser / OS, and I was unaware of the issue.  The
 source image has been replaced, so it should look better now.
 
 Thanks,
 Matt
 
 On Mon, Apr 27, 2015 at 3:13 PM, Bill Lorensen bill.loren...@gmail.com 
 wrote:
  Folks,
 
  I like the new gerrit UI. It is very compact. I wish VTK had chosen
  this over the gitlab interface they now use. In my opinion, that
  interface is cumbersome to navigate and the process flow is more
  complicated for an old guy like me.
 
  I do notice that the ITK logo hyperlink on the bottom of the page
  spans the whole page. Accidently hitting what seems to be a large
  blank area takes me to the itk.org page. A minor inconvenience.
 
  Bill
  ___
  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
 ___
 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
 
 
 
 Notice: This UI Health Care e-mail (including attachments) is covered by the 
 Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential 
 and may be legally privileged.  If you are not the intended recipient, you 
 are hereby notified that any retention, dissemination, distribution, or 
 copying of this communication is strictly prohibited.  Please reply to the 
 sender that you have received the message in error, then delete it.  Thank 
 you.
 ___
 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

___
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


Re: [ITK-dev] [ITK] New Highly Parallel Build System, the POWER8

2015-04-23 Thread Bradley Lowekamp
Matt,

I'd love to explore the build performance of this system.

Any chance you could run clean builds of ITK on this system with 
20,40,60,80,100,120,140 and 160 processes and record the timings?

I am very curious how this unique systems scales with multiple heavy weight 
processes, as it's design appears to be uniquely suitable to lighter weight 
multi-threading.

Thanks,
Brad

On Apr 22, 2015, at 11:51 PM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi folks,
 
 With thanks to Chuck Atkins and FSF France, we have a new build on the
 dashboard [1] for the IBM POWER8 [2] system.  This is a PowerPC64
 system with 20 cores and 8 threads per core -- a great system where we
 can test and improve ITK parallel computing performance!
 
 
 To generate a test build on Gerrit, add
 
  request build: power8
 
 in a review's comments.
 
 
 There are currently some build warnings and test failures that should
 be addressed before we will be able to use the system effectively. Any
 help here is appreciated.
 
 Thanks,
 Matt
 
 
 [1] 
 https://open.cdash.org/index.php?project=Insightdate=2015-04-22filtercount=1showfilters=1field1=site/stringcompare1=63value1=gcc112
 
 [2] https://en.wikipedia.org/wiki/POWER8
 ___
 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
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community

___
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


Re: [ITK-dev] [ITK] Size of ITK source package?

2015-03-24 Thread Bradley Lowekamp
Hello,

The ExteranalData directory contains all the testing data both inputs and 
baselines. It's needed to run the testing suit to test your build.

Brad

On Mar 24, 2015, at 12:16 PM, Manuel Grizonnet manuel.grizon...@gmail.com 
wrote:

 Hi,
 
 I've just downloaded ITK source package from sourceforge and we're surprised 
 by the size of the source tarball (more than 250Mo).
 
 Looking at the contain, it is due to a hidden directory (ExternalData) which 
 contains only md5 sums.
 
 I don't think if it is really mandatory to compile the project from source 
 and it would drastically decrease the size of the archive.
 
 Regards,
 
 -- 
 Manuel Grizonnet
 ___
 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
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community

___
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


Re: [ITK-dev] Kents Work on Explicit instantiation of ITK

2015-03-17 Thread Bradley Lowekamp
Matt,

That part has need been working for a very long time, and many of the parts 
that it used have been removed from ITK. Do you know of people using that part 
of Wrapping?

Also the goal of that project was to instantiate everything, not just the most 
frequently used components. Additionally having to build WrapITK, would not 
make the compilation of SimpleITK any quicker.

Brad

On Mar 17, 2015, at 11:00 AM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi,
 
 Instead of maintaining a duplicate set of type instantiations, it may
 be worth exploiting the ITK_WRAP_EXPLICIT option (see
 Wrapping/Generators/Explicit).  This will re-use all the wrapping type
 instantiation logic, which is also CMake configurable.
 
 2 cents,
 Matt
 
 
 
 On Tue, Mar 17, 2015 at 10:44 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Hans,
 
 Thanks for sharing this work.
 
 I was able to utilize your script and methodology for SimpleITK to
 explicitly instantiate about 16 classes with their commonly used arguments
 as by SimpleITK [1]. I created a separate library in SimpleITK which
 contains these explicitly instantiated classes [2].
 
 These instantiations reduced the size of the .o files for SimpleITK by ~30%
 (500MB), and enabled linking once again on Windows 64. Some systems seem to
 also gain significant performance in build time (over 2X), but there are
 many reasons for it including running into memory or IO limitations on the
 individual system.
 
 However I was not able to get it working with the explicitly instantiated
 library as shared. The mixtures of export specification of the initial ITK
 declaration and the explicit instantiation linking specification didn't
 appear to work. I think they need to be consistent? I followed the
 methodology that was done for the MetaDataObjects[3]. If I build ITK and
 SimpleITK as shared but with the Explicit library as static it appears to
 work.
 
 Any help on explicitly instantiation with shared libraries would be
 appreciated!
 
 Thanks,
 Brad
 
 [1]
 https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/include/sitkExplicitITK.h
 [2]
 https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/src/CMakeLists.txt
 [3]
 https://github.com/InsightSoftwareConsortium/ITK/blob/d195bfb21e8af086c67208c2b96d5fd5992c66ca/Modules/Core/Common/include/itkMetaDataObject.h#L191-L224
 
 On Jan 28, 2015, at 12:16 PM, Johnson, Hans J hans-john...@uiowa.edu
 wrote:
 
 Yes!  I’d love someone to investigate further:
 
 
 https://github.com/hjmjohnson/ITK/tree/TryExplicitInstantiationTesting
 
 https://github.com/hjmjohnson/ITK/commit/0576c75c8a760f1cafcde3125210134a39502304
 
 
 Hans
 
 
 
 ___
 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
 

___
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


Re: [ITK-dev] Kents Work on Explicit instantiation of ITK

2015-03-17 Thread Bradley Lowekamp
Hans,

Thanks for sharing this work.

I was able to utilize your script and methodology for SimpleITK to explicitly 
instantiate about 16 classes with their commonly used arguments as by SimpleITK 
[1]. I created a separate library in SimpleITK which contains these explicitly 
instantiated classes [2].

These instantiations reduced the size of the .o files for SimpleITK by ~30% 
(500MB), and enabled linking once again on Windows 64. Some systems seem to 
also gain significant performance in build time (over 2X), but there are many 
reasons for it including running into memory or IO limitations on the 
individual system.

However I was not able to get it working with the explicitly instantiated 
library as shared. The mixtures of export specification of the initial ITK 
declaration and the explicit instantiation linking specification didn't appear 
to work. I think they need to be consistent? I followed the methodology that 
was done for the MetaDataObjects[3]. If I build ITK and SimpleITK as shared but 
with the Explicit library as static it appears to work.

Any help on explicitly instantiation with shared libraries would be appreciated!

Thanks,
Brad

[1] 
https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/include/sitkExplicitITK.h
[2] 
https://github.com/SimpleITK/SimpleITK/blob/a6e62785a9e8ebc41dfb3e15f72e1985a620bf22/Code/Explicit/src/CMakeLists.txt
[3] 
https://github.com/InsightSoftwareConsortium/ITK/blob/d195bfb21e8af086c67208c2b96d5fd5992c66ca/Modules/Core/Common/include/itkMetaDataObject.h#L191-L224

On Jan 28, 2015, at 12:16 PM, Johnson, Hans J hans-john...@uiowa.edu wrote:

 Yes!  I’d love someone to investigate further:
 
 
 https://github.com/hjmjohnson/ITK/tree/TryExplicitInstantiationTesting
 
 https://github.com/hjmjohnson/ITK/commit/0576c75c8a760f1cafcde3125210134a39502304
 
 
 Hans

___
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


[ITK-dev] We need a little remote module KWStyle rallying here

2015-03-13 Thread Bradley Lowekamp
Hello folks!

We recently have modularized the KWStyle test. This has enabled style tests on 
remote, external and local module.

So many of the remote modules now have a failing style tests on the dashboard. 
May of the failures are just a simple change in the header guarder.

I am going to start with IOFDF today.

What are you going to help with?

Brad

___
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


Re: [ITK-dev] efficiency of vnl_matrix

2015-03-12 Thread Bradley Lowekamp
Hello,

If I was writing my own ITK classes, and needed a fast matrix library I would 
likely pursue an additional dependency on an efficient numeric library for that 
project, such as eigen.

However for the broad appeal of ITK I would think a flexible back end would be 
best. As I think there are a variety of BLAS and LAPACK libraries available ( 
commercial, open source, vender free ). It would be nice to pick one what has 
been optimized for the current architecture. I would think it would be most 
flexible to use this interface in the back end of a chosen numeric interface ( 
currently VNL ). Unfortunately, I don't have as much experience with these 
libraries as I'd like.

Brad

On Mar 12, 2015, at 5:15 AM, m.star...@lumc.nl wrote:

 Hi,
 
 I think the eigen library is a mature and very fast library for these kind of 
 things:
 http://eigen.tuxfamily.org/index.php?title=Main_Page
 
 You may want to check it out, to see if it offers what you need.
 
 It would be great to be able to use these within the itk.
 
 2c
 Marius
 
 -Original Message-
 From: Insight-developers [mailto:insight-developers-boun...@itk.org] On 
 Behalf Of Jian Cheng
 Sent: Wednesday, March 11, 2015 23:17
 To: Matt McCormick
 Cc: Chuck Atkins; ITK
 Subject: Re: [ITK-dev] efficiency of vnl_matrix
 
 Hi Matt,
 
 Thanks for your help, and also for the ITK workshop in UNC last time.
 
 It is very unfortunate. The efficiency of these numerical math operators are 
 very important for many applications.
 
 I recently released an ITK based toolbox, called dmritool, for diffusion MRI 
 data processing.
 It has some files to add some supports of blas, lapack, mkl to vnl_matrix and 
 vnl_vector.
 http://diffusionmritool.github.io/dmritool_doxygen/utlBlas_8h_source.html
 http://diffusionmritool.github.io/dmritool_doxygen/utlVNLBlas_8h_source.html
 
 Those functions are not internally for vnl_matrix class. They are operators 
 for the data pointer stored in vnl_matrix object.
 Thus, later I made a N-dimensional array library which internally includes 
 those functions, and also supports expression template to avoid temporary 
 copies.
 http://diffusionmritool.github.io/dmritool_doxygen/utlMatrix_8h_source.html
 http://diffusionmritool.github.io/dmritool_doxygen/utlVector_8h_source.html
 
 The efficiency comparison between vnl_vector/vnl_matrix and the vector/matrix 
 using openblas, lapack, or mkl can be found by running those two tests 
 https://github.com/DiffusionMRITool/dmritool/blob/master/Modules/HelperFunctions/test/utlVNLBlasGTest.cxx
 https://github.com/DiffusionMRITool/dmritool/blob/master/Modules/HelperFunctions/test/utlVNLLapackGTest.cxx
 
 Maybe some codes can be used as patches in somewhere in ITK. I am not sure. 
 Maybe we need more discussion on it.
 With your help and discussion, I will be very glad to make my first patch to 
 ITK.
 Thanks.
 
 best,
 Jian Cheng
 
 
 On 03/11/2015 04:39 PM, Matt McCormick wrote:
 Hi Jian,
 
 Yes, it would be wonderful to improve the efficiency of these basic 
 numerical operations.
 
 Funding for the Refactor Numerical Libraries has currently ended, and 
 the effort is currently frozen.  However, you are more than welcome to 
 pick it up and we can help you get it into ITK.  More information on 
 the patch submission process can be found here [1] and in the ITK 
 Software Guide.
 
 Thanks,
 Matt
 
 [1] 
 https://insightsoftwareconsortium.github.io/ITKBarCamp-doc/CommunitySo
 ftwareProcess/SubmitAPatchToGerrit/index.html
 
 On Wed, Mar 11, 2015 at 4:07 PM, Jian Cheng jian.cheng.1...@gmail.com 
 wrote:
 Hi,
 
 My task using ITK has intensive matrix-matrix product, pseudo-inverse, etc.
 Thus the performance is actually mainly determined by the matrix 
 library I used.
 Firstly I use vnl_matrix and vnl_vector in ITK. Then I found it is 
 very inefficient because vnl matrix lib does not use blas and lapack.
 After I wrote my own matrix class which uses openblas and lapack, I 
 got a hug gain of performance.
 
 I found there is a proposal to improve the efficiency of numerical 
 libraries in ITK.
 http://www.itk.org/Wiki/ITK/Release_4/Refactor_Numerical_Libraries
 I am not sure how is the progress of the proposal.
 I wonder when the vnl matrix lib can internally support blas and 
 lapack, or mkl, so that we can just use it without lose of the efficiency.
 Thanks.
 
 best,
 Jian Cheng
 ___
 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
 
 ___
 Powered by www.kitware.com
 
 Visit other Kitware open-source projects at 
 

Re: [ITK-dev] [ITK] New Ubuntu 14.04 Python Wrapping Nightly

2015-03-09 Thread Bradley Lowekamp
I just changed min6 to use CMAKE_OSX_DEPLOYMENT_TARGET:PATH=10.8, so that 
should avoid the libc++ issue with levelsets and green it up a bit more. Like 
the spring season :)

Brad

On Mar 9, 2015, at 4:29 PM, michkapop...@gmail.com michkapop...@gmail.com 
wrote:

 Thanks for the addition of the 14.04 build system.
 Wrappings have never been so green :)
 
 Michka
 
 On 09 Mar 2015, at 19:05, Matt McCormick matt.mccorm...@kitware.com wrote:
 
 Hi,
 
 Just a note that we have a new Ubuntu 14.04 Python Wrapping Nightly:
 
 https://open.cdash.org/buildSummary.php?buildid=3723919
 
 and it is in the All Green Club!  Hurrah!
 
 Matt
 ___
 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
 
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community

___
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


[ITK-dev] [ANNOUNCE] SimpleITK 0.9 REGISTRATION beta 1 release

2015-02-19 Thread Bradley Lowekamp
We are pleased to announce the SimpleITK 0.9 beta 1!

NOW WITH REGISTRATION

We encourage the community to use and test this registration interface and to 
provide feedback on the design and features.

This beta features the ImageRegistrationMethod which brings a SimpleITK style 
interface to the modular ITKv4 registration framework. This adds support for a 
variety of transforms including affine, b-spline, and deformation fields. The 
metrics supported include correlation, means squares, ANTS neighborhood 
correlation, and mutual information. A variety of optimizers are available 
along with scales estimators for the optimized transformation parameters and 
built in multi-scale registration support. 
http://www.itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1ImageRegistrationMethod.html

Additionally, a number of registration filters have been added: 
DemonsRegistrationFilter, DiffeomorphicDemonsRegistrationFilter, 
FastSymmetricForcesDemonsRegistrationFilter, LevelSetMotionRegistrationFilter 
and SymmetricForcesDemonsRegistrationFilter.
Several examples can be found in the examples directory to help you get 
started. These examples include Affine registration, BSpline, Demons and 
Displacement fields. http://www.itk.org/SimpleITKDoxygen/html/examples.html

We have also added the following filters: AdditiveGaussianNoiseImageFilter, 
AggregateLabelMapFilter, BinaryImageToLabelMapFilter, 
ChangeLabelLabelMapFilter, CollidingFrontsImageFilter, 
DisplacementFieldJacobianDeterminantFilter, FastMarchingBaseImageFilter, 
FastMarchingUpwindGradientImageFilter, InverseDisplacementFieldImageFilter, 
InvertDisplacementFieldImageFilter, LabelImageToLabelMapFilter, 
LabelShapeStatisticsImageFilter, LabelStatisticsImageFilter, 
LabelUniqueLabelMapFilter, MergeLabelMapFilter, RelabelLabelMapFilter, 
SaltAndPepperNoiseImageFilter, ShotNoiseImageFilter, SpeckleNoiseImageFilter 
and TransformToDisplacementFieldFilter

Note: We have run into a limitation with Visual Studio that prevents successful 
building and packaging for Windows 64. This will be addressed before the final 
release. Please try the 32-bit Windows version for smaller images.

Before the final release we will work on improving testing, adding more 
examples and documentation, and fixing bugs. We believe the beta is feature 
complete for doing registration work, but are open to critical features 
reported from the community.


You will need to manually download the beta binaries, then explicitly install 
the downloaded beta file.

Information on how to get started and download the binaries: 
http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries

Binary distributions for many platforms and languages are available for 
downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.9b01/

Nightly Doxygen Documentation: 
http://www.itk.org/SimpleITKDoxygen/html/index.html

Additional Release Notes: 
http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#Beta_1_Announcement


Enjoy!
___
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


Re: [ITK-dev] [ANNOUNCE] SimpleITK 0.8.1 Release

2015-02-04 Thread Bradley Lowekamp
Hello,

I just wanted to follow up that we now have Window binaries on Binstar for the 
Anaconda Python distribution. Specifically for 32-bit and 64-bit OS as well as 
Python version 2.7 and 3.4.

More information can be found on the wiki:
http://www.itk.org/Wiki/SimpleITK/GettingStarted#Anaconda_Distribution

Brad

On Dec 23, 2014, at 11:34 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:

 We are pleased to announce the SimpleITK 0.8.1 Release.
 
 SimpleITK is a simplified layer built on top of ITK, intended to facilitate 
 its use in rapid prototyping, education and interpreted languages. SimpleITK 
 provides binaries for several wrapped languages to enable users to rapidly 
 get started using ITK.
 
 Information on how to get started and download the binaries: 
 http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries
 
 
 This patch release updates the ITK version to the newly released 4.7.0. 
 Additionally, this patch contains improved support for CMake 3.0, fixes for 
 compilation issues, the addition of the LabelOverlapMeasures filter, and a 
 fix for the ClampCast filter.
 
 
 Also, we are now compiling for Python 3.4, and have stopped compiling for 
 Python 3.2.  Lastly, we are providing some binaries for the Anaconda Python 
 distribution on Binstar.
 
 
 Binary distributions for many platforms and languages are available for 
 downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.8.1/
 
 Release Doxygen Documentation: 
 http://www.itk.org/SimpleITKDoxygen08/html/index.html
 
 Additional Release Notes: 
 http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#SimpleITK_-_Version_0.8.1_Release
 
 Enjoy,
 Brad
 ___
 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

___
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


[ITK-dev] Reading BSplineDeformableTransform with out V3 Compatibility

2015-01-30 Thread Bradley Lowekamp
Hello,

I would like suggest that we still support reading the 
BSplineDeformableTransform by default even when V3 compatibility is disabled 
[1], to better support ITK ability to read older transform.

The thought is that may be we should still support reading the older transform.

Here is the related Slicer issue:
https://github.com/Slicer/Slicer/pull/227

The registering of these older transforms needs to be done in Slicer on ITK.


Thought?
Brad



[1] 
https://github.com/InsightSoftwareConsortium/ITK/blob/f02a176972ad4f4266cf8ae20b498c10c4218cd0/Modules/IO/TransformBase/src/itkTransformFactoryBase.cxx#L98-L101
___
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


[ITK-dev] [ANNOUNCE] SimpleITK 0.8.1 Release

2014-12-23 Thread Bradley Lowekamp
We are pleased to announce the SimpleITK 0.8.1 Release.

SimpleITK is a simplified layer built on top of ITK, intended to facilitate its 
use in rapid prototyping, education and interpreted languages. SimpleITK 
provides binaries for several wrapped languages to enable users to rapidly get 
started using ITK.

Information on how to get started and download the binaries: 
http://www.itk.org/Wiki/SimpleITK/GettingStarted#Binaries


This patch release updates the ITK version to the newly released 4.7.0. 
Additionally, this patch contains improved support for CMake 3.0, fixes for 
compilation issues, the addition of the LabelOverlapMeasures filter, and a fix 
for the ClampCast filter.


Also, we are now compiling for Python 3.4, and have stopped compiling for 
Python 3.2.  Lastly, we are providing some binaries for the Anaconda Python 
distribution on Binstar.


Binary distributions for many platforms and languages are available for 
downloading: https://sourceforge.net/projects/simpleitk/files/SimpleITK/0.8.1/

Release Doxygen Documentation: 
http://www.itk.org/SimpleITKDoxygen08/html/index.html

Additional Release Notes: 
http://www.itk.org/Wiki/SimpleITK/ReleaseNotes#SimpleITK_-_Version_0.8.1_Release

Enjoy,
Brad
___
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


Re: [ITK-dev] Compositions in ScaleVersor3D and ScaleSkewVersor3D Transforms

2014-12-16 Thread Bradley Lowekamp
Hello,

I thought I'd just update folks with my progress, I am using symbolic 
computation to compute the need jacobian, with sympy:

http://nbviewer.ipython.org/urls/gist.githubusercontent.com/blowekamp/359f7d2e5221eae97a1b/raw/dd5614577474dc6b012406a238e702468c886e0b/ScaleSkewJacoboan.ipynb


Looks a bit hairy...

Brad

On Dec 12, 2014, at 12:11 PM, Bradley Lowekamp blowek...@mail.nih.gov wrote:

 Hello,
 
 This seems very wrong to me...
 
 I was looking into the inverse of the classes. And I saw how the matrix was 
 composed from the scale and versor components[1]
 
  newMatrix[0][0] = m_Scale[0] - 2.0 * ( yy + zz );
  newMatrix[1][1] = m_Scale[1] - 2.0 * ( xx + zz );
  newMatrix[2][2] = m_Scale[2] - 2.0 * ( xx + yy );
  newMatrix[0][1] = 2.0 * ( xy - zw )  + ( m_Skew[0] );
  newMatrix[0][2] = 2.0 * ( xz + yw )  + ( m_Skew[1] );
  newMatrix[1][0] = 2.0 * ( xy + zw )  + ( m_Skew[2] );
  newMatrix[1][2] = 2.0 * ( yz - xw )  + ( m_Skew[3] );
  newMatrix[2][0] = 2.0 * ( xz - yw )  + ( m_Skew[4] );
  newMatrix[2][1] = 2.0 * ( yz + xw )  + ( m_Skew[5] );
 
 Similarly both classes just add the scale/skew component and don't do correct 
 matrix composition.
 
 Let R be the versor, S scale, and K skew matrices, and p be a point.
 
 Currently we have:
 
 (R+S+K)*p = R*p+S*p+K*p
 
 Where I expected these classes would be implementing:
 
 R*S*K*p
 
 which is a traditional composition of transform matrices.
 
 Anyone know where the current math came from? Or what it's really doing?
 
 Is this something that we should fix/improve/evaluate? Or just document 
 what's actually happening?
 
 Brad
 
 
 
 
 [1] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Transform/include/itkScaleVersor3DTransform.hxx#L219-L227
 ___
 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

___
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


Re: [ITK-dev] New clang warnings: reserved-id-macro

2014-12-15 Thread Bradley Lowekamp
Sean,

Thanks for taking this on.

I believe at the TCON on friday we agreed with Matt's suggestion:

itkFooBar_h

I hope that there will be a fairly robust command line to do this work. Please 
include it in the commit messages so that it can easily be done again later for 
others modules.

Thanks,
Brad


On Dec 12, 2014, at 10:34 AM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Personally, I don't have any strong preference.
 
 How about
 
  itkFooBar_h
 
 , since it seems to be the most compatible.
 
 Thanks,
 Matt
 
 
 On Fri, Dec 12, 2014 at 9:22 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 And all the remote modules should be updated as well...
 
 
 On Dec 11, 2014, at 3:30 PM, Sean McBride s...@rogue-research.com wrote:
 
 On Thu, 11 Dec 2014 15:20:31 -0500, Bradley Lowekamp said:
 
 Having the header guarder not begin with an '_' seems wrong to me.
 
 What about _project_filename?
 
 That works too as long as project starts lowercase, as starting with 
 underscore+uppercase is also reserved.  So _itkFooBar_h would be ok, but 
 not _ITKFOOBAR_H for example.
 
 Adding another underscore between seems gratuitous though.
 
 This change will touch hundreds and hundreds of files, so you guys decide 
 on the scheme, then I'll do it. :)
 
 Cheers,
 
 --
 
 Sean McBride, B. Eng s...@rogue-research.com
 Rogue Researchwww.rogue-research.com
 Mac Software Developer  Montréal, Québec, Canada
 
 
 
 ___
 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

___
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


Re: [ITK-dev] New clang warnings: reserved-id-macro

2014-12-12 Thread Bradley Lowekamp
And all the remote modules should be updated as well...


On Dec 11, 2014, at 3:30 PM, Sean McBride s...@rogue-research.com wrote:

 On Thu, 11 Dec 2014 15:20:31 -0500, Bradley Lowekamp said:
 
 Having the header guarder not begin with an '_' seems wrong to me. 
 
 What about _project_filename?
 
 That works too as long as project starts lowercase, as starting with 
 underscore+uppercase is also reserved.  So _itkFooBar_h would be ok, but 
 not _ITKFOOBAR_H for example.
 
 Adding another underscore between seems gratuitous though.
 
 This change will touch hundreds and hundreds of files, so you guys decide on 
 the scheme, then I'll do it. :)
 
 Cheers,
 
 -- 
 
 Sean McBride, B. Eng s...@rogue-research.com
 Rogue Researchwww.rogue-research.com 
 Mac Software Developer  Montréal, Québec, Canada
 
 

___
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


Re: [ITK-dev] New clang warnings: reserved-id-macro

2014-12-11 Thread Bradley Lowekamp
I Think so:

https://github.com/InsightSoftwareConsortium/ITK/blob/master/Utilities/KWStyle/ITK.kws.xml#L14

Having the header guarder not begin with an '_' seems wrong to me. 

What about _project_filename?

Brad


On Dec 11, 2014, at 3:15 PM, Sean McBride s...@rogue-research.com wrote:

 On Thu, 11 Dec 2014 12:32:49 -0500, Bradley Lowekamp said:
 
 warning: reserved identifier is used as macro name [-Wreserved-id-macro]
 #define __itkMacro_h
 
 So I did some find/replace, but when I try to commit, I get:
 
 ---
 Examples/IO/XML/itkParticleSwarmOptimizerDOMReader.h:29: error: 
 itkParticleSwarmOptimizerDOMReader_h v.s. 
 __itkParticleSwarmOptimizerDOMReader_h
 pre-commit hook failure
 ---
 
 KWStyle check failed.
 
 Line numbers in the errors shown refer to the file:
 Examples/IO/XML/itkParticleSwarmOptimizerDOMReader.h.kws
 ---
 
 Is there a style check that's checking for a header guard format?!
 
 Cheers,
 
 -- 
 
 Sean McBride, B. Eng s...@rogue-research.com
 Rogue Researchwww.rogue-research.com 
 Mac Software Developer  Montréal, Québec, Canada
 
 

___
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


[ITK-dev] Dashboard systems now stable.

2014-12-09 Thread Bradley Lowekamp
Matt,

These builds should be considered for moving to the Expected Nightly Section:

http://open.cdash.org/buildSummary.php?buildid=3604304
http://open.cdash.org/buildSummary.php?buildid=3604093

I am poking at mini6's instability again today, to fix system/build issues.

Brad
___
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


Re: [ITK-dev] [ITK] FFTWForwardFFTImageFilter and FFTWInverseFFTImageFilter

2014-12-09 Thread Bradley Lowekamp
Hello,

One guess I have is that the Visual Studio version used to compile FFTW is 
different than the one you are using. This could cause linking problems due to 
the different versions. Just a guess though.

Brad

On Dec 9, 2014, at 2:01 PM, Tim Jackson tj.jackson1...@gmail.com wrote:

 Hello,
 
 I am currently writing a C++ program that I've called FTTC using VS2012 to 
 compile.  I'm having problems including the FFTW libraries, which I 
 downloaded v3.3.4 of the precompiled libraries for Windows, into ITK.  I 
 reconfigured and rebuilt ITK v4.6.1, changing the variables in CMake to turn 
 on ITK_USE_FFTWF and set the path for both FFTWF_LIB and FFTWF_THREADS_LIB to 
 the downloaded version of libfftw3-3.lib.  I also set FFTW_INCLUDE_PATH to 
 where all of the downloaded files for the FFTW are located.
 
 ITK built without a problem, but when I now compile my program that uses the 
 FFTWForwardFFTImageFilter and FFTWInverseFFTImageFilter, I get a whole host 
 of linker error messages: 
 
 fttc.obj : error LNK2019: unresolved external symbol __imp__fftwf_execute 
 referenced in function protected: virtual void __thiscall 
 itk::FFTWInverseFFTImageFilterclass itk::Imagefloat,2,class 
 itk::Imagefloat,2 ::BeforeThreadedGenerateData(void) 
 (?BeforeThreadedGenerateData@?$FFTWInverseFFTImageFilter@V?$Image@M$01@itk@@V12@@itk@@MAEXXZ)
 
 fttc.obj : error LNK2019: unresolved external symbol 
 __imp__fftwf_plan_dft_r2c referenced in function public: static struct 
 fftwf_plan_s * __cdecl itk::fftw::Proxyfloat::Plan_dft_r2c(int,int const 
 *,float *,float (*)[2],unsigned int,int,bool) 
 (?Plan_dft_r2c@?$Proxy@M@fftw@itk@@SAPAUfftwf_plan_s@@HPBHPAMPAY01MIH_N@Z)
 
 fttc.obj : error LNK2019: unresolved external symbol 
 __imp__fftwf_plan_dft_c2r referenced in function public: static struct 
 fftwf_plan_s * __cdecl itk::fftw::Proxyfloat::Plan_dft_c2r(int,int const 
 *,float (*)[2],float *,unsigned int,int,bool) 
 (?Plan_dft_c2r@?$Proxy@M@fftw@itk@@SAPAUfftwf_plan_s@@HPBHPAY01MPAMIH_N@Z)
 
 fttc.obj : error LNK2019: unresolved external symbol 
 __imp__fftwf_destroy_plan referenced in function protected: virtual void 
 __thiscall itk::FFTWInverseFFTImageFilterclass itk::Imagefloat,2,class 
 itk::Imagefloat,2 ::BeforeThreadedGenerateData(void) 
 (?BeforeThreadedGenerateData@?$FFTWInverseFFTImageFilter@V?$Image@M$01@itk@@V12@@itk@@MAEXXZ)
 
 fttc.obj : error LNK2019: unresolved external symbol 
 __imp__fftwf_plan_with_nthreads referenced in function public: static struct 
 fftwf_plan_s * __cdecl itk::fftw::Proxyfloat::Plan_dft_c2r(int,int const 
 *,float (*)[2],float *,unsigned int,int,bool) 
 (?Plan_dft_c2r@?$Proxy@M@fftw@itk@@SAPAUfftwf_plan_s@@HPBHPAY01MPAMIH_N@Z)
 
 ITKFFT-4.6.lib(itkFFTWGlobalConfiguration.obj) : error LNK2019: unresolved 
 external symbol __imp__fftwf_cleanup referenced in function private: virtual 
 __thiscall itk::FFTWGlobalConfiguration::~FFTWGlobalConfiguration(void) 
 (??1FFTWGlobalConfiguration@itk@@EAE@XZ)
 
 ITKFFT-4.6.lib(itkFFTWGlobalConfiguration.obj) : error LNK2019: unresolved 
 external symbol __imp__fftwf_init_threads referenced in function 
 __catch$??0FFTWGlobalConfiguration@itk@@AAE@XZ$0
 
 ITKFFT-4.6.lib(itkFFTWGlobalConfiguration.obj) : error LNK2019: unresolved 
 external symbol __imp__fftwf_cleanup_threads referenced in function private: 
 virtual __thiscall 
 itk::FFTWGlobalConfiguration::~FFTWGlobalConfiguration(void) 
 (??1FFTWGlobalConfiguration@itk@@EAE@XZ)
 
 ITKFFT-4.6.lib(itkFFTWGlobalConfiguration.obj) : error LNK2019: unresolved 
 external symbol __imp__fftwf_import_system_wisdom referenced in function 
 __catch$??0FFTWGlobalConfiguration@itk@@AAE@XZ$0
 
 ITKFFT-4.6.lib(itkFFTWGlobalConfiguration.obj) : error LNK2019: unresolved 
 external symbol __imp__fftwf_import_wisdom_from_file referenced in function 
 public: static bool __cdecl 
 itk::FFTWGlobalConfiguration::ExportWisdomFileFloat(class 
 std::basic_stringchar,struct std::char_traitschar,class 
 std::allocatorchar  const ) 
 (?ExportWisdomFileFloat@FFTWGlobalConfiguration@itk@@SA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
 
 C:\MIIA\FTTCBin\Release\FTTC.exe : fatal error LNK1120: 10 unresolved 
 externals
 
 
 I've spent a long time searching the help forums and looked for ways to 
 resolve this, but to no avail.  Does anyone know what I may be doing wrong?  
 I'm guessing I did something wrong when setting variables in CMake, but 
 haven't been able to find any information on how to set them correctly.
 
 Thanks for your time and assistance!
 
 Best,
 Tim
 
 ___
 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:
 

[ITK-dev] ImageToImageFilterCommon Wrapping

2014-12-08 Thread Bradley Lowekamp
Michka,

I just saw this new warning for this funky class I added:



/scratch/dashboards/Linux-x86_64-gcc4.8-WrapITK/ITK-build/Wrapping/Modules/ITKCommon/itkImageToImageFilterA.xml:
 warning(4): ITK type not wrapped, or currently not known: 
itk::ImageToImageFilterCommon

http://open.cdash.org/viewBuildError.php?type=1buildid=3603076

This class is privately inherited, and should not need to be directly 
used/wrapped. However the similar ImageSourceCommon is explicitly wrapped [1]. 
How sure what's best for the WrapITK interface.

Brad


[1] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/wrapping/itkImageSource.wrap___
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


Re: [ITK-dev] Exception in itk::ResampleImageFilter multithreaded part after ITK migration from 3.20.1 to 4.6.1

2014-12-02 Thread Bradley Lowekamp
Hello Simon,

If you don't have your exports correct it'd likely result in a link error.

Given the error message you report, it sounds like you are using an old version 
of the ResampleFilter. I'd look into seeing if there are old copies of ITK 3.20 
laying around that may be included in your project. You can not use mix symbols 
and includes from different version of ITK.

Brad

On Dec 2, 2014, at 4:51 AM, Simon ESNEAULT simon.esnea...@gmail.com wrote:

 Hi Bill,
 
 Thanks for your reply. I have downloaded and executed succesfully the 
 Upsampling example 
 (http://itk.org/Wiki/ITK/Examples/ImageProcessing/Upsampling), using the 
 version of ITK (4.6.1) we used in the framework.
 
 It appears our problem is probably related with our framework architecture, 
 and some dll import/export on windows. We wrapped all our ITK code in a 
 library WrapItk.dll. And there are some others libraries, all of them can 
 make use of native ITK code or wrapped ITK code. This used to work fine with 
 ITK 3.20.1, but it's seems broken in 4.6.1. 
 
 Not only the Resample filter raise an exception but all the MultiThreaded 
 filter in ITK. When debugging, we go through 
 itk::ResampleImageFilter::BeforeThreadedGenerateData() just fine, and 
 somehow, when ThreadedGenerateData() is called we fall back in the mother 
 class ImageSource method, hence raising the exception.
 
 Anyone know how to use properly ITK code with multiple DLL's on windows ? ie 
 having an image loaded with ITK code from one DLL, and some ITK filter 
 executed in another DLL without trouble ?
 We use that sort of mechanism to export functions properly between DLLs.
 #if SOME_DLL_DEFINITIONS
 #define MY_EXPORT __declspec(dllexport)
 #else
 #define MY_EXPORT __declspec(dllimport)
 
 I will try to sum things up in scheme  if that can help ...
 
 Thanks 
 Simon
 
 
 2014-12-01 14:51 GMT+01:00 Bill Lorensen bill.loren...@gmail.com:
 Very strange.
 
 Could you try building and running this example:
 http://itk.org/Wiki/ITK/Examples/ImageProcessing/ResampleImageFilter
 
 Bill
 
 On Mon, Dec 1, 2014 at 7:53 AM, Simon ESNEAULT simon.esnea...@gmail.com 
 wrote:
  Hello ITK community
 
  After the migration from ITK 3.20.1 to ITK 4.6.1, I'm getting a runtime
  exception when using itk::ResampleImageFilter in our framework. The output
  looks like this :
 
  Problem during Resample filtering:
  D:\Dev\DevCpp-Qt5\cmake-externals\ITK\src\Modules\Core\Common\src\itkMultiThreader.cxx:358:
  itk::ERROR: MultiThreader(31CAAD18): Exception occurred during
  SingleMethodExecute
  c:\dev\Dev_qt5\externals\itk-4.6.1\win32\include\itkImageSource.hxx:267:
  itk::ERROR: ResampleImageFilter(31AC2E90): Subclass should override this
  method!!!
  The signature of ThreadedGenerateData() has been changed in ITK v4 to use
  the new ThreadIdType.
  ResampleImageFilter::ThreadedGenerateData() might need to be updated to used
  it.
 
  That is weird, because the itkResampleImageFilter is the one delivered with
  ITK 4.6.1, so it must have followed the API changed ...
 
  The context is :
  Visual Studio 2013 community, 32 bit build, ITK build in shared library
  mode. That's quite a big project, with VTK, Qt, OpenCV, DCMTK, zlib ...
  I'm not using cmake in the usual way (ie no find_package(ITK)
  include(${ITK_USE_FILE}) ) but we list the libraries and includes. I know
  there are some factories to register in that case, we're doing this in the
  main.cpp :
  itk::TransformFactoryBase::RegisterDefaultTransforms();
  itk::PNGImageIOFactory::RegisterOneFactory();
  itk::MetaImageIOFactory::RegisterOneFactory();
  itk::NrrdImageIOFactory::RegisterOneFactory();
 
  Am I missing some others factories to register in order to run properly the
  resampleImageFilter ?
  Anyone else had a similar runtime exception with a native ITK filte, or know
  what would raise such an exception ?
 
  Thanks
 
  --
  --
  Simon Esneault
  --
 
  ___
  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
 
 
 
 
 --
 Unpaid intern in BillsBasement at noware dot com
 
 
 
 -- 
 --
 Simon Esneault
 --
 ___
 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 

Re: [ITK-dev] [ITK-users] Problem reading a big nifti volume.

2014-12-02 Thread Bradley Lowekamp
Hello,

Unfortunately, I don't see the logic with it working with Slicer, but not 
working in native ITK as it uses the same code.

I have perused the NIFT1 C library that ITK has in the ThirdParty group, which 
appears up to date with the latest released version: 2.0.0.

There a quite a number of places where the calculation of the size of the image 
is not done at size_t/64-bits safe fashion, along with other 64-bit safe 
operations. I am concluding that the nifit file format doesn't readily support 
image  4GB. Even if we then through the extensive effort of updating our 
version of the third party library the resulting images are very likely not 
going to work with other toosl that work with nifti images.

Brad

On Dec 2, 2014, at 11:14 AM, Fotis Drakopoulos fdrak...@gmail.com wrote:

 The image contains a single non-zero voxel on each axial slice. 
 
 When I load the image on Slicer the non-zero voxels are preserved as you 
 traverse the image using the window slider.  
 When I read the image using a simple main program a big portion of the the 
 non-zero voxels do not exist.
 
 I had the same issue when the file was .nii (not compressed).
 
 Fotis
   
 
 On Tue, Dec 2, 2014 at 10:58 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 So if you wrote and read with ITK ( via Slicer ), how do you know that the 
 file is correct as you expect?
 
 I see the file has a .nii.gz extension, meaning that it's compressed. Does 
 the same issue occur when it's not compressed?
 
 Brad
 
 
 
 On Dec 2, 2014, at 10:49 AM, Fotis Drakopoulos fdrak...@gmail.com wrote:
 
 Hi,
 
 I created and wrote the image on the disk using ITK 4.6.0. 
 I visualized the image using Slicer 4.4.0.
 
 The properties are:
 Size : [1001, 1001, 8345]  
 Spacing : [1,1,1]
 Origin : [0, 0, 0]
 Direction : 
 1 0 0
 0 1 0
 0 0 1
 
 Fotis
 
 On Tue, Dec 2, 2014 at 10:27 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Hello,
 
 What software did you use to create and validate that this image is correct?
 
 Thanks,
 Brad
 
 On Dec 1, 2014, at 11:56 AM, Fotis Drakopoulos fdrak...@gmail.com wrote:
 
 Hi all,
 
 I added a big test image to ITK/Public/ITK/Modules/IO/NIFTI/test/Input. The 
 image cannot loaded correctly when I use the itk::ImageFileReader.
 The test image contains non-zero values only at indexes (350,350,i)  where 
 i=0 to 8300.
 The pixelType is short.
  
 Thanks
 Fotis  
 
 On Wed, Nov 26, 2014 at 8:41 PM, Matt McCormick 
 matt.mccorm...@kitware.com wrote:
 Thanks! Added.
 
 On Wed, Nov 26, 2014 at 9:21 AM, Fotis Drakopoulos fdrak...@gmail.com 
 wrote:
  Hi,
  I signed up for the ITK community on midas.
 
  Thanks,
  Fotis Drakopoulos
 
  On Tue, Nov 25, 2014 at 10:44 PM, Matt McCormick
  matt.mccorm...@kitware.com wrote:
 
  Hi Fotis,
 
  Thanks for helping to improve large nifti file support.
 
  The file can be uploaded on midas3.kitware.com.  Sign up for the ITK
  community [1], let the list know the name of your account, and myself
  or one of the other administrators will add upload priviledges to the
  account.
 
  The file could then be added to
  ITK/Public/ITK/Modules/IO/NIFTI/test/Input.
 
  Thanks,
  Matt
 
  [1] http://midas3.kitware.com/midas/community/12
 
  On Tue, Nov 25, 2014 at 3:14 PM, Fotis Drakopoulos fdrak...@gmail.com
  wrote:
   Hi all,
  
   I created a test nifti image that reproduces the problem I mentioned
   before.
   How can I share this image with the ITK community?
  
   Best,
   Fotis Drakopoulos
  
  
   On Mon, Nov 24, 2014 at 10:13 AM, Bradley Lowekamp
   blowek...@mail.nih.gov
   wrote:
  
   Shareable test data greatly helps determine the cause and fix these
   types
   of issues.
  
   Got data?
  
   Brad
   On Nov 23, 2014, at 5:40 PM, Gib Bogle g.bo...@auckland.ac.nz wrote:
  
   This is reminiscent of the previous problem with big TIFF images, now
   fixed.
  
   Gib
   
   From: Insight-users [insight-users-boun...@itk.org] on behalf of Fotis
   Drakopoulos [fdrak...@gmail.com]
   Sent: Monday, 24 November 2014 10:51 a.m.
   To: insight-us...@itk.org; insight-developers@itk.org
   Subject: [ITK-users] Problem reading a big nifti volume.
  
   Hi all,
  
   For the last couple of days I have been trying reading 
   (unsuccessfully)
   a
   big nifti volume labeled image from my disk.
  
   The pixel type is unsigned char and the rest specs of the image are:
   Size : [1001, 1001, 8345]  (in voxels)
   Spacing : [0.012, 0.012, 0.012]  (in mm)
   Origin : [0, 0, 0]
   Direction :
   1 0 0
   0 1 0
   0 0 1
  
   First I loaded the volume on Slicer-4.4.0 (64 bit-linux) to get an 
   idea
   how it looks like. Indeed the object in the volume looks as it was
   expected.
   So far no problems. The specs of the image on Slicer are the same as
   above
   (except the direction which has flipped signs for the first two
   diagonal
   entries, as we know ).
  
   Then I tried to load the image in the memory using the
   itk::ImageFileReader  from ITK4.6.0

[ITK-dev] FDFImageIO Pull request

2014-11-25 Thread Bradley Lowekamp
Hello,

To address compilation errors with FDFImageIO I have a pull request.

https://github.com/InsightSoftwareConsortium/itkFDFImageIO/pull/1

Reviews are appreciated.

This module does not appear to have been working for a while. Is there 
continued support and usage from the community for this module?

Thanks,
Brad
___
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


Re: [ITK-dev] Override keyword requirements: New transform compilation errors.

2014-11-24 Thread Bradley Lowekamp
Hans,

Great, thanks for being so prompt an sneaking that patch in.

Brad

On Nov 24, 2014, at 9:09 AM, Johnson, Hans J hans-john...@uiowa.edu wrote:

 Brad,
 
 I think it was fixed last night.  I submitted a patch, and Matt reviewed
 and merged it.
 
 http://review.source.kitware.com/#/c/18135/
 
 
 Hans
 
 
 
 
 -Original Message-
 From: Bradley Lowekamp blowek...@mail.nih.gov
 Date: Monday, November 24, 2014 at 7:58 AM
 To: ITK insight-developers@itk.org
 Cc: Hans Johnson hans.j.john...@gmail.com, Matthew McCormick
 m...@mmmccormick.com
 Subject: Override keyword requirements: New transform compilation errors.
 
 Community Developers,
 
 Recently a number of builds that are running C++11 have been producing
 errors when the override moniker is not used on derived method. This is
 difficult for many contributors to ensure because this is new to C++11 and
 those who are not compiling for that version of C++ are oblivious to this
 potential error.
 
 Is it worth the effort to enforce this usage? Or should we try to see if
 it can only be a warning?
 
 If we want to enforce it's usage then we will _need_ a cdash@home build
 with this flag, so that we can check the gerrit builds. But I don't think
 that we have additional cdash@home resources to additional builds.
 
 
 Hans,
 
 There are some new compilation errors on the dashboard, related to
 overriding the Transform::GetNumberOfParameteres:
 http://open.cdash.org/viewBuildError.php?buildid=3585002
 
 Please let us know if you need some help addressing these in a timely
 fashion.
 
 Thanks,
 Brad
 
 
 
 
 Notice: This UI Health Care e-mail (including attachments) is covered by the 
 Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential 
 and may be legally privileged.  If you are not the intended recipient, you 
 are hereby notified that any retention, dissemination, distribution, or 
 copying of this communication is strictly prohibited.  Please reply to the 
 sender that you have received the message in error, then delete it.  Thank 
 you.
 

___
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


Re: [ITK-dev] [ITK-users] Problem reading a big nifti volume.

2014-11-24 Thread Bradley Lowekamp
Shareable test data greatly helps determine the cause and fix these types of 
issues.

Got data?

Brad
On Nov 23, 2014, at 5:40 PM, Gib Bogle g.bo...@auckland.ac.nz wrote:

 This is reminiscent of the previous problem with big TIFF images, now fixed.
 
 Gib
 From: Insight-users [insight-users-boun...@itk.org] on behalf of Fotis 
 Drakopoulos [fdrak...@gmail.com]
 Sent: Monday, 24 November 2014 10:51 a.m.
 To: insight-us...@itk.org; insight-developers@itk.org
 Subject: [ITK-users] Problem reading a big nifti volume.
 
 Hi all,
 
 For the last couple of days I have been trying reading (unsuccessfully)  a 
 big nifti volume labeled image from my disk.
 
 The pixel type is unsigned char and the rest specs of the image are:
 Size : [1001, 1001, 8345]  (in voxels)
 Spacing : [0.012, 0.012, 0.012]  (in mm)
 Origin : [0, 0, 0]
 Direction : 
 1 0 0
 0 1 0
 0 0 1
 
 First I loaded the volume on Slicer-4.4.0 (64 bit-linux) to get an idea how 
 it looks like. Indeed the object in the volume looks as it was expected. So 
 far no problems. The specs of the image on Slicer are the same as above 
 (except the direction which has flipped signs for the first two diagonal 
 entries, as we know ).
 
 Then I tried to load the image in the memory using the itk::ImageFileReader  
 from ITK4.6.0 (64 bit-linux) version. After loading the image I noticed that 
 there are pixels with zero values instead of non-zero by comparing the same 
 indexes with the loaded image on Slicer.
 
 Then I decided to write the loaded image on the disk using the 
 itk::ImageFileWriter. 
 
 After opening the (written from ITK) image on Slicer I checked the specks and 
 were the same with the original image as above. However I noticed that a big 
 portion of the image is completely empty (black)!
 
 My workstation has enough memory to load the image (768 GB 1600MHz DDR3L) and 
 is using Red Hat Enterprise Linux Server 6.5. 
 The size of the original nifti volume is :
 25.7 MB (.nii.gz)
 8.36 GB (.nii)
 Has anybody experienced similar difficulties trying to load so big volume 
 data?
 
 Best,
 Fotis Drakopoulos
 CRTC
  
 _
 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://www.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-users

___
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


[ITK-dev] Valgrind: Old issue fixed and new ones pop up

2014-11-20 Thread Bradley Lowekamp
Hello,

It looks like some new valgrind issues popped up the same day we fixed the old 
ones:
http://open.cdash.org/viewDynamicAnalysis.php?buildid=3578841

Looks like the is the result of recent B-Spline field changes:
https://github.com/InsightSoftwareConsortium/ITK/commit/b8bee55644e1d0e82d0067b01758f3eedff93c2d

Add this is also likely the cause of an internal compiler segfault:
http://open.cdash.org/viewBuildError.php?buildid=3578654

With clang 2.1.0 (wow, that's old on dashmacmini5):
http://open.cdash.org/viewConfigure.php?buildid=3578654

Please let us know if you can fix this issue in a timely manner or need help. 
Thanks,
Brad
___
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


Re: [ITK-dev] Valgrind defects since October 27

2014-11-18 Thread Bradley Lowekamp
Bill,

Thanks for posting this again. Looking at the change the issue seems obvious to 
me now:

https://github.com/Kitware/ITK/blob/master/Modules/Filtering/ImageGrid/test/itkSliceBySliceImageFilterTest.cxx#L160

Looks like the input test image is allocated but never initialized...

Brad


On Nov 18, 2014, at 10:20 AM, Bill Lorensen bill.loren...@gmail.com wrote:

 Valgrind has been failing since October 27. Looks like these changes
 to SliceBySliceImageFilter may have introduced the defects.
 http://open.cdash.org/viewChanges.php?project=Insightdate=2014-10-27
 
 Bill
 ___
 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

___
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


[ITK-dev] TIFFImageIO refactoring, please test

2014-11-14 Thread Bradley Lowekamp
Greetings,

I have recently refactored ITK's TIFFImageIO to remove a significant amount of 
dead code, and improve performance up to 3-5X. A number of bug related to 
reading BigTIFF files have been addressed. Additionally, Tiff tags are now 
place into the Meta-DataDictionary to allow access to additional TIFF fields 
such as OME-XML tags ( Originally contributed by Richard Beare 
http://www.insight-journal.org/browse/publication/728 ).

Significant performance improvements were made to both scalar images and 
palette images. Handling of certain orientations are now better handled, 
while not changing how the default TOPLEFT orientation is loaded or written. 
There were a number of cases which appear unreachable and illogical such as 
support from Zeiss two-componet types, and support for some type of SGI tiled 
tiff as a 3D image. These were removed.

If you are an active user of TIFF images with ITK, please checkout the latest 
ITK master and test the refactored TIFFImageIO.

Thanks,
Brad

p.s. Here is the git log for the recent changes.

$git log --no-merges 6791b4a3613aade07e3f11f765f1316faf03b113..

commit 46f4125df47aeff9c42c9f2b3699c06e67ffaca9
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Fri Oct 31 14:25:13 2014 -0400

ENH: adding TIFFImageIO test for RGB palette images

Change-Id: I320acc8beac8225616451d11b291b1d7e12a17d0

commit 9adc54c7f53b4da84a41f500d561ae494cb85158
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Fri Oct 24 13:42:02 2014 -0400

BUG: Adding missing parentheses around boolean expression

Change-Id: I669d160ff3ba830f3c33ac87de434db41472eb79

commit 40afd95161727be3274f8094ce19fe45e2c3aa50
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Wed Oct 22 15:05:39 2014 -0400

PERF: Refactor color table lookup

Change to use a index lookup for the color and gray scale
palettes. The remove excessive exception checking done on a per pixel
basis with the GetColor method. Additionally the InitializeColor
method was change do initialize the color palette variables.

An exception no longer occurs when an index exceeds the number of
entries in a palette. Instead a module operator is used to prevent
out of bounds memory access.

Change-Id: Ia62c65cd8b1be0d66c488540709a8fb961190cc9

commit d98cbeb7206f6007f7d0c25fd4a4becad8973053
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Fri Oct 3 09:01:28 2014 -0400

ENH: Refactor per pixel conversion function to per scan-line method

This patch changes the implementation of conversion from the TIFF
scanline buffer from a function call on each pixel to a function call
per scanline. The enable efficient copying of similar scanline and
better reuse of variables for palette look ups.

This can increase the performance of reading grayscale images by up to
3X for cached files.

Change-Id: I24bb744fda35629f1c1ed7154e26e5708e912059

commit 8e488f40e8cb7defa046700798b77e3944ac33c9
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Tue Sep 30 08:56:58 2014 -0400

ENH: RGBA read images should stay unchanged.

The image that are read with the TIFFReadRGBAImage should not have
their pixel types converted. This libtiff method always read images
into an ABGR uint8 format. When the tiff file is read by this method
it should report that uint8 and RGBA is the component an pixel type
for the image. This allows the standard ITK buffer conversion to be
performed.

This change remove extra cases and template instantiations.

Additionally the RGBAImageToBuffer method was flipping the image along
the y-axis, this has been more explicitly done with the call to
TIFFReadRGBAImageOriented.

Change-Id: I022b12921d406edb09730f905213b0db811f1bd4

commit e5834d5b00e4e3fab3255d88e7d8fd917ee722e9
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Fri Sep 26 14:04:09 2014 -0400

ENH: Remove support for TIFF tile as 3D and dead code

This TIFF file format is a file which contains a list of directories,
if there are no directories in the file it's not a valid tiff. Code
which supported 3D tiles was conditioned on a file with no directories
and no data. Additional code was removed related to a private SGI tag
TIFFTAG_TILEDEPTH, ImageJ specific tag also pre-conditioned on this
invalid case.

Change-Id: Id4ef171c5dbe0c797be206e0059c7488719ef6e6

commit 3ac19a9ffd94e02254900dd0e5e2661c329e3183
Author: Bradley Lowekamp blowek...@mail.nih.gov
Date:   Mon Oct 6 10:01:50 2014 -0400

BUG: Address Coverity warning about null pointer dereferences

The patch addressed the following Coverity warnings:

** CID 1243373:  Explicit null dereferenced  (FORWARD_NULL)
itkTIFFImageIO.cxx:
1192 in itk::TIFFImageIO::ReadTIFFTags()()

** CID 1243372:  Dereference null return value  (NULL_RETURNS)
itkTIFFImageIO.cxx

Re: [ITK-dev] TIFFImageIO refactoring, please test

2014-11-14 Thread Bradley Lowekamp
Bill,

There was a tile block of code before, but that was not covered, looked 
unreachable and was removed.

Currently there are two ways that a tiff page can be read with the 
TIFFReadRGBAImageOriented, and with the TIFFReadScanline. The RGBA method from 
libtiff is fairly robust but reads the image into an RGBA buffer so is not 
memory efficient. Our custom method uses the scanline method [1], which should 
work with both stripped and tiled pages. 

But please test, and add a test? I'm not 100% if there is a test image for 
tiled images.

Where the difference between stripped and tiled images would really matter is 
streaming, but that is not there...yet.

Brad

[1] http://www.remotesensing.org/libtiff/libtiff.html#scanlines


On Nov 14, 2014, at 10:04 AM, Bill Lorensen bill.loren...@gmail.com wrote:

 Brad,
 
 I recently added tiled image reading to VTK's tiff reader. Do you
 think that would be useful in IUTK. I don't know how often tiled tiff
 images are encountered.
 
 BTW I do not mean tiled pyramid tiff images.
 
 Bill
 
 On Fri, Nov 14, 2014 at 9:53 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Greetings,
 
 I have recently refactored ITK's TIFFImageIO to remove a significant amount
 of dead code, and improve performance up to 3-5X. A number of bug related to
 reading BigTIFF files have been addressed. Additionally, Tiff tags are now
 place into the Meta-DataDictionary to allow access to additional TIFF fields
 such as OME-XML tags ( Originally contributed by Richard Beare
 http://www.insight-journal.org/browse/publication/728 ).
 
 Significant performance improvements were made to both scalar images and
 palette images. Handling of certain orientations are now better handled,
 while not changing how the default TOPLEFT orientation is loaded or written.
 There were a number of cases which appear unreachable and illogical such as
 support from Zeiss two-componet types, and support for some type of SGI
 tiled tiff as a 3D image. These were removed.
 
 If you are an active user of TIFF images with ITK, please checkout the
 latest ITK master and test the refactored TIFFImageIO.
 
 Thanks,
 Brad
 
 p.s. Here is the git log for the recent changes.
 
 $git log --no-merges 6791b4a3613aade07e3f11f765f1316faf03b113..
 
 commit 46f4125df47aeff9c42c9f2b3699c06e67ffaca9
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 31 14:25:13 2014 -0400
 
ENH: adding TIFFImageIO test for RGB palette images
 
Change-Id: I320acc8beac8225616451d11b291b1d7e12a17d0
 
 commit 9adc54c7f53b4da84a41f500d561ae494cb85158
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 24 13:42:02 2014 -0400
 
BUG: Adding missing parentheses around boolean expression
 
Change-Id: I669d160ff3ba830f3c33ac87de434db41472eb79
 
 commit 40afd95161727be3274f8094ce19fe45e2c3aa50
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Wed Oct 22 15:05:39 2014 -0400
 
PERF: Refactor color table lookup
 
Change to use a index lookup for the color and gray scale
palettes. The remove excessive exception checking done on a per pixel
basis with the GetColor method. Additionally the InitializeColor
method was change do initialize the color palette variables.
 
An exception no longer occurs when an index exceeds the number of
entries in a palette. Instead a module operator is used to prevent
out of bounds memory access.
 
Change-Id: Ia62c65cd8b1be0d66c488540709a8fb961190cc9
 
 commit d98cbeb7206f6007f7d0c25fd4a4becad8973053
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 3 09:01:28 2014 -0400
 
ENH: Refactor per pixel conversion function to per scan-line method
 
This patch changes the implementation of conversion from the TIFF
scanline buffer from a function call on each pixel to a function call
per scanline. The enable efficient copying of similar scanline and
better reuse of variables for palette look ups.
 
This can increase the performance of reading grayscale images by up to
3X for cached files.
 
Change-Id: I24bb744fda35629f1c1ed7154e26e5708e912059
 
 commit 8e488f40e8cb7defa046700798b77e3944ac33c9
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Tue Sep 30 08:56:58 2014 -0400
 
ENH: RGBA read images should stay unchanged.
 
The image that are read with the TIFFReadRGBAImage should not have
their pixel types converted. This libtiff method always read images
into an ABGR uint8 format. When the tiff file is read by this method
it should report that uint8 and RGBA is the component an pixel type
for the image. This allows the standard ITK buffer conversion to be
performed.
 
This change remove extra cases and template instantiations.
 
Additionally the RGBAImageToBuffer method was flipping the image along
the y-axis, this has been more explicitly done with the call to
TIFFReadRGBAImageOriented.
 
Change-Id: I022b12921d406edb09730f905213b0db811f1bd4
 
 commit

Re: [ITK-dev] TIFFImageIO refactoring, please test

2014-11-14 Thread Bradley Lowekamp
Actually further reading the TIFFReadScanline documentation says that should 
not work for tiled images. So I guess it must be using the RGBA read method, 
but I am not sure how that is happening either. 

Are you used the tiled tiff images from the VTK tests?

Brad


On Nov 14, 2014, at 10:46 AM, Bill Lorensen bill.loren...@gmail.com wrote:

 Meant to say:
 Wow. The new itk tiff reader read my tiled images.
 
 
 On Fri, Nov 14, 2014 at 10:45 AM, Bill Lorensen bill.loren...@gmail.com 
 wrote:
 Wow. The new itk tiff reader sad my tiled images.
 
 On Fri, Nov 14, 2014 at 10:25 AM, Bill Lorensen bill.loren...@gmail.com 
 wrote:
 There is a TIFFReadTile call in lib tiff. I some tiled images I will
 try with the updated itk reader. I'll be really syprised if it works
 since reading tiled images is tricky and took quite a bit of code.
 
 I'll keep you posted.
 
 Bill
 
 On Fri, Nov 14, 2014 at 10:19 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Bill,
 
 There was a tile block of code before, but that was not covered, looked 
 unreachable and was removed.
 
 Currently there are two ways that a tiff page can be read with the 
 TIFFReadRGBAImageOriented, and with the TIFFReadScanline. The RGBA method 
 from libtiff is fairly robust but reads the image into an RGBA buffer so 
 is not memory efficient. Our custom method uses the scanline method [1], 
 which should work with both stripped and tiled pages.
 
 But please test, and add a test? I'm not 100% if there is a test image for 
 tiled images.
 
 Where the difference between stripped and tiled images would really matter 
 is streaming, but that is not there...yet.
 
 Brad
 
 [1] http://www.remotesensing.org/libtiff/libtiff.html#scanlines
 
 
 On Nov 14, 2014, at 10:04 AM, Bill Lorensen bill.loren...@gmail.com 
 wrote:
 
 Brad,
 
 I recently added tiled image reading to VTK's tiff reader. Do you
 think that would be useful in IUTK. I don't know how often tiled tiff
 images are encountered.
 
 BTW I do not mean tiled pyramid tiff images.
 
 Bill
 
 On Fri, Nov 14, 2014 at 9:53 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Greetings,
 
 I have recently refactored ITK's TIFFImageIO to remove a significant 
 amount
 of dead code, and improve performance up to 3-5X. A number of bug 
 related to
 reading BigTIFF files have been addressed. Additionally, Tiff tags are 
 now
 place into the Meta-DataDictionary to allow access to additional TIFF 
 fields
 such as OME-XML tags ( Originally contributed by Richard Beare
 http://www.insight-journal.org/browse/publication/728 ).
 
 Significant performance improvements were made to both scalar images and
 palette images. Handling of certain orientations are now better 
 handled,
 while not changing how the default TOPLEFT orientation is loaded or 
 written.
 There were a number of cases which appear unreachable and illogical such 
 as
 support from Zeiss two-componet types, and support for some type of SGI
 tiled tiff as a 3D image. These were removed.
 
 If you are an active user of TIFF images with ITK, please checkout the
 latest ITK master and test the refactored TIFFImageIO.
 
 Thanks,
 Brad
 
 p.s. Here is the git log for the recent changes.
 
 $git log --no-merges 6791b4a3613aade07e3f11f765f1316faf03b113..
 
 commit 46f4125df47aeff9c42c9f2b3699c06e67ffaca9
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 31 14:25:13 2014 -0400
 
   ENH: adding TIFFImageIO test for RGB palette images
 
   Change-Id: I320acc8beac8225616451d11b291b1d7e12a17d0
 
 commit 9adc54c7f53b4da84a41f500d561ae494cb85158
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 24 13:42:02 2014 -0400
 
   BUG: Adding missing parentheses around boolean expression
 
   Change-Id: I669d160ff3ba830f3c33ac87de434db41472eb79
 
 commit 40afd95161727be3274f8094ce19fe45e2c3aa50
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Wed Oct 22 15:05:39 2014 -0400
 
   PERF: Refactor color table lookup
 
   Change to use a index lookup for the color and gray scale
   palettes. The remove excessive exception checking done on a per pixel
   basis with the GetColor method. Additionally the InitializeColor
   method was change do initialize the color palette variables.
 
   An exception no longer occurs when an index exceeds the number of
   entries in a palette. Instead a module operator is used to prevent
   out of bounds memory access.
 
   Change-Id: Ia62c65cd8b1be0d66c488540709a8fb961190cc9
 
 commit d98cbeb7206f6007f7d0c25fd4a4becad8973053
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 3 09:01:28 2014 -0400
 
   ENH: Refactor per pixel conversion function to per scan-line method
 
   This patch changes the implementation of conversion from the TIFF
   scanline buffer from a function call on each pixel to a function call
   per scanline. The enable efficient copying of similar scanline and
   better reuse of variables for palette look ups.
 
   This can increase the performance of reading grayscale

Re: [ITK-dev] TIFFImageIO refactoring, please test

2014-11-14 Thread Bradley Lowekamp
Bill,

Sorry for finding my answer so quickly after my prior e-mail. This method looks 
right:

int TIFFIsCODECConfigured(uint16 scheme);

http://www.remotesensing.org/libtiff/man/TIFFcodec.3tiff.html

Updating ITK...

Brad


On Nov 14, 2014, at 12:44 PM, Bill Lorensen bill.loren...@gmail.com wrote:

 I added that compression option to the possibilities
 
 
 On Fri, Nov 14, 2014 at 12:08 PM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Bill,
 
 Your images have an odd compression:
 
 $ tiffinfo
 /scratch/blowekamp/build/VTK/ExternalData/Testing/Data/libtiff/tiled_64x64_tiff_example.tif
 TIFF Directory at offset 0x81f6 (33270)
  Image Width: 256 Image Length: 256
  Tile Width: 64 Tile Length: 64
  Bits/Sample: 8
  Compression Scheme: AdobeDeflate
  Photometric Interpretation: min-is-black
  FillOrder: msb-to-lsb
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 1
  Rows/Strip: 256
  Planar Configuration: single image plane
  Page Number: 0-1
  DocumentName: foo.tif
  White Point: 0.3127-0.329
  PrimaryChromaticities:
 0.64,0.33,0.30,0.60,0.15,0.06
  Predictor: horizontal differencing 2 (0x2)
 
 This AdobeDeflate is not supported by the
 itk::TIFFImageIOInternal::CanRead method. This is what is causing the usage
 of TIFFRGBARead and not the fact that it's a tiled image.
 
 How is VTK handling this odd compression?
 
 Brad
 
 On Nov 14, 2014, at 11:09 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Yes, from the vtk tests. I created them with imagemagik
 
 
 On Fri, Nov 14, 2014 at 11:06 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Actually further reading the TIFFReadScanline documentation says that should
 not work for tiled images. So I guess it must be using the RGBA read method,
 but I am not sure how that is happening either.
 
 Are you used the tiled tiff images from the VTK tests?
 
 Brad
 
 
 On Nov 14, 2014, at 10:46 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Meant to say:
 Wow. The new itk tiff reader read my tiled images.
 
 
 On Fri, Nov 14, 2014 at 10:45 AM, Bill Lorensen bill.loren...@gmail.com
 wrote:
 
 Wow. The new itk tiff reader sad my tiled images.
 
 On Fri, Nov 14, 2014 at 10:25 AM, Bill Lorensen bill.loren...@gmail.com
 wrote:
 
 There is a TIFFReadTile call in lib tiff. I some tiled images I will
 try with the updated itk reader. I'll be really syprised if it works
 since reading tiled images is tricky and took quite a bit of code.
 
 I'll keep you posted.
 
 Bill
 
 On Fri, Nov 14, 2014 at 10:19 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Bill,
 
 There was a tile block of code before, but that was not covered, looked
 unreachable and was removed.
 
 Currently there are two ways that a tiff page can be read with the
 TIFFReadRGBAImageOriented, and with the TIFFReadScanline. The RGBA method
 from libtiff is fairly robust but reads the image into an RGBA buffer so is
 not memory efficient. Our custom method uses the scanline method [1], which
 should work with both stripped and tiled pages.
 
 But please test, and add a test? I'm not 100% if there is a test image for
 tiled images.
 
 Where the difference between stripped and tiled images would really matter
 is streaming, but that is not there...yet.
 
 Brad
 
 [1] http://www.remotesensing.org/libtiff/libtiff.html#scanlines
 
 
 On Nov 14, 2014, at 10:04 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Brad,
 
 I recently added tiled image reading to VTK's tiff reader. Do you
 think that would be useful in IUTK. I don't know how often tiled tiff
 images are encountered.
 
 BTW I do not mean tiled pyramid tiff images.
 
 Bill
 
 On Fri, Nov 14, 2014 at 9:53 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Greetings,
 
 I have recently refactored ITK's TIFFImageIO to remove a significant amount
 of dead code, and improve performance up to 3-5X. A number of bug related to
 reading BigTIFF files have been addressed. Additionally, Tiff tags are now
 place into the Meta-DataDictionary to allow access to additional TIFF fields
 such as OME-XML tags ( Originally contributed by Richard Beare
 http://www.insight-journal.org/browse/publication/728 ).
 
 Significant performance improvements were made to both scalar images and
 palette images. Handling of certain orientations are now better handled,
 while not changing how the default TOPLEFT orientation is loaded or written.
 There were a number of cases which appear unreachable and illogical such as
 support from Zeiss two-componet types, and support for some type of SGI
 tiled tiff as a 3D image. These were removed.
 
 If you are an active user of TIFF images with ITK, please checkout the
 latest ITK master and test the refactored TIFFImageIO.
 
 Thanks,
 Brad
 
 p.s. Here is the git log for the recent changes.
 
 $git log --no-merges 6791b4a3613aade07e3f11f765f1316faf03b113..
 
 commit 46f4125df47aeff9c42c9f2b3699c06e67ffaca9
 Author: Bradley Lowekamp blowek...@mail.nih.gov
 Date:   Fri Oct 31 14:25:13 2014 -0400
 
 ENH

Re: [ITK-dev] TIFFImageIO refactoring, please test

2014-11-14 Thread Bradley Lowekamp
Bill,

There are quite a number of possible compression types which can be used in a 
tiff file[1]. Some of these are enabled/disable at compilation time based in 
what external libraries are used. These are defined with preprocessor 
directives in the tiff configuration file[2]. Ideally CanRead should some how 
query libtiff about support for this... I am looking for some type of 
documentation now...


Brad


[1] http://www.awaresystems.be/imaging/tiff/tifftags/compression.html
[2] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/ThirdParty/TIFF/src/itktiff/tif_config.h.in#L218

On Nov 14, 2014, at 12:44 PM, Bill Lorensen bill.loren...@gmail.com wrote:

 I added that compression option to the possibilities
 
 
 On Fri, Nov 14, 2014 at 12:08 PM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Bill,
 
 Your images have an odd compression:
 
 $ tiffinfo
 /scratch/blowekamp/build/VTK/ExternalData/Testing/Data/libtiff/tiled_64x64_tiff_example.tif
 TIFF Directory at offset 0x81f6 (33270)
  Image Width: 256 Image Length: 256
  Tile Width: 64 Tile Length: 64
  Bits/Sample: 8
  Compression Scheme: AdobeDeflate
  Photometric Interpretation: min-is-black
  FillOrder: msb-to-lsb
  Orientation: row 0 top, col 0 lhs
  Samples/Pixel: 1
  Rows/Strip: 256
  Planar Configuration: single image plane
  Page Number: 0-1
  DocumentName: foo.tif
  White Point: 0.3127-0.329
  PrimaryChromaticities:
 0.64,0.33,0.30,0.60,0.15,0.06
  Predictor: horizontal differencing 2 (0x2)
 
 This AdobeDeflate is not supported by the
 itk::TIFFImageIOInternal::CanRead method. This is what is causing the usage
 of TIFFRGBARead and not the fact that it's a tiled image.
 
 How is VTK handling this odd compression?
 
 Brad
 
 On Nov 14, 2014, at 11:09 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Yes, from the vtk tests. I created them with imagemagik
 
 
 On Fri, Nov 14, 2014 at 11:06 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Actually further reading the TIFFReadScanline documentation says that should
 not work for tiled images. So I guess it must be using the RGBA read method,
 but I am not sure how that is happening either.
 
 Are you used the tiled tiff images from the VTK tests?
 
 Brad
 
 
 On Nov 14, 2014, at 10:46 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Meant to say:
 Wow. The new itk tiff reader read my tiled images.
 
 
 On Fri, Nov 14, 2014 at 10:45 AM, Bill Lorensen bill.loren...@gmail.com
 wrote:
 
 Wow. The new itk tiff reader sad my tiled images.
 
 On Fri, Nov 14, 2014 at 10:25 AM, Bill Lorensen bill.loren...@gmail.com
 wrote:
 
 There is a TIFFReadTile call in lib tiff. I some tiled images I will
 try with the updated itk reader. I'll be really syprised if it works
 since reading tiled images is tricky and took quite a bit of code.
 
 I'll keep you posted.
 
 Bill
 
 On Fri, Nov 14, 2014 at 10:19 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Bill,
 
 There was a tile block of code before, but that was not covered, looked
 unreachable and was removed.
 
 Currently there are two ways that a tiff page can be read with the
 TIFFReadRGBAImageOriented, and with the TIFFReadScanline. The RGBA method
 from libtiff is fairly robust but reads the image into an RGBA buffer so is
 not memory efficient. Our custom method uses the scanline method [1], which
 should work with both stripped and tiled pages.
 
 But please test, and add a test? I'm not 100% if there is a test image for
 tiled images.
 
 Where the difference between stripped and tiled images would really matter
 is streaming, but that is not there...yet.
 
 Brad
 
 [1] http://www.remotesensing.org/libtiff/libtiff.html#scanlines
 
 
 On Nov 14, 2014, at 10:04 AM, Bill Lorensen bill.loren...@gmail.com wrote:
 
 Brad,
 
 I recently added tiled image reading to VTK's tiff reader. Do you
 think that would be useful in IUTK. I don't know how often tiled tiff
 images are encountered.
 
 BTW I do not mean tiled pyramid tiff images.
 
 Bill
 
 On Fri, Nov 14, 2014 at 9:53 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 
 Greetings,
 
 I have recently refactored ITK's TIFFImageIO to remove a significant amount
 of dead code, and improve performance up to 3-5X. A number of bug related to
 reading BigTIFF files have been addressed. Additionally, Tiff tags are now
 place into the Meta-DataDictionary to allow access to additional TIFF fields
 such as OME-XML tags ( Originally contributed by Richard Beare
 http://www.insight-journal.org/browse/publication/728 ).
 
 Significant performance improvements were made to both scalar images and
 palette images. Handling of certain orientations are now better handled,
 while not changing how the default TOPLEFT orientation is loaded or written.
 There were a number of cases which appear unreachable and illogical such as
 support from Zeiss two-componet types, and support for some type of SGI
 tiled tiff as a 3D image. These were removed.
 
 If you are an active user

Re: [ITK-dev] image and deformation field physical space check

2014-11-05 Thread Bradley Lowekamp
Brian,

This does not look like a simplified test case to illustrate the problem. Also 
it didn't work for me:

[blowekamp@malawi  PhysicalSpaceError]$ ./reg_subject_deform.sh 
antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ , 
deformed.nii.gz ] -r [ , , 1] -t Rigid[0.1] -m MI[ , , 1, 32, Regular, 0.25] -c 
[200x100x50,1e-8,10] -f 6x4x2 -s 4x3x1vox -t Affine[0.1] -m MI[ , , 1, 32, 
Regular, 0.25] -c [100x100x50x10,1e-8,10] -f 4x4x2x1 -s 4x2x1x0vox -t 
SyN[0.2,3,0] -m CC[, , 1, 2] -c [40x50x30,1e-9,10] -f 4x2x1 -s 2x1x0vox
All_Command_lines_OK
Using single precision for computations.
 bad file name 
Exception Object caught: 

itk::ExceptionObject (0x7fcb90f1ca88)
Location: virtual void 
itk::CenteredTransformInitializeritk::Euler3DTransformfloat, 
itk::Imagefloat, 3, itk::Imagefloat, 3 ::InitializeTransform() [TTransform 
= itk::Euler3DTransformfloat, TFixedImage = itk::Imagefloat, 3, 
TMovingImage = itk::Imagefloat, 3] 
File: 
/scratch/blowekamp/build/ANTS/ITKv4-install/include/ITK-4.7/itkCenteredTransformInitializer.hxx
Line: 42
Description: itk::ERROR: CenteredTransformInitializer(0x7fcb90f1c4b0): Fixed 
Image has not been set

Brad

On Nov 4, 2014, at 3:37 PM, brian avants stn...@gmail.com wrote:

 this example exhibits the problematic behavior (CentOS release 6.3 )
 
 https://copy.com/6imJcj9ZuAGoQVtG
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:54 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 
 Was it just the DisplacementFieldTransform being the problem or was it other 
 filters in general and randomly?
 
 The proposed new variable should be a static member variable of 
 ImageToImageFilter, hence the term global. It would be used to set the value 
 here, instead of a constant [1]. This is similar to the 
 GlobalDefaultNumberOfThreaders, as it effects the initial value for all new 
 filters. The complication is that this base class is templated, and this 
 global need to transcend the templates. A similar things was done with the 
 ImageSource class by adding a second private parent without templates [2], 
 [3]. The complexity there with lazy initialization is not needed for this 
 case, as we just have a simple float. Additionally I have developed a 
 preference for private namespace local statics for this type of case, as it 
 produces a cleaner symbol table for shared libraries.
 
 Clearly for the DisplacementField, the tolerance variables should be exposed 
 similarly as done in the ImageToImageFilter. And it could pull the default 
 from the variable from above, however getting the default for a transform 
 from a filter may not make since.
 
 
 
 
 [1] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 [2] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageSource.h#L50-L87
 [3] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/src/itkImageSource.cxx#L27-L46
 
 
 
 On Nov 4, 2014, at 9:28 AM, brian avants stn...@gmail.com wrote:
 
 so - just to be clear ... same thing needs to be done here:
 
 ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h
 
 and how does Get/SetGlobalDefault  differ from  Set/GetCoordinateTolerance  
 Set/GetDirectionTolerance  
 
 which already exists in the image to image filter (but not displacement 
 field)?
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:26 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 I agree that would be good.
 
 The other thing which can be done concurrently is add the 
 ImageToImageFilter::Get/SetGlobalDefault methods. Any one want to volunteer 
 for that one?
 
 Brad
 
 On Nov 4, 2014, at 9:21 AM, brian avants stn...@gmail.com wrote:
 
 i guess the next step is to dig up a couple of examples of this behavior 
 and post them somewhere.   
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:14 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 That is a question: why is an exact copy not happening? Is is due to 
 runtime errors or accumulation of errors during IO?
 
 Brad
 
 
 On Nov 4, 2014, at 3:51 AM, m.star...@lumc.nl m.star...@lumc.nl wrote:
 
  Hi all,
 
  Would it be possible to fix this issue by passing the physical space by 
  reference, or by performing an exact copy?
 
  Regards, Marius
 
  -Original Message-
  From: Insight-developers [mailto:insight-developers-boun...@itk.org] On
  Behalf Of Matt McCormick
  Sent: maandag 3 november 2014 18:39
  To: brian avants
  Cc: Insight-developers@itk.org
  Subject: Re: [ITK-dev] image and deformation field physical space check
 
  Hi Brian,
 
  Thanks for discussing this.
 
  I think a combination of fixing the underlying issue that is being 
  brought up by
  the exception, relaxing the tolerance, and improving the documentation 
  is a
  good approach.
 
  2 cents,
  Matt
 
  On Mon, Nov 3, 2014 at 11:40

Re: [ITK-dev] image and deformation field physical space check

2014-11-05 Thread Bradley Lowekamp
Ahh yes, I see that in your original e-mail... I guess after downloading and 
building ANTs I forgot to go back to the original e-mail.

This looks like a regular ANTs run not a minimal example to illustrate the 
problem. Can you please share what are the requirements to reproduce this 
problem and what you ruled out in the process of narrowing down the problem?

I am hoping for something a little more isolated or easier to run than a long 
running registration process. Are all the iteration needed? Do the images need 
to be this big for the problem? I was thinking this was an issue with how the 
meta-data was propagate, computed or manage. Which would imply it some what 
independent of the size of the image.

Thanks,
Brad

On Nov 5, 2014, at 9:34 AM, brian avants stn...@gmail.com wrote:

 just to be clear:   it should be called in this way
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 i could not find an itk test that covers the 3D case of multiple stages ... 
 if someone knows of one, let me know.
 
 
 brian
 
 
 
 On Wed, Nov 5, 2014 at 9:25 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Brian,
 
 This does not look like a simplified test case to illustrate the problem. 
 Also it didn't work for me:
 
 [blowekamp@malawi  PhysicalSpaceError]$ ./reg_subject_deform.sh 
 antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ , 
 deformed.nii.gz ] -r [ , , 1] -t Rigid[0.1] -m MI[ , , 1, 32, Regular, 0.25] 
 -c [200x100x50,1e-8,10] -f 6x4x2 -s 4x3x1vox -t Affine[0.1] -m MI[ , , 1, 32, 
 Regular, 0.25] -c [100x100x50x10,1e-8,10] -f 4x4x2x1 -s 4x2x1x0vox -t 
 SyN[0.2,3,0] -m CC[, , 1, 2] -c [40x50x30,1e-9,10] -f 4x2x1 -s 2x1x0vox
 All_Command_lines_OK
 Using single precision for computations.
  bad file name 
 Exception Object caught: 
 
 itk::ExceptionObject (0x7fcb90f1ca88)
 Location: virtual void 
 itk::CenteredTransformInitializeritk::Euler3DTransformfloat, 
 itk::Imagefloat, 3, itk::Imagefloat, 3 ::InitializeTransform() 
 [TTransform = itk::Euler3DTransformfloat, TFixedImage = itk::Imagefloat, 
 3, TMovingImage = itk::Imagefloat, 3] 
 File: 
 /scratch/blowekamp/build/ANTS/ITKv4-install/include/ITK-4.7/itkCenteredTransformInitializer.hxx
 Line: 42
 Description: itk::ERROR: CenteredTransformInitializer(0x7fcb90f1c4b0): Fixed 
 Image has not been set
 
 Brad
 
 On Nov 4, 2014, at 3:37 PM, brian avants stn...@gmail.com wrote:
 
 this example exhibits the problematic behavior (CentOS release 6.3 )
 
 https://copy.com/6imJcj9ZuAGoQVtG
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:54 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 
 Was it just the DisplacementFieldTransform being the problem or was it other 
 filters in general and randomly?
 
 The proposed new variable should be a static member variable of 
 ImageToImageFilter, hence the term global. It would be used to set the value 
 here, instead of a constant [1]. This is similar to the 
 GlobalDefaultNumberOfThreaders, as it effects the initial value for all new 
 filters. The complication is that this base class is templated, and this 
 global need to transcend the templates. A similar things was done with the 
 ImageSource class by adding a second private parent without templates [2], 
 [3]. The complexity there with lazy initialization is not needed for this 
 case, as we just have a simple float. Additionally I have developed a 
 preference for private namespace local statics for this type of case, as it 
 produces a cleaner symbol table for shared libraries.
 
 Clearly for the DisplacementField, the tolerance variables should be exposed 
 similarly as done in the ImageToImageFilter. And it could pull the default 
 from the variable from above, however getting the default for a transform 
 from a filter may not make since.
 
 
 
 
 [1] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 [2] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageSource.h#L50-L87
 [3] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/src/itkImageSource.cxx#L27-L46
 
 
 
 On Nov 4, 2014, at 9:28 AM, brian avants stn...@gmail.com wrote:
 
 so - just to be clear ... same thing needs to be done here:
 
 ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h
 
 and how does Get/SetGlobalDefault  differ from  Set/GetCoordinateTolerance  
 Set/GetDirectionTolerance  
 
 which already exists in the image to image filter (but not displacement 
 field)?
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:26 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 I agree that would be good.
 
 The other thing which can be done concurrently is add the 
 ImageToImageFilter::Get/SetGlobalDefault methods. Any one want to volunteer 
 for that one?
 
 Brad
 
 On Nov 4, 2014, at 9:21 AM, brian

Re: [ITK-dev] [ITK] image and deformation field physical space check

2014-11-05 Thread Bradley Lowekamp
Hello,

I narrowed this example down alittle bit, and reduce the size so that is can be 
debugged. Here is the command line I came up with:

cmd=antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ 
$OUTPUT_ROOT , ${OUTPUT_ROOT}deformed.nii.gz ] -r [ $FIXED, $MOVING, 1] -t 
Affine[0.1] -m MI[ $FIXED, $MOVING, 1, 32, Regular, 0.25] -c [100,1e-8,10] -f 4 
-s 4vox -t SyN[0.2,3,0] -m CC[$FIXED, $MOVING, 1, 2] -c [1x1,1e-9,10] -f 4x2 -s 
2x1vox


Having two stages in the SyN registration seems to be the critical parts.

Brad


On Nov 5, 2014, at 10:07 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:

 Ahh yes, I see that in your original e-mail... I guess after downloading and 
 building ANTs I forgot to go back to the original e-mail.
 
 This looks like a regular ANTs run not a minimal example to illustrate the 
 problem. Can you please share what are the requirements to reproduce this 
 problem and what you ruled out in the process of narrowing down the problem?
 
 I am hoping for something a little more isolated or easier to run than a long 
 running registration process. Are all the iteration needed? Do the images 
 need to be this big for the problem? I was thinking this was an issue with 
 how the meta-data was propagate, computed or manage. Which would imply it 
 some what independent of the size of the image.
 
 Thanks,
 Brad
 
 On Nov 5, 2014, at 9:34 AM, brian avants stn...@gmail.com wrote:
 
 just to be clear:   it should be called in this way
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 i could not find an itk test that covers the 3D case of multiple stages ... 
 if someone knows of one, let me know.
 
 
 brian
 
 
 
 On Wed, Nov 5, 2014 at 9:25 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Brian,
 
 This does not look like a simplified test case to illustrate the problem. 
 Also it didn't work for me:
 
 [blowekamp@malawi  PhysicalSpaceError]$ ./reg_subject_deform.sh 
 antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ , 
 deformed.nii.gz ] -r [ , , 1] -t Rigid[0.1] -m MI[ , , 1, 32, Regular, 0.25] 
 -c [200x100x50,1e-8,10] -f 6x4x2 -s 4x3x1vox -t Affine[0.1] -m MI[ , , 1, 
 32, Regular, 0.25] -c [100x100x50x10,1e-8,10] -f 4x4x2x1 -s 4x2x1x0vox -t 
 SyN[0.2,3,0] -m CC[, , 1, 2] -c [40x50x30,1e-9,10] -f 4x2x1 -s 2x1x0vox
 All_Command_lines_OK
 Using single precision for computations.
  bad file name 
 Exception Object caught: 
 
 itk::ExceptionObject (0x7fcb90f1ca88)
 Location: virtual void 
 itk::CenteredTransformInitializeritk::Euler3DTransformfloat, 
 itk::Imagefloat, 3, itk::Imagefloat, 3 ::InitializeTransform() 
 [TTransform = itk::Euler3DTransformfloat, TFixedImage = itk::Imagefloat, 
 3, TMovingImage = itk::Imagefloat, 3] 
 File: 
 /scratch/blowekamp/build/ANTS/ITKv4-install/include/ITK-4.7/itkCenteredTransformInitializer.hxx
 Line: 42
 Description: itk::ERROR: CenteredTransformInitializer(0x7fcb90f1c4b0): Fixed 
 Image has not been set
 
 Brad
 
 On Nov 4, 2014, at 3:37 PM, brian avants stn...@gmail.com wrote:
 
 this example exhibits the problematic behavior (CentOS release 6.3 )
 
 https://copy.com/6imJcj9ZuAGoQVtG
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:54 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 
 Was it just the DisplacementFieldTransform being the problem or was it 
 other filters in general and randomly?
 
 The proposed new variable should be a static member variable of 
 ImageToImageFilter, hence the term global. It would be used to set the 
 value here, instead of a constant [1]. This is similar to the 
 GlobalDefaultNumberOfThreaders, as it effects the initial value for all new 
 filters. The complication is that this base class is templated, and this 
 global need to transcend the templates. A similar things was done with the 
 ImageSource class by adding a second private parent without templates [2], 
 [3]. The complexity there with lazy initialization is not needed for this 
 case, as we just have a simple float. Additionally I have developed a 
 preference for private namespace local statics for this type of case, as it 
 produces a cleaner symbol table for shared libraries.
 
 Clearly for the DisplacementField, the tolerance variables should be 
 exposed similarly as done in the ImageToImageFilter. And it could pull the 
 default from the variable from above, however getting the default for a 
 transform from a filter may not make since.
 
 
 
 
 [1] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 [2] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageSource.h#L50-L87
 [3] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/src/itkImageSource.cxx#L27-L46
 
 
 
 On Nov 4, 2014, at 9:28 AM, brian avants stn...@gmail.com wrote:
 
 so - just to be clear ... same

Re: [ITK-dev] [ITK] image and deformation field physical space check

2014-11-05 Thread Bradley Lowekamp
Brian,

The first think I see is that the failure is dependent on the usage of 
-float, which I believe changes the parameter type to be float. This also 
makes the fixed parameters float. For the BSpline and Displacement field 
transform the origin, spacing, orientation are not stored as floats resulting 
in a loss of precision. The problem particularly occurs with the 
TransformAdaptors which sets these values. While this error is not egregious, 
it is minor flaw which should be addressed. 

The Adaptors should be setting this information with double precision and not 
float.

Brad


On Nov 5, 2014, at 11:58 AM, brian avants stn...@gmail.com wrote:

 That's great - very helpful 
 
 I also found ( not sure if you can reproduce ) that if I do:
 
 MultiplyImages 3 S10.nii.gz 1 S10b.nii.gz 
 MultiplyImages 3 KKI2009-11-t1weighted.nii.gz 1 KKI2009-11-t1weightedb.nii.gz
 
 and then run 
 
 
 ./reg_subject_deform.sh S10b.nii.gz KKI2009-11-t1weightedb.nii.gz TEST
 
 it seems to work ok ... this was originally suggested by phil cook.
 
 all multiplyimages does, as it suggests, is multiply by a scalar / convert to 
 floating point type.   
 
 not sure if this is illuminating, yet ... but a little more info.
 
 
 
 
 
 brian
 
 
 
 On Wed, Nov 5, 2014 at 11:55 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Hello,
 
 I narrowed this example down alittle bit, and reduce the size so that is can 
 be debugged. Here is the command line I came up with:
 
 cmd=antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ 
 $OUTPUT_ROOT , ${OUTPUT_ROOT}deformed.nii.gz ] -r [ $FIXED, $MOVING, 1] -t 
 Affine[0.1] -m MI[ $FIXED, $MOVING, 1, 32, Regular, 0.25] -c [100,1e-8,10] -f 
 4 -s 4vox -t SyN[0.2,3,0] -m CC[$FIXED, $MOVING, 1, 2] -c [1x1,1e-9,10] -f 
 4x2 -s 2x1vox
 
 
 Having two stages in the SyN registration seems to be the critical parts.
 
 Brad
 
 
 On Nov 5, 2014, at 10:07 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:
 
 Ahh yes, I see that in your original e-mail... I guess after downloading and 
 building ANTs I forgot to go back to the original e-mail.
 
 This looks like a regular ANTs run not a minimal example to illustrate the 
 problem. Can you please share what are the requirements to reproduce this 
 problem and what you ruled out in the process of narrowing down the problem?
 
 I am hoping for something a little more isolated or easier to run than a 
 long running registration process. Are all the iteration needed? Do the 
 images need to be this big for the problem? I was thinking this was an issue 
 with how the meta-data was propagate, computed or manage. Which would imply 
 it some what independent of the size of the image.
 
 Thanks,
 Brad
 
 On Nov 5, 2014, at 9:34 AM, brian avants stn...@gmail.com wrote:
 
 just to be clear:   it should be called in this way
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 i could not find an itk test that covers the 3D case of multiple stages ... 
 if someone knows of one, let me know.
 
 
 brian
 
 
 
 On Wed, Nov 5, 2014 at 9:25 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Brian,
 
 This does not look like a simplified test case to illustrate the problem. 
 Also it didn't work for me:
 
 [blowekamp@malawi  PhysicalSpaceError]$ ./reg_subject_deform.sh 
 antsRegistration -d 3 --float 1 -u 1 -w [0.005, 0.995] -z 1 -o [ , 
 deformed.nii.gz ] -r [ , , 1] -t Rigid[0.1] -m MI[ , , 1, 32, Regular, 
 0.25] -c [200x100x50,1e-8,10] -f 6x4x2 -s 4x3x1vox -t Affine[0.1] -m MI[ , 
 , 1, 32, Regular, 0.25] -c [100x100x50x10,1e-8,10] -f 4x4x2x1 -s 4x2x1x0vox 
 -t SyN[0.2,3,0] -m CC[, , 1, 2] -c [40x50x30,1e-9,10] -f 4x2x1 -s 2x1x0vox
 All_Command_lines_OK
 Using single precision for computations.
  bad file name 
 Exception Object caught: 
 
 itk::ExceptionObject (0x7fcb90f1ca88)
 Location: virtual void 
 itk::CenteredTransformInitializeritk::Euler3DTransformfloat, 
 itk::Imagefloat, 3, itk::Imagefloat, 3 ::InitializeTransform() 
 [TTransform = itk::Euler3DTransformfloat, TFixedImage = itk::Imagefloat, 
 3, TMovingImage = itk::Imagefloat, 3] 
 File: 
 /scratch/blowekamp/build/ANTS/ITKv4-install/include/ITK-4.7/itkCenteredTransformInitializer.hxx
 Line: 42
 Description: itk::ERROR: CenteredTransformInitializer(0x7fcb90f1c4b0): 
 Fixed Image has not been set
 
 Brad
 
 On Nov 4, 2014, at 3:37 PM, brian avants stn...@gmail.com wrote:
 
 this example exhibits the problematic behavior (CentOS release 6.3 )
 
 https://copy.com/6imJcj9ZuAGoQVtG
 
 reg_subject_deform.sh  KKI2009-11-t1weighted.nii.gz S10.nii.gz TEST
 
 
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:54 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 
 Was it just the DisplacementFieldTransform being the problem or was it 
 other filters in general and randomly?
 
 The proposed new variable should be a static member variable of 
 ImageToImageFilter, hence the term global. It would be used to set the 
 value here, instead of a constant [1]. This is similar

Re: [ITK-dev] [ITK] image and deformation field physical space check

2014-11-05 Thread Bradley Lowekamp
I'll pick up this issue of adding these new methods to better control the 
tolerances.

Brad
On Nov 4, 2014, at 9:54 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:

 
 Was it just the DisplacementFieldTransform being the problem or was it other 
 filters in general and randomly?
 
 The proposed new variable should be a static member variable of 
 ImageToImageFilter, hence the term global. It would be used to set the value 
 here, instead of a constant [1]. This is similar to the 
 GlobalDefaultNumberOfThreaders, as it effects the initial value for all new 
 filters. The complication is that this base class is templated, and this 
 global need to transcend the templates. A similar things was done with the 
 ImageSource class by adding a second private parent without templates [2], 
 [3]. The complexity there with lazy initialization is not needed for this 
 case, as we just have a simple float. Additionally I have developed a 
 preference for private namespace local statics for this type of case, as it 
 produces a cleaner symbol table for shared libraries.
 
 Clearly for the DisplacementField, the tolerance variables should be exposed 
 similarly as done in the ImageToImageFilter. And it could pull the default 
 from the variable from above, however getting the default for a transform 
 from a filter may not make since.
 
 
 
 
 [1] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 [2] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageSource.h#L50-L87
 [3] 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/src/itkImageSource.cxx#L27-L46
 
 
 On Nov 4, 2014, at 9:28 AM, brian avants stn...@gmail.com wrote:
 
 so - just to be clear ... same thing needs to be done here:
 
 ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h
 
 and how does Get/SetGlobalDefault  differ from  Set/GetCoordinateTolerance  
 Set/GetDirectionTolerance  
 
 which already exists in the image to image filter (but not displacement 
 field)?
 
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:26 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 I agree that would be good.
 
 The other thing which can be done concurrently is add the 
 ImageToImageFilter::Get/SetGlobalDefault methods. Any one want to volunteer 
 for that one?
 
 Brad
 
 On Nov 4, 2014, at 9:21 AM, brian avants stn...@gmail.com wrote:
 
 i guess the next step is to dig up a couple of examples of this behavior 
 and post them somewhere.   
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:14 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 That is a question: why is an exact copy not happening? Is is due to 
 runtime errors or accumulation of errors during IO?
 
 Brad
 
 
 On Nov 4, 2014, at 3:51 AM, m.star...@lumc.nl m.star...@lumc.nl wrote:
 
  Hi all,
 
  Would it be possible to fix this issue by passing the physical space by 
  reference, or by performing an exact copy?
 
  Regards, Marius
 
  -Original Message-
  From: Insight-developers [mailto:insight-developers-boun...@itk.org] On
  Behalf Of Matt McCormick
  Sent: maandag 3 november 2014 18:39
  To: brian avants
  Cc: Insight-developers@itk.org
  Subject: Re: [ITK-dev] image and deformation field physical space check
 
  Hi Brian,
 
  Thanks for discussing this.
 
  I think a combination of fixing the underlying issue that is being 
  brought up by
  the exception, relaxing the tolerance, and improving the documentation 
  is a
  good approach.
 
  2 cents,
  Matt
 
  On Mon, Nov 3, 2014 at 11:40 AM, brian avants stn...@gmail.com wrote:
  This email is motivated by this issue:
 
  https://github.com/stnava/ANTs/issues/74
 
  but it is not isolated to ants.   Worth a read for additional context.
 
  ITK currently enforces a relatively strict check that image and
  displacement fields occupy the same physical space.  However, for
  some unclear (to me) reasons, the direction matrices or origins of
  images can lose precision when passing through ITK pipelines (
  especially through resampling or resolution-changing filters ).  This
  results in filters aborting and this can occur at various different
  places in a complex series of ITK-based operations.
 
  My concern with this is that it can lead to a very severe loss of
  productivity when this somewhat unpredictable error occurs.   For 
  instance,
  a user downloads a toolkit based on ITK ( itk-snap, ants, elastic,
  brainsfit, joint label fusion, etc).   The user expects registration or
  segmentation filters to work well especially when the data is of a
  standard sort.   Then, after some oft-substantial execution time, this
  mysterious error appears:
 
  itk::ERROR: ImageToImageFilter(0x7fb3b2307ac0): Inputs do not occupy
  the same physical space!
 
 
  While I am all for correctness, when the impact on productivity exceeds 
  a
  certain threshold, I think

Re: [ITK-dev] image and deformation field physical space check

2014-11-04 Thread Bradley Lowekamp
I agree that would be good.

The other thing which can be done concurrently is add the 
ImageToImageFilter::Get/SetGlobalDefault methods. Any one want to volunteer for 
that one?

Brad

On Nov 4, 2014, at 9:21 AM, brian avants stn...@gmail.com wrote:

 i guess the next step is to dig up a couple of examples of this behavior and 
 post them somewhere.   
 
 
 brian
 
 
 
 On Tue, Nov 4, 2014 at 9:14 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 That is a question: why is an exact copy not happening? Is is due to runtime 
 errors or accumulation of errors during IO?
 
 Brad
 
 
 On Nov 4, 2014, at 3:51 AM, m.star...@lumc.nl m.star...@lumc.nl wrote:
 
  Hi all,
 
  Would it be possible to fix this issue by passing the physical space by 
  reference, or by performing an exact copy?
 
  Regards, Marius
 
  -Original Message-
  From: Insight-developers [mailto:insight-developers-boun...@itk.org] On
  Behalf Of Matt McCormick
  Sent: maandag 3 november 2014 18:39
  To: brian avants
  Cc: Insight-developers@itk.org
  Subject: Re: [ITK-dev] image and deformation field physical space check
 
  Hi Brian,
 
  Thanks for discussing this.
 
  I think a combination of fixing the underlying issue that is being brought 
  up by
  the exception, relaxing the tolerance, and improving the documentation is a
  good approach.
 
  2 cents,
  Matt
 
  On Mon, Nov 3, 2014 at 11:40 AM, brian avants stn...@gmail.com wrote:
  This email is motivated by this issue:
 
  https://github.com/stnava/ANTs/issues/74
 
  but it is not isolated to ants.   Worth a read for additional context.
 
  ITK currently enforces a relatively strict check that image and
  displacement fields occupy the same physical space.  However, for
  some unclear (to me) reasons, the direction matrices or origins of
  images can lose precision when passing through ITK pipelines (
  especially through resampling or resolution-changing filters ).  This
  results in filters aborting and this can occur at various different
  places in a complex series of ITK-based operations.
 
  My concern with this is that it can lead to a very severe loss of
  productivity when this somewhat unpredictable error occurs.   For 
  instance,
  a user downloads a toolkit based on ITK ( itk-snap, ants, elastic,
  brainsfit, joint label fusion, etc).   The user expects registration or
  segmentation filters to work well especially when the data is of a
  standard sort.   Then, after some oft-substantial execution time, this
  mysterious error appears:
 
  itk::ERROR: ImageToImageFilter(0x7fb3b2307ac0): Inputs do not occupy
  the same physical space!
 
 
  While I am all for correctness, when the impact on productivity exceeds a
  certain threshold, I think it is useful to bend the rules a bit.   Perhaps
  one of these would improve the situation:
 
  1)change:
 
  ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementField
  Transform.hxx
 
  and
 
  ITKv4/Modules/Core/Common/include/itkImageToImageFilter.hxx
 
  changing direction tolerance and coordinate tolerance to 1.e-4
 
  https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/F
  iltering/DisplacementField/include/itkDisplacementFieldTransform.hxx#L
  454-L457
 
  https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/C
  ore/Common/include/itkImageToImageFilter.hxx#L40-L41
 
  and change the documentation too:
 
  https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/C
  ore/Common/include/itkImageToImageFilter.h#L76-L87
 
  2)  Change the exception to a warning.  This would at least allow
  complex pipelines to execute while notifying the user of a possible issue.
 
  3)  Document all of the places that the user/developer should call:
 
  Set/GetCoordinateTolerance  Set/GetDirectionTolerance  .
 
  This last solution would require adding Set/GetCoordinate and
  Direction tolerance to:
 
  https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/F
  iltering/DisplacementField/include/itkDisplacementFieldTransform.h
 
  as well, for consistency.
 
  Anyway, I raise this issue b/c of the many man and computer hours lost
  by this check.
 
  Not once has this check actually helped us, in any measurable way,
  avoid errors.
 
 
 
  ___
  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
 
  ___
  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

Re: [ITK-dev] image and deformation field physical space check

2014-11-03 Thread Bradley Lowekamp
Nick,


Wouldn't a settable global default value be preferred? ie. 
Set/GetGlobalDefaultCoordinateTolerance.

Adding yet another CMake variable is rarely preferred, IMHO. 


Also, you mention in the ANTs issue, that it may be related to specific filters 
such as the Shrink filter. Do you have more specifics or reproducible sequence 
for this? There are some complexities with how some of the multi-scale filters 
compute the changing origin, it would not surprise me if there is a minor bug 
some place for certain more complex images.

Also related does the nifti file format store this information as doubles or 
floats?

Brad

On Nov 3, 2014, at 11:44 AM, Nicholas Tustison ntusti...@gmail.com wrote:

 Added to this list of suggestions, would it be possible to set a tolerance
 in the list of cmake options?
 
 Nick
 
 
 
 On Nov 3, 2014, at 8:40 AM, brian avants stn...@gmail.com wrote:
 
 This email is motivated by this issue:
 
 https://github.com/stnava/ANTs/issues/74
 
 but it is not isolated to ants.   Worth a read for additional context.
 
 ITK currently enforces a relatively strict check that image and displacement 
 fields occupy the same physical space.  However, for some unclear (to me) 
 reasons, the direction matrices or origins of images can lose precision when 
 passing through ITK pipelines ( especially through resampling or 
 resolution-changing filters ).  This results in filters aborting and this 
 can occur at various different places in a complex series of ITK-based 
 operations.   
 
 My concern with this is that it can lead to a very severe loss of 
 productivity when this somewhat unpredictable error occurs.   For instance, 
 a user downloads a toolkit based on ITK ( itk-snap, ants, elastic, 
 brainsfit, joint label fusion, etc).   The user expects registration or 
 segmentation filters to work well especially when the data is of a 
 standard sort.   Then, after some oft-substantial execution time, this 
 mysterious error appears:
 
 itk::ERROR: ImageToImageFilter(0x7fb3b2307ac0): Inputs do not occupy the 
 same physical space!
 
 While I am all for correctness, when the impact on productivity exceeds a 
 certain threshold, I think it is useful to bend the rules a bit.   Perhaps 
 one of these would improve the situation:
 
 1)change:
 
 ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.hxx
 
 and
 
 ITKv4/Modules/Core/Common/include/itkImageToImageFilter.hxx
 
 changing direction tolerance and coordinate tolerance to 1.e-4
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.hxx#L454-L457
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 
 and change the documentation too:
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.h#L76-L87
 
 2)  Change the exception to a warning.  This would at least allow complex 
 pipelines to execute while notifying the user of a possible issue.
 
 3)  Document all of the places that the user/developer should call:
 
 Set/GetCoordinateTolerance  Set/GetDirectionTolerance  .
 
 This last solution would require adding Set/GetCoordinate and Direction 
 tolerance to:
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h
 
 as well, for consistency. 
 
 Anyway, I raise this issue b/c of the many man and computer hours lost by 
 this check.
 
 Not once has this check actually helped us, in any measurable way, avoid 
 errors.
 
 
 ___
 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
 
 ___
 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

___
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:

Re: [ITK-dev] image and deformation field physical space check

2014-11-03 Thread Bradley Lowekamp
Brian,

I was thinking that those methods should be added to the ImageToImageFilter.

While the Displacement filter can certainly use those values. I would like to 
further consider that that is an issue with the way the displacement fields are 
created.

I have discussed with Hans the correctness of preserving the center vs 
preserving the location before with the shrink image filters. I have a patch 
with an alternative approach (which I thought I had done as a optional flag) 
[1],

I have a thought that the ShrinkFilter and adaptor used to scale the 
displacement fields aren't symmetric. This will need exploration.. but if this 
error is as common as is indicated, then I am suspicious.

Brad


[1] http://review.source.kitware.com/#/c/8179/1
 
On Nov 3, 2014, at 12:04 PM, brian avants stn...@gmail.com wrote:

 Brad, 
 
 I think that you are right in suggesting that nifti is particularly 
 susceptible to this.  But I dont know the data type.  
 
 Where would the global Set/GetGlobalDefaultCoordinateTolerance (and 
 Set/GetGlobalDefaultDirectionTolerance ) exist?  I would be happy if they 
 could be called once within a given code base ( like Nick's suggestion ) but 
 it might be ok to call once for each executable.  
 
 
 brian
 
 
 
 On Mon, Nov 3, 2014 at 11:59 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Nick,
 
 
 Wouldn't a settable global default value be preferred? ie. 
 Set/GetGlobalDefaultCoordinateTolerance.
 
 Adding yet another CMake variable is rarely preferred, IMHO. 
 
 
 Also, you mention in the ANTs issue, that it may be related to specific 
 filters such as the Shrink filter. Do you have more specifics or reproducible 
 sequence for this? There are some complexities with how some of the 
 multi-scale filters compute the changing origin, it would not surprise me if 
 there is a minor bug some place for certain more complex images.
 
 Also related does the nifti file format store this information as doubles or 
 floats?
 
 Brad
 
 On Nov 3, 2014, at 11:44 AM, Nicholas Tustison ntusti...@gmail.com wrote:
 
 Added to this list of suggestions, would it be possible to set a tolerance
 in the list of cmake options?
 
 Nick
 
 
 
 On Nov 3, 2014, at 8:40 AM, brian avants stn...@gmail.com wrote:
 
 This email is motivated by this issue:
 
 https://github.com/stnava/ANTs/issues/74
 
 but it is not isolated to ants.   Worth a read for additional context.
 
 ITK currently enforces a relatively strict check that image and 
 displacement fields occupy the same physical space.  However, for some 
 unclear (to me) reasons, the direction matrices or origins of images can 
 lose precision when passing through ITK pipelines ( especially through 
 resampling or resolution-changing filters ).  This results in filters 
 aborting and this can occur at various different places in a complex series 
 of ITK-based operations.   
 
 My concern with this is that it can lead to a very severe loss of 
 productivity when this somewhat unpredictable error occurs.   For instance, 
 a user downloads a toolkit based on ITK ( itk-snap, ants, elastic, 
 brainsfit, joint label fusion, etc).   The user expects registration or 
 segmentation filters to work well especially when the data is of a 
 standard sort.   Then, after some oft-substantial execution time, this 
 mysterious error appears:
 
 itk::ERROR: ImageToImageFilter(0x7fb3b2307ac0): Inputs do not occupy the 
 same physical space!
 
 While I am all for correctness, when the impact on productivity exceeds a 
 certain threshold, I think it is useful to bend the rules a bit.   Perhaps 
 one of these would improve the situation:
 
 1)change:
 
 ITKv4/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.hxx
 
 and
 
 ITKv4/Modules/Core/Common/include/itkImageToImageFilter.hxx
 
 changing direction tolerance and coordinate tolerance to 1.e-4
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.hxx#L454-L457
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.hxx#L40-L41
 
 and change the documentation too:
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Core/Common/include/itkImageToImageFilter.h#L76-L87
 
 2)  Change the exception to a warning.  This would at least allow complex 
 pipelines to execute while notifying the user of a possible issue.
 
 3)  Document all of the places that the user/developer should call:
 
 Set/GetCoordinateTolerance  Set/GetDirectionTolerance  .
 
 This last solution would require adding Set/GetCoordinate and Direction 
 tolerance to:
 
 https://github.com/InsightSoftwareConsortium/ITK/blob/master/Modules/Filtering/DisplacementField/include/itkDisplacementFieldTransform.h
 
 as well, for consistency. 
 
 Anyway, I raise this issue b/c of the many man and computer hours lost by 
 this check.
 
 Not once has this check actually helped us

[ITK-dev] Linux CDash@home build missing

2014-09-29 Thread Bradley Lowekamp
Matt,

 I haven't seen the Linux CDash@Home robot for a while now.

Does it need to be persuaded to resume building and testing our gerrit patches?

Thanks,
Brad
___
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


Re: [ITK-dev] Patches for v4.6.1

2014-09-25 Thread Bradley Lowekamp
This minor one too, fixes something that was merged into release last week:

http://review.source.kitware.com/#/c/17202/

On Sep 25, 2014, at 10:29 AM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi,
 
 We currently have the patches below on the release branch for the
 v4.6.1 release.  Are there any patches missing?
 
 Thanks,
 Matt
 
 
 Arnaud Gelas (3):
  BUG: fix gdcm version in GDCMImageIO.
  COMP: missing cast when calling gdcm::DataElement::SetByteValue
  BUG: GDCMImageIO was not working properly when m_KeepOriginalUID is false
 
 Brad King (1):
  COMP: Fix vxl_config_macros usage of CMake check macros
 
 Bradley Lowekamp (7):
  ENH: Adding License file from upstream MetaIO
  ENH: Adding script to update MetaIO from upstream
  ENH: Remove ITK MetaIO to prepare for upstream import
  COMP: Fix variable type for Set/Get macros
  BUG: Use METER of sCAL scale unit
  BUG: Use PNG_SCALE_METER for PNG sCAL unit
  BUG: Fix overflows computing size of read tiff image
 
 Christopher Mullins (1):
  COMP: Allows latex to compile for ITKSoftwareGuide
 
 David T. Chen (1):
  DOC: Fixed HistogramThresholdImageFitler
 
 Gert Wollny (1):
  COMP: Fix SSE2 build errors with WrapITK on GCC 4.9. (ForRelease)
 
 Girish Mallya (1):
  BUG: Tests added for BinaryImageToLabelMapFilter for single-row images.
 
 Hans Johnson (12):
  COMP: Add tolerance for comparing floating point
  PERF: Remove non-threadable algorithm components
  PERF: Remove large foot print of PDF derivatives.
  PERF: Revert Remove large foot print of PDF derivatives.
  STYLE: Test against almost equal for floating point values
  STYLE: Non-exact floating point testing
  PERF: Distribute initialization per thread buffers
  ENH: Remove unnecessary mutable qualifier.
  STYLE: Remove comment with no meaning.
  ENH: Moved accumlator logic to main MI class
  ENH: Allow staggering of accumulations per thread.
  PERF: Zero reset thread buffers during finalize
 
 KWSys Robot (2):
  KWSys 2014-07-18 (65b36ede)
  KWSys 2014-08-04 (e787837a)
 
 Matthew McCormick (30):
  BUG: ArchiveTestingData.py future imports must occur at the beginning.
  DOC: Remove Image2.cxx reference from Book 2.
  DOC: Fix Software Guide page overruns in IterativeClosestPoint3.cxx.
  DOC: Remove references to Book 1 sections from Book 2.
  DOC: Make BinaryThresholdImageFilter not floating.
  DOC: Fix Software Guide figure caption for FlipImageFilter.
  DOC: Avoid duplicate figure description in ResampleImageFilter2.cxx.
  DOC: Remove duplicate figure in
 LaplacianRecursiveGaussianImageFilter2.cxx.
  DOC: ImageRandomConstIteratorWithIndex table reference.
  BUG: Bump GCCXML to 2014-08-06.
  BUG: Fix invalid assignment of second VoronoiBoundaryOrigin.
  BUG: Call clear instead of empty on PatchBasedDenoising EmptyCaches().
  BUG: Fix Size() in ImageToListSampleAdaptor for VectorImage's.
  BUG: Fix alpha assignment for RGBA TIFF.
  BUG: Fix Nifti IO read with large images.
  BUG: Improve thread-safety and performance of
 PCAShapeSignedDistanceFunction.
  DOC: itk::statistics - itk::Statistics.
  DOC: Remove duplicate text in LaplacianRecursiveGaussian example.
  DOC: Fix Software Guide page overruns in IterativeClosestPoint{1,2}.cxx.
  BUG: TransformFileReader does not clear its TransformList.
  BUG: Prevent dangling pointer in HDF5TransformIO.
  COMP: Fix missing prefix in ITKv3ImageRegistration20Test.
  BUG: Do not return SmartPointers in TimeVaryingVelocityFieldTransform
  STYLE: Improve style in BinaryImageToLabelMapFilter.
  BUG: Fix BinaryImageToLabelMapFilter on 1D image.
  ENH: Improve precision of the joint PDF sum
  BUG: Fix BinShrinkImageFilter for different input/output image types.
  COMP: Fix transform type for ITKv3/IterativeClosestPoint2.
  COMP: Add missing wrapping for TransformIOBaseTemplate.
  BUG: gdcm::StringFilter recognizes backslash delimiter.
 
 MetaIO Maintainers (1):
  MetaIO (reduced)
 
 Michka Popoff (4):
  BUG: Improve SWIG version check
  BUG: Add VTK_VERSION for older VTK versions
  BUG: Update VTK minimum version (for release)
  BUG: Fix memory leak in MetaImageIO after exception
 ___
 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

___
Powered by www.kitware.com

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

Re: [ITK-dev] [ITK-users] Opportunities to share, discuss, design, and learn with other ITK community members

2014-09-25 Thread Bradley Lowekamp
Matt,

The URL for the Confab is from last week, I think this is the URL for the one 
tomorrow:

https://plus.google.com/u/0/events/c5snoqnkhtkcv1tebfo1cl9quo4

On Sep 24, 2014, at 5:53 PM, Matt McCormick matt.mccorm...@kitware.com wrote:

 There are a couple of upcoming opportunities to share, discuss, design, and
 learn with your fellow ITK community members.
 
 
 On Thursday (tomorrow), 9:30 AM Eastern USA time, there will be a
 Google+ Hangout
 where we will be doing code reviews:
 
  https://plus.google.com/u/1/events/c4jelvrtfg0l9v01d1sfub79fgk
 
 
 On Friday, 11:00 AM Eastern USA time, an ITK development conference,
 
  https://plus.google.com/u/1/events/ctabd8pd4oasc3p5ejat27jgko4
 
 For those that cannot join via Hangout, telephone call-in is also possible.
 Dial:
 
  585-632-6296
 
 Enter pin:
 
  31423
 
 
 All are welcome.  Hope to talk to you then!
 _
 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://www.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-users

___
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


[ITK-dev] Using ITK with optional components

2014-09-05 Thread Bradley Lowekamp
Hello,

I was wondering if anyone had looked into adding support for CMake's 
find_package OPTIONAL_COMPONENTS option?

This would be quite convenient in some situations.

Brad
___
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


Re: [ITK-dev] New to the Gerrit review process

2014-09-04 Thread Bradley Lowekamp
Hello Girish,

I assume you are talking about this patch:
http://review.source.kitware.com/#/c/16868/

Thanks again for contributing the patch which demonstrated the bug you 
encountered.

For this particular case I would encourage you to download, checkout, and 
compile the patch and verify that is resolves the issue you initially 
encountered. Then report back if it fixes the problem.

Brad

On Sep 4, 2014, at 11:29 AM, Girish Mallya Udupi indianzeppe...@gmail.com 
wrote:

 Hello,
 
 I have a couple of questions about the Gerrit review process - 
 
 1) Is the creator of a topic automatically added as a reviewer on subsequent 
 patches in the topic? 
 
 2) As a reviewer, if I am unable to understand the changes made to the code 
 (simply because I am not an advanced programmer), should I leave the patch 
 unscored?
 
 ___
 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

___
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


[ITK-dev] CMake test macro for standard streaming behavior

2014-09-03 Thread Bradley Lowekamp
Hello,

In ITK 3.20 there was a macro to test  the expected behavior of ImageIOs when 
streaming. It was defined here:
https://github.com/InsightSoftwareConsortium/ITK/blob/v3.20.1/Testing/Code/IO/CMakeLists.txt#L406-L470

The intention of this code block was to reuse this sequence for tests for 
different file formats. ( I thought it was working for VTK and MRC file formats 
too, but I think that didn't happen when integrating from the IJ ). 

I wish to create a new and improved version of this macro ( or function ) to 
help test the HDF5 streaming contributions to ensure it's behavior matches that 
of the other ImageIOs.  The issues are:

1) Where can common cmake testing code go so that other modules can use it?
2) Dependencies with modules and test drivers. It appears that I can call the 
ImageIOBaseTestDriver from other modules i.e. mha and HDF5. Any problem with 
this?
3) ImageIO registration - Currently I can just add additional dependencies to 
the TestingKernel to ensure that the HDF5 imageIO is registered everywhere. Is 
there any other better alternative?

Thanks,
Brad

p.s.
Alternatively, the test could be refactored to include the different states 
internally, as opposed to defined in cmake code. But I don't think it should be 
hard to get the cmake stuff working...
___
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


Re: [ITK-dev] issues.itk.org maintenance

2014-09-02 Thread Bradley Lowekamp
Thanks again for running the server!

Brad
On Aug 28, 2014, at 2:37 PM, Johnson, Hans J hans-john...@uiowa.edu wrote:

 The ITK bug tracker will be down for approximately 30 minutes at 4:30CST 
 today for routine maintenance.
 
 Hans
 
 
 
 Notice: This UI Health Care e-mail (including attachments) is covered by the 
 Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential 
 and may be legally privileged.  If you are not the intended recipient, you 
 are hereby notified that any retention, dissemination, distribution, or 
 copying of this communication is strictly prohibited.  Please reply to the 
 sender that you have received the message in error, then delete it.  Thank 
 you.

___
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


[ITK-dev] System PNG sCal issue

2014-08-27 Thread Bradley Lowekamp
Kent,

I am getting a failing test when using a new system PNG. It appears to be 
related to this issue:

https://issues.itk.org/jira/browse/ITK-3067

and commit:

https://github.com/InsightSoftwareConsortium/ITK/commit/74b5e6e4bbcbebcee860dd7b52ed76a4941c9efe

I have just upgraded my system to redhat7 and I now have libpng 1.5.13.

Here is the build on the dashboard:

http://open.cdash.org/buildSummary.php?buildid=3465169

There are compiler warnings related to unused variables, and then the failing 
test has sCal warnings. So I am assuming the failing test is due to sCal issue. 
As I am diving into the libPNG API and its changes, I thought I'd post up to 
case someone knows more about this issue.

Thanks,
Brtad___
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


Re: [ITK-dev] System PNG sCal issue

2014-08-27 Thread Bradley Lowekamp
It looks this there was also a discussion about this on the user mailing list 
to with a proposed patch:
http://public.kitware.com/pipermail/insight-users/2012-December/046756.html

Anyone know the state of this?

Brad

On Aug 27, 2014, at 9:52 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:

 Kent,
 
 I am getting a failing test when using a new system PNG. It appears to be 
 related to this issue:
 
 https://issues.itk.org/jira/browse/ITK-3067
 
 and commit:
 
 https://github.com/InsightSoftwareConsortium/ITK/commit/74b5e6e4bbcbebcee860dd7b52ed76a4941c9efe
 
 I have just upgraded my system to redhat7 and I now have libpng 1.5.13.
 
 Here is the build on the dashboard:
 
 http://open.cdash.org/buildSummary.php?buildid=3465169
 
 There are compiler warnings related to unused variables, and then the failing 
 test has sCal warnings. So I am assuming the failing test is due to sCal 
 issue. As I am diving into the libPNG API and its changes, I thought I'd post 
 up to case someone knows more about this issue.
 
 Thanks,
 Brtad
 ___
 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

___
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


Re: [ITK-dev] System PNG sCal issue

2014-08-27 Thread Bradley Lowekamp
Great! That is what I was looking for and why I kept thinking I have seen this 
issue around...

Not sure what the real issue is... maybe the png file in the test in invalid, 
and the lib png change the behavior for this case I just don't know yet.

I did determine that the spacing of the output put image for this system in 1, 
while the passing tests have 0.25. So this is the right problem... just need to 
figure out where the behavior is going wrong.

Brad

On Aug 27, 2014, at 10:56 AM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Here is the patch in Gerrit:
 
  http://review.source.kitware.com/#/c/8884/
 
 HTH,
 Matt
 
 On Wed, Aug 27, 2014 at 10:35 AM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 It looks this there was also a discussion about this on the user mailing
 list to with a proposed patch:
 http://public.kitware.com/pipermail/insight-users/2012-December/046756.html
 
 Anyone know the state of this?
 
 Brad
 
 On Aug 27, 2014, at 9:52 AM, Bradley Lowekamp blowek...@mail.nih.gov
 wrote:
 
 Kent,
 
 I am getting a failing test when using a new system PNG. It appears to be
 related to this issue:
 
 https://issues.itk.org/jira/browse/ITK-3067
 
 and commit:
 
 https://github.com/InsightSoftwareConsortium/ITK/commit/74b5e6e4bbcbebcee860dd7b52ed76a4941c9efe
 
 I have just upgraded my system to redhat7 and I now have libpng 1.5.13.
 
 Here is the build on the dashboard:
 
 http://open.cdash.org/buildSummary.php?buildid=3465169
 
 There are compiler warnings related to unused variables, and then the
 failing test has sCal warnings. So I am assuming the failing test is due to
 sCal issue. As I am diving into the libPNG API and its changes, I thought
 I'd post up to case someone knows more about this issue.
 
 Thanks,
 Brtad
 ___
 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
 
 
 
 ___
 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
 

___
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


[ITK-dev] A couple minor FFT valgrind defects.

2014-08-07 Thread Bradley Lowekamp
Matt,

After addressing the large number of ThreadPool defects, there appears to a a 
minor uninitialized condition with these new complex fft filters:

http://open.cdash.org/viewDynamicAnalysis.php?buildid=3440158

Let me know if you have the time.

Thanks,
Brad
___
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


Re: [ITK-dev] ITK Development Meeting

2014-08-07 Thread Bradley Lowekamp
Hello,

I am in favor of using Google Hangout as it appears to be more accessible to 
people and more seem to be able to join.

Brad

On Aug 7, 2014, at 2:20 PM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi,
 
 Are we having the development meeting teleconference tomorrow?  If
 not, would folks like to do a Google Hangout at 9 AM?
 
 On a positive side note, Google Hangout's no longer require a Google
 Plus account [1], and it no longer requires plugins with Chrome/ium
 [2].
 
 I am happy to see the Goog-Monster moving towards greater openness and
 liberty.  Maybe the internal forces for good are becoming stronger
 :-).
 
 Thanks,
 Matt
 
 [1] 
 http://techcrunch.com/2014/07/30/hangouts-now-works-without-google-account-becomes-part-of-google-apps-for-business-and-gets-sla/
 
 [2] http://www.omgchrome.com/google-hangouts-chrome-plugin-free-2/

___
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


[ITK-dev] DisplacementFieldTransform::SetIdentity method missing?

2014-08-06 Thread Bradley Lowekamp
Hello,

I noticed there was no SetIdentity method for the DisplacementFields. It seems 
like it should be pretty easy to add, just fill the displace field with zeros, 
and inverse if set?

Brad
___
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


Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-08-05 Thread Bradley Lowekamp
Ali,

Glad to hear the registration iteration graphs where effective.

Yes, you are right you can initialize the parameters of the second stage affine 
registration. Specifically the Center. However, it not readily apparent ( no 
example, no filter/initializer ) how that center fixed parameter should be 
initialized. And the CenteredTransformInitializer is not the correct way.

For a Composite transformed defined as ϕ=T0(T1(x)) where ϕ:Ωfixed→Ωmoving then 
if C such that C∈Ωmoving is the correct center initialization for T1, then the 
correct center initialization for T0 when in the composite transform is 
C′=T−10(C).

Cool pasting from the IPython Notebook with inline latex appears to have worked 
:)

While it is easy to do this with the MomentsCaluclator and manually doing the 
transform inverse, I think to make it more readily apparent and easier to use 
it should be available as a filter/initializer.

There are several things  that are done manually in the examples that I would 
think should be updated to use the latest filters and initializers. For example 
The BSplines are manually initialized instead of using the BSplineTransform 
Initializer[1]. Additionally,  conversion of BSpline to a deformation field[2], 
and the the upsampling of the BSpine[3], though that last one still looks like 
ITKv3 framework, so maybe it'll be updated to the adaptors with v4. However I 
am after simple functions for these common tasks for SimpleITK, so I have a bit 
different perspective then one who is OK with implementing a 50 line solution 
in C++ and being OK with the interface.

We'll discuss these initialization issue further this afternoon.

Brad

[1] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/RegistrationITKv4/DeformableRegistration4.cxx#L215-L235
[2] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/RegistrationITKv4/DeformableRegistration4.cxx#L401-L430
[3] 
https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/RegistrationITKv4/DeformableRegistration6.cxx#L273-L330

On Aug 4, 2014, at 11:56 PM, Ghayoor, Ali ali-ghay...@uiowa.edu wrote:

 Hello Brad,
 
 It is an awesome way for demonstration, and thanks for verification of my 
 example. It seems that this email is sent on Saturday, but unfortunately I 
 got that this morning! And I should inspect the reason! 
 Anyway, over the weekend I ran almost the same experiment in ITK and got 
 close results to you.
 
 Also, today I tried to make the registration process work when Affine 
 Transform is used in a multi stage structure, and here is my suggestion:
 
 I think we do not need to bother ourselves to think about a new optimizer or 
 a new initializer for the composite transform since we can initialize the 
 fixed parameters of each transform individually at the beginning of each 
 stage.
 
 Remember how we run a BSpline registration stage after some linear 
 registrations. At the beginning of the BSpline stage, we should instantiate a 
 BSpline transform object and define its fixed parameters (grid size, etc). 
 Then, we pass this initialized transform to the registration filter using 
 “SetInitialTransform()”, yet we can initialize this stage by passing a 
 composite transform, resultant from the previous stages, to the registration 
 filter by “SetMovingInitialTransform()”.
 
 The same condition holds for all other transform types with fixed 
 unoptimizable parameters like the center of rotation in our Affine transform 
 case. Attachment file includes a multi stage registration example that I have 
 created for the new software guide. In this example, we use a simple 2 stages 
 registration process for a multi modal problem that moving image is 
 misaligned from the fixed image by a translation shift and rotation. In 
 registration process, a translation transform is followed by an affine 
 transform. Also, an initial transform is used at the beginning.
 
 If I do not set the center of the affine transform, the registration fails as 
 you have shown in your Ipython example. However, if at the beginning of the 
 second stage, I compute the geometrical center (or center of the mass) of the 
 fixed image, and pass that to the affine transform using “SetCenter()” or 
 “SetFixedParameters()”, the registration succeeds. Please take a quick look 
 in the attached file that also includes lots of explanations. 
 
 Therefore, we can follow the same procedure for all other transform types 
 that their fixed parameters are important in the optimization, but those 
 fixed parameters cannot be set explicitly inside a composite transform. 
 Please let me know with you think about this.
 
 Thank you,
 Ali
 
 
 From: Bradley Lowekamp blowek...@mail.nih.gov
 Date: Saturday, August 2, 2014 at 6:48 PM
 To: Ali Ghayoor ali-ghay...@uiowa.edu
 Cc: Hans Johnson hans-john...@uiowa.edu, Insight Developers List 
 insight-develop...@public.kitware.com
 Subject: Re: [ITK-dev] [ITK] Optimizing composite transforms and center

Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-08-04 Thread Bradley Lowekamp
Nick,

Would 2pm EST on day this week for you for a google hang out?

Let's plan on review these points I've made along with the notebooks. I'd think 
the likely output is going to be some initial requirements for a new transform 
optimizer for composite transforms and the v4 framework.

Brad

On Aug 1, 2014, at 10:15 AM, Nick Tustison ntusti...@gmail.com wrote:

 Sorry, Brad, but I'm currently in Salt Lake at a funeral.  I'd really like to 
 understand better so, if you're available, I can do it anytime during the 
 week on another call.
 
 Sent from Howling Fantods
 
 On Aug 1, 2014, at 7:36 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:
 
 Nick,
 
 I hope you can make it to today's TCON. I can demo that notebook I linked 
 too. It should clarify things.
 
 Brad
 
 On Jul 30, 2014, at 1:57 PM, Nicholas Tustison ntusti...@gmail.com wrote:
 
 To try to summaries... sorry if have not been clear enough in my 
 explanations.
 
 No, I blame me—I’m consistently distracted by the scenery outside here in
 California and it’s definitely affecting my ability to concentrate on code
 questions.
 
 INITIAL QUESTION
 
 How does composite transform and the Center parameter interact? How does 
 this relate to the virtual domain?
 
 The composite transform is agnostic with respect to whether or not a 
 transform has a center or any other fixed parameter set.  The only
 distinction we make is typology with respect to linear/deformable. To 
 be clear, we’re not discussing any of the  “Centered” transforms:
 
 * CenteredAffineTransform
 * CenteredEuler3DTransform
 * CenteredEuler2DTransform
 * CenteredSimilarity2DTransform
 
 None of those transforms are used in ANTs but I don’t think 
 their optimization would be an issue in the new ITKv4 registration 
 framework.
 
 The virtual domain is simply defined in terms of standard image 
 geometry (origin, spacing, etc.) and is currently set in terms of the 
 fixed image geometry.  
 
 MY UNDERSTANDING
 
 1) Using a Center initialized transform only works correctly for a 
 single transform and directly with a composite. ( This is with the current 
 center initializers, a different approach could be done which takes into 
 consideration the composition )
 
 I don’t see why it would only work correctly for a single transform.  
 Suppose
 I optimize a translation transform to get it’s optimal parameters for a 
 given
 registration problem.  It’s not clear to me why it would be a problem to 
 follow
 that with optimizing an Euler3D transform (which we do all the time in 
 ANTs).  
 Obviously, we have to specify a staring point for the second transform 
 (which
 is identity by default) and perhaps it would be better to have a different 
 starting point but I don’t see why starting with the default parameters is 
 a 
 problem.
 
 If the “Center initialized transform” is one of the transforms listed above 
 then we don’t use those.  If it’s simply the result of using the 
 CenteredTransformInitializer, then we just pull the 
 itk::TranslationTransform 
 part from the result and push that translation transform into the composite 
 transform queue.   I don’t see why it would be a problem to then optimize, 
 for example, the Euler3DTransform which just has 3 translation parameters 
 and 3 angle parameters to optimize where the center is implicitly defined 
 (unlike the CenteredEuler3DTransform which does have additional Center 
 parameters).  
 
 2) The virtual domain should be initialized such that the two images 
 Centers are at the origin. This an alternative to using the Center 
 transform parameters, and better works with composite transforms.
 
 Yes, that would probably be a better initialization but I don’t know why it 
 would
 be a problem for the current framework to optimize with the origin 
 elsewhere.
 Right now, each transform within the composite transform queue is 
 optimized starting from its identity parameters but perhaps the initializer
 idea that you propose would improve optimization. 
 
 I was not aware that 2 was the best practice with the ITKv4 framework. Do 
 we have any examples/test/documentation to indicate this?  Further more 
 using the current CenterTransformInitalizers to initialize the virtual 
 domain is not readily apparent[1] how to map the parameters.
 PROPOSAL
 
 Perhaps we need a new Initializer filter to assist with initializing the 
 virtual domain to initialize this practice? 
 
 Brad
 

___
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


Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-08-04 Thread Bradley Lowekamp
Hello,

I have created an Google Hangout event, it should be shared with the ITKBarCamp 
Google+ group if others are interested in attending.

Thanks,
Brad

On Aug 4, 2014, at 9:36 AM, Nick Tustison ntusti...@gmail.com wrote:

 Hi Brad,
 
 Yes, 2 pm EST would work for me any day this week.
 
 Nick
 
 On Aug 4, 2014, at 6:13 AM, Bradley Lowekamp blowek...@mail.nih.gov wrote:
 
 Nick,
 
 Would 2pm EST on day this week for you for a google hang out?
 
 Let's plan on review these points I've made along with the notebooks. I'd 
 think the likely output is going to be some initial requirements for a new 
 transform optimizer for composite transforms and the v4 framework.
 
 Brad
 
 On Aug 1, 2014, at 10:15 AM, Nick Tustison ntusti...@gmail.com wrote:
 
 Sorry, Brad, but I'm currently in Salt Lake at a funeral.  I'd really like 
 to understand better so, if you're available, I can do it anytime during 
 the week on another call.
 
 Sent from Howling Fantods
 
 On Aug 1, 2014, at 7:36 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 
 Nick,
 
 I hope you can make it to today's TCON. I can demo that notebook I linked 
 too. It should clarify things.
 
 Brad
 
 On Jul 30, 2014, at 1:57 PM, Nicholas Tustison ntusti...@gmail.com wrote:
 
 To try to summaries... sorry if have not been clear enough in my 
 explanations.
 
 No, I blame me—I’m consistently distracted by the scenery outside here in
 California and it’s definitely affecting my ability to concentrate on code
 questions.
 
 INITIAL QUESTION
 
 How does composite transform and the Center parameter interact? How 
 does this relate to the virtual domain?
 
 The composite transform is agnostic with respect to whether or not a 
 transform has a center or any other fixed parameter set.  The only
 distinction we make is typology with respect to linear/deformable. To 
 be clear, we’re not discussing any of the  “Centered” transforms:
 
 * CenteredAffineTransform
 * CenteredEuler3DTransform
 * CenteredEuler2DTransform
 * CenteredSimilarity2DTransform
 
 None of those transforms are used in ANTs but I don’t think 
 their optimization would be an issue in the new ITKv4 registration 
 framework.
 
 The virtual domain is simply defined in terms of standard image 
 geometry (origin, spacing, etc.) and is currently set in terms of the 
 fixed image geometry.  
 
 MY UNDERSTANDING
 
 1) Using a Center initialized transform only works correctly for a 
 single transform and directly with a composite. ( This is with the 
 current center initializers, a different approach could be done which 
 takes into consideration the composition )
 
 I don’t see why it would only work correctly for a single transform.  
 Suppose
 I optimize a translation transform to get it’s optimal parameters for a 
 given
 registration problem.  It’s not clear to me why it would be a problem to 
 follow
 that with optimizing an Euler3D transform (which we do all the time in 
 ANTs).  
 Obviously, we have to specify a staring point for the second transform 
 (which
 is identity by default) and perhaps it would be better to have a 
 different 
 starting point but I don’t see why starting with the default parameters 
 is a 
 problem.
 
 If the “Center initialized transform” is one of the transforms listed 
 above 
 then we don’t use those.  If it’s simply the result of using the 
 CenteredTransformInitializer, then we just pull the 
 itk::TranslationTransform 
 part from the result and push that translation transform into the 
 composite 
 transform queue.   I don’t see why it would be a problem to then 
 optimize, 
 for example, the Euler3DTransform which just has 3 translation parameters 
 and 3 angle parameters to optimize where the center is implicitly defined 
 (unlike the CenteredEuler3DTransform which does have additional Center 
 parameters).  
 
 2) The virtual domain should be initialized such that the two images 
 Centers are at the origin. This an alternative to using the Center 
 transform parameters, and better works with composite transforms.
 
 Yes, that would probably be a better initialization but I don’t know why 
 it would
 be a problem for the current framework to optimize with the origin 
 elsewhere.
 Right now, each transform within the composite transform queue is 
 optimized starting from its identity parameters but perhaps the 
 initializer
 idea that you propose would improve optimization. 
 
 I was not aware that 2 was the best practice with the ITKv4 framework. 
 Do we have any examples/test/documentation to indicate this?  Further 
 more using the current CenterTransformInitalizers to initialize the 
 virtual domain is not readily apparent[1] how to map the parameters.
 PROPOSAL
 
 Perhaps we need a new Initializer filter to assist with initializing the 
 virtual domain to initialize this practice? 
 
 Brad
 

___
Powered by www.kitware.com

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

Re: [ITK-dev] Upgraded factory.kitware Mac compiler

2014-08-02 Thread Bradley Lowekamp
OK,

I think the compiler being used on the system is not a winner.

Something need to be changes on the system to make this more identifiable, 
perhaps changing the build name to be llvm-gcc-4.2. As it's not apparent in the 
configuration:
 The C compiler identification is GNU 4.2.1
-- The CXX compiler identification is GNU 4.2.1
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - yes
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Checking whether CXX compiler has -isysroot
-- Checking whether CXX compiler has -isysroot - yes
-- Checking whether CXX compiler supports OSX deployment target flag
-- Checking whether CXX compiler supports OSX deployment target flag - yes
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
Digging into the system information test[1] we can find the following:
sing built-in specs.
Target: i686-apple-darwin10
Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2336.1~3/src/configure 
--disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 
--mandir=/share/man --enable-languages=c,objc,c++,obj-c++ 
--program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ 
--with-slibdir=/usr/lib --build=i686-apple-darwin10 
--enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2336.1~3/dst-llvmCore/Developer/usr/local
 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 
--target=i686-apple-darwin10 --with-gxx-include-dir=/usr/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)
 /usr/llvm-gcc-4.2/bin/../libexec/gcc/i686-apple-darwin10/4.2.1/collect2 
-dynamic -arch x86_64 -macosx_version_min 10.6.8 -weak_reference_mismatches 
non-weak -o cmTryCompileExec885700192 -lcrt1.10.6.o 
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin10/4.2.1/x86_64 
-L/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin10/4.2.1/x86_64 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64 
-L/usr/lib/i686-apple-darwin10/4.2.1 
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/llvm-gcc-4.2/bin/../lib/gcc 
-L/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/lib/gcc/i686-apple-darwin10/4.2.1 
-L/usr/llvm-gcc-4.2/bin/../lib/gcc/i686-apple-darwin10/4.2.1/../../.. 
-L/Developer/usr/llvm-gcc-4.2/lib/gcc/i686-apple-darwin10/4.2.1/../../.. 
-search_paths_first -headerpad_max_install_names -v 
CMakeFiles/cmTryCompileExec885700192.dir/CMakeCCompilerABI.c.o -lSystem -lgcc 
-lSystem
collect2 version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00) 
(i686 Darwin)

But the GCC masquerading version is not too helpful. 

[1] http://open.cdash.org/testDetails.php?test=272099142build=3433750
On Aug 2, 2014, at 11:03 AM, Jean-Christophe Fillion-Robin 
jchris.filli...@kitware.com wrote:

 Hi Brad, 
 
 All details are captured here: 
 
 http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revisionrevision=23528
 
 
 XCode before:
 
  * Xcode: 3.2.6 - uildVersion: 10M2518
  * gcc-4.0: i686-apple-darwin10-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5494)
  * gcc-4.2: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) 
 (dot 3)
  * llvm-gcc: i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple 
 Inc. build 5658) (LLVM build 2335.6)
  * clang: Apple clang version 1.7 (tags/Apple/clang-77) (based on LLVM 2.9svn
 
 XCode after:
 
  * Xcode: 4.2 - Build version 4C199
  * gcc-4.0: i686-apple-darwin10-gcc-4.0.1 (GCC) 4.0.1 (Apple Inc. build 5494)
  * gcc-4.2: i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) 
 (dot 3)
  * llvm-gcc: i686-apple-darwin10-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple 
 Inc. build 5658) (LLVM build 2336.1.00)
  * clang: Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 
 3.0svn)
 
 
 Hth
 Jc
 
 
 On Sat, Aug 2, 2014 at 8:39 AM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Hello,
 
 Hello there is recently some regular failing tests on the factory.kitware Mac 
 robot build:
 http://open.cdash.org/viewTest.php?onlyfailedbuildid=3433716
 
 What specific compiler, Xcode, and os version is the system now running? Was 
 it recently upgraded?
 
 These failures look vaguely familiar to me, not sure quite why. May have been 
 at some point in the GNU gcc-llvm-gcc transition when things didn't work too 
 good...
 
 Brad
 
 
 
 
 
 -- 
 +1 919 869 8849

___
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

Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-08-02 Thread Bradley Lowekamp
Hello Ali,

I created a notebook to try to demonstrate the problem you are describing:
http://nbviewer.ipython.org/github/blowekamp/SimpleITK-Notebook-Answers/blob/master/Importance%20of%20Center%20with%20Affine%20Registration.ipynb

If the center of an Affine transformation isn't correctly initialized then the 
optimization is not speedy or robust. I think it's best illustrated with these 
two graphs:




Notice that with the Center being the origin, all 1000 iterations are 
exhausted, and the metric is slowing decreasing. And this is with the 
translation path being around the length to 10. If the spacing was bigger or 
more offset from the origin the situation would be worse.

I don't think this is a bug with the registration framework. I think new 
initializers for composite transforms are needed, along with documentation how 
the 2 good ways to initialize the registration methods transforms.


Brad

On Aug 1, 2014, at 8:08 PM, Ghayoor, Ali ali-ghay...@uiowa.edu wrote:

 Brad,
 
 I have exactly the same issue. I wrote a simple registration program that is 
 run in two stages:
 -Translation
 -Affine
 
 My fixed and moving images are in 2D, and the moving image is created from 
 the fixed image by
 rotation of 10 degree and translation of [13,17] in X and Y directions.
 
 The first stage does a translation registration and the result transform is 
 added to a composite transform
 that is used as the initial moving transform of the second stage.
 
 After the registration the result transform of the second stage is also added 
 to the composite transform
 to be used by the resampler.
 
 I have printed the composite transform to the screen:
 
 2481: CompositeTransform (0x7fa359a18b00)
 2481:   RTTI typeinfo:   itk::CompositeTransformdouble, 2u
 2481:   Reference Count: 2
 2481:   Modified Time: 20949
 2481:   Debug: Off
 2481:   Object Name: 
 2481:   Observers: 
 2481: none
 2481:   Transforms in queue, from begin to end:
 2481:   
 2481:   TranslationTransform (0x7fa359a199b0)
 2481: RTTI typeinfo:   itk::TranslationTransformdouble, 2u
 2481: Reference Count: 7
 2481: Modified Time: 1648
 2481: Debug: Off
 2481: Object Name: 
 2481: Observers: 
 2481:   none
 2481: Offset: [12.801, 15.8578]
 2481:   
 2481:   AffineTransform (0x7fa359d095a0)
 2481: RTTI typeinfo:   itk::AffineTransformdouble, 2u
 2481: Reference Count: 5
 2481: Modified Time: 20946
 2481: Debug: Off
 2481: Object Name: 
 2481: Observers: 
 2481:   none
 2481: Matrix: 
 2481:   1.01593 -0.0100051 
 2481:   -0.00835669 1.01113 
 2481: Offset: [-0.358829, -0.290093]
 2481: Center: [0, 0]
 2481: Translation: [-0.358829, -0.290093]
 2481: Inverse: 
 2481:   0.984397 0.00974056 
 2481:   0.00813575 0.989073 
 2481: Singular: 0
 2481:   End of MultiTransform.
 2481: 
 
 As it can be seen, the translation transform provides a good initialization 
 since its offset (Offset: [12.801, 15.8578]) is close to the shift parameters.
 
 However, the Affine transform fails to rotate the moving image since its 
 Matrix is almost identity.
 Possible reason can be the improper Center of Affine transform that is fixed 
 to [0,0], and not at geometrical center or center of mass.
 
 To make sure that I have not made any crazy mistake in my example, I 
 simulated my example parameters in ANTs, and ANTs returned
 the same results and failed to register the images!!
 
 ANTs command line 
 
 PROGPATH=/scratch/ANTS/release-new/bin
 fi=/scratch/ITK-softwareGuide/release/ITKv4/Examples/Data/BrainT1SliceBorder20.png
 mi=/scratch/ITK-softwareGuide/release/ITKv4/Examples/Data/BrainProtonDensitySliceR10X13Y17.png
 
 time ${PROGPATH}/antsRegistration -d 2 \
 --float \
 --output [test1, warpedMoving.nii.gz] \
 --transform Translation[16] \
 --metric MI[${fi},${mi},1,32,None,1] \
 --convergence [100,1e-2,5] \
 --shrink-factors 3 \
 --smoothing-sigmas 2 \
 --use-histogram-matching 1 \
 \
 --transform Affine[1] \
 --metric MI[${fi},${mi},1,32] \
 --convergence [100x100,1e-2,2] \
 --shrink-factors 2x1 \
 --smoothing-sigmas 1x0 \
 --use-histogram-matching 1
 
 
 
 Fixed and moving images can be loaded from the ITK data files. What do you 
 think about this example? Is it a bug in ITK or just the parameters are not 
 tuned finely?
 
 Thanks,
 Ali
 
 
 From: Johnson, Hans J
 Sent: Tuesday, July 29, 2014 6:19 PM
 To: Ghayoor, Ali
 Subject: FW: [ITK-dev] [ITK] Optimizing composite transforms and center of 
 transform
 
 Ali,
 
 You need to follow this discussion.
 
 Hans
 
 On 7/29/14, 6:16 PM, Bradley Lowekamp blowek...@mail.nih.gov wrote:
 
 Hello,
 
 Ok, to further explore this problem, and hopeful help other people too: I
 created an IPython Notebook viewable here:
 http://nbviewer.ipython.org/github/blowekamp/SimpleITK-Notebook-Answers/bl
 ob/master/Transform%20Composition%20And%20Order.ipynb
 
 It doesn't come through on the static

Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-08-01 Thread Bradley Lowekamp
Nick,

I hope you can make it to today's TCON. I can demo that notebook I linked too. 
It should clarify things.

Brad

On Jul 30, 2014, at 1:57 PM, Nicholas Tustison ntusti...@gmail.com wrote:

 To try to summaries... sorry if have not been clear enough in my 
 explanations.
 
 No, I blame me—I’m consistently distracted by the scenery outside here in
 California and it’s definitely affecting my ability to concentrate on code
 questions.
 
 INITIAL QUESTION
 
 How does composite transform and the Center parameter interact? How does 
 this relate to the virtual domain?
 
 The composite transform is agnostic with respect to whether or not a 
 transform has a center or any other fixed parameter set.  The only
 distinction we make is typology with respect to linear/deformable. To 
 be clear, we’re not discussing any of the  “Centered” transforms:
 
 * CenteredAffineTransform
 * CenteredEuler3DTransform
 * CenteredEuler2DTransform
 * CenteredSimilarity2DTransform
 
 None of those transforms are used in ANTs but I don’t think 
 their optimization would be an issue in the new ITKv4 registration 
 framework.
 
 The virtual domain is simply defined in terms of standard image 
 geometry (origin, spacing, etc.) and is currently set in terms of the 
 fixed image geometry.  
 
 MY UNDERSTANDING
 
 1) Using a Center initialized transform only works correctly for a single 
 transform and directly with a composite. ( This is with the current center 
 initializers, a different approach could be done which takes into 
 consideration the composition )
 
 I don’t see why it would only work correctly for a single transform.  Suppose
 I optimize a translation transform to get it’s optimal parameters for a given
 registration problem.  It’s not clear to me why it would be a problem to 
 follow
 that with optimizing an Euler3D transform (which we do all the time in ANTs). 
  
 Obviously, we have to specify a staring point for the second transform (which
 is identity by default) and perhaps it would be better to have a different 
 starting point but I don’t see why starting with the default parameters is a 
 problem.
 
 If the “Center initialized transform” is one of the transforms listed above 
 then we don’t use those.  If it’s simply the result of using the 
 CenteredTransformInitializer, then we just pull the itk::TranslationTransform 
 part from the result and push that translation transform into the composite 
 transform queue.   I don’t see why it would be a problem to then optimize, 
 for example, the Euler3DTransform which just has 3 translation parameters 
 and 3 angle parameters to optimize where the center is implicitly defined 
 (unlike the CenteredEuler3DTransform which does have additional Center 
 parameters).  
 
 2) The virtual domain should be initialized such that the two images 
 Centers are at the origin. This an alternative to using the Center 
 transform parameters, and better works with composite transforms.
 
 Yes, that would probably be a better initialization but I don’t know why it 
 would
 be a problem for the current framework to optimize with the origin elsewhere.
 Right now, each transform within the composite transform queue is 
 optimized starting from its identity parameters but perhaps the initializer
 idea that you propose would improve optimization. 
 
 I was not aware that 2 was the best practice with the ITKv4 framework. Do we 
 have any examples/test/documentation to indicate this?  Further more using 
 the current CenterTransformInitalizers to initialize the virtual domain is 
 not readily apparent[1] how to map the parameters.
 PROPOSAL
 
 Perhaps we need a new Initializer filter to assist with initializing the 
 virtual domain to initialize this practice? 
 
 Brad
 

___
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


[ITK-dev] Google Hangout TCON now

2014-08-01 Thread Bradley Lowekamp
Hello,

I set up a google hangout TCON for now:
https://plus.google.com/hangouts/_/event/cn8hv391boek27j8c7blph7igho

Brad

___
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


[ITK-dev] Move ITK TCONs to Google Hangout?

2014-08-01 Thread Bradley Lowekamp
Hello,

Should we move the weekly ITK TCONs to Google hangouts?

Using Google hangouts would be more visible and public along with having an 
automatic process to start the event. Additionally there is the ability to 
phone in people to the hang out?

Brad
___
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


Re: [ITK-dev] [ITK] mingw64 execvp -fpermissive error from KWSys/SharedForward.h

2014-07-30 Thread Bradley Lowekamp
Hello,

Could you please submit your patch to gerrit for review:

http://www.itk.org/Wiki/ITK/Git/Develop

Thanks,
Brad



On Jul 29, 2014, at 9:58 PM, Rashad M mohammedrasha...@gmail.com wrote:

 Hi all,
 
 Building ITK with MinGW64 comes clean but when using it in other library 
 gives the below error. Turning -fpermissive can solve this bug but its not a 
 option to be considered.
 
 I had attached a  patch which will resolve this issue. 
 
 [ 78%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperApplicationRegistry.cxx.obj
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperChoiceParameter.cxx.obj
 Linking CXX shared library ../../bin/libOTBTesting.dll
 [ 79%] Built target OTBTesting
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperInputImageListParameter.cxx.obj
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperOutputImageParameter.cxx.obj
 Scanning dependencies of target otbTestDriver
 [ 79%] Building CXX object 
 Code/Testing/CMakeFiles/otbTestDriver.dir/otbTestDriver.cxx.obj
 In file included from /.../OTB-Nightly/Code/Testing/otbTestDriver.cxx:35:0:
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:
  In function 'void kwsys_shared_forward_execvp(const char*, const char* 
 const*)':
 
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:516:19:
  error: invalid conversion from 'const char* const*' to 'char* const*' 
 [-fpermissive]
 
execvp(cmd, argv);
^
 In file included from 
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:158:0,
  from /.../OTB-Nightly/Code/Testing/otbTestDriver.cxx:35:
 
 
 -- 
 Regards,
Rashad
 itk-3-execvp.patch___
 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
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community

___
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


Re: [ITK-dev] [ITK] mingw64 execvp -fpermissive error from KWSys/SharedForward.h

2014-07-30 Thread Bradley Lowekamp
Sorry about that. It looks like KWsys aslo uses gerrit, so similar process 
there:
http://www.itk.org/Wiki/KWSys/Git/Develop

It seems like a good candidate for the release branch. Once merged into KWSys, 
we'll see if it smoothly merged into ITK's release branch.

Brad

On Jul 30, 2014, at 8:56 AM, Rashad M mohammedrasha...@gmail.com wrote:

 Hello Brad,
 
 Already in [1]
 
 (If your change modifies the Modules/ThirdParty/KWSys/src/KWSys directory 
 please contribute directly to KWSysinstead.)
 
 So should continue in itk gerrit or KWSys?. If ITK it should be in release 
 branch or trunk (4.7). AFAICT, this happens to block build on MingW64 bit on 
 windows
 
 
 [1] http://www.itk.org/Wiki/ITK/Git/Develop
 
 
 On Wed, Jul 30, 2014 at 2:49 PM, Bradley Lowekamp blowek...@mail.nih.gov 
 wrote:
 Hello,
 
 Could you please submit your patch to gerrit for review:
 
 http://www.itk.org/Wiki/ITK/Git/Develop
 
 Thanks,
 Brad
 
 
 
 On Jul 29, 2014, at 9:58 PM, Rashad M mohammedrasha...@gmail.com wrote:
 
 Hi all,
 
 Building ITK with MinGW64 comes clean but when using it in other library 
 gives the below error. Turning -fpermissive can solve this bug but its not a 
 option to be considered.
 
 I had attached a  patch which will resolve this issue. 
 
 [ 78%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperApplicationRegistry.cxx.obj
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperChoiceParameter.cxx.obj
 Linking CXX shared library ../../bin/libOTBTesting.dll
 [ 79%] Built target OTBTesting
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperInputImageListParameter.cxx.obj
 [ 79%] Building CXX object 
 Code/ApplicationEngine/CMakeFiles/OTBApplicationEngine.dir/otbWrapperOutputImageParameter.cxx.obj
 Scanning dependencies of target otbTestDriver
 [ 79%] Building CXX object 
 Code/Testing/CMakeFiles/otbTestDriver.dir/otbTestDriver.cxx.obj
 In file included from /.../OTB-Nightly/Code/Testing/otbTestDriver.cxx:35:0:
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:
  In function 'void kwsys_shared_forward_execvp(const char*, const char* 
 const*)':
 
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:516:19:
  error: invalid conversion from 'const char* const*' to 'char* const*' 
 [-fpermissive]
 
execvp(cmd, argv);
^
 In file included from 
 /home/rashad/packages/mxe/usr/x86_64-w64-mingw32.shared/include/ITK-4.6/itksys/SharedForward.h:158:0,
  from /.../OTB-Nightly/Code/Testing/otbTestDriver.cxx:35:
 
 
 -- 
 Regards,
Rashad
 itk-3-execvp.patch___
 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
 ___
 Community mailing list
 commun...@itk.org
 http://public.kitware.com/mailman/listinfo/community
 
 
 
 
 -- 
 Regards,
Rashad

___
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


Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-07-30 Thread Bradley Lowekamp
Nick,

To try to summaries... sorry if have not been clear enough in my explanations.

INITIAL QUESTION

How does composite transform and the Center parameter interact? How does this 
relate to the virtual domain?

MY UNDERSTANDING

1) Using a Center initialized transform only works correctly for a single 
transform and directly with a composite. ( This is with the current center 
initializers, a different approach could be done which takes into consideration 
the composition )

2) The virtual domain should be initialized such that the two images Centers 
are at the origin. This an alternative to using the Center transform 
parameters, and better works with composite transforms.

I was not aware that 2 was the best practice with the ITKv4 framework. Do we 
have any examples/test/documentation to indicate this?  Further more using the 
current CenterTransformInitalizers to initialize the virtual domain is not 
readily apparent[1] how to map the parameters.

PROPOSAL

Perhaps we need a new Initializer filter to assist with initializing the 
virtual domain to initialize this practice? 

Brad


[1] 
https://github.com/stnava/ANTs/blob/master/Examples/itkantsRegistrationHelper.h#L830-L878


On Jul 29, 2014, at 7:55 PM, Nicholas Tustison ntusti...@gmail.com wrote:

 Sorry, Brad, but I’m having a hard time following what
 the problem is exactly.  I agree with you that getting a
 good initialization, i.e., centering the objects of interest
 to be registered is important.  And that is something 
 we do in ANTs by employing the centered transform
 initializer or aligning origins by converting the result to
 a translation transform.  That translation transform is then
 pushed onto the composite transform queue.  
 
 If that is followed up by other transforms to be optimized,
 such as rigid or affine, the moving image is already centered
 in the virtual domain within the similarity metric classes and 
 optimization in terms of translation to center the objects is (or 
 at least, should be) minimal.
 
 Does that help?
 
 Nick
 
 
 
 
 
 On Jul 29, 2014, at 4:16 PM, Bradley Lowekamp blowek...@mail.nih.gov wrote:
 
 Hello,
 
 Ok, to further explore this problem, and hopeful help other people too: I 
 created an IPython Notebook viewable here:
 http://nbviewer.ipython.org/github/blowekamp/SimpleITK-Notebook-Answers/blob/master/Transform%20Composition%20And%20Order.ipynb
 
 It doesn't come through on the static page, but I added some nifty 
 interactive slider widgets to change the rotation parameter. Which is really 
 the point  to enable understanding of the parameters for the transform and 
 how they should be best optimized. The notebook should work with SimpleITK 
 = 0.8 and IPython Notebooks 2.1. I'll encourage every one to try it out :) 
 IPython Notebooks widget are very cool!
 
 EXPLANATION:
 
 The the order of the composite transform is that the new transforms are 
 applied first.
 
 BUT they map from the virtual domain ( fixed ) to the moving image. 
 Therefore if your first transform moves the center of mass to the origin 
 then the second added transform's space will be centered on the mass, which 
 is good for optimizing rotation and affine parameters.
 
 QUESTION:
 
 Therefore I am inclined to conclude that its best practices to map the fixed 
 and moving image to the virtual domain such that the center of mass ( or 
 some other center feature ) are at the origin. This would then the scale, 
 rotation and other affine parameters around the center, with out having to 
 used the Center parameter the transforms currently have.
 
 Is this what others are doing in their registration? For general best 
 practices should this be recommend?
 
 @Brian I know I have seen this multi-domain description many time, but I 
 think I may have just gotten it... Is the well describe in the literature 
 some place? I think this may be an important part add the software guide.
 
 Thanks,
 Brad
 
 
 
 
 On Jul 29, 2014, at 5:38 PM, Matt McCormick matt.mccorm...@kitware.com 
 wrote:
 
 Hi Brad,
 
 Your assessment that the fixed center is important is correct.
 
 In most cases, a transform with a Center is the first transform in a
 Composite transform. There not any issues here.  However, if the
 transform with a Center is further along the chain, then a
 CenteredTransformInitializer that was applied before the registration
 is started will not generate the desired result. In this case, we
 would have to respond to an Event in the registration process and
 estimated the center on the imaged after the other transforms have
 been applied. It is more work, but it is a more unusual case.
 
 HTH,
 Matt
 
 
 
 On Mon, Jul 28, 2014 at 10:11 PM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Helloo Nick!
 
 I am glad you got back to me.
 
 I suspect that I have spent more time this past week looking at the ITK 
 affine transforms than anyone else[1] this week. With that here is my 
 current understanding...
 
 1

Re: [ITK-dev] [ITK] Optimizing composite transforms and center of transform

2014-07-29 Thread Bradley Lowekamp
Hello,

Ok, to further explore this problem, and hopeful help other people too: I 
created an IPython Notebook viewable here:
http://nbviewer.ipython.org/github/blowekamp/SimpleITK-Notebook-Answers/blob/master/Transform%20Composition%20And%20Order.ipynb

It doesn't come through on the static page, but I added some nifty interactive 
slider widgets to change the rotation parameter. Which is really the point  to 
enable understanding of the parameters for the transform and how they should be 
best optimized. The notebook should work with SimpleITK = 0.8 and IPython 
Notebooks 2.1. I'll encourage every one to try it out :) IPython Notebooks 
widget are very cool!

EXPLANATION:

The the order of the composite transform is that the new transforms are applied 
first.

BUT they map from the virtual domain ( fixed ) to the moving image. Therefore 
if your first transform moves the center of mass to the origin then the second 
added transform's space will be centered on the mass, which is good for 
optimizing rotation and affine parameters.

QUESTION:

Therefore I am inclined to conclude that its best practices to map the fixed 
and moving image to the virtual domain such that the center of mass ( or some 
other center feature ) are at the origin. This would then the scale, rotation 
and other affine parameters around the center, with out having to used the 
Center parameter the transforms currently have.

Is this what others are doing in their registration? For general best practices 
should this be recommend?

@Brian I know I have seen this multi-domain description many time, but I think 
I may have just gotten it... Is the well describe in the literature some place? 
I think this may be an important part add the software guide.

Thanks,
Brad




On Jul 29, 2014, at 5:38 PM, Matt McCormick matt.mccorm...@kitware.com wrote:

 Hi Brad,
 
 Your assessment that the fixed center is important is correct.
 
 In most cases, a transform with a Center is the first transform in a
 Composite transform. There not any issues here.  However, if the
 transform with a Center is further along the chain, then a
 CenteredTransformInitializer that was applied before the registration
 is started will not generate the desired result. In this case, we
 would have to respond to an Event in the registration process and
 estimated the center on the imaged after the other transforms have
 been applied. It is more work, but it is a more unusual case.
 
 HTH,
 Matt
 
 
 
 On Mon, Jul 28, 2014 at 10:11 PM, Bradley Lowekamp
 blowek...@mail.nih.gov wrote:
 Helloo Nick!
 
 I am glad you got back to me.
 
 I suspect that I have spent more time this past week looking at the ITK 
 affine transforms than anyone else[1] this week. With that here is my 
 current understanding...
 
 1) The CenterTransformInitializers estimates an initial Center and an 
 initial Translation parameter from either the geometry or the first 
 moments. From my problematic experiences, getting the initial transform 
 which is a good guess is been critical for the optimizer to head to the 
 correct solution.
 
 2) The Center parameter of a transform can either be Fixed or an 
 optimizable parameter. The transforms with the Centered monkier are the 
 the ones with the Center parameter optimizable. This issue seems to be what 
 you were referring to in to message.
 
 In many ways the point I am trying to make is independent of #2. I have 
 observed that it's important to have the Center of an affine transform ( 
 or sub parameterization thereof ) at the center of the object you are trying 
 to register. That is the coordinate space of the optimizable parameters' 
 point 0 is near the center. This enables rotation to easily rotate around 
 the center, as well as scaling to maintain the same relative center when 
 zooming. This issue is independent of wether that center point can be 
 optimized.
 
 For example, consider changing the origin of an image for alignment by say 
 500, and compensating with just an initial translation and not setting the 
 Center parameter. If we are trying to optimize rotation and translation, 
 then the optimization path would be very difficult to traverse with these 
 inter-dependent parameters to force it to rotate around the center of the 
 object. This scenario may be more common in microscopy then medical imaging, 
 due to microscopy frequently having multiple subjects across large images. I 
 could write up a IPython Notebook to illustrate the case.
 
 So that is my understanding of why using a fixed center is important. I 
 thought this may have been shared knowledge, but perhaps is not or is 
 incorrect...
 
 Now I am trying to understand how this interacts with all the coordinate 
 frames involved with the ITKv4 registration framework, and the composite 
 transforms. Specifically the composite transform apply the transforms in 
 reverse order[2]. As I understand that that means that the newest 
 transform get applied first. So that transform

Re: [ITK-dev] Problems with the integration of LASPack package into ITK

2014-07-25 Thread Bradley Lowekamp
Hello,

I am not certain but I just was looking around at a few things and found some 
work related to ITKv4 Numerics Refactors[1] here on github that's a bit out 
dated:
https://github.com/chuckatkins/ITK/commits/numlibs_refactor

Looks like similar work and my first search reveals this may be of use:
https://github.com/chuckatkins/ITK/commit/2c773edc695cbe7b907bebf356ee14e0af66b01a

Brad

[1] http://www.itk.org/Wiki/ITK_Release_4/Refactor_Numerical_Libraries

On Jul 25, 2014, at 3:32 PM, Fotis Drakopoulos fdrak...@gmail.com wrote:

 Hi ITK developers,
 
 I am working on the integration of the LASPack package 
 (http://www.netlib.org/linalg/) inside the ITK for solving for solving large 
 sparse systems of linear equations with iterative methods.
 I created a new folder with name laspack under the directory : 
 Modules/ThirdParty/VNL/src/vxl/v3p/netlib/ with the following CMakeList.txt :
 
 PROJECT( laspack )
 
 # List sources for each library component.
 SET(V3P_NETLIB_laspack_SOURCES
 eigenval.c
 errhandl.c
 factor.c
 itersolv.c
 matrix.c
 mlsolv.c
 operats.c
 precond.c
 qmatrix.c
 rtc.c
 vector.c
 eigenval.h
 elcmp.h
 errhandl.h
 factor.h
 itersolv.h
 lastypes.h
 matrix.h
 mlsolv.h
 operats.h
 precond.h
 qmatrix.h
 rtc.h
 vector.h
 version.h
 copyrght.h
 xc/getopts.c
 xc/xstring.c
 xc/getopts.h
 xc/version.h
 xc/xstring.h
 xc/xtypes.h
   )
 
 # Create a library .
 ADD_LIBRARY(itkv3p_laspack ${V3P_NETLIB_laspack_SOURCES})
 IF(UNIX)
   TARGET_LINK_LIBRARIES( itkv3p_laspack m )
 ENDIF(UNIX)
 IF(ITK_LIBRARY_PROPERTIES)
   SET_TARGET_PROPERTIES(itkv3p_laspack PROPERTIES ${ITK_LIBRARY_PROPERTIES})
 ENDIF(ITK_LIBRARY_PROPERTIES)
 
 IF(NOT VXL_INSTALL_NO_LIBRARIES)
   INSTALL(TARGETS itkv3p_laspack
 EXPORT ${VXL_INSTALL_EXPORT_NAME}
 RUNTIME DESTINATION ${VXL_INSTALL_RUNTIME_DIR} COMPONENT RuntimeLibraries
 LIBRARY DESTINATION ${VXL_INSTALL_LIBRARY_DIR} COMPONENT RuntimeLibraries
 ARCHIVE DESTINATION ${VXL_INSTALL_ARCHIVE_DIR} COMPONENT Development)
 ENDIF(NOT VXL_INSTALL_NO_LIBRARIES)
 IF(NOT VXL_INSTALL_NO_DEVELOPMENT)
   INSTALL_NOBASE_HEADER_FILES(${VXL_INSTALL_INCLUDE_DIR} 
 ${V3P_NETLIB_laspack_SOURCES})
 ENDIF(NOT VXL_INSTALL_NO_DEVELOPMENT)
 
 Also in the CMakeLists.txt located in direcory : Modules/ThirdParty/VNL/src I 
 added the new itkv3p_laspack library as follows: 
 
 add_subdirectory(vxl)
 foreach(lib itkvcl itkv3p_netlib itkv3p_lsqr itkv3p_laspack itktestlib itkvnl 
 itkvnl_algo)
   itk_module_target(${lib} NO_INSTALL)
 endforeach()
 
 When I build ITK I do not get any errors and the libitkv3p_laspack. a  is 
 normally created like all the other ITK libraries.
 However when I compile an external project which links to ITK with 
 TARGET_LINK_LIBRARIES(PROJECT_NAME ${ITK_LIBRARIES}),   I am getting the 
 following link error:
 
 /home/fdrakopo/local/bin/ITKDev/release/lib/libitkvnl_algo-4.1.a(vnl_sparse_iterative_solver.cxx.o):
  In function 
 `vnl_sparse_iterative_solver::vnl_sparse_iterative_solver(vnl_sparse_matrixdouble
  const)':
 vnl_sparse_iterative_solver.cxx:(.text+0x6a): undefined reference to 
 `Q_SetName(QMatrixType*, char*)'
 collect2: error: ld returned 1 exit status
 make[2]: *** [PAPBNRR] Error 1
 make[1]: *** [CMakeFiles/PAPBNRR.dir/all] Error 2
 make: *** [all] Error 2
  
 The vnl_sparse_iterative_solver is a new class I created under : 
 Modules/ThirdParty/VNL/src/vxl/core/vnl/algo 
 and encapsulates the implemented calls (functions, etc.) to the LASPack 
 package (similarly to vnl_sparse_lu class that calls Kenneth's Kundert SPARSE 
 package).
 Also the itkvnl_algo inks to itkv3p_laspack :
 TARGET_LINK_LIBRARIES( itkvnl_algo ${NETLIB_LIBRARIES} itkvnl itkv3p_lsqr 
 itkv3p_laspack ) 
 
 Any ideas how can I solve the above link error?
 
 Regards,
 Fotis Drakopoulos
 CRTC lab
 
 ___
 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

___
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


[ITK-dev] ScaleTransform missing fixed Center

2014-07-24 Thread Bradley Lowekamp
Hello,

I am wrapping itk::ScaleTransform for SimpleITK and I believe I encountered a 
bug.

This class has a Center of scaling, yet reports no fixed parameters. 
Additionally, this Center is not serializes to files.

The transformation of points behaves as expected with a Center of scaling, 
therefor I think there is an error with the fixed parameters.

Additionally these itk::MatrixOffsetTransformBase::GetCenter and SetCenter are 
not virtual.





___
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


Re: [ITK-dev] Undefined IOFactoryRegister__Private methods?

2014-07-23 Thread Bradley Lowekamp
How are you finding and using ITK in the CMake code? Are you using ITK via 
components?

Brad

On Jul 23, 2014, at 11:23 AM, Williams, Norman K norman-k-willi...@uiowa.edu 
wrote:

 We have a bunch of big Cmake build systems that until very recently (I 
 noticed it yesterday) were working fine. Now we get link errors like this:
 
   itk::BMPImageIOFactoryRegister__Private(), referenced from:
   itk::(anonymous namespace)::ImageIOFactoryRegisterRegisterList in 
 libmaxcurvatureLib.a(maxcurvature.cxx.o)
   itk::GE4ImageIOFactoryRegister__Private(), referenced from:
   itk::(anonymous namespace)::ImageIOFactoryRegisterRegisterList in 
 libmaxcurvatureLib.a(maxcurvature.cxx.o)
 
 When I  go looking for these symbols,  I see them where you’d expect them — 
 libITKBMPIO-4.6.a etc.
 
 The problem seems to be that the IO libraries are being LEFT OUT of the 
 ITK_LIBRARIES Cmake variable.
 
 We use a pretty recent version of ITK:
 commit 06d5bfec67805bfadb5dc344b08ab554381592c6
 Merge: b960bce c1bcfb7
 Author: Matt McCormick matt.mccorm...@kitware.com
 Date:   Tue Jul 15 16:05:22 2014 -0400
 o
 Merge topic 'FixThresholdMaxCCWarning'
 
 c1bcfb73 COMP: Fix implicit conversion warnings
  
 
 
 Notice: This UI Health Care e-mail (including attachments) is covered by the 
 Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential 
 and may be legally privileged.  If you are not the intended recipient, you 
 are hereby notified that any retention, dissemination, distribution, or 
 copying of this communication is strictly prohibited.  Please reply to the 
 sender that you have received the message in error, then delete it.  Thank 
 you.
 ___
 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

___
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


Re: [ITK-dev] [ITK] itkSignedMaurerDistanceMapImageFilterTest3 failing on Fedora

2014-07-07 Thread Bradley Lowekamp
Hello,

This is with the current master/rc? Does the previous version 4.5.1 also 
exhibit this issue?

Thanks,
Brad

On Jul 7, 2014, at 7:02 PM, Rashad M mohammedrasha...@gmail.com wrote:

 
 
 
 On Mon, Jul 7, 2014 at 9:09 PM, Miller, James V (GE Global Research) 
 mille...@ge.com wrote:
 The mixing probably come reading the original data or baseline images from 
 disk.  The baseline images were created with ITK_USE_SYSTEM_PNG=OFF. Your 
 system is reading them using the system png library. The ITK writers that 
 created the baseline images set some fields that you are not using.
 
  
 
 But these are only warnings.  I wouldn’t expect a test to fail because of 
 this. 
 
 
 Yes it is strange that using system PNG test is failing while using internal 
 PNG that test is passing.
 
 dashboard submission 
 with system png - 
 http://open.cdash.org/viewTest.php?onlyfailedbuildid=3400059
 with internal png - http://open.cdash.org/buildSummary.php?buildid=3400062  
 (greeny submission)  :)
 
 So to sum up on Fedora system ITK_USE_SYSTEM_PNG=OFF is the only solution?. 
 It works for me but would be great to have system png though.
 
 Jim
 
  
 
  
 
  
 
 From: Rashad M [mailto:mohammedrasha...@gmail.com] 
 Sent: Monday, July 07, 2014 2:55 PM
 To: Miller, James V (GE Global Research)
 
 
 Subject: Re: [ITK-dev] [ITK] itkSignedMaurerDistanceMapImageFilterTest3 
 failing on Fedora
 
  
 
 Sorry I misspelled your name in last mail.
 
  
 
 On Mon, Jul 7, 2014 at 8:32 PM, Rashad M mohammedrasha...@gmail.com wrote:
 
 Hi Miller,
 
  
 
 But where comes mixing of libpng? I have ITK_USE_SYSTEM_PNG=ON
 
  
 
  
 
  
 
 On Mon, Jul 7, 2014 at 8:29 PM, Miller, James V (GE Global Research) 
 mille...@ge.com wrote:
 
 To back up Bill's question, I get libpng warnings like these on my Windows 
 systems when reading pngs with OpenCV which were written with ITK, i.e. 
 mixing versions of libpng.
 
 Jim
 
 
 -Original Message-
 From: Insight-developers [mailto:insight-developers-boun...@itk.org] On 
 Behalf Of Bill Lorensen
 Sent: Monday, July 07, 2014 2:15 PM
 To: Rashad M
 Cc: ITK
 Subject: Re: [ITK-dev] [ITK] itkSignedMaurerDistanceMapImageFilterTest3 
 failing on Fedora
 
 Are you running with a system PND library? I see this in your output:
 
 libpng warning: sCAL: invalid unit
 libpng warning: sCAL: invalid unit
 
 but not in my output.
 
 
 On Mon, Jul 7, 2014 at 2:11 PM, Bill Lorensen bill.loren...@gmail.com wrote:
  Strange. I run Fedora 20 with the same cmake and gcc versions. My tests 
  pass.
 
  Bill
 
  On Mon, Jul 7, 2014 at 11:14 AM, Rashad M mohammedrasha...@gmail.com 
  wrote:
  Hello all,
 
 
  I have a weekly submission on dashboard[1] of ITK git. The test in
  the subject is always failing and a similar behavior is seen in other
  tests and mostly on Fedora Linux. I am wondering weather this has
  something to do with the Fedora or version of the packages in its 
  repository (cmake etc.).
  Unfortunately there is not enough submission from Fedora to confirm this.
 
  Does anyone have any suggestions?
 
  Fedora 20 x86_64 (Heisenbug)
  cmake, ctest version 2.8.12.2
  gcc version 4.8.2 20131212 (Red Hat 4.8.2-7) (GCC)
 
  [1]
  http://open.cdash.org/testSummary.php?project=2name=itkSignedMaurerD
  istanceMapImageFilterTest3date=2014-06-01
 
  --
  Regards,
 Rashad
 
  ___
  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
 
  ___
  Community mailing list
  commun...@itk.org
  http://public.kitware.com/mailman/listinfo/community
 
 
 
 
  --
  Unpaid intern in BillsBasement at noware dot com
 
 
 
 --
 
 Unpaid intern in BillsBasement at noware dot com 
 ___
 
 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
 
 
 
 
  
 
 --
 
 Regards,
Rashad
 
 
 
 
  
 
 --
 
 Regards,
Rashad
 
 
 
 
 -- 
 Regards,
Rashad
 ___
 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:
 

[ITK-dev] https://issues.itk.org/jira/browse/ITK-3291

2014-07-02 Thread Bradley Lowekamp
Hello,

With the unused-local-typedefs warning now enabled there are a large number of 
warning on the dashboard which should be addressed. I have created a JIRA issue 
to help coordinate the effort:
https://issues.itk.org/jira/browse/ITK-3291

I recommend doing this on a Group by Group basis, and logging in the JIRA 
ticked.

Thanks,
Brad
___
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


[ITK-dev] Modular Code Coverage for remote modules

2014-07-01 Thread Bradley Lowekamp
Hello,

I am trying to run code coverage for each remote module.

How do I restrict the coverage to just the Remote Module?

Currently it is being reported for all files run during the testing, which 
includes the IOs[1]. This is what I currently have [2].

Is there a magic options I need to set some place? Or do we need to add source 
file LABELS to enable the LABELS option to ctest_coverage[3]?

Thanks,
Brad


[1] http://open.cdash.org/viewCoverage.php?buildid=3390315
[2] http://open.cdash.org/viewNotes.php?buildid=3390283
[3] http://www.cmake.org/cmake/help/v3.0/command/ctest_coverage.html

___
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


  1   2   3   4   >