-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Canny Edge Detection #16
Comments
Am sure you've seen this, but putting link to the code here from Thomas's 3D ImageJ suite github: Symmetry filter To be honest, the edge detection is fairly quick, so for now it can be incorporating the implementation in 3D ImageJ Suite (not GPU optimised) can be an option.. |
Yes, exactly! I already started incorporating 3D ImageJ Suite here: How are your Java coding skills btw? 😉 |
Awesome (not my JAVA coding skills) Are you planning to include 3D ROI Manager? That would be amazing! I am familiar with Groovy scripting if that helps, NOT JAVA unfortunately. 😞 |
Alright no problem. Let's attempt it like last time: If you can build a groovy script that runs an ImageJ 3D Suite filter, ideally without opening dialogs or windows, I turn it into a CLIJx-assistant plugin for you :-)
How should that look like? Unfortunately I don't see how the 3D-Manager can be put into a pipeline that re-generates images (that's what the assitant does ;-) ). Which functionalty from the 3D-Manager are you interested in? Btw. you can take a label-map from the assistant and load it into the 3D Manager to postprocess it there... |
I shall attempt that.
Good point. I am more interested in a way to manage labelled objects that are being generated. But, this could be done out of assistant as I am currently doing. Otherwise, it will be regenerated everytime as you mentioned. |
What do you mean by manage? That's really interesting! I would love to extend the functionality in the Label > Processing category. Just let me know what's missing 😉 |
I know that this manual interaction-thingy is kind of cool in the 3D Suite, but it's certainly not a target-functionality of a processing library like clij and workflow-design tool like the assistant. However, I do see an alternative: Can you mark the objects you like to keep and some you want to drop and try label classification?
This sounds like something we indeed want in the assistant (fantastic idea! Thanks). I created an issue for that. Let's try to keep issues separated: clij/2/x is for processing/filters; the assistant is a user interface to avoid coding. |
I will give this a go and see if it works. This may indeed be the way to go.
Yup, I start getting a mixed up with all of the clij's Not sure how you keep up!... 😄 |
Hey @pr4deepr , back to Canny Edge Detection. I just uploaded a bunch of new filters to the update site, among them SimpleITKs Canny Edge Detection: Would you mind testing it on a typical data set? ITK is also known as a quite fast processing library. Thus, I'd be interested in how you judge performance of that filter in a real scenario. Thanks! Cheers, |
Hey @pr4deepr , huh, that's many screenshots :-) I was hoping that you can tell me what good parameters for this filter are and how it's different from what you're used to. I would ike to point these things out in the documentation, so that others can "just" use it ;-) Thanks for your support! Cheers, |
Hi Robert Generally, increasing the value of the variance will give a smoother edge. Example, High variance, low error (smoothing gets rid of jagged edges at the bottom, and also small particles/edges): High variance, High error (some of the jaggedness of the edges and structure of original edge is retained): I am not sure about the threshold values though... Documentation on ITK website says lower threshold is the lowest threshold allowed, but the threshold values I enter here do not seem to correspond to the lowest thresholds or highest thresholds in the image. For ex, the threshold is 7000 on this image, but if I enter 7000 or whatever value on lower threshold, it does not really affect the edge output But, if I enter 300 in upper threshold, it gets rid of the lower thresholds. Anything higher than 1000 or so and it all disappears: I don't think I understand this section well enough... Cheers |
For the above image, as the structure is relatively thick/big, a variance of 8 and max error of 0.3-0.6 worked quite well. |
Suggested by @pr4deepr
See also:
https://github.com/clij/assistant/issues/14
The text was updated successfully, but these errors were encountered: