MATLAB Answers

my R2013a can not do xjview. May I know the reason?

1 view (last 30 days)
I previously used 2009 one and it was supported for xjview. Then I installed 2013 but now it shows some errors.

  3 Comments

Walter Roberson
Walter Roberson on 17 Feb 2017
xjview appears to be the File Exchange contribution https://www.mathworks.com/matlabcentral/fileexchange/21865-xjview--viewing-program-for-spm2-and-spm5 which was written for MATLAB 6 (over a decade ago.) I am not surprised if it needs some changes now.
It also requires SPM2 or SMP5, neither of which has been worked on for a number of years if I recall correctly.
Have you installed xjview from the File Exchange? Did you install SPM2 or SPM5 ? What error messages are you seeing?
Wasna Madushanka Ediri Arachchi
I copied spm8 from another machine.
I got errors as follows;
Error using fileparts
Too many output arguments.
Error in xjview>reset_st (line 9320)
[p pluginname e v] = fileparts(pluginfiles(k).name);
Error in xjview>my_reset (line 8622)
reset_st;
Error in xjview>spm_orthviews (line 8304)
my_reset;
Error in xjview>spm_sections (line 6577)
spm_orthviews('Reset');
Error in xjview>cuixuSectionView (line 6543)
[hgraph, hSection, hcolorbar] = spm_sections(SPM,hReg,targetFile,handles.sectionViewPosition);
Error in xjview>Draw (line 6409)
[hReg, hSection, hcolorbar] =
cuixuSectionView(mniCoord,abs(intensity),sectionViewTargetFile,hObject,handles);
Error in xjview>CallBack_allIntensityRadio (line 3639)
[handles.hReg, handles.hSection, handles.hcolorbar] = Draw(handles.currentDisplayMNI,
handles.currentDisplayIntensity, hObject, handles);
Error in xjview>CallBack_sectionViewListbox (line 3705)
CallBack_allIntensityRadio(hObject, eventdata, 'c');
Error while evaluating uicontrol Callback
Wasna Madushanka Ediri Arachchi
Thanks. I downloaded new released of xjview and now its working properly

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 17 Feb 2017
The line giving you problems there is
[p pluginname e v] = fileparts(pluginfiles(k).name);
notice that there are four outputs there. That had to do with the file name structure on the DEC VMS operating system, which has not been supported by MATLAB for many years.
Go through the code, and in any call to fileparts that has four outputs, delete the last output. If you need to, you can set that variable name to '' (the empty string.) For example,
[p pluginname e] = fileparts(pluginfiles(k).name);
v = '';
There might be other changes needed. SPM8 is not entirely compatible with SPM5.

  1 Comment

Steven Lord
Steven Lord on 17 Feb 2017
FYI according to the Release Notes we first told users to remove the fourth output argument in release R2010a, started issuing a warning in R2011a, and started throwing an error in R2011b.

Sign in to comment.

More Answers (1)

Wasna Madushanka Ediri Arachchi
Many Thanks Mr. Walter Roberson..

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags