Error using ==> dicominfo in standalone exe

조회 수: 1 (최근 30일)
Pascal
Pascal 2014년 6월 17일
편집: Robert Cumming 2014년 6월 18일
I am trying to create a program including different small applications to evaluate DICOM images. Within MatLab, everything works fine; in the standalone exe on Windows 7 an error occurs telling me
Error using ==> dicominfo > getFileDetails at 392
File "filename.dcm" not found.
Images:dicominfo:noFileOrMessagesFound
Here is an example of the code that seems to be processed thus far.
global pwd
pwd=uigetdir('C:\','Choose folder');
cd(pwd);
d=dir;
str={'App1.m','App2.m'};
[s,v]=listdlg('PromptString','Chosse app','ListString',str);
str=char(str(s));
for k=1:size(str,1)
if strfind(str(k,:),'App1.m')
App1.m
end
end
The subprogram "App1.m" looks like this:
global pwd
pwd=evalin('base','pwd');
FileName=(uigetfile('pwd\*.dcm','Choose DICOM file'));
info_FileName=dicominfo(FileName);
Pic=dicomread(info_FileName);
What am I missing and/or doing wrong? I've tried to set the path variable "pwd" as global but that doesn't seem to solve the problem. Thanks

채택된 답변

Robert Cumming
Robert Cumming 2014년 6월 17일
편집: Robert Cumming 2014년 6월 18일
You dont need pwd as a global.
Did you add the dicom libraries when you compiled your code?
if you think the filename is a problem - use fullfile, i.e:
[filename, pathname] = uigetfile ( '*.dcm', 'Choose DICOM file' )
% check that the user selected a file
if pathname ~= 0
filename = fullfile ( pathname, filename );*
info_FileName=dicominfo(FileName);
Pic=dicomread(info_FileName);
end
edit update the uigetfile command where originally the output arguments were typed the wrong way around - lesson for writing code and not testing....
  댓글 수: 3
Robert Cumming
Robert Cumming 2014년 6월 17일
When compiling you add the files to your project - in deploytool click "Add Files" and select all the dicom libraries your code requires.
Pascal
Pascal 2014년 6월 17일
Of course, sorry, I misunderstood that. Unfortunately, including the necessary DICOM libraries didn't help.
But using fullfile actually is perfect. Just as a notification, it's
[filename, pathname] = uigetfile ( '*.dcm', 'Choose DICOM file' )
Thank you again for your quick response. Cheers

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 DICOM Format에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by