Matlab standalone executable deployment- error using phantom function
이전 댓글 표시
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)
답변 (3개)
Titus Edelhofer
2012년 5월 4일
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
Kaustubha Govind
2012년 5월 4일
Ah! Great catch Titus!
Sabya
2012년 5월 5일
Titus Edelhofer
2012년 5월 7일
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
Walter Roberson
2012년 5월 3일
0 개 추천
You cannot pass just a size to phantom(). The first parameter must be either a string or an array.
댓글 수: 8
Sabya
2012년 5월 3일
Sabya
2012년 5월 3일
Kaustubha Govind
2012년 5월 4일
Does it work with 128 as the input argument when run in MATLAB? The error is coming from phantom>parse_inputs, and is not a standard MATLAB error, so it's hard to tell what could be going wrong without looking at your code. Perhaps putting some DISP statements in phantom>parse_inputs will help with debugging.
Sabya
2012년 5월 4일
Walter Roberson
2012년 5월 4일
Passing only a size to phantom is not a documented syntax in R2009a.
http://www.mathworks.com/help/releases/R2009a/toolbox/images/index.html?/help/releases/R2009a/toolbox/images/phantom.html
Sabya
2012년 5월 5일
Walter Roberson
2012년 5월 7일
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
2012년 5월 7일
Hi Walter,
don't know about R2009a, but in R2012a the doc contains the following "example":
% ph = phantom(256);
% figure, imshow(ph)
Titus
Elie nasr
2014년 8월 14일
0 개 추천
Hello there, anyone would provide me an MLEM algorithm for image reconstruction? Thank you
카테고리
도움말 센터 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!