App designer - file data store error, read function does not exist.

조회 수: 1 (최근 30일)
Michael Werthmann
Michael Werthmann 2019년 2월 13일
댓글: Stephane 2024년 2월 23일
Hello,
I am trying to create a GUI with App Designer, which loads a file to UIAxes. With scrolling Mousewheel or a Slider I want to scroll through multiple files.
I used the FileDatastore approach where I create a dataarray, which includes the files. This works fine in the normal Matlab Editor, but in the App designer it shows an error, that the customreader function does not exist.
defined private function:
function data = customreader(~,filename)
dcm = org.dcm4che2.data.BasicDicomObject;
din = org.dcm4che2.io.DicomInputStream(...
java.io.BufferedInputStream(java.io.FileInputStream(filename)));
din.readDicomObject(dcm, -1);
rows = dcm.getInt(org.dcm4che2.data.Tag.Rows);
cols = dcm.getInt(org.dcm4che2.data.Tag.Columns);
pixeldata = dcm.getInts(org.dcm4che2.data.Tag.PixelData);
data = reshape(pixeldata, rows,cols);
end
function LoadTBButtonPushed(app, event)
%load file
folder = uigetdir();
if isequal(folder,0)
app.FileEditField.Value = 'no file selected';
else
location = folder;
fds = fileDatastore(location, 'ReadFcn', @customread, 'FileExtensions','.ima');
dataarray = readall(fds);
i = 1;
% Remove title, axis labels, and tick labels
title(app.UIAxes, []);
xlabel(app.UIAxes, []);
ylabel(app.UIAxes, []);
app.UIAxes.XAxis.TickLabels = {};
app.UIAxes.YAxis.TickLabels = {};
%show image
I = imshow(dataarray{1,1},'Parent', app.UIAxes, ...
'XData', [1 app.UIAxes.Position(3)], ...
'YData', [1 app.UIAxes.Position(4)], ...
'DisplayRange', []);
% Set limits of axes
app.UIAxes.XLim = [0 I.XData(2)];
app.UIAxes.YLim = [0 I.YData(2)];
end
Error using fileDatastore (line 102). Function customread does not exist.
is shown in Line: fds = fileDatastore(location, 'ReadFcn', @customread, 'FileExtensions','.ima');
I tried to get the letters app in there, but if I write @app.customreader, the next line sends an error.
Error using matlab.io.datastore.FileDatastore/readall (line 28)
Error using ReadFcn @(varargin)app.customread(varargin{:}) function handle for file
....\Desktop\GUI\NON_DICOM_ANONYM_FILES\1_1.CT.IMA.
No appropriate method, property, or field 'customread' for class 'prototyp_menu'.
Error in @(varargin)app.customread(varargin{:})', 'Documents\MATLAB\GUI_KM\Prototyp\prototyp_menu.mlapp', 240)" style="font-weight:bold">prototyp_menu>@(varargin)app.customread(varargin{:}) (line 240)
fds = fileDatastore(location, 'ReadFcn', @app.customread, 'FileExtensions','.ima');
Thanks for Your help!
  댓글 수: 4
Michael Werthmann
Michael Werthmann 2019년 2월 13일
@app.customreader worked!,
Thank you for your help and sorry for the dumb question...
Cheers
Stephane
Stephane 2024년 2월 23일
thanks for the solution

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Develop Apps Using App Designer에 대해 자세히 알아보기

제품


릴리스

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by