BYU-MicrostructureOfMaterials / OpenXY

Other
35 stars 14 forks source link

Error when loading the patterns #30

Closed ysu345 closed 2 years ago

ysu345 commented 2 years ago

I tried to run the example data set (followed the steps in the wiki) and got an error after loading the patterns from the GUI (select first image) I am not sure what is wrong, could you help me identify the problem, thanks! Yang

Here is the Error message: **Error using patterns.ImagepatternProvider Error: File: ImagepatternProvider.m Line: 12 Column: 19 Unbalanced or unexpected parenthesis or bracket.

Error in patterns.makePatternProvider (line 30) patterns.ImagepatternProvider(...

Error in MainGUI>SetImageFields (line 427) pats = patterns.makePatternProvider(handles.Settings);

Error in MainGUI>SelectImageButton_Callback (line 397) SetImageFields(handles,name,path);

Error in gui_mainfcn (line 95) feval(varargin{:});

Error in MainGUI (line 42) gui_mainfcn(gui_State, varargin{:});

Error in matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)MainGUI('SelectImageButton_Callback',hObject,eventdata,guidata(hObject))

Error while evaluating UIControl Callback**

dtfullwood commented 2 years ago

Most likely it doesn't like your file names. Can you send an example of the first 3 pattern file names? You can email me directly on dfullwood@byu.edu if you like. Thanks David

ysu345 commented 2 years ago

I used the example data set. The first 3 pattern file names are: Steel Ferrite-Martensite 40000X w 1x1 Pats_x0y0 Steel Ferrite-Martensite 40000X w 1x1 Pats_x0y10 Steel Ferrite-Martensite 40000X w 1x1 Pats_x0y20

dtfullwood commented 2 years ago

:) I read that too fast. Let me check it... I assume you have the latest version downloaded...

ysu345 commented 2 years ago

Yes. I downloaded the .zip code today and also followed the instruction to download the quaternion scripts to the quaternions folder as well. Thanks!

dtfullwood commented 2 years ago

I just pulled the latest version and it worked fine for me. This is line 12 of ImagepatternProvider.m (In folder Code/+patterns/@ImagepatternProvide/) scanFormat(1,:) char {mustBeMember(scanFormat, {'Hexagonal', 'Square',''})} Does your version look the same?

ysu345 commented 2 years ago

Yes. it looks identical Mine is scanFormat(1,:) char {mustBeMember(scanFormat, {'Hexagonal', 'Square',''})}

That is really strange... I am using matlab R2016a hope that is fine?

ysu345 commented 2 years ago

If I open the ImagepatternProvide.m with matlab editor, the line 12 is marked as an error in the editor, so does the line 21. Line 12: parse error at '(': usage might be invalid MATLAB syntax. Does your editor show the two lines as error, If not I guess there might be something wrong with my MATLAB...

dtfullwood commented 2 years ago

No, there is no error on mine. if you replace the line with the one I sent, does it still give the error? Is it possible that the unzipping process interpreted the characters wrongly? Maybe try a different unzip tool?

ysu345 commented 2 years ago

I copied your line 12, and still got the same error. I also tried it on my laptop with matlab2015a, got the same error too. (it is a MacBook so I guess it is not the unzipping process?) I am currently upgrading matlab to 2021a on my office desktop, hopefully it can solve the problem... Btw, could you let me know what version of matlab you were using, thanks!

dtfullwood commented 2 years ago

I have 2019b on this macbook; I think I have 2021 on my other macbook, which also runs fine. Good luck!

ysu345 commented 2 years ago

Using 2021a matlab, I got no error and works, thanks for your help!

dtfullwood commented 2 years ago

Super! Thanks for letting me know. That is useful information for other people. David