[Insight-developers] Progress behaviour

Bill Hoffman bill . hoffman at kitware . com
Thu, 19 Jun 2003 16:43:07 -0400


FYI, recent changes in the progress stuff have broken the wrapping.
Here is the error:

In file included from /home/hoffman/Insight/Code/BasicFilters/itkDiscreteGaussianImageFilter.txx:23,
                 from /home/hoffman/Insight/Code/BasicFilters/itkDiscreteGaussianImageFilter.h:215,
                 from /home/hoffman/Insight/Code/BasicFilters/itkCannyEdgeDetectionImageFilter.txx:21,
                 from /home/hoffman/Insight/Code/BasicFilters/itkCannyEdgeDetectionImageFilter.h:312,
                 from /home/hoffman/Insight/Wrapping/CSwig/BasicFilters/wrap_itkCannyEdgeDetectionImageFilter.cxx:17:
/home/hoffman/Insight/Code/Common/itkProgressAccumulator.h: In member function 
   `virtual void 
   itk::ProgressAccumulator::SetMiniPipelineFilter(itk::SmartPointer<itk::ProcessObject>)':
/home/hoffman/Insight/Code/Common/itkProgressAccumulator.h:64: choosing `bool 
   operator!=(const _Tp&, const _Tp&) [with _Tp = 
   itk::SmartPointer<itk::ProcessObject>]' over `bool 
   itk::SmartPointer<TObjectType>::operator!=(R) const [with R = 
   itk::SmartPointer<itk::ProcessObject>, TObjectType = itk::ProcessObject]'
/home/hoffman/Insight/Code/Common/itkProgressAccumulator.h:64:   because worst 
   conversion for the former is better than worst conversion for the latter
make[1]: *** [/home/hoffman/Insight-build/Wrapping/CSwig/BasicFilters/wrap_itkCannyEdgeDetectionImageFilter.xml] Error 33
make: *** [default_target] Error 2


Looks like a != operator problem with the smart pointer.   
This works on visual studio 6, but not gcc.   
So, there may be some troubles without wrapping on.


-Bill



At 02:39 PM 6/19/2003, Lorensen, William E (Research) wrote:
>Folks,
>We are assessing the state of progress reporting in the system. For the most
>part, the ProgressReporter and ProgressAccumulator work great.
>
>The ProgressReporter requires a guess for the number of pixels to be
>visitied.
>
>The trouble appears in filters that are iterative. These filters seldom know
>how many iterations will be performed. Sometimes we can make a guess based
>upon worse cases or averages.
>
>Two results are possible when the guess is wrong. If we guess too many
>iterations, the progress may jump from a low number to 1 at the end of the
>filter. If we guess too few, the progress can exceed one. The later is not
>acceptable. We can fix this by clamping or wrapping.
>
>What do people prefer:
>
>1) Jumping: progress increments, jumps to end
>2) Wrapping: progress increments, if it reaches 1, drops back.
>
>Bill
>_______________________________________________
>Insight-developers mailing list
>Insight-developers at www . itk . org
>http://www . itk . org/mailman/listinfo/insight-developers