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

FOV Modification for Image Reconstruction #390

Open
Mencu opened this issue May 6, 2024 · 2 comments
Open

FOV Modification for Image Reconstruction #390

Mencu opened this issue May 6, 2024 · 2 comments

Comments

@Mencu
Copy link

Mencu commented May 6, 2024

Hi,
First of all, thank you for KomaMRI, it's an amazing tool!
I was trying to do some custom simulations with Koma on the EPI_SE sequence with different custom phantoms. After the simulations, I also wanted to look at some reconstructions. As my phantoms are fairly small (20x20 spins), the resulting image reconstruction is fairly zoomed out. I figured it's only a problem of FOV, but I do not understand where to change the FOV for this reconstruction. Where should I change it? In the raw signal params (reconSize)? Does that suffice? Could you please point me to the object attribute I need to change? I am new to Julia.

I have not changed any acquisition points in the resulting signal, the kspace is also the same. Thank you for the help!

Best,
Andrei

@gsahonero
Copy link
Member

Hi,

I think you should just crop the image. In a way, changing the FOV requires changing the sequence.

Best,
Guillermo

@cncastillo
Copy link
Member

Hi sorry for the delay, I was at ISMRM in Singapore. Can you give a little more detail to reproduce the problem?

In theory, as @gsahonero says, the FOV is encoded in the sequence. One way of scaling the FOV of the sequence is to multiply by a diagonal matrix:

julia> using KomaMRI

julia> seq = PulseDesigner.EPI_example()
Sequence[ τ = 62.846 ms | blocks: 204 | ADC: 101 | GR: 205 | RF: 1 | DEF: 5 ]

julia> seq.GR[:, 3]
3-element Vector{Grad}:
 Grad(51.0578 mT, 0.2 ms, 0.1021 ms, 0.1021 ms) # <------------------ BEFORE SCALING
 Grad(0.0 mT, 0.2 ms, 0.1021 ms, 0.1021 ms)
 Grad(0.0 mT, 0.2 ms, 0.1021 ms, 0.1021 ms)

julia> S = [2.0 0.0 0.0; 0.0 2.0 0.0; 0.0 0.0 1.0] 
3×3 Matrix{Float64}:
 2.0  0.0  0.0
 0.0  2.0  0.0
 0.0  0.0  1.0

julia> seq2 = S * seq # <---------------------------------------------- APPLY LINEAR OPERATOR
Sequence[ τ = 62.846 ms | blocks: 204 | ADC: 101 | GR: 205 | RF: 1 | DEF: 5 ]

julia> seq2.GR[:, 3]
3-element Vector{Grad}:
 Grad(102.1157 mT, 0.2 ms, 0.1021 ms, 0.1021 ms) # <------------------ AFTER SCALING
 Grad(0.0 mT, 0.2 ms, 0.1021 ms, 0.1021 ms)
 Grad(0.0 mT, 0.2 ms, 0.1021 ms, 0.1021 ms)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants