Skip to content
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

3D radial trajectory bundle (clean) #115

Merged
merged 8 commits into from
Jul 1, 2024

Conversation

Daval-G
Copy link
Collaborator

@Daval-G Daval-G commented May 24, 2024

This PR is a cleaned version of PR #113 and adds four 3D radial trajectories from the literature mentioned in issue #106:

  1. initialize_3D_phyllotaxis_radial from "Spiral Phyllotaxis: The Natural Way to Construct a 3D Radial Trajectory in MRI" Davide Piccini et al. (2011). Radial shots are oriented following a Fibonacci sphere lattice.
  2. initialize_3D_golden_means_radial from "Temporal Stability of Adaptive 3D Radial MRI Using Multidimensional Golden Means", Rachel W. Chan (2009). Radial shots are oriented following Fibonacci-based non-repeating angles.
  3. initialize_3D_wong_radial from "A Strategy for Sampling on a Sphere Applied to 3D Selective RF Pulse Design", Sam T. S. Wong and Mark S. Roos (1994). Radial shots are oriented following one or multiple spiral(s) over the k-space sphere.
  4. initialize_3D_park_radial from "A radial sampling strategy for uniform k-space coverage with retrospective respiratory gating in 3D ultrashort-echo-time lung imaging", Jinil Park et al. (2016). This pattern is based on Wong et al. (1994) from initialize_3D_wong_radial, enforcing a single spiral and ordering shots in a different way.

Documentation & examples coming soon.
The illustration below shows the tips of each radial shot for each of the four patterns.

Screenshot from 2024-05-23 14-38-43

@Daval-G Daval-G added the trajectories Issues concerning Non cartesian trajectories label May 24, 2024
@Daval-G Daval-G requested a review from paquiteau May 24, 2024 05:28
@Daval-G Daval-G self-assigned this May 24, 2024
@Daval-G
Copy link
Collaborator Author

Daval-G commented May 24, 2024

@chaithyagr to answer your suggestion from #113 (comment), AZTEK is currently listed in issue #106 but I hadn't realized it was radial. I will comment later to state whether I include it in this PR or in another one.

@Daval-G
Copy link
Collaborator Author

Daval-G commented May 24, 2024

@chaithyagr This point (#113 (comment)) has been raised a few times now, can you create an issue ? Or do we see it done extra short term ?

@Daval-G Daval-G added this to the v0.9.0 milestone May 24, 2024
@chaithyagr
Copy link
Member

@chaithyagr This point (#113 (comment)) has been raised a few times now, can you create an issue ? Or do we see it done extra short term ?

I have added it as an additional task in #77 .

@paquiteau
Copy link
Member

Apart from the docstring and examples this is good for me :)

@Daval-G
Copy link
Collaborator Author

Daval-G commented Jun 24, 2024

The examples are minimalistic for now, but I plan to detail them much further once we decide on the new example format.

Also note that I am trying to add a utils file to the examples to refactor some display functions that are needlessly encumbering each trajectory example, but I have no idea how to avoid generating an example for it and it also seems that, while running locally, the github actions can't find the utils file when importing. Could you have a look at that @paquiteau ?

@paquiteau
Copy link
Member

For the utils module you may want to use local import (from .utils ), the CI collect the examples using pytest and is run from the base directory, whereas sphinx_gallery does change directory before executing scripts.

Also you can add utils to the ignore_pattern of sphinx_gallery (in docs/conf.py)

@Daval-G
Copy link
Collaborator Author

Daval-G commented Jun 26, 2024

For the utils module you may want to use local import (from .utils ), the CI collect the examples using pytest and is run from the base directory, whereas sphinx_gallery does change directory before executing scripts.

Also you can add utils to the ignore_pattern of sphinx_gallery (in docs/conf.py)

Adding utils to the ignore_pattern of sphinx_gallery worked to build the documentation locally without generating it, but it still fails through the CI even when changing the imports from from utils to from .utils

@Daval-G
Copy link
Collaborator Author

Daval-G commented Jun 30, 2024

I didn't find a solution but I am not as familiar with CIs, so let me know your opinion @paquiteau otherwise I will just revert that refactoring

@paquiteau paquiteau force-pushed the 3D_radial_bundle_clean branch from 43e9b0b to da5fe60 Compare July 1, 2024 07:52
@paquiteau paquiteau merged commit c61f716 into mind-inria:master Jul 1, 2024
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
trajectories Issues concerning Non cartesian trajectories
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants