-
Notifications
You must be signed in to change notification settings - Fork 62
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
Angle-aware filtering with optional GPU acceleration #525
Conversation
Build Failed 💥 |
Build passed ! Good Job 🍻 ! |
Build passed ! Good Job 🍻 ! |
Build passed ! Good Job 🍻 ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A couple of remaining docstring missing otherwise LGTM.
return out_sf | ||
|
||
|
||
def correlate_spatial(image_u, h_filter, sigma_range): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please add some docstring when needed
Build passed ! Good Job 🍻 ! |
Build passed ! Good Job 🍻 ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Testing this PR at the moment on my Linux Desktop.
- It completely freezes my display as it runs if I use --use_gpu. Is this expected? Essentially, it would be impossible for me to work on my machine at the same time.
- Is there a way that we could run the pip install pyopencl for the user?
- What is the htop or top way to see what the GPU is doing? (I'm novel to this)
Otherwise, it seems to work...
What is the size of the dataset you used for testing? Does the output look okay even though it freezes everything? |
@mdesco Therefore, I added a check for selecting the most suitable GPU based on the available memory. I will need to test on a PC with 2 or more GPUs to be sure it works, though. |
Build passed ! Good Job 🍻 ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good! Good job @CHrlS98
Hey!
New script for computing angle-aware bilateral filtering (my ISMRM 2022 abstract). The algorithm can be applied sequentially, across multiple CPU threads or on the GPU (given that
pyopencl
is installed).I didn't add
pyopencl
to the requirements to avoid introducing an additional dependency, but maybe it is something we should consider at some point, as GPU acceleration greatly increases compute time; on fODF from a full brain (HCP with Tractoflow), it takes 12 minutes versus 90 minutes to process using default parameters.The PR also contains changes to
scil_execute_asymmetric_filtering.py
and its associated modules to avoid confusion. Also, for both methods, it is now possible to output the asymmetric and the symmetric signal during the same execution.I put the OpenCL kernel file directly in the
denoise
module with the python files. Let me know how you feel about this.I'll also add tests really soon, for the sequential case at least. You can test it with the FiberCup, it runs pretty fast.
To do:
opencl_utils.py
.Thank you.