MATLAB Answers

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

I previously used 2009 one and it was supported for xjview. Then I installed 2013 but now it shows some errors.

  3 Comments

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?
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
Thanks. I downloaded new released of xjview and now its working properly

Sign in to comment.

Tags

2 Answers

Answer by Walter Roberson
on 17 Feb 2017
 Accepted Answer

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

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.



Many Thanks Mr. Walter Roberson..

  0 Comments

Sign in to comment.