[IGSTK-Developers] Preparation for release

Luis Ibanez luis.ibanez at kitware.com
Wed May 31 15:34:51 EDT 2006


We look in to this with Andinet and found that the Difference image 
filter has the capability for taking a neighborhood into account.
This means that the difference is not necessarily computed on a
pixel-wise basis. Instead one pixel from image A is compared to
pixels of image B by taking a neighborhood in image B and finding
the pixel in that neighborhood that is most similar to the pixel
in image A. This functionality is intended to provide robustness
against spatial shifts of objects in the image.

The igstkTestMain.h file has been modified in order to expose
this functionality.

Now every test will have the option of defining the tolerance
for the comparison, and the size of the neighborhood used for
finding the most similar pixel.



    Luis



------------------------
Julien Jomier wrote:
> Hi Andinet,
> 
> Thanks for looking into this.
> I think redefining the tolerance measure is a good idea. In ITK we are 
> adding more baselines and sometimes it kind be quite annoying to 
> generate them, etc...
> 
> Do you think the difference for the USImageSimulator test is only due to 
> OpenGL rendering?
> Can you try to implement the new tolerance metric and see how it goes?
> 
> Thanks,
> 
> Julien
> 
> Andinet Enquobahrie wrote:
> 
>> Hi Julien,
>>
>> Digging into the code......here is what I found out about the 
>> tolerance parameter.
>>
>> The tolerance parameter is defined in the test driver program 
>> (igstkTestMain.h). This class internally uses the 
>> itk::DifferenceImageFilter.  This filter performs pixel by pixel 
>> intensity comparison. One of the parameters of this filter is 
>> difference threshold. And the tolerance value defined in 
>> igstkTestMain.h is set to to this threshold. When a a pixel by pixel 
>> intensity comparison is done , if the absolute difference is greater 
>> than this threshold then the difference is added to the difference 
>> accumulator (totaldifference), otherwise it is ignored. The test 
>> driver program (igstkTest) reads the accumulated total difference and 
>> if the sum is different from zero, the test is flagged as failure and 
>> a difference image is generated for the dashboard.
>>
>> I think this is not a good measure of similarity evaluation of two 
>> images. I suggest looking at the mean difference instead of the total 
>> difference and also add a second threshold to evaluate the mean 
>> difference.
>>
>> Any thoughts on the improvement?
>>
>> Andinet
>>
>> PS:  the failure of your regression test on the linux machines is a 
>> similar issue with the other regression tests. this is mainly due to 
>> openGL rendering artifact. I can think of two options to resolve this 
>> issue. Either use a tolearnce measure ( after redefining it in a 
>> better way) to accomodate this artifact or generate different baseline 
>> images for windows and linux machines.
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>> Hi Luis,
>>>
>>> Most of the classes are almost ready to be moved. I plan to increase 
>>> the coverage today.
>>> When do you want to move the files? How about tomorrow evening?
>>>
>>> Also, the igstkVascularNetworkReaderTest is now a regression test and 
>>> for some reasons it's not passing on linux because of some bright 
>>> pixels. What is the best way to deal with that? increase the tolerance?
>>> BTW, What does the tolerance means?
>>>
>>> Thanks for your inputs on this,
>>>
>>> Julien
>>>
>>> _______________________________________________
>>> IGSTK-Developers mailing list
>>> IGSTK-Developers at public.kitware.com
>>> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
>>>
>>>
>>
>>
>>
> 
> _______________________________________________
> IGSTK-Developers mailing list
> IGSTK-Developers at public.kitware.com
> http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers
> 
> 





More information about the IGSTK-Developers mailing list