Can not run system commands from matlab -MAC OSX
43 ビュー (過去 30 日間)
古いコメントを表示
I am trying to run a image processing software called Flirt through matlab. When I try
system'flirt', I get a /bin/bash: flirt: command not found error.
If I try system('/usr/local/fsl/bin/flirt'); then it works fine. Typing just flirt in terminal also launches the program.
Is there a way of setting matlab to find this program in path and running it without giving its full address?
Thanks
Hasan
0 件のコメント
回答 (1 件)
Matthias Fripp
2017 年 10 月 8 日
For some reason, Matlab on a Mac doesn't see the whole search path you normally get in a terminal. So you need to add the directory to the $PATH environment variable within Matlab. You can do that temporarily by running
setenv('PATH', [getenv('PATH') ':/usr/local/fsl/bin']);
You can make this permanent by adding the command to a startup.m file somewhere in your Matlab path (as shown by Matlab's "path" command).
10 件のコメント
Walter Roberson
2023 年 2 月 25 日
What steps did you take to put imglob and fslmerge onto your shell PATH? And what is the path to each of those executables?
Cristiana Dinea
2023 年 3 月 8 日
@Walter Roberson I set
>> setenv('PATH', [getenv('PATH') ':/Users/cdinea/fsl/bin']);
and on my Mac fsl and imglob are recognized
cdinea@cdinea-mlt bin % imglob
Usage: imglob [-extension/extensions] <list of names>
-extension for one image with full extension
-extensions for image list with full extensions
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!