Skip to content

Cone Phantom #57

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

Closed
tknopp opened this issue Oct 16, 2022 · 5 comments
Closed

Cone Phantom #57

tknopp opened this issue Oct 16, 2022 · 5 comments
Labels
enhancement New feature or request

Comments

@tknopp
Copy link
Member

tknopp commented Oct 16, 2022

Within magnetic particle imaging we are using cone phantoms:

image

Here is some hacked code that generates a synthetic cone

function makeConePhantom(N, Ry=N[2]÷4, Rz=N[3]÷3, L=N[1]÷2)
    I = zeros(Float32, N...)
    for x=(N[1]÷2-L÷2):(N[1]÷2+L÷2-1)  
       h = (L-x+N[1]÷2-L÷2)/L
       I[x, :, :] = [sqrt((y-N[2]÷2)^2/Ry^2 + (z-N[3]÷2)^2/Rz^2) <= h for y=1:N[2], z=1:N[3]]
    end
    return I
  end

Would something like this fit into ImagePhantoms.jl? Of course a proper version derived from triangle.

@tknopp tknopp added the enhancement New feature or request label Oct 16, 2022
@JeffFessler
Copy link
Member

A right circular cone is easy and I'd be glad to add that myself so that you can focus on the harder work at MRIReco.jl, unless you want to make the PR yourself.

An oblique cone would be harder because we'd need another parameter in its Shape type to describe how oblique. I started to work on obliqueness for a [triangle(https://github.com/JuliaImageRecon/ImagePhantoms.jl/blob/74aba2a25b6e3205a85f61e4510af4bc4e2690f2/src/triangle.jl#L23)
but abandoned it.
Ideally we'd have methods for the Radon transform and spectrum of the cone, but I don't know those functions. (Do you?) It's ok for now to have throwing placeholder methods that could be filled in later if someone needs them.

@tknopp
Copy link
Member Author

tknopp commented Oct 16, 2022

Ideally we'd have methods for the Radon transform and spectrum of the cone, but I don't know those functions. (Do you?) It's ok for now to have throwing placeholder methods that could be filled in later if someone needs them.

No, I don't have analytical methods for the Radon transform and spectrum. But while it is great to have these for certain shapes I would also say that this should not be a show stopper for the introduction of other shapes.

@JeffFessler
Copy link
Member

Is a right circular cone sufficient for you? (Actually it doesn't have to be circular - we'll get ellipses for free, but is right sufficient?)

@tknopp
Copy link
Member Author

tknopp commented Oct 16, 2022

yes for my application a right circular cone is sufficient. I would think we don't need to make the shape collection exhaustive but rather collect common shapes used in tomography applications so far.

@JeffFessler JeffFessler mentioned this issue Oct 23, 2022
@JeffFessler
Copy link
Member

Closed by #62

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

No branches or pull requests

2 participants