Comments (5)
you're welcome! Figure should be included in manual as well, but I'm currently fighting with LaTeX...
Otherwise yes, you can reproduce with macro. The critical point is the reconstruction, but it is easily scriptable.
best!
David
from morpholibj.
Hi,
I would expect that it takes all regional maxima and extends them,
This is not really how it works. In facts, some pixels/voxels may belong to a regional minima/maxima, without being included in an extended minima/maxima.
One way to consider things is to imagine the (morphological) reconstruction of the image, constrained by the same image minus the value of the dynamic. Then, a minima with a small dynamic will disappear after the reconstruction.
So the criterium to remove minima/maxima is the value of the dynamic value uused to remove them. Hope this makes things more clear? Maybe I will eed to update the manual also!!!
best,
David
from morpholibj.
Thanks!
So this is in fact something like the tolerance/h-maxima/prominence?
I think it would be very helpful to have a (1D) example of the workflow, including how the images look before and after the reconstruction a.s.o.
Do you think this is doable? Otherwise pretty hard to understand even for professional bioimage analysts ;-)
from morpholibj.
I have started an illustration in 1D case. You can find it here:
https://github.com/ijpb/MorphoLibJ/blob/master/doc/MorphoLibJ-manual/images/reconstruction/extendedMaxima.png
I have the book of Soille under the eyes, the workflow is as follow:
- start from function f (-> the dark curve)
- consider function f-h, where h is the contrast or dynamic (-> the dashed curve)
- perform morphological reconstruction by dilation of (f-h) under f (-> the blue region)
- compute the regional maxima of the reconstruction (-> the dark blocks)
On the example, a value of two units was used for the dynamic. Note that the position of the maxima may change for larger value of dynamic. For example, using a dynamic of 1 unit results in same number of maxima, but smaller. Using a value of 3 units will make the left-most maxima disappear.
It is possible to value the maxima depending on the dynamic value that make them disappear, but this is not (yet?) implemented in MLJ.
from morpholibj.
@dlegland This is great! Thank you very much!
I think one has all the functions to do this in MLJ, right?
So I could write a macro with line profiles in ImageJ to reproduce this, isn't it?
from morpholibj.
Related Issues (20)
- Question About Reconstructing images from the IMAGE J results file HOT 4
- Label edit does not show the final labeled image HOT 2
- make "Assign Measure to Label" for 3D images macro-recordable
- Gray Scale Attribute Filtering 3D not working HOT 6
- Configure Analyze Regions HOT 14
- MorphoLibJ as a dependency versions conflict HOT 21
- croplabel() , set pixel/voxel size and origin of the cropped image HOT 3
- MorphoLibJ is on bioconda HOT 1
- measurements should contain an additional column with image calibration unit
- Fill holes in labels HOT 4
- Erode labels HOT 4
- Suggestion for Intensity Measurements and Analyze Regions commands HOT 1
- orientation features in 2D have different ranges
- enhance analysis of timelapse images HOT 2
- closing close to image boundary HOT 2
- plugin “Draw Table Values” should be scriptable
- Issue with the ‘Label Edition’ plugin
- Label Morphological Filter: Erosion Operation for touching labels HOT 7
- Remove Border Labels does not work on Virtual stacks
- MorpholibJ Draw Table Value plugin error HOT 1
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 morpholibj.