[Insight-developers] ITK 3.12: FREEZING TODAY

Andinet Enquobahrie andinet.enqu at kitware.com
Thu Feb 26 10:19:45 EST 2009


Bill,Luca-

Another warning that Luis and I diagnosed this morning is the following

http://www.cdash.org/CDash/viewBuildError.php?type=1&buildid=279996

This particular issue is related to the following fragment code in 

HessianRecursiveGaussianImageFilter.txx:38

for( unsigned int i = 0; i<NumberOfSmoothingFilters; i++ )
    {
    GaussianFilterPointer filter = GaussianFilterType::New();
    filter->SetOrder( GaussianFilterType::ZeroOrder );
    filter->SetNormalizeAcrossScale( m_NormalizeAcrossScale );
    filter->ReleaseDataFlagOn();
    m_SmoothingFilters.push_back( filter );
    }

For 2D images,

NumberOfSmoothingFilters = ImageDimension - 2 = 0

This loop will never be executed and that is the reason we are getting 
the warning.

This issue got exposed now ince we are using 2D DSA image for 
testing the newly added itkHessianToObjectnessMeasureImageFilterTest

To fix these warnings, one option is to use specialized templates.

I have entered a bug entry on this.

http://public.kitware.com/Bug/view.php?id=8624

-Andinet


