Filter löschen
Filter löschen

Problem with defining a path to a MATLAB function

2 Ansichten (letzte 30 Tage)
Demy
Demy am 16 Dez. 2022
Kommentiert: Demy am 16 Dez. 2022
I've got a problem in defining a path in load_untouch_nii function. My code looks like this:
%define the path to the current folder
path = ('~/Desktop/Data/pat01_t1/');
%load the nifti images
Brain = load_untouch_nii(path, 'Brain.nii');
When I try to run the above code I get the following error:
Error using load_nii_hdr (line 47)
Cannot find file "~/Desktop/Data/pat01_t1/.hdr".
Error in load_untouch_nii (line 103)
[nii.hdr,nii.filetype,nii.fileprefix,nii.machine] = load_nii_hdr(filename);
Error in Brain_segmentations (line 4)
data = load_untouch_nii(path, 'Brain.nii');
Can someone please help?

Akzeptierte Antwort

Stephen23
Stephen23 am 16 Dez. 2022
Bearbeitet: Stephen23 am 16 Dez. 2022
P = '~/Desktop/Data/pat01_t1/'; % do NOT use PATH as a variable name.
Brain = load_untouch_nii(fullfile(P,'Brain.nii'));
Most likely the function you are calling requires the filename (whether absolute or relative) as one input argument, not two separate inputs.
  1 Kommentar
Jan
Jan am 16 Dez. 2022
Bearbeitet: Jan am 16 Dez. 2022
Two brains - one thought. I love it.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Jan
Jan am 16 Dez. 2022
Maybe you mean:
folder = '~/Desktop/Data/pat01_t1/';
Brain = load_untouch_nii(fullfile(folder, 'Brain.nii'));
The first input is the file name, not just the folder. fullfile joins the names of the folder and the file.
Note that "path" is a bad choice for a variable, because this shadows an important built-in function. This can cause very strange side-effects during debugging.

Community Treasure Hunt

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

Start Hunting!

Translated by