Comments (2)
Thanks for the report. I can reproduce this with Python 3.11 as well. The result changed between 0.19.3 and 0.20.0 from 1.15 to 0.36 (rounded). I haven't checked with git bisect but I am guessing that you are running into changes introduced by #6446. From the release notes
Rewrite skimage.filters.meijering, skimage.filters.sato, skimage.filters.frangi, and skimage.filters.hessian to match the published algorithms more closely. This change is backward incompatible and will lead to different output values compared to the previous implementation. The Hessian matrix calculation is now done more accurately. The filters will now be correctly set to zero whenever one of the Hessian eigenvalues has a sign which is incompatible with a ridge of the desired polarity. The gamma constant of the Frangi filter is now set adaptively based on the maximum Hessian norm (#6446).
In that case, we would consider this a fix and the changed values as intended behavior. Is this a problem for you? Would you have a reason to deem the previous value, 1.15, to be more correct?
from scikit-image.
Thanks for the report. I can reproduce this with Python 3.11 as well. The result changed between 0.19.3 and 0.20.0 from 1.15 to 0.36 (rounded). I haven't checked with git bisect but I am guessing that you are running into changes introduced by #6446. From the release notes
Rewrite skimage.filters.meijering, skimage.filters.sato, skimage.filters.frangi, and skimage.filters.hessian to match the published algorithms more closely. This change is backward incompatible and will lead to different output values compared to the previous implementation. The Hessian matrix calculation is now done more accurately. The filters will now be correctly set to zero whenever one of the Hessian eigenvalues has a sign which is incompatible with a ridge of the desired polarity. The gamma constant of the Frangi filter is now set adaptively based on the maximum Hessian norm (#6446).
In that case, we would consider this a fix and the changed values as intended behavior. Is this a problem for you? Would you have a reason to deem the previous value, 1.15, to be more correct?
Hi, appreciate your clarification. My sole purpose to report the case is for certain reproducibility-related tasks and since the envrionment configuration only asks for a range of skimage from 0.19.x to 0.22.x, the skimage was manually installed (with slightly different versions on different machines) and we therefore observe the discrepancy.
I don't have any reason to deem the previous value, but I feel like it might be helpful to other users who encounter the issue in future if we document this with a little more details in the docstring: I did attempt to compare the documentation of frangi between 0.19.x and 0.22 but kinda missed the takeaway of "Earlier versions of this filter were implemented by..." part since it doesn't explicitly address the different computation outputs.
Again thanks for the information!.
from scikit-image.
Related Issues (20)
- Collections attribute is used in gallery but was deprecated in Matplotlib 3.8. HOT 1
- Potential Enhancements and Clarifications for Wiener Deconvolution (restoration.wiener) HOT 7
- Feature smaller, focused gallery examples with a lower priority
- 0.23 release HOT 10
- Cannot catch MemoryError
- A typo in source code comment and document HOT 2
- io.imread() not opening renamed NDTiffStacks HOT 4
- Wheel building action fails with `actions/upload-artifact@v4` HOT 1
- In `scikit-image==0.23.1` `img_as_ubyte` stop accepting `np.ulonglong` HOT 22
- Investigate performance optimization in `_corner_fast` HOT 2
- test_unsharp_masking_output_type_and_shape fails on non-x86 architectures HOT 9
- H&E and Residual, rather than HED HOT 5
- Invalid no-name-in-module from pylint on scikit-image>=0.19.0 using filters module HOT 3
- libatlas 3.10.3 related failures on debian
- Adding `spacing` to `extra_properties`'s possible arguments in `regionprops` HOT 3
- CI fails on MacOS with "clang cannot compile programs" HOT 2
- ORB test points file should be read in x-y and not r-c
- Typo in `skimage.measure.find_contours` HOT 3
- Vulnerability: code injection HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scikit-image.