[ITK Community] [Insight-developers] Patches for ITK 4.5.1

Luis Ibanez luis.ibanez at kitware.com
Mon Feb 10 18:24:03 EST 2014


Just to answer Michka's question about why ITK has:

                                     ::Zero

and

                                ::ZeroValue()

This is due to historical reasons.


In the early versions of the toolkit, ITK only had "::Zero",
that was good enough for all basic types.

However, when ITK started providing better support for images
whose pixels had multiple components, it turned out that the
::Zero expression couldn't be used for initializing vectors types.

Therefore the "::ZeroValue()" was introduced,
to address those cases.

Retaining the "::ZeroValue()" as the recommended, generic
way to go, sounds reasonable, but I'm not sure that we could
get rid of the "::Zero" expression, due to the need for providing
backward compatibility support.


My humble opinion is that this might be too much work for little
benefit, specially given that the expression ::Zero most likely
can not be fully removed, (just marked as "not recommended")

The rule of thumb, could simply be to:

    Use ::ZeroValue() if the expression might need to
    support multi-components (such as RGB pixels)



    My 2 Cents,


       Luis



On Mon, Feb 10, 2014 at 3:27 PM, Brian Helba <brian.helba at kitware.com>wrote:

> I agree that performance should trump other considerations, but for what
> it's worth, I agree with Michka's point. Having 2 different ways of getting
> the exact same value is confusing, unncessarily comples, and plain
> aesthetically ugly. If one of the two can't be depreciated (at least for
> internal use), then at the least I think NumericTrails should be better
> documented as to why there are both a ::Zero and a ::ZeroValue().
>
>
> On Mon, Feb 10, 2014 at 11:11 AM, Matt McCormick <
> matt.mccormick at kitware.com> wrote:
>
>> If there is a performance benefit, it could be reverted, but otherwise
>> I think it is fine as-is.  In general, I think the function version
>> has broader application.
>>
>> Thanks,
>> Matt
>>
>> On Mon, Feb 10, 2014 at 9:18 AM, Michka Popoff <michkapopoff at gmail.com>
>> wrote:
>> > Speaking of sidestepping, in this case should we revert the changes I
>> made
>> > (from ::Zero to ::ZeroValue()) ?
>> > People may wonder way there are two ways of accessing Zero ? Or should
>> we
>> > just leave it as is.
>> >
>> > (We can discuss this in another topic if you wish, I don't want to
>> clutter
>> > this one with unrelated discussions)
>> >
>> > Michka
>> >
>> > Le 10 févr. 2014 à 15:02, Bradley Lowekamp a écrit :
>> >
>> > Hello Michka,
>> >
>> > Yes. I based this patch on "v4.5.0" tag, ( not including the SimpleITK
>> patch
>> > or your patch below ). This fixed all linking error message that were
>> of the
>> > form mentioned in JIRA ITK-3229. So I think this is the correct fix for
>> it
>> > not side stepping the issue.
>> >
>> > This patch should be merged into release.
>> >
>> > Brad
>> >
>> > On Feb 7, 2014, at 4:12 PM, Michka Popoff <michkapopoff at gmail.com>
>> wrote:
>> >
>> > Is this why there were all these errors when wrapping for python on OS
>> > 10.8.5 with clang 5.0.2 ?
>> >
>> > (Which were fixed with this patch :
>> > http://review.source.kitware.com/#/c/14033/ )
>> >
>> > Le 7 févr. 2014 à 22:04, Bradley Lowekamp a écrit :
>> >
>> > Hello Folks,
>> >
>> > I updated mini7's continuous to be shared libraries. So that's going to
>> be
>> > all red tomorrow.
>> >
>> > But I have the patch for it here:
>> > http://review.source.kitware.com/#/c/14319/
>> >
>> > Have a good weekend folks!
>> > Brad
>> >
>> > On Feb 7, 2014, at 2:02 PM, Bradley Lowekamp <blowekamp at mail.nih.gov>
>> wrote:
>> >
>> > Hello,
>> >
>> > As I recently turn on shared libraries for on my Mavericks build, I am
>> > getting many more linking  error on the release branch now:
>> > http://open.cdash.org/buildSummary.php?buildid=3211313
>> > I'll need to look into the further.
>> >
>> > Brad
>> >
>> > On Feb 7, 2014, at 8:35 AM, Brian Helba <brian.helba at kitware.com>
>> wrote:
>> >
>> > Please note, one of the dashboard clients testing the release branch
>> has 16
>> > new failing tests, as a result of the TIFF patch that was merged
>> yesterday.
>> >
>> > On Feb 7, 2014 8:16 AM, "Bradley Lowekamp" <blowekamp at mail.nih.gov>
>> wrote:
>> >>
>> >> Matt,
>> >>
>> >> Also this patch fixes an infinite loop with libc++:
>> >>
>> >> commit b5dd8d4b9cfa8b798ac182a31dcbdaca290958e5
>> >> Author: Bradley Lowekamp <blowekamp at mail.nih.gov>
>> >> Date:   Sat Jan 18 23:32:15 2014 -0500
>> >>
>> >>     COMP: fix failing voronoi segmentation tests
>> >>
>> >>     Internal comp method used for std::sort didn't induce a strict weak
>> >>     ordering ( <= vs < ) as required, since it returned true on
>> >>     equal. This cause failures likely due to difference algorithms in
>> >>     libc++.
>> >>
>> >>     Change-Id: Ic4c8f61d53bce6858b4edcd3a93c605271b0c65b
>> >>
>> >> Brad
>> >>
>> >> On Feb 7, 2014, at 8:09 AM, Bradley Lowekamp <blowekamp at mail.nih.gov>
>> >> wrote:
>> >>
>> >> > Matt,
>> >> >
>> >> > I think we should consider including the following patch:
>> >> >
>> >> > commit b5e114f94a7a64ff0c426067335cf3f42976eb29
>> >> > Author: Hans Johnson <hans-johnson at uiowa.edu>
>> >> > Date:   Thu Sep 26 23:51:17 2013 -0500
>> >> >
>> >> >    PERF: Reviewing code for facilitating compiler optimizations
>> >> >
>> >> >    The itkLinearInterpolateImageFunction.h is such a core
>> >> >    function, it deserves special attention for gaining
>> >> >    any amount of speed improvement can help
>> >> >    improve the speed of many programs.
>> >> >
>> >> >    Change-Id: Ibba6caa0468e850ab6b487565943d07af9f82f8c
>> >> >
>> >> > This will provide a large benefit to many users.
>> >> >
>> >> > Additionally the SCIFIO issue with linked libraries is a good
>> candidate.
>> >> >
>> >> > Brad
>> >> >
>> >> > On Feb 6, 2014, at 12:44 AM, Matt McCormick <
>> matt.mccormick at kitware.com>
>> >> > wrote:
>> >> >
>> >> >> Hi,
>> >> >>
>> >> >> ITK 4.5 is progressing nicely, and a number of important bug fixes
>> >> >> have been applied.  Thanks to everyone that has contributed.  We
>> want
>> >> >> to make sure that all low-risk patches that fix critical issues are
>> >> >> included in 4.5.1.  The current list (to be pushed following
>> testing)
>> >> >> is
>> >> >>
>> >> >> Bill Lorensen (1):
>> >> >>     BUG: Tiff compression was broken and untested
>> >> >>
>> >> >> Bradley Lowekamp (5):
>> >> >>     BUG: Correctly re-throw exception to restore AbortEvent,
>> >> >> ProcessAborted
>> >> >>     BUG: Adding export specification to Exception objects
>> >> >>     BUG: disable ipa-cp-clone in GDCM
>> >> >>     COMP: fix unused variable warning in abort test
>> >> >>     BUG: Do not throw exception in Probes with mis-matched Stop
>> >> >>
>> >> >> Brian Helba (2):
>> >> >>     BUG: Fix uninitialized variable in
>> >> >> GradientRecursiveGaussianImageFilter
>> >> >>     BUG: Make all specializations NumericTrails::SetLength re-zero
>> >> >> contents
>> >> >>
>> >> >> Hans Johnson (2):
>> >> >>     COMP: SimpleITK linkage failure
>> >> >>     BUG: Missing Modified() call
>> >> >>
>> >> >> Luke Bloy (2):
>> >> >>     BUG: Fixes itkBoxSpatialObject part of issue ITK-3153
>> >> >>     BUG: Fixes itkImageMaskSpatialObject part of issue ITK-3153
>> >> >>
>> >> >> Matthew McCormick (2):
>> >> >>     COMP: Update libminc to latest version.
>> >> >>     BUG: Remove unused itkAffineTransformXX.txt content links.
>> >> >>
>> >> >> Michka Popoff (1):
>> >> >>     BUG: Fix for the WrapITK.pth destination path
>> >> >>
>> >> >> Sean McBride (1):
>> >> >>     BUG: initialize m_SmallBlock ivar in ctor; fixes garbage read
>> >> >>
>> >> >> Anything missing?
>> >> >>
>> >> >> 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://www.itk.org/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://www.itk.org/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://www.itk.org/mailman/listinfo/insight-developers
>> >> _______________________________________________
>> >> Community mailing list
>> >> Community at itk.org
>> >> http://public.kitware.com/cgi-bin/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://www.itk.org/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://www.itk.org/mailman/listinfo/insight-developers
>> > _______________________________________________
>> > Community mailing list
>> > Community at itk.org
>> > http://public.kitware.com/cgi-bin/mailman/listinfo/community
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> > _______________________________________________
>> > Community mailing list
>> > Community at itk.org
>> > http://public.kitware.com/cgi-bin/mailman/listinfo/community
>> >
>> _______________________________________________
>> Community mailing list
>> Community at itk.org
>> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>>
>
>
>
> --
> Brian Helba
> Medical Imaging
> Kitware, Inc.
>
> _______________________________________________
> Community mailing list
> Community at itk.org
> http://public.kitware.com/cgi-bin/mailman/listinfo/community
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20140210/d6635c82/attachment-0002.html>


More information about the Community mailing list