Closed AndreZeug closed 1 month ago
I agree, this should be consistent. I’ll have to take a look how to do this properly, we also don’t want to change behavior that people might depend on.
Dear Chris, Thank you so much! You are faster with fixing then I with compiling 🙈 Both conditions work perfect now! (at least for me 🤭)
Best, Andre
Component Matlab R2024a DIPimage toolbox for quantitative image analysis Version 3.4.3 10-May-2024
Describe the bug The methods included in gaussf (derivative) lead to different boundary behaviour, depending on method used. When smoothing a z-stack structures from the last/first layer are present in the first/last - depending on the method used.
RAW z0![dd_RAW](https://github.com/DIPlib/diplib/assets/20279594/6670f1cb-639a-4b3a-b424-c98dee21edc2)
iir z0 (ddiir = single(gaussf(double(squeeze(dd)),[.8 .8 .8],'iir'));)![dd_iir](https://github.com/DIPlib/diplib/assets/20279594/7f9e48fa-ad17-4fe7-8788-8cd95117bb28)
ft z0 (ddft = single(gaussf(double(squeeze(dd)),[.8 .8 .8],'ft'));)![dd_ft](https://github.com/DIPlib/diplib/assets/20279594/235fd7cc-1c7e-40e4-a333-dd5f71bff657)
Question Can 'boundary_condition' , 'truncation' be used with 'ft' to achieve similar behaviour as with 'iir' and 'fir'? Typically I use a weak smoothing of 0.5 which implicates 'ft' method as default.
To Reproduce Sample data can be found here dd_uint8.zip.
ddiir = single(gaussf(double(squeeze(dd)),[.8 .8 .8],'iir')); ddft = single(gaussf(double(squeeze(dd)),[.8 .8 .8],'ft')); ddfir = single(gaussf(double(squeeze(dd)),[.8 .8 .8],'fir'));
System information: Win10, Matlab2024a, DIPimage 3.4