-
Notifications
You must be signed in to change notification settings - Fork 429
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
NF: Wigner-D Rotation Functions #3016
base: master
Are you sure you want to change the base?
Conversation
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.
Hi @aayush9400,
Thank you for doing this! See below an initial review. I still need to go deeper in this review
Hello @aayush9400, Thank you for updating !
Comment last updated at 2024-03-10 01:07:40 UTC |
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.
Hi @aayush9400,
- Can you address all the pep8 issues?
- Can you fix the merge conflict on your branch. We can not test it for now.
- Have you look at
dipy.core.geometry
? I feel like some function are duplicated/reimplemented. I need look deeper into that. I will do it after you fix the conflict. I will also look atnibabel.eulerangles
. if it is ok, I would recommend to move some function indipy.core.geometry
. - Every function should be tested individually. So you need a
test_wigner.py
which test every single function. it makes everything more robust and help for the review. - See below for additional comments
Thanks for looking into that and let me know when I can do a deeper review and test it.
|
||
Returns | ||
------- | ||
Us : list of ndarray |
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.
I understand. That's why I propose you to increase the dimension.
from [..., beta, alpha, gamma]
, create new array with [..., beta, alpha, gamma, index]
where instead of list of ndarray which has memory issues.
return output | ||
|
||
|
||
def complex_mm(x, y, conj_x=False, conj_y=False): |
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.
I do not think this function should be in this module.
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.
should i put it in dipy.core.geometry?
5935e1e
to
765963e
Compare
Merge branch 'master' of https://github.com/dipy/dipy into aajais_wigner
Okay. Good progress. Next step is adding simple to follow examples. |
The
wigner_rotation
performs a Wigner rotation on a given input array 'x', representing spherical harmonics coefficients. This rotation is defined by Euler angles alpha, beta, and gamma.Method Signature:
def wigner_rotation(signal: ndarray, alpha: int, beta: int, gamma: int) -> numpy.ndarray of same shape as image
Example Usage