Create a phantom image
Show older comments
I am trying to create a phantom image for my Shepp-Logan image. It needs to be 200 by 200 pixels. I have used this code:
P = phantom('Modified Shepp-Logan',100); imshow(P)
And am coming out with this error: Index exceeds matrix dimensions.
Would anyone be able to explain why/what this error is, and how I can fix it?
9 Comments
Rik
on 31 Oct 2017
If you need 200x200, why do you enter 100 as a parameter? Other than that, I see no obvious error. Are you certain you didn't overwrite phantom with a variable or another function? (you can run which -all phantom to check that)
Asima Warner
on 31 Oct 2017
Rik
on 31 Oct 2017
If you have written a function yourself and saved it as phantom.m, or if you have a variable/anonymous function with the name phantom, Matlab might try to access one of those, instead of the built-in function. And unless one of those replicates all the necessary behavior, that would result in an error. Otherwise, I can't think of any reason why that would happen.
Asima Warner
on 31 Oct 2017
Rik
on 31 Oct 2017
Variables and anonymous functions need to be in your workspace to have any effect, but function files will have an impact, because Matlab has no way of telling which one you want to call.
Asima Warner
on 31 Oct 2017
Rik
on 31 Oct 2017
No, only a variable or .m file can affect this. If you only run this code after you cleared all variables, do you still get an error?
Asima Warner
on 31 Oct 2017
Rik
on 1 Nov 2017
Can you show the output of these two lines of code before and after you try to run you code?
which -all phantom
which -all P
Answers (0)
Categories
Find more on Image Processing Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!