> Bill, Luis,
>  you're both right, in the sense that, yes, 
> the EigenValueArrayType uses the dimension of the pixel type, which 
> happens to be indeed equal to the image type for the typical use case. 
> So I expect the code to run correctly.
>
> I'm thinking about cases where this assumption would not hold... like 
> when one computes the 2D Hessian (say in the xy plane) on 3D image. 
>
> Although one could argue that this is unlikely (and untested!), I 
> think we have to make a decision here. From the point of view of 
> keeping concepts clean (which always pays off in the long run), I'd go 
> back to using InputPixelType::Dimension, but the other way is also 
> fine (the assumption should be documented, though).
>
>
> As to the warning about the "short unsigned int" to "double" warning 
> (by the way, thanks for all the work you're doing around my filter!): 
> the cast fix solves the problem, but it introduces a potential problem 
> in the functionality.
> OutputImageType can be defined with an integer PixelType, which will 
> result in an integer type enhanced image. The problem is that the 
> maximum response scale image should report the exact scale (float 
> type) at which the filter responded the best, without converting it to 
> integer type, since this would lead to wrong information. In other 
> words, the scales image always has to be float (I wouldn't use double 
> for this, there's no use).
>
> Summarizing, I would introduce a 
> typedef float ScalesPixelType
> typdef Image<ScalesPixelType> ScalesImageType;
> and change the rest of the class to use ScalesImageType instead of 
> OutputImageType for output 1.
>
> I don't know if you want to keep the class in for 3.12, so just let me 
> know if I can commit changes to it (or if you want to do it).
>
> Best
>
>
> Luca
>
>
> On Feb 25, 2009, at 9:33 PM, Luis Ibanez wrote:
>
>>
>> Bill, Luca,
>>
>> Yes, that piece was a bit confusing.
>>
>> My reasoning was:
>>
>> The type is used to define the Eigen values of the Hessian,
>> that happens to be the input image type.
>>
>> Therefore the length of the array that will store the eigenvalues
>> must match the dimension of the image.
>>
>> Typically the pixel type of a Hessian Image will be a symmetric
>> second rank tensor, in which case the "Dimension" still refers to
>> the dimension of the space in which the image is embedded.
>>
>>
>> Luca:
>>  Is this consistent with the intention you had in this code ?
>>
>>
>>
>>     Thanks for any hint,
>>
>>
>>          Luis
>>
>>
>> ------------------------------------------------------------------------------------------------
>> On Wed, Feb 25, 2009 at 3:04 PM, Bill Lorensen 
>> <bill.lorensen at gmail.com <mailto:bill.lorensen at gmail.com>> wrote:
>>
>>     Luis,
>>
>>     I think these changes:
>>     http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Review/itkHessianToObjectnessMeasureImageFilter.h?root=Insight&r1=1.1&r2=1.2&sortby=date
>>     <http://public.kitware.com/cgi-bin/viewcvs.cgi/Code/Review/itkHessianToObjectnessMeasureImageFilter.h?root=Insight&r1=1.1&r2=1.2&sortby=date>
>>
>>     do not match the original intent. The  EigenValueArrayType used
>>     InputPixelType::Dimension. The changes are the equivalent of using
>>     InputImageType::ImageDimension. The dimension is of the pixeltype not
>>     the imagetype.
>>
>>     Bill
>>
>>     On Wed, Feb 25, 2009 at 2:07 PM, Luis Ibanez
>>     <luis.ibanez at kitware.com <mailto:luis.ibanez at kitware.com>> wrote:
>>     >
>>     > Hi Bill,
>>     >
>>     > We are addressing the issues in Borland and VS6...
>>     > but if it start taking too long, we can simply remove the new
>>     files.
>>     >
>>     > I can't wait to be able to install Visual Studio 6.0 in a computer
>>     > in the Amazon cloud...    :-)
>>     >
>>     >
>>     >     Luis
>>     >
>>     >
>>     >
>>     ----------------------------------------------------------------------
>>     > On Wed, Feb 25, 2009 at 12:17 PM, Bill Lorensen
>>     <bill.lorensen at gmail.com <mailto:bill.lorensen at gmail.com>>
>>     > wrote:
>>     >>
>>     >> Are we comfortable freezing if code was just checked into Review
>>     >> yesterday? I suggest we remove the new stuff that was checked
>>     in for
>>     >> now, even though it is in Review. Borland as well as VS6 has
>>     >> problems. I made sure before I went away to have a clean VS6
>>     build.
>>     >>
>>     >> Bill
>>     >>
>>     >> On Wed, Feb 25, 2009 at 11:59 AM, Bill Lorensen
>>     <bill.lorensen at gmail.com <mailto:bill.lorensen at gmail.com>>
>>     >> wrote:
>>     >> > You will also need to use itkGetStaticConstMacro for the
>>     static const
>>     >> > that is declared in that header. This is standard practice for
>>     >> > Borland.
>>     >> >
>>     >> > I have restarted my continuous for a couple of days.
>>     >> >
>>     >> > Bill
>>     >> >
>>     >> > On Wed, Feb 25, 2009 at 11:55 AM, Luis Ibanez
>>     <luis.ibanez at kitware.com <mailto:luis.ibanez at kitware.com>>
>>     >> > wrote:
>>     >> >> Hi Bill,
>>     >> >>
>>     >> >> Yeap, we are tracking those.
>>     >> >>
>>     >> >> They seem to be related to the direct use of
>>     ImageType::Dimension.
>>     >> >> We are replacing it with the dimension declaration
>>     extracted with the
>>     >> >> GetImageDimension helper class.
>>     >> >>
>>     >> >>
>>     >> >>     Luis
>>     >> >>
>>     >> >>
>>     >> >> ---------------------------------------------------
>>     >> >> On Wed, Feb 25, 2009 at 11:40 AM, Bill Lorensen
>>     >> >> <bill.lorensen at gmail.com <mailto:bill.lorensen at gmail.com>>
>>     >> >> wrote:
>>     >> >>>
>>     >> >>> Recent checkins to Review have broken the Borland build.
>>     This should
>>     >> >>> be repaired. I cannot help at this moment.
>>     >> >>>
>>     >> >>> On Wed, Feb 25, 2009 at 10:34 AM, Bradley Lowekamp
>>     >> >>> <blowekamp at mail.nih.gov <mailto:blowekamp at mail.nih.gov>>
>>     wrote:
>>     >> >>> > I am building an experimental with the fix for this (and the
>>     >> >>> > ImageIORegion
>>     >> >>> > M-D to N-D conversion issues):
>>     >> >>> >
>>     >> >>> > http://public.kitware.com/Bug/view.php?id=8369
>>     >> >>> > After that I am good :)
>>     >> >>> >
>>     >> >>> > On Feb 25, 2009, at 10:04 AM, Luis Ibanez wrote:
>>     >> >>> >
>>     >> >>> > Unless anyone has a strong objection, we will be freezing
>>     >> >>> > the cvs repository today in order to clean up the last
>>     >> >>> > details before we cut the release of ITK 3.12 on Saturday.
>>     >> >>> >
>>     >> >>> > Objections anyone ?
>>     >> >>> >
>>     >> >>> >
>>     >> >>> >     Thanks
>>     >> >>> >
>>     >> >>> >
>>     >> >>> >        Luis
>>     >> >>> >
>>     >> >>> > _______________________________________________
>>     >> >>> > Powered by www.kitware.com <http://www.kitware.com>
>>     >> >>> >
>>     >> >>> > Visit other Kitware open-source projects at
>>     >> >>> > http://www.kitware.com/opensource/opensource.html
>>     >> >>> >
>>     >> >>> > 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 <http://www.kitware.com>
>>     >> >>> >
>>     >> >>> > Visit other Kitware open-source projects at
>>     >> >>> > http://www.kitware.com/opensource/opensource.html
>>     >> >>> >
>>     >> >>> > 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 <http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at 
>> http://www.kitware.com/opensource/opensource.html
>>
>> 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
>
> --
> Luca Antiga, PhD
> Head, Medical Imaging Unit,
> Biomedical Engineering Department,
> Mario Negri Institute.
> mail: Villa Camozzi, 24020, Ranica (BG), Italy
> phone: +39 035 4535-381
> email: antiga at marionegri.it <mailto:antiga at marionegri.it>
> web: http://villacamozzi.marionegri.it/~luca 
> <http://villacamozzi.marionegri.it/%7Eluca>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> 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
>   


-- 
==========================================================
Andinet A. Enquobahrie, PhD
R&D Engineer
Kitware Inc.

28 Corporate Drive
Clifton Park, NY 12065-8662
Phone: 518-371-3971 x124
www.kitware.com




More information about the Insight-developers mailing list