Matlab standalone executable deployment- error using phantom function

11 views (last 30 days)
Hey, I am working on matlab R2009A on ubuntu 11.04. Using the deploytool, I generated a test package for a matlab code of mine. Afterwards, I installed MCR using the command
sudo ./MCRInstaller.bin
which installed it at /opt/MATLAB/MATLAB_Compiler_Runtime/. Now to run the program, I extracted the package and then ran the file run_test.sh using command
./run_test.sh /opt/MATLAB/MATLAB_Compiler_Runtime/v710/ 10 128
where 10 and 128 are the arguments to the main function in the package. It gives me the error as
??? Error using ==> phantom>parse_inputs at 107
Unknown default phantom selected.
Error in ==> phantom at 69
Error in ==> MLEM at 3
Images:phantom:unknownPhantom
MLEM is my main program and at line 3, I have used the phantom function as
i = phantom(SIZE)
SIZE is an input argument(=128 in this case)

Answers (3)

Titus Edelhofer
Titus Edelhofer on 4 May 2012
Hi Sabya,
just a guess: you know that input parameters to standalone applications are always passed as strings? This can be handled e.g. by
function myfunction(x,y)
if ischar(x)
x = str2double(x);
end
if ischar(y)
y = str2double(y);
end
Or using isdeployed instead of ischar ...
Titus
  3 Comments
Sabya
Sabya on 5 May 2012
I put the following statements in my code
if(ischar(SIZE))
SIZE=str2int(SIZE);
end
Still no use, same error crops up.
Titus Edelhofer
Titus Edelhofer on 7 May 2012
Hi Sabya,
where does the str2int function come from? Or did you mean str2double? What I sometimes do in these cases: I add after the first line a
save c:\temp\inputVariables
so that all input variables are saved. Then run the compiled application. Then load in MATLAB the variables
load c:\temp\inputVariables
and call your MATLAB function with just these variables to see what happens ...
Titus
Titus

Sign in to comment.


Walter Roberson
Walter Roberson on 3 May 2012
You cannot pass just a size to phantom(). The first parameter must be either a string or an array.
  8 Comments
Walter Roberson
Walter Roberson on 7 May 2012
The R2009a documentation page is formatted differently than the current documentation page but contains the same information as the current (R2012a) documentation -- with no documented possibility of passing only a size.
If you insist on using undocumented behavior and your code fails, then we cannot be of assistance to you.
Titus Edelhofer
Titus Edelhofer on 7 May 2012
Hi Walter,
don't know about R2009a, but in R2012a the doc contains the following "example":
% ph = phantom(256);
% figure, imshow(ph)
Titus

Sign in to comment.


Elie nasr
Elie nasr on 14 Aug 2014
Hello there, anyone would provide me an MLEM algorithm for image reconstruction? Thank you

Categories

Find more on Biomedical Imaging 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!