Hey, I ran into some problems when using the Osprey software for the first time. I did some measurements on a phantom with our staff scientist (Scanner: Siemens Skyra 3T) and didn’t move the voxel at all, so that all of the measurements were done at the isocenter. This created an error message were it said that the ‘sPosition’ parameter was not found. To fix this we added:
% Checks if the sPosition field has been created, if not creates one.
if ~isfield(dcmHeader.sSpecPara.sVoI, ‘sPosition’)
dcmHeader.sSpecPara.sVoI.sPosition.dCor = realmin(‘double’);
end
in Load/dicom_load_tools/read_dcm_header.m (around line: 160)
Another error happened when loading the files to osprey. I don’t know if this is a problem only for my operating system, but when it started to read the DICOM datafiles (which have a random length) Osprey used the longest of them as the length and added whitespace to the end of the other filenames. Which led to an error message of “file not found”. To solve this issue we edited:
% Set flags
if ~isempty(MRSCont.files)
MRSCont.flags.hasFiles = 1;
% Take away extra whitespace at the end of the filename
files = MRSCont.files;
for kk = 1:length(files)
files{kk} = strtrim(files{kk});
end
MRSCont.files = files; clear files;
% end of added code
end
In Load/OspreyLoad.m (around line: 30)
The last error we noticed was that Osprey would not accept only one single measurement as a dataset. We ran into this problem when we just wanted to see what one measurement of the phantom data would look like. I don’t know if this is relevant, because usually you use a lot of measurements to get the average, but with this modification to the code we got it to work:
%filesInFolder = fullfile(folder, {filesInFolder.name}); Original version
filesInFolder = fullfile({filesInFolder.folder}, {filesInFolder.name});
In Libraries/FID-A/inputOutput/io_loadspec_dicom.m (around line: 29)
Hope this helps anyone who runs into the same issues!
-Nella