[ITK Community] [Insight-developers] Patches for ITK 4.5.1
Brian Helba
brian.helba at kitware.com
Tue Feb 11 16:05:21 EST 2014
Luis,
Thanks for the explanation. I agree we probably wouldn't want to frontload
the work of transitioning all usage now, but could we mark ::Zero as
deprecated for future new use?
I would think that ::ZeroValue() will be inlined out to a constant /
immediate value by compilers anyway.
Brian
On Feb 10, 2014 6:24 PM, "Luis Ibanez" <luis.ibanez at kitware.com> wrote:
> 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/20140211/b6f20a40/attachment-0002.html>
More information about the Community
mailing